Friday, 3 October 2014

12:43 - 4 comments

How Multiplexing and Logical Channel Prioritization happen in LTE?

The multiplexing and logical channel prioritization is left to the eNodeB implementation, for the uplink the process by which a UE creates a MAC PDU to transmit using the allocated radio resources is fully standardized; this is designed to ensure that the UE satisfies the QoS of each configured radio bearer in a way which is optimal and consistent between different UE implementations. Based on the uplink transmission resource grant message signalled on the PDCCH, the UE has to decide on the amount of data for each logical channel to be included in the newMAC PDU, and, if necessary, also to allocate space for a MAC Control Element.
The Logical Channel Prioritization procedure is applied when a new transmission is performed.
One simple way to meet this purpose is to serve radio bearers in order of their priority. Following this principle, the data from the logical channel of the highest priority is the first to be included into the MAC PDU, followed by data from the logical channel of the next highest priority, continuing until the MAC PDU size allocated by the eNodeB is completely filled or there is no more data to transmit.
RRC controls the scheduling of uplink data by signalling for each logical channel: priority where an increasing priority value indicates a lower priority level, prioritisedBitRate which sets the Prioritized Bit Rate (PBR), bucketSizeDuration which sets the Bucket Size Duration (BSD).
The UE shall maintain a variable Bj for each logical channel j. Bj shall be initialized to zero when the related logical channel is established, and incremented by the product PBR × TTI duration for each TTI, where PBR is Prioritized Bit Rate of logical channel j. However, the value of Bj can never exceed the bucket size and if the value of Bj is larger than the bucket size of logical channel j, it shall be set to the bucket size. The bucket size of a logical channel is equal to PBR × BSD, where PBR and BSD are configured by upper layers.
Although this kind of priority-based multiplexing is simple and favours the highest priorities, it sometimes leads to starvation of low-priority bearers. Starvation occurs when the logical channels of the lower priority cannot transmit any data because the data from higher priority logical channels always takes up all the allocated radio resources.
To avoid starvation, while still serving the logical channels according to their priorities, in LTE a Prioritized Bit Rate (PBR) is configured by the eNodeB for each logical channel. The PBR is the data rate provided to one logical channel before allocating any resource to a lower-priority logical channel.
In order to take into account both the PBR and the priority, each logical channel is served in decreasing order of priority, but the amount of data from each logical channel included into the MAC PDU is initially limited to the amount corresponding to the configured PBR. Only when all logical channels have been served up to their PBR, then if there is still room left in the MAC PDU each logical channel is served again in decreasing order of priority.
In this second round, each logical channel is served only if all logical channels of higher priority have no more data for transmission. 
In most cases, a MAC Control Element has higher priority than any other logical channel because it controls the operation of a MAC entity. Thus, when a MAC PDU is composed and there is a MAC Control Element to send, the MAC Control Element is included first and the remaining space is used to include data from logical channels. One exception to this rule occurs when a UE transmits the first RRC message to a target cell during a handover procedure – in this case, a MAC Control Element such as a BSR has lower priority than SRBs. This is because it is more important to complete the handover procedure as soon as possible than to inform the eNodeB of the UE’s buffer status; otherwise, the data transfer interruption time would be longer and the probability of handover failure would increase due to the delayed signalling.

Example:
LTE MAC multiplexing 
LTE MAC multiplexing by way of example. First, channel 1 is served up to its PBR, channel 2 up to its PBR and then channel 3 with as much data as is available (since in this example the amount of data available is less than would be permitted by the PBR configured for that channel). After that, the remaining space in the MAC PDU is filled with data from the channel 1 which is of the highest priority until there is no further room in theMAC PDU or there is no further data from channel 1. If there is still a room after serving the channel 1, channel 2 is served in a similar way. 



Logical Channel Prioritization
The UE shall perform the following Logical Channel Prioritization procedure when a new transmission is performed:
- The UE shall allocate resources to the logical channels in the following steps:
- Step 1: All the logical channels with Bj > 0 are allocated resources in a decreasing priority order. If the PBR of a radio bearer is set to “infinity”, the UE shall allocate resources for all the data that is available for transmission on the radio bearer before meeting the PBR of the lower priority radio bearer(s);
- Step 2: the UE shall decrement Bj by the total size of MAC SDUs served to logical channel j in Step 1
NOTE: The value of Bj can be negative.
- Step 3: if any resources remain, all the logical channels are served in a strict decreasing priority order (regardless of the value of Bj) until either the data for that logical channel or the UL grant is exhausted, whichever comes first. Logical channels configured with equal priority should be served equally.
- The UE shall also follow the rules below during the scheduling procedures above:
- the UE should not segment an RLC SDU (or partially transmitted SDU or retransmitted RLC PDU) if the whole SDU (or partially transmitted SDU or retransmitted RLC PDU) fits into the remaining resources; 
- if the UE segments an RLC SDU from the logical channel, it shall maximize the size of the segment to fill the grant as much as possible;
- UE should maximise the transmission of data.
The UE shall not transmit data for a logical channel corresponding to a radio bearer that is suspended (the conditions for when a radio bearer is considered suspended are defined in [8]).
For the Logical Channel Prioritization procedure, the UE shall take into account the following relative priority in decreasing order:
- MAC control element for C-RNTI or data from UL-CCCH;
- MAC control element for BSR, with exception of BSR included for padding;
- MAC control element for PHR;
- data from any Logical Channel, except data from UL-CCCH;
- MAC control element for BSR included for padding.

Query: The significance of Bucket size duration(BSD) in logical channel prioritization.
Ans: The BSD is basically used to set the maximum amount of pending data allowed for a logical channel, with respect to the prioritization checks. The more data a logical channel has, the higher its priority tends to be, but it can't exceed the value set by Prioritized Bit Rate x Bucket Size Duration. (e.g. 100 kbps x 1 second = 100 kbits). This keeps a logical channel experiencing a very high burst of data from taking over the transmission and blocking out a lower rate channel. See 36.321, section 5.4.3.1.

The bucket size duration indicates how much time for transmitting uplink data of a logical channel by using the prioritized bit rate until the bucket size is reached, value in milliseconds.

For a LCID the bucket size = BSD x PBR (both are in MAC config struct) that is the maximum UL data a LCID can buffer. The first time scheduling will happen based on Token bucket model for all LCID's with different priorities. Here every LCID can send PBR amount of data.
Each LCID accumulates BSDxPBR amount of data. The rate of accumulation is PBR * tti upto BSDxPBR.
There is another counter Bj in MAC that is used to make sure that there is no starvation of lower priority LCID's.
The second time on,
If Bj > 0 then higher priority LCID can send RLC data size and reduce Bj accordingly. Other LCID's may or may not be scheduled. If Bj is negative for higher priority LCID then other LCID with lower priority are scheduled.

lRRC IEs LogicalChannelConfig
-                    LogicalChannelConfig
l                    Priority (1 to 16)
l                    PrioritisedBitRate (0kbps to 2048kbps)
l                    BucketSizeDuration (ms50 to ms1000)
l                    LogicalChannelGroup (0 to 3)

4 comments:

This comment has been removed by a blog administrator.
This comment has been removed by the author.

Could you please explain a scenarion when Bj can become negative

Bj value will be negative when the allocation is greater than the bj value.
Ex bj of a logical channel is 10. Pending rlc sdu size is 20. So 20 bytes will be allocated to that logical channel to avoid segmentation. So bj value will be -10

Post a Comment