-
9장. 스케줄링 및 전송 속도 적응(rate adaptation)4G 2021. 2. 22. 12:16
※ 4G LTE-Advanced Pro and The Road Road to 5G 한국어 판 내용을 바탕으로 정리한 것입니다.
☆ eNodeB(LTE 기지국)에는 상향링크·하향링크 스케줄러가 존재한다.
스케줄러는 어떤 사용자에게 자원을 할당해 줄 것인지, 어떤 데이터 속도를 부여할 것인지를 결정한다.
또한 기지국은 매 1ms마다 scheduling decision을 내린다.
여기서 기억해야할 중요한 점은 "스케줄러는 기지국에만 존재한다"는 것이다.
참고로 LTE기지국을 eNodeB, 5G 기지국을 GNodeB라고 한다.
하향링크 스케줄러 상향링크 스케줄러 - 동적 스케줄링과 준지속적 스케줄링을 제공한다.
- eNodeB가 전송 포맷을 제어한다.- eNodeB가 논리 채널 다중화를 제어한다.
- 단말은 scheduling assignment를 제공받는다.
- 전력 자원이 기지국에 집중되어 있다.- 단말이 논리 채널 다중화를 제어한다.
- 단말은 scheduling grant를 제공받는다.
- 무선 베어러(radio bearer) 단위로 동작하지 않고 단말 단위로 동작한다.
*무선 베어러: 사용자 트래픽이 LTE 전달망을 지나갈 때 사용하는 전송 경로
→ 즉, 어디로 가느냐가 아니라 누가 전송하느냐로 구분한다.
- 전력 자원이 사용자들 사이에 나누어져 있다.MAC 다중화가 DL에서는 eNodeB에 있는 반면, UL에서는 UE(User Equipment)에 존재한다.
스케줄링 전략
☆스케줄링 전략은 기지국 구현의 문제이다.
누구에게 자원을 얼마나 할당할 것인가?를 두고 3가지 스케줄링 전략이 존재한다.
① max C/I: "가장 좋은 순시 채널" 조건을 갖는 사용자에게 모든 자원을 할당한다.
→ 무선 자원의 활용을 극대화하고, 가장 높은 데이터 속도를 제공할 수 있다.
즉, 높은 시스템 용량을 제공할 수 있다.
k는 사용자, i는 단말들 좋은 무선링크 상태를 갖는 사용자들에게 전송함으로써 얻어지는 이득을
다중 사용자 다이버시티(multi-user diversity)라고 하는데,
이는 채널의 변화가 클수록, 셀 내 사용자의 수가 늘어날수록 증가한다.
(빠른 페이딩(rapid variation)은 좋지 않다는 전통적인 관점과 대조적이다.)
하지만 만약 모든 단말들이 비슷한 채널 상태를 겪거나(ex. 다중 경로 페이딩에 의해서만 채널 상태가 변화할 때),
평균적으로 서로 다른 채널 상태를 겪는다면(기지국과 단말 사이의 거리, 쉐도우 페이딩)?
*다중 경로 페이딩: 서로 다른 경로를 따라 수신된 전파들이 서로 간섭을 일으켜 수신이 좋지 않은 경우
*쉐도우 페이딩: 단말이 나쁜 위치에 있어 신호를 못/적게 받는 경우
→ starve 현상이 발생할 수 있다.
*starve 현상: 한 단말에게 자원이 쏠리는 현상
따라서 이를 보완하기 위한 방법이 2번째 방법이다.
② Round Robin: 모든 통신 링크에 동일한 양의 무선 자원 할당
(단, 서비스 품질은 단말마다 다를 수 있다.)
→ 스케줄링 과정에서 순시 채널 상태를 고려하지 않으므로, 전체적인 시스템 성능을 저하시킨다.
③ Proportional Fair: "상대적으로" 최고의 무선링크를 가진 사용자에게 자원을 할당한다.
즉, 아래의 식을 이용하여 우선순위에 따라 자원을 차등적으로 배분한다.
Ri_bar는 특정 구간 T_PF에서의 평균 데이터 속도 적절한 스케줄링을 위해서는 공평성과 시스템 용량 사이에서 상호 절충이 필요하다.
실제 상황에서는 bursty한 트래픽 성질이 스케줄러에 영향을 주는데,
시스템 부하가 높을수록 스케줄링 전략에 따른 차이가 커지고,
시스템 부하가 작을수록 스케줄링 전략에 따른 차이가 작아진다.
따라서 스케줄링 전략은 지연에 민감한 서비스를 먼저 지원할 것인지,
DRX주기, 재전송, 단말 능력, 단말 전력 소모 등을 고려하여 결정하게 된다.
하향링크 스케줄링
스케줄러는 데이터를 전송할 단말과, 자원 블록을 동적으로 결정한다.
여러 개의 단말이 한 서브프레임에 동시에 스케줄링 될 수 있는데,
이는 전송할 데이터가 부족하거나,
전체 주파수를 사용할 경우 배터리 소모가 크고, 스마트폰에서 처리할 수 있는 용량을 초과해버릴 수 있기 때문이다.
또한 채널 특성이 주파수 영역에서 다양할 수 있으므로,
주파수의 서로 다른 부분에 다른 단말에 대한 전송을 하는 것이 유리하다.
그럼 스케줄러가 제어하는 기능은 무엇인가?
① RLC SDU들의 분할/연접 ← 순시 데이터 속도에 따라 결정된다.
데이터 속도가 높으면 연접하고, 속도가 낮으면 분할한다.
② MAC. 논리 채널 다중화 ← 순시 데이터 속도, 서로 다른 우선 순위를 가지는 트래픽양에 따라 결정된다.
예를 들어 핸드오버 명령 같은 RRC 시그널링은 스트리밍 데이터보다 높은 우선 순위를 가지며,
스트리밍 데이터는 background 파일 전송보다 높은 우선 순위를 갖는다.
*핸드오버: UE가 기지국과 connected된 상태에서 이동할 때, 끊어지지 않도록 가까운 기지국으로 연결을 변경한다.
*RRC 시그널링: UE와 기지국의 연결 상태를 파악하는 신호로
연결이 되어 있으면 connected, 연결이 되어 있지 않으면 idle상태라고 한다.
③ L1. 코딩, 변조, 전송 layer의 개수 및 관련한 코드북(codebook) ←데이터 속도, 전송 블록 크기에 따라 결정된다.
*코드북: 부호화를 위해 코드를 모아놓은 것. 프리코딩에 사용된다.
*프리코딩: OFDM 전송을 하기 전에, 변조 심볼들에 가해지는 선형 연산이다.
이를 위해 스케줄러가 필요로 하는 정보에는 무엇이 있는가?
① 단말의 채널 상태
- 단말로부터 전송되는 CSI 보고를 사용한다.
- TDD인 경우에는 채널의 reciprocity를 이용한다.
즉, 상향링크 채널의 측정값을 이용하여 하향링크 품질을 추정한다.
*만일 FDD라면? FDD에서는 주파수 대역이 다르므로 reciprocity를 적용할 수 없다.
하지만 다른 정보가 없다면 symmetric하다고 가정한다.
② 버퍼 상태와 서로 다른 데이터의 우선 순위
단말로 가는 기지국의 버퍼가 비어있지 않은지 확인한다.
트래픽의 우선 순위는 RRC 시그널링 > 재전송 data > 초기전송 data 순이다.
③ 이웃한 셀의 간섭 상황
하나의 셀은 이웃한 셀들에게 사용하는 자원 블록, 송신 전력을 알려줌으로써 성능을 향상시킬 수 있다.
상향링크 스케줄링
eNodeB 스케줄러가 상향링크에 공유된 자원을 시간-주파수 자원 단위로 제어한다.
즉, 상향링크 동작을 엄격하게 제어하여 자원 사용의 효율을 극대화한다.
① 단말의 채널 상태
상향링크 역시 하향링크와 마찬가지로 채널 상태에 따른 스케줄링을 사용한다.
채널 품질은 channel sounding이나 상향링크 다이버시티를 사용하여 추정한다.
② 버퍼 상태와 서로 다른 데이터의 우선 순위
스케줄러, 전송 버퍼, 전력 증폭기가 모두 동일한 eNodeB에 있는 하향링크와는 달리,
상향링크의 경우는 그렇지 않기 때문에
eNodeB에 버퍼 상태, 단말의 가용한 송신 전력을 알리기 위한 보고 수단이 필요하다.
보고 역시 단말이 마음대로 전송하는 것이 아니라, 기지국이 요청한 경우에만 전송된다.
LTE에서는 단말 단위의 스케줄링이 사용되므로 상향링크 다중화는 단말 내에서 잘 정의된 규칙에 의해 이루어진다.
가장 간단한 다중화 규칙은 엄격한 우선 순위 순서로 논리 채널을 서비스하는 것이다.
그러나 높은 우선 순위의 채널의 전송 버퍼가 비워지기 전까지
낮은 우선 순위의 채널은 전혀 서비스를 받지 못하는 상황이 발생할 수도 있다.
따라서 LTE는 prioritized 데이터 속도, PDR이 설정되어 있다.
즉, 각자의 prioritized 데이터 속도까지는 우선 순위가 높은 채널부터 낮은 순서대로 서비스 받고,
남은 속도는 다시 우선 순위가 높은 채널부터 서비스를 받게 된다.
번호가 매겨진 순서대로 서비스 받게 된다. ③ 이웃한 셀의 간섭 상황
인접 셀들 사이에서 정보를 교환함으로써 상향링크에서도 셀 간 간섭 조정이 사용될 수 있다.
스케줄링 요청
스케줄링 요청은 승인을 가지고 있지 않은 단말이 상향링크 자원을 요청하기 위해 전송하는 단순한 표시이다.
방법은 아래 세가지가 있다.
① 비경쟁 방식: n번째 서브프레임마다 지정된 PUCCH 스케줄링 요청 자원을 할당한다.
서브프레임이 지정되어 있기 때문에 신원을 따로 알려줄 필요가 없다.
스케줄링 승인을 받지 못한 경우, 받을 때까지 반복해서 전송한다.
② 경쟁 기반 방식: 여러 개의 단말이 공통의 자원을 공유한다.
이 때, 자원을 공유하므로 자신의 신원과 함께 스케줄링 요청을 전송해야 한다.
경쟁 기반 방식은 셀 내에 많은 수의 단말이 존재하지만 트래픽 양(스케줄링 양)이 적을 때 적합하다.
③ 랜덤엑세스: 스케줄링 요청 자원이 없는 단말을 위한 방법이다.
참고로 eNodeB는 매 1ms마다 scheduling decision을 내리게 된다.
버퍼 상태 보고
어느 정도의 자원을 부여할 것인가?를 정하기 위한 보고이다.
버퍼 상태 보고는 MAC 제어 요소를 통하여 UL-SCH 전송의 일부로 스케줄러에 제공되며,
MAC 서브헤더 내의 LCID 필드에 해당 전송에 버퍼 상태 보고가 포함되었는지 아닌지를 알려준다.
*LCID 필드: Logical Channel Index 필드를 뜻한다.
또한 오버헤드를 줄이기 위해 논리 채널 그룹 별로 보고한다.
그럼 버퍼 상태 보고를 언제 전송하는가?
- 현재 전송되고 있는 것보다 더 높은 우선 순위를 가진 논리 채널 그룹이 도착한 경우
- 서빙 셀이 바뀌는 경우
*서빙 셀: 핸드오버와 연관되어 있는 개념으로, 기지국이 서비스해주는 셀을 뜻한다.
- 타이머가 주기적으로 제어하는 경우(data가 없어도 보고한다.)
- 스케줄링된 전송 블록이 패딩(의미없는 bits) 대신 삽입하는 경우
전력 헤드룸 보고
전력을 얼마나 사용할 수 있는가?에 관한 보고로써
아래와 같은 경우에 전송한다.
- 타이머에 의해 제어되는 주기에 맞추어 전송
- 경로 감쇄가 변할 때
- 패딩을 대신하여 전송
전력 헤드룸 보고는 아래 2가지 타입이 있다.
① 타입1 보고: PUSCH만 전송되는 경우
→ 모든 component 반송파에 대하여 제공된다.
② 타입2 보고: PUSCH와 PUCCH 전송이 같이 존재하는 경우
→ (PUCCH가 primary component 반송파에서만 전송될 수 있으므로)
primary component 반송파에 대해서만 제공된다.
타입1 보고일 경우, 전력 헤드룸은 특정 component 반송파 및 서브프레임에 대하여 아래와 같이 표현 가능하다.
- P_CMAX,c는 단말이 최대로 송신할 수 있는 전력을 뜻한다.
즉, 단말은 P_CMAX,c를 초과하는 전력을 낼 수 없다.
- P_0,PUSCH는 기지국이 수신하길 원하는 전력을 의미한다.
- PL_DL은 PathLoss_DownLink로 하향링크 경로 감쇠량을 뜻한다.
M은 전송에 사용되는 자원의 개수로, 주파수 대역이 클수록 큰 힘이 필요하다.
△_MCS는 Modulation & (Channel) Coding Scheme으로써 전송속도를 의미한다.
*Modulation: #bits/symbol
*(Channel) Coding Scheme: 얼마의 redundant bits?
delta는 폐루프 전력 제어에 의한 송신 전력의 변화로 기지국이 지정해주는 값이다.
여기서 주의할 점은 전력 헤드룸 보고는 실제 전력의 차이를 측정한 것이 아니라,
해당 MCS로 전송했을 때(가정), 최대 송신 전력과 상향링크 송신 전력의 차이를 측정한 것이다.
따라서 음수 값을 가질 수 있으며, 음수일 경우 MCS를 조절하게 된다.
정리하자면 적절한 M값과 MCS를 지정하기 위하여 전력 헤드룸 보고를 하는 것이다.
준-지속적 스케줄링(Semi-Persistent Scheduling, SPS)
: 비교적 작은 payload 전송이 규칙적으로 일어나는 경우에 제공된다.
ex) VoIP(음성 인터넷 프로토콜)
제어 시그널링을 초기에 한 번만 전송되므로 오버헤드를 줄일 수 있다.
전송의 주기는 RRC 시그널링에 의해 결정되며,
활성화 및 비활성화는 준-지속적 C-RNTI를 사용한 EPDCCH로 설정된다.
*RRC 시그널링: Radio Resource Control으로, 단말이 eNodeB에 접속하고 이를 유지하기 위한 프로토콜이다.
*C-RNTI: 랜덤 엑세스 단말 식별자를 의미한다.
하지만 만일 동적 스케줄링 명령이 확인 된 경우에는,
그 특정 서브프레임에 대해서는 동적 스케줄링이 준-지속적 스케줄링에 우선한다.
(동적으로 할지, 준-지속적으로 할지는 단말이 판단한다.)
하향링크는 비동기식 HARQ 프로토콜을 따르므로 초기 전송만이 SPS를 사용한다.
상향링크의 경우, 무조건 재전송을 할 때에는 재전송도 SPS,
일부의 경우에만 재전송을 할 때에는 (재전송은) 동적 스케줄링을 사용한다.
DRX(Discontinuous Reception)
: 단말의 전력 소모를 줄이기 위해서 사용한다.
DRX cycle은 단말이 설정하여 기지국에게 보고한다.
단말이 최근에 스케줄링된 경우에는 짧은 DRX, 그렇지 않을 때는 긴 DRX를 사용한다.
cycle동안 단말은 sleep모드로 전환되며, 그동안 기지국은 단말이 수신할 data를 보관해준다.
스케줄링 된 이후에는 지연 방지를 위해 activity timer 동안 대기한다.
또한 재전송은 DRX cycle 과는 상관없이 일어난다.
'4G' 카테고리의 다른 글
12장. 반송파 결합(Carrier Aggregation) (0) 2021.05.08 11장. 엑세스 절차 (0) 2021.03.09 10장. 채널 상태 정보 및 Full-Dimension MIMO (0) 2021.03.02 8장. 재전송 프로토콜 (0) 2021.01.30 7장. 상향링크 물리 계층(Uplink Physical Layer) (0) 2021.01.23