310 likes | 581 Views
블루투스 시스템에서 효율적인 MAC 스케쥴링 기법. 2004/ 3 / 19 김 한 집. 목 차. 요 약 서 론 기존의 블루투스 MAC 스케쥴링 RR(Round Robin) KFP (K-Fairness Policy) 새로운 블루투스 MAC 스케쥴링 M-KFP (Modified KFP) 기존의 블루투스 MAC 스케쥴링 T-D PP (Throughput-Delay Priority Policy) 새로운 블루투스 MAC 스케쥴링 MTDPP (Modified TDPP). 요 약.
E N D
블루투스 시스템에서 효율적인MAC 스케쥴링 기법 2004/ 3 / 19 김 한 집
목 차 • 요 약 • 서 론 • 기존의 블루투스 MAC 스케쥴링 • RR(Round Robin) • KFP (K-Fairness Policy) • 새로운 블루투스 MAC 스케쥴링 • M-KFP (Modified KFP) • 기존의 블루투스 MAC 스케쥴링 • T-D PP (Throughput-Delay Priority Policy) • 새로운 블루투스 MAC 스케쥴링 • MTDPP (Modified TDPP)
요 약 • Piconet을 구성하고 있는 블루투스 시스템에서 각 master-slave pair에 대해 효율적이고 차등화된 대역폭을 할당하여 전체적인 성능 개선과 QoS를 지원할 수 있는 알고리즘을 제안 • 기존에 알고리즘은 각 쌍마다의 서비스 기회에 대한 우선순위와 각 쌍의 트래픽 특성을 고려한 비교적 효율적인 알고리즘이지만 데이터 트래픽이 정적인지 동적인지에 따라 성능이 일정하지 않으며 signaling에 대한 overhead가 큼 • 기존에 제안된 블루투스 시스템을 위한 알고리즘을 개선하여 throughput과 delay측면에서의 향상된 성능을 보임
서 론 • 블루투스 • 작은 크기, 저렴한 가격, 적은 전력소모를 특징으로 하는 근거리 무선통신을 위한 기술 • 2.4 GHz ISM 대역을 사용하고 양방향 전송을 위해 시간분할방식(TDD) 를 사용한다. • Piconet : 하나의 master와 최대 7개의 slave를 갖는 가장 간단한 네트웍 • master는 짝수번째 slot, slave는 홀수번째 slot 사용하여 전송 • 데이터 전송은 master-slave의 쌍(pair) 단위로 이루어짐 • Master의 polling을 통해서 slave에 대한 스케쥴링이 이루어지므로 스케쥴링은 항상 master 중심으로 이루어짐
기존의 블루투스 MAC 스케쥴링 • 라운드 로빈(Round Robin) • 가장 간단한 방법으로 여러 개의 master-slave 쌍에 균일하게 데이터 전송의 기회를 부과. • 전송할 데이터가 없는 경우도 자신에게 할당된 슬롯에서 데이터를 포함하지 않는 POLL-NULL sequence를 교환함으로 시스템의 효율을 떨어뜨림. • 형평성 측면에서는 최적이지만 슬롯에 대한 낭비를 초래. • 다양한 전송률을 요구하는 블루투스 시스템에는 적합하지 않음.
기존의 블루투스 MAC 스케쥴링 • KFP (K-Fairness Policy) 스케쥴링 알고리즘 • 큐 상태를 기반으로 한 PP(Priority Policy) 알고리즘 • 패킷의 여유 비트를 이용하여 큐 상태 정보를 교환하고 이를 바탕으로 전송할 데이터가 있는 쌍을 우선적으로 폴링. • 링크사용정도에 따라 클래스를 나누고 이에 대해 적절한 우선순위를 줌 • Master에 3슬롯 크기의 패킷, slave에 1슬롯 크기의 패킷 : 100% • Master에 3슬롯 크기의 패킷, slave에 데이터 없음 : 75% • Master에 데이터 없음, slave에 1슬롯 크기의 패킷 : 50% • K라는 서비스 기회 차이의 한계값을 설정함 (Qmax – Qmin < K이면 만족) • 서비스가 특정 쌍에 치우치지 않고 형평성을 유지하기 위함. • 문제점 • Throughput만 고려하고 형평성을 고려하지 않았음. • 트래픽이 동적으로 변화하는 경우 throughput과 형평성이 보장되지만 한계값 K 이후에는 시스템이 RR방식으로 동작하여 성능이 저하됨.
새로운 블루투스 MAC 스케쥴링 • M-KFP (Modified KFP) • 각 큐의 상태에 따라 클래스를 다르게 부여하여 높은 클래스를 가진 쌍이 우선적으로 전송 • 낮은 클래스를 가진 쌍은 높은 클래스를 가진 쌍에게 자신이 전송할 수 있는 기회를 양보 • 각 쌍은 카운터를 가지고 있음 • 서비스를 양보하면 감소, 양보 받으면 증가 • 각 쌍별로 양보에 대한 한계값을 주어 가장 큰 카운터값과 각 쌍의 카운터 값과의 차와 한계값을 비교 • 각 쌍별 한계값을 다르게 줌으로써 각 쌍마다 양보할 수 있는 횟수에 차별을 둠. • 데이터 전송량이 적고, 데이터에 대해 delay가 발생해도 큰 상관없는 쌍에 대해서는 큰 한계값을 주고, 데이터에 민감한 쌍에 대해서는 한계값을 작게 주어 양보를 많이 할 수 없게 함 • 실시간의 전송을 원하는 쌍은 한계값을 0으로 줌으로 양보를 하지 않게 함
블루투스 시스템의 LMP(Link Manager Protocol)에서는 각 기기의 QoS에 대한 요구를 수용하기 위해 LMP_Quality_of_service메시지를 이용하여 최대 폴링 간격(Tpoll)과 재 전송 횟수(NBC)를 정함 • 한계값은 최대 폴링 간격에는 비례하고, piconet을 구성하고 있는 slave 수에는 반비례해야 하므로 각 쌍의 최대 폴링 간격을 piconet을 구성하고 있는 slave 의 수로 나눈 값을 넘지 않는 최대 정수 값으로 정한다. • (n: piconet을 구성하고 있는 slave 수) • 연결된 상태에서도 자신이 요구하는 QoS의 변화를 전송되는 패킷을 이용하여 master에게 알리면 한계값을 조정할 수 있음.
각 쌍의 양보에 대한 한계값을 작게 부여 • 자신의 큐 상태를 알릴 수 있는 기회가 자주 발생, 지연측면의 성능이 향상됨 • 시스템 throughput의 감소를 방지하기 위해 클래스가 낮거나 전송할 데이터가 없는 경우에도 한계값에 도달하여서 서비스를 하는 경우, 서비스 하는 쌍의 카운터값을 자신이 가지고 있는 Ki(i번째 쌍에게 부여되는 한계값) 만큼 올려줌. • 전체 쌍의 값의 합을 0으로 유지하기 위해 가장 높은 카운터를 가지고 있는 쌍의 카운터 값을 양보의 한계값에 도달한 쌍의 ki만큼 내려줌으로써 한계값에 도달한 이후 계속적으로 RR 형태의 서비스하는 것을 막을 수 있다. • RR에 비해 복잡한 알고리즘, 기존의 큐 상태기반 알고리즘에 비해서도 약간 복잡함.
시뮬레이션 • 1개의 master와 5개의 slave • MP(Markov Process)와 이진 상태의 MMPP(two-state Markov Modulated Poisson Prosess) • MP : 지속적으로 같은 전송할 데이터량을 생성하는 기기 (1, 2, 3번째 쌍) • MMPP : 전송할 데이터량이 순간순간 달라지는 기기 (4, 5번째 쌍) • 표 1은 각 쌍의 큐에 데이터가 생성되는 분포, 표 2는 각 쌍별 한계값 • KFP의 경우 K값을 500, M-KFP의 경우 3번째 쌍은 30, 나머지는 20
서비스된 슬롯에 대한 throughput과 delay (SCO 링크가 없는 경우)
그림 3 • KFP의 경우 큰 K값이지만 한계값을 넘은 경우 RR 형태로 서비스 됨 • M-KFP의 경우 양보의 횟수가 한계값 K를 넘은 경우도 카운트 변화를 통해 RR 형태로 되는 것을 막음 • 그림 4 • 패킷이 생성된 시점에서 전송되는 시간까지의 지연 • KFP경우 서비스 시간이 길어지면 throughput이 하락하기 때문에 서비스된 슬롯이 증가하면 delay도 증가함 • 그림 5, 6 • 시간이 지나면 KFP방식은 성능이 급격히 떨어지는 반면, M-KFP는 시간과 무관하게 지속적인 성능 가짐 • 그림 4와 6의 비교 • SCO link가 존재하면 시스템의 지연성분이 증가함 • SCO link는 지속적으로 전체 link의 1/3만큼 요량을 사용하기 때문
그림 7 • 각 쌍의 QoS 요구조건에 따른 변화 관찰 • 두 번째 쌍의 K2만 변화시키고 나머지 쌍들은 20으로 K를 고정 • K2를 5씩 줄여갈 때 나머지 쌍들과의 한계값의 차이에 따른 polling비율의 변화임 • 그림 8 • 두 번째 쌍의 한계값이 작아질수록 패킷에 대한 delay이가 작아짐 • Delay에 민감한 기기는 작은 한계값을 할당하면 polling 간격이 줄어들고 패킷 delay도 줄일 수 있다.
시뮬레이션 결과 • 각 쌍에 대해 양보할 수 있는 한계값을 다르게 부여하여 각 기기가 요구하는 QoS를 고려할 수 있음. • 한계값의 차이는 각 쌍이 가지는 데이터 전송기회를 다르게 하여 데이터의 delay를 조절할 수 있다.
기존의 블루투스 MAC 스케쥴링 • T-D PP(Throughput-Delay Priority Policy) 방식 • 우선순위를 결정하는 방식에 있어 아래 수식을 기반으로 하여 throughput 측면에서의 효과적인 스케쥴링과 형평성을 고려한 delay 측면의 성능 향상 • T: 슬롯의 활용정도를 기준으로 결정된 우선순위(클래스) 값 • D: 지연 측면을 고려하기 위해 반영된 파라미터(카운터), 양보한 경우 그 값이 증가되며 양보를 받은 경우 그 값은 감소된다. • :throughput과 delay에 대한 시스템 성능에 대한 가중치를 나타내는 파라미터, 이 값이 크면 throughput을 고려, 작으면 delay와 형평성 측면의 성능을 고려하여 우선 순위를 할당 • Polling 주기가 긴 경우 를 작게, 주기가 짧은 경우는 상대적으로 큰 값으로 설정 • 문제점 • 서비스 시간이 길어지면 카운터(D)의 값이 증가하여 T값이 P에 영향을 주지 못함 • 일정 시점 이후에는 T의 영향보다 D의 영향이 상대적으로 크게 증가하여 스케쥴링의 효율성이 떨어진다.
새로운 블루투스 MAC 스케쥴링 • MTDPP 방식 • 시간이 길어지면 발생하는 D의 문제점 해결을 위해 각 master-slave 쌍에 트래픽 발생 특성에 따라 카운터 변화량의 적절한 단계값 을 부여 • D의 지속적인 증가로 인한 서비스 기회의 낭비 방지, 카운터의 증가와 감소의 크기를 동일하게 설정하여 서비스 시간이 길어져도 카운터 값 일정하게 유지 • 을 각 쌍마다 트래픽 특성에 따라 다르게 줄 수 있어 QoS 특성을 반영 • 그림 2 • 각 master-slave 쌍을 RR 방식으로 관찰 • 우선순위 P가 높은 쌍을 우선적으로 서비스 • 우선순위가 낮은 쌍은 서비스 기회를 양보하고 자신의 카운터 값을 자신의 만큼 증가시키고, 양보 받은 쌍은 자신의 카운터 값을 자신의 만큼 감소시킴 • 은 트래픽이 많은 쌍은 큰 값을, 상대적으로 적은 쌍은 작은 값을 할당. • Polling 주기가 짧은 쌍의 무선자원의 독점을 막고, polling주기가 긴 쌍에게 할당을 슬롯을 줄임으로 효율 향상
mir(minimum integer ratio) 함수 • 단계값의 결정 과정을 표현하기 위한 식 • L : 인수 의 최소공배수 • 인수의 역수의 정수비를 나타냄 • 각 master-slave 쌍의 단계값 는 폴링 주기, 과 아래 식을 이용하여 결정되며 각 master-slave 쌍에 할당된다. • 각 쌍마다 적절한 카운터 단계값의 설정과 를 통해서 서비스 우선순위 조절이 가능.
시뮬레이션 • 패킷 크기는 1, 3, 5의 크기이고, SCO link가 없는 환경 • 5개의 master-slave 쌍(1,2,3은 정적인 트래픽을 발생시키기 위해 포아송 과정(MP)를 사용하고 4, 5는 동적인 트래픽 상태를 위해 MMPP를 사용) • 사용 빈도에 따른 클래스를 할당, 높은 클래스에 상대적으로 큰 T값 대응
그림 3 • 다양한 에 대한 각 쌍의 throughput의 변화를 도시 • 값만 변화시키고 나머지 쌍의 는 0.5로 고정 • 각 클래스마다 대응되는 T는 각 클래스 별로 높은 클래스부터 차례로 5t, 4t,3t,2t,1 (t=10)로 대응시킴 • 를 각가 60,100,300,150,150 슬롯으로 가정하여 는 5,3,1,2,2로 결정하여 2000 슬롯동안 관찰 • 이 증가하면 첫번째 쌍의 throughput 증가, 두 번째 쌍은 throughput 감소 • 나머지 세 쌍의 throughput 변화는 트래픽 발생빈도가 상대적으로 낮음
그림 4 • 의 영향을 살펴보기 위함 • 를 각 쌍마다 0.6, 0.4, 0.1, 0.3, 0.3으로 고정, 첫번째 쌍을 제외한 나머지 단계값 를 모두 1로 고정 • 첫번째 쌍의 단계값 이 증가함에 다라 첫번째 쌍의 성능 향상과 두 번째 쌍의 성능 저하가 일어남 • 두 번째 쌍은 첫번째 쌍에게 우선순위를 양보, 나머지 세 쌍의 성능은 비교적 데이터 양이 없으므로 변화가 없음. • 전반적인 성능 향상을 위해 두 번째 쌍에게도 적절한 단계값 설정 필요 • MTDPP 알고리즘의 두가지 주요 파라미터인 와 의 조정을 통해 시스템 성능을 조절할 수 있음
그림 5 • KFP 방식과의 성능 비교 • T는 각 클래스 별로 높은 클래스를 갖는 차례로 5t, 4t, 3t, 2t, 1(t=10) • 는 각각 5, 3, 1, 2 ,2로 설정 • 의 영향을 관찰하기 위해 case 1의 는 각각 0.6, 0.4, 0.1 ,0.3, 0.3 (비교적 우수한 성능을 보이는 경우)이고 case 2는 모두 0.5로 가정 • 각 master-slave 쌍의 데이터 트래픽 발생 특성을 고려한 case 1의 경우가 case 2의 경우보다 우수한 성능을 가지지만 의 영향이 의 영향보다 크므로 차이가 작음. • 그림 6 • Delay 성능도 MTDPP 방식의 case 1의 경우에 가장 우수함 • 각 master-slave 쌍의 polling 주기, 과 같은 QoS 파라미터를 적절한 와 에 매핑하여 QoS를 충족시킬 수 있을 것이다.
시뮬레이션 결과 • 와 의 조정을 통해 서비스별로 다양한 요구사항의 충족이 가능 • 블루투스 LMP 계층에서의 대표적인 QoS 파라미터인 과 같은 파라미터를 제안된 알고리즘의 적절한 및 로 대응 시킴으로써 시스템의 전반적인 성능 향상 가능