We consider the problem of several users transmitting packets to a base station, and study an optimal scheduling formulation involving three communication layers, namely, the medium access control, link, and physical layers. We assume Markov models for the packet arrival processes and the channel gain processes. Perfect channel state information is assumed to be available at the transmitter and the receiver. The transmissions are subject to a long-run average transmitter power constraint. The control problem is to assign power and rate dynamically as a function of the fading and the queue lengths so as to minimize a weighted sum of long run average packet transmission delays. First, we study the problem for a single-user system and obtain structural properties of the optimal policy. We obtain numerical results for the delay