300 likes | 480 Views
A Channel Condition and Packet Length Dependent Scheduling Algorithm in Wireless OFDM Systems. ZhiFeng Diao, Dongxu Shen, Victor O.K. Li Dept. of Electrical and Electronic Eng. Univ. of Hong Kong, Hong Kong, China. Outline. Background Scheduling and OFDM
E N D
A Channel Condition and Packet Length Dependent Scheduling Algorithm in Wireless OFDM Systems ZhiFeng Diao, Dongxu Shen, Victor O.K. Li Dept. of Electrical and Electronic Eng. Univ. of Hong Kong, Hong Kong, China
Outline • Background • Scheduling and OFDM • Channel Condition and Packet Length Dependent (CPLD) scheduling algorithm • Simplified CPLD • Simulation Results • Conclusion
Background • Fair Scheduler • Generalized Processor Sharing (GPS) • Packet GPS (PGPS) • A packetized approximation to GPS, because packets are not divisible • Channel state dependent packet scheduling (CSDPS) (INFOCOM 96) Basic idea: When a wireless link experiences bursty errors, the scheduling algorithm defers transmission of packets on this link. Drawbacks: No bandwidth guarantee and fairness
Wireless Scheduler in OFDM systems • PGPS has been integrated into TDMA and CDMA based wireless systems. • Relatively less efforts on OFDM system • An efficient scheduler for OFDM system is needed.
OFDM Features • Data is transmitted over a large number (Nc) of parallel subcarriers • Data rate is reduced on each subcarrier (by Nc times)—robust against multipath fading—frequency selective channel is transformed into frequency flat fading channel • A number of OFDM symbols are grouped as an OFDM frame OFDM Frame
System Architecture • Each sub-carrier can only be allocated to one user. • Different users have different sub-channel conditions. • From the pilot sequence transmitted by each user in the uplink (Y. Li, 2002), BS obtain perfect knowledge of all channels.
CPLD Scheduler • Basic idea: Based on Packet GPS, consider the channel condition and packet length together • Ngood = No. of good sub-channels • Npacket = No. of sub-channels occupied by a packet. • r = Ngood/ Npacket is an important parameter • Characterization of channel condition • For a sub-channel: Es (Channel Gain) >E0 --- good channel • For a sub-channel: Es (Channel Gain)<E0 --- bad channel
Objective • Improve the packet error rate performance of the system. • Guarantee the required bandwidth of each user. • Provide long term fairness (a fairness value V is proposed) • Improve the system throughput
Step 1: Virtual time update • Packet length is a random variable, and the real system capacity is also a random variable. • PGPS with time-varying capacities. (Y. Tseng 1998) • Under new clock w(t), the server capacity can be regarded as constant • The virtual time V(w(t)) can be tracked as: V(w(t))=0 when t is not in a busy period Bj –the set of sessions that are busy between(tj-1, tj)
Step 1: Virtual time update (cont’d) • According to new clock, when the kth packet form the ith session arrivesthe time of arrival event is transformed to w( ) • When the kth packet from the ith session arrives, the packet is stamped with the virtual finishing time = Packet length Weight assigned to user i
Step 2: Packet selection • In the order of virtual finishing times, packets are put into the frame, until the remaining sub-carriers are not enough to accommodate the next packet • In order to make use of the remaining sub-carriers, select a packet whose length is suitable. • Then subtract 1 from the V value of this packet’s user.
PR,n The received power on the nth sub-channel As PR,n , BER PER Step 3: Optimization of sub-channel allocation in a frame • Sub-channel allocation function: • Bit Error Rate is related to the received power. If sub-channel n is allocated to packet p. Otherwise
Step 3: Optimization of sub-channels (cont’d) PT = Constant Hp,n = Channel gain in sub-channel n of packet P- Subject to (I) The Set of packets in the frame at time K (II) (III) Objective: Assign packets to subchannels to minimize the BER Subject to: Condition I: The number of allocated sub-carriers can not exceed N Condition II: Each sub-carrier can only be allocated to one packet Condition III: The number of sub-carriers allocated to one packet is decided by the packet length.
Solving the optimal allocation function f(p,n) • Estimate channel information in this frame based on information collected in the previous frame • Initially allocate packets in a frame based on virtual finishing time • { D1,D2,…Dψ} -- the sets of sub-channels occupied by each packet (ψis the number of packets in the frame) • Dleft -- the set of idle sub-channels in the frame
Solving the optimal allocation function f(p,n) (cont’d.) • By iteratively swapping sub-channels between users, get the optimal sub-channel allocation function f(p,n). • According to f(p,n), the sub-channels are allocated to packets
Step 4. Check for sub-channel goodness for each packet • Count the total number of good sub-channels Ngood, and get the ratio r between Ngood and Npacket. • Npacket = The total number of sub-channels occupied by the packet. • For all packets, if r>r0, or r<r0 and V>V0, send the frame; Otherwise, go to Step 5.
Step 5. Packet exchange • Assume packet A in the frame has r<r0 • Exchange packet A with the next packet which has the largest V value in the queue. • Add 1 to the V value of packet A’s user, and subtract 1 from V value of packet B’s user. • Then go to Step 3.
r0 ,V0 –set by the system
Fairness discussion • Our algorithm is based on PGPS, which is a fair scheduler. • The fairness value is V. • If a packet is deferred, V ← V + 1 • If a packet is ahead of time, V ← V - 1 • For packet exchange, select the packet with the largest V value • In the cell, all channels around the base station are statistically identical for all users. • Based on the above analysis, CPLD is a fair scheduler in the long term • Trade off between PER performance and short term fairness
Starving phenomena • The channel for a user is unsatisfactory for a long time period • This user gives more chance to other users • No packet is transmitted for this user for a long time period. • This is “starving” phenomena. • Solution • Set a threshold fairness value V0 • If V > V0 transmit the packet anyway.
Simplified algorithm • In order to reduce the complexity and guarantee system performance, we propose a simplified algorithm. • Packet selection is based on two factors: • Virtual finishing time • N’good =Total number of good subchannels for one user • Define r’0= N’good/ Npacket • r’0 should be set larger than r0. The system performance is guaranteed by the parameter r’0. Packet exchange is not needed.
Flow chart – Simplified algorithm No packet exchange is needed. The channel condition has been considered in the packet selection step.
Complexity comparison Because CPLD is based on PGPS, CPLD is more complex than PGPS. The complexity is much reduce by the simplified CPLD.
Simulation setup • 64 sub-carriers • 48 sub-carriers are used to transmit data. • An OFDM symbol time: 6x10-6 s • Group 1000 OFDM symbols as a frame. • Voice traffic – On-Off model • Video traffic – Markov-Modulated Poisson Process (MMPP). • Data traffic – Poisson distribution • Each type of traffic has 3 users (The weights of voice, video, data are set as 3,2 and 1) • Packet length – 2000 - 10000 bits
Simulation results • CPLD is better than PGPS in PER performance. • The PER performance of Simplified CPLD can be guaranteed by the system parameter r0.
Delay comparison • The average delay of CPLD and simplified CPLD scheduler is reduced when compared with PGPS.
Packet throughput Comparison • Since the CPLD considers the packet length, the throughput is better than PGPS. • For simplified CPLD, the packet throughput can also be guaranteed.
Conclusions Our proposed wireless scheduling scheme • Achieves better PER performance than PGPS • Guarantees delay by assigning a proper weight for each traffic • Effectively makes use of frequency selective fading based on packet length. • Improves total system throughput. • Provides long term fairness
Future research • Compare CPLD-PGPS scheduler with other wireless schedulers applied in OFDM systems • The weight assigned to each type user will be adaptively controlled by base station