명세서 발명의명칭 디스크배열기반의비디오서버를위한에너지인지인터벌캐슁방법 {A METHOD FOR ENERGY- AWARE INTERVAL CACHING FOR DISK-ARRAY-BASED VIDEO SERVER} 발명의상세한설명 기술분야 본발명은클러스터기반비디오서버에서의에너지인지캐슁방법으로서, 보다구체적으로는클러스터별로 인터벌큐를별도로할당하며, 캐슁되는인터벌크기에따라서각클러스터에서소모되는디스크이용률과전력의상관관계를분석하고, 각클러스터에서캐슁되게될인터벌의상한값을결정함으로써디스크의전력소모를줄일수있는에너지인지캐슁방법에관한것이다. 배경기술 최근멀티미디어및네트워크기술의발달로인해, 디지털도서관, 주문형교육, 원격교육및주문형비디오와같은다양한응용에서비디오서비스를제공하는것이중요하게되었다. 비디오데이터는높은대역폭및 큰저장공간을요구하기때문에, 비디오서버는일반적으로수백개의디스크배열 (disk array) 로구성된디스크클러스터링기법을사용한다. 최근서버에서의전력소모감소에관한이슈가큰관심을끌기시작하였다. 최근 Energy User News 에서, 일반적인서비스공급자들은현재 150-200 W/ft 2 의전력을필요로하고있으며, 가까운미래에는 200-300 W/ft 2 까지필요로하게될것이라고보고하고있다. 이와같이증가하고있는전력수요는, 서비스공급자들에게있어서심각한경제적문제를초래한다. 예를들어, 중간크기인 30,000 ft 2 데이터센터는 15MW 를필요로하는데, 이는연간 $13,000,000 의비용에해당한다. 소비전력증가와관련된또다른문제는열 (heat) 의 발생이다. 예를들면, 주위온도가 15 높게동작시킬경우, 디스크드라이브고장율 (failure rate) 이 2 배로높아질수있는것으로알려져있다. 디스크의열문제를해결하기위해필요한냉각시스템은엄청나게고가이며, 냉각시스템사용으로인한소비전력증가는불가피하다. 최근인터넷에서비디오트래픽의양이기하 급수적으로증가하고있고, 특히 YouTube, mega TV 와같은대용량 VOD 시스템의증가로인해서비디오서버를위한전력감소가중요하게대두되었다. 서버에있어서, 저장장치 (storage) 는가장에너지소모가큰구성요소들중하나이다. 최근의보고에따르면, 저장장치들은전체전력의약 27% 를소비한다. 또한, 디스크어레이에의해소비되는에너지는, 어레이의크 기에따라서시스템의나머지부분들에서소비되는에너지를웃도는것으로나타났다. 이와같은문제는더많은전력을필요로하는보다고속의디스크들의사용가능성에의해악화될수있다. 전력소비를줄이기위해, 최근의디스크들은디스크의상태에따라여러가지전력소비모드를포함하는다중전력모드 (multiple power modes) 를가진다. 활성모드에서는, 플래터들 (platters) 이회전하고있으며헤드는데이터를판독하거나기록하고있다. 검색모드에서는, 헤드가검색하고있다. 아이들모드에서는, 디스크가전속력으로회전 하지만, 디스크요구는처리하지않는다. 저전력또는대기모드에서는, 디스크가회전을완전히정지하고다른어떤모드들에서보다훨씬적은에너지를소비한다. 최근출시된다중속도디스크의경우에서는디스크회전속도를줄임으로써, 저전력모드로바꿀수있다. 비디오서버는 Q 개의클러스터들로구성된디스크배열로이루어져있으며, 각클러스터는 1 개이상의디스 크를가지고있는비디오서버에서, 디스크대역폭이용률은일정주기마다, 주기에서실제디스크가 I/O 를수행하는시간의비율로서보통계산이된다. 디스크대역폭이용률은클러스터의디스크전력소모와밀접한연관을갖는다. 예를들면, 다중속도디스크의경우, 디스크대역폭이용률에따라서디스크회전속도를바 꿈으로써, 전력소모를달리할수있다. 즉, 디스크대역폭이용률이높아지면, 연결된고객의영화제공서비
스를보장하기위해서, 디스크회전속도를높여야하며, 전력소모가증가되게된다. 이에비해서, 디스크대역폭이용률이낮아지면, 디스크의회전속도를낮추어도영화제공서비스가가능하므로, 전력소모를줄일 수있다. 또한미러링 (mirroring) 과같은복제된데이터가존재하는경우, 디스크대역폭이용률이낮아지면, 특정디스크로데이터요청을집중시킬수있으므로, 나머지디스크를저전력모드로전환할수있으므로, 전력을감소시킬수있다. 비디오서버는일반적으로버퍼관리자 (Buffer manager), 입 / 출력관리자 (I/O manager), 네트워크관리자 (network manager) 의 3 가지기능적요소로구성되어있다. 버퍼관리자는메모리버퍼를선반입버퍼 (read-ahead buffer) 와캐쉬로나눈다. 선반입버퍼는재사용할가능성이큰오브젝트를캐쉬에저장하는동안에디스크로부터읽혀진데이터와클라이언트에게즉시전송될데이터를저장한다. 클라이언트가비디오를 요청하면, 서버는일단캐쉬를체크한다. 만약요청된데이터가캐쉬에있다면, 데이터는네트워크관리자에의해서클라이언트에게직접전송된다. 그렇지않으면, 입 / 출력관리자는디스크로부터데이터를읽어서데이터가네트워크로전송될때까지버퍼에데이터를임시저장한다. 따라서효과적으로데이터를캐쉬에저장해 서디스크 I/O 횟수를줄이는것이중요하다. 비디오서버에서의캐슁기법은서버시스템의성능향상과사용자의서비스대기시간을줄이는효과적인방 법이다. 멀티미디어객체는크기가크고순차적으로참조되므로 LRU(Lease Recently Used) 알고리즘과같은전통적인버퍼캐쉬관리기법을비디오서버에그대로적용하는것은효율적이지못하다. 이러한문제를 해결하기위해가장대표적인캐슁기법은스트리밍서비스의요청간격에기반한인터벌캐슁 (IC) 기법이다. 인터벌캐슁기법은같은비디오개체에대한두개의연속적인요청이있을때, 이들요청사이의간격을인터벌이라정의하고, 만약먼저도착한요청이디스크로부터읽은데이터를캐쉬에저장해두었다면, 나중에도 착한요청은디스크 I/O 없이캐쉬로부터데이터를직접서비스해주는방법이다. 인터벌캐슁정책은캐쉬로부터데이터를얻는요청의개수를최대화시킨다. 이를위해인터벌의크기로요청들을정렬하고, 캐쉬공간 이존재하는한가장작은인터벌을가진요청부터캐쉬에저장한다. 인터벌캐슁기법은짧은기간내의두연속적인요청에대한시간지역성 (temporal locality) 만을고려하였 으며, 디스크에서소모되는전력을고려하지않았다. 따라서인터벌캐슁기법은디스크 I/O 횟수를줄이는데는매우효과적이나, 디스크의전력을고려하지않았다는단점이있다. 발명의내용 해결하고자하는과제 본발명은기존에제안된방법들의상기와같은문제점들을해결하기위해제안된것으로서, 클러스터기반 비디오서버에서가능한많은디스크를저전력모드로진입하도록, 메모리캐쉬에캐슁될인터벌을결정하는것을그목적으로한다. 과제해결수단 상기한목적을달성하기위한본발명의특징에따른, 디스크배열기반의비디오서버를위한에너지인지인터벌캐슁방법은, (1) 클러스터별로인터벌큐를별도로할당하는단계 ; (2) 메모리캐쉬에캐슁되는인터벌크기에따라서각클러스터에서소모되는디스크이용률과전력의상관관계를분석하는단계 ; 및 (3) 상기상관관계에기초하여, 각클러스터에서읽혀진인터벌데이터중메모리캐쉬에캐슁될인터벌을결정하는단계 를포함하는것을그구성상의특징으로한다.
바람직하게는, 상기단계 (1) 에서, 상기인터벌큐는오름차순으로정렬된것을특징으로한다. 바람직하게는, 상기단계 (2) 에서, 전체클러스터에서소모되는전력을측정하는단계를더포함하는것을특징으로한다. 더욱바람직하게는, 상기단계 (3) 에서, 상기상관관계에더하여전체클러스터에서소모되는상기전력에기초하여, 각클러스터에서읽혀진인터벌데이터중메모리캐쉬에캐슁될인터벌을결정하는것을특징으로한다. 바람직하게는, 상기단계 (3) 에서, 각클러스터별로할당된인터벌큐에서실제메모리캐쉬에저장하게될인 터벌크기의상한값을결정함으로써, 인터벌을결정하는것을특징으로한다. 효과 본발명의에너지인지인터벌캐슁방법에따르면, 각클러스터별로별도의큐를할당하고, 각클러스터의전력상태를고려하여각클러스터별로할당된인터벌큐에서실제메모리캐쉬에저장하게될인터벌크기를 결정함으로써, 디스크에서소모되는전력을크게감소시킬수있다. 발명의실시를위한구체적인내용 이하에서는첨부된도면들을참조하여, 본발명에따른실시예에대하여상세하게설명하기로한다. 도 1 은본발명의기반이되는인터벌을설명하기위한도면이다. S i,j 를영화 i 에대한 j 번째요청이라고할 때, 인터벌캐슁의핵심은앞선요청 S i,j 에서디스크로부터데이터블록을읽어들이고, 그데이터블록을메모리캐쉬에유지한다면, 바로뒤에따르는요청 S i,j+1 은디스크 I/O 없이캐쉬로부터데이터블록을직접읽 어서서비스를수행할수있다는것이다. 이때, 두요청 S i,j 와 S i,j+1 사이의간격을인터벌이라고하며, 인터벌 을메모리캐쉬에저장함으로써, 디스크 I/O 의횟수를줄일수있게된다. 그러나메모리캐쉬크기는한정되어있으므로, 모든인터벌을다저장할수없다. 따라서메모리캐쉬크기에맞추어서일부인터벌만메모리캐쉬에저장하게된다. 기존의인터벌캐슁기법은인터벌크기가작은것에우선순위를부여하여저장한다. 도 2 는기존의인터벌캐슁방법의정책에대해서설명하기위한도면이다. 도 2 에서 3 개의인터벌이존재하 는데, 만약캐쉬크기가 20 이고, 인터벌크기가 인터벌 2 < 인터벌 1 < 인터벌 3 일경우, 가장큰인터벌크기를갖는인터벌 3 은캐쉬에저장될수없으므로, 요청 S 2,2 는디스크 I/O 를요구한다. 도 2 에도시된바와같 은기존의인터벌캐슁방법은디스크 I/O 횟수를줄이는데는효과적이다. 그러나디스크의전력상태를고 려하지않고, 디스크 I/O 횟수를줄이는데만중점을두어서, 전력소모측면에서는비효율적이다. 도 3 은기존의스킴이클러스터비디오서버에서어떻게인터벌을관리하는지나타내는도면이다. 도 3 에도 시된바와같이, 기존스킴에서는모든클러스터에서형성되는인터벌을하나의큐로서관리하며, 메모리캐쉬크기에맞도록인터벌이작은것부터메모리캐쉬에저장하도록한다. 도 4 는본발명의일실시예에따른인터벌캐슁방법을나타내는도면이다. 도 4 에도시된바와같이, 본발명의일실시예에따른인터벌캐슁방법에서는, 각클러스터별로별도의인터벌큐를할당한다. 각인터벌큐 는해당클러스터로요청한인터벌들을인터벌크기가작은인터벌부터정렬하고, 각클러스터의디스크이용률과전력소모를고려하여, 메모리캐쉬에캐슁될인터벌을결정한다. 현재영화 V i 에대한요청의개수를 NA i, 현재생성된비디오 V i 에대한 j 번째인터벌을 IS i j 라고하면 (j=1,, NA i -1), 각클러스터별로각각의인터벌큐를가지므로, 클러스터 k 의인터벌들의집합 SI k 는다음수학식 1 과같이표현될수있다. 수학식 1 SI k = {0, 클러스터 k 의저장된모든비디오 i 에대한 IS i j (j = 1,, NA i -1)}, (k = 1,, Q)
여기서, SI k 가 0 인것은어떤인터벌도캐슁되지않은상태를의미한다. 클라이언트가영화를요청또는종료 하였을때, SI k 의원소를인터벌크기에대한오름차순으로정렬한다. SI k 의 m 번째원소를 IL k m 라고하고, SZ (IL k m ) 를인터벌 IL k m 의크기라고하자. SI k 의원소의개수를 NE k 라고하자. SI k 의원소들은오름차순으로정렬되었기때문에, SZ(IL k m ) SZ(IL k m+1 ) 의관계가항상성립한다. 이때본발명에서는, SI k 의첫번째원소부터 m 번째원소까지캐슁했을때 (m = 1,, NE k -1), 클러스터 k(k = 1,, Q) 의디스크대역폭이용률 CU k (m) 및에너지소모량 E k (m) 의집합을유지한다. 본발명에서는에너지소비를최소화시키기위해각클러스터에서읽혀진인터벌들중에실제메모리캐쉬에 캐슁될인터벌들을동적으로결정한다. 그러나끊김이없는영화재생을보장하기위해서, 디스크대역폭이용도의제약조건인 CU k (m) 1 을만족해야한다. 한클라이언트가비디오스트림을요청했을때, 서버는이 상태를체크한다. CU k (m) 1(m = 1,, NE k ) 을만족하는 m 의가장작은값을 SV k 라고하자. 만약 CU k (NE k ) >1 이면, 이후의클러스터 k 에대한요청은거부될것이다. 전체캐쉬메모리의크기를 B 라고하자. 만약라면, 캐쉬공간이부족하기때문에새로운클라이언트역시거부될것이다. SP k 를선택된변수라면, 집합 SI k 의두번째원소인터벌로부터 SP k 번째원소인터벌을메모리캐쉬에저장한다. 본발명에서는 CU k (m), E k (m) 의상태를고려하여, 의조건을만족시키면서, 전체디스크에서소모되는에너지를줄이는 SP k 를적절하게선택 하는것이다. 이상설명한본발명은본발명이속한기술분야에서통상의지식을가진자에의하여다양한변형이나응용 이가능하며, 본발명에따른기술적사상의범위는아래의특허청구범위에의하여정해져야할것이다. 특허청구의범위 청구항 1. 디스크배열기반의비디오서버를위한에너지인지인터벌캐슁방법으로서, (1) 클러스터별로인터벌큐를별도로할당하는단계 ; (2) 메모리캐쉬에캐슁되는인터벌크기에따라서각클러스터에서소모되는디스크이용률과전력의상관관계를분석하는단계 ; 및 (3) 상기상관관계에기초하여, 각클러스터에서읽혀진인터벌데이터중메모리캐쉬에캐슁될인터벌을결정하는단계 를포함하는것을특징으로하는에너지인지인터벌캐슁방법. 청구항 2. 제 1 항에있어서, 상기단계 (1) 에서, 상기인터벌큐는오름차순으로정렬된것을특징으로하는에너지인지인터벌캐슁방법. 청구항 3. 제 1 항에있어서, 상기단계 (2) 에서, 전체클러스터에서소모되는전력을측정하는단계를더포함하는것을특징으로하는에
너지인지인터벌캐슁방법. 청구항 4. 제 3 항에있어서, 상기단계 (3) 에서, 상기상관관계에더하여전체클러스터에서소모되는상기전력에기초하여, 각클러스터에서읽혀진인터벌데이터중메모리캐쉬에캐슁될인터벌을결정하는것을특징으로하는에너지인지인터벌캐슁방법. 청구항 5. 제 1 항에있어서, 상기단계 (3) 에서, 각클러스터별로할당된인터벌큐에서실제메모리캐쉬에저장하게될인터벌크기의상한값을결정함으로써, 인터벌을결정하는것을특징으로하는에너지인지인터벌캐슁방법. 도면의간단한설명 도 1 은본발명의기반이되는인터벌을설명하기위한도면. 도 2 는기존의인터벌캐슁방법의정책에대해서설명하기위한도면. 도 3 은기존의스킴이클러스터비디오서버에서어떻게인터벌을관리하는지나타내는도면. 도 4 는본발명의일실시예에따른인터벌관리방법을나타내는도면. < 도면중주요부분에대한부호의설명 > S i,j : 영화 i 에대한 j 번째요청 도면 도면 1 도면 2
도면 3 도면 4