KR100806627B1 - A method for managing a video server including multi-speed disks - Google Patents

A method for managing a video server including multi-speed disks Download PDF

Info

Publication number
KR100806627B1
KR100806627B1 KR1020070037089A KR20070037089A KR100806627B1 KR 100806627 B1 KR100806627 B1 KR 100806627B1 KR 1020070037089 A KR1020070037089 A KR 1020070037089A KR 20070037089 A KR20070037089 A KR 20070037089A KR 100806627 B1 KR100806627 B1 KR 100806627B1
Authority
KR
South Korea
Prior art keywords
prefetching
speed level
speed
satisfied
disk
Prior art date
Application number
KR1020070037089A
Other languages
Korean (ko)
Inventor
송민석
Original Assignee
인하대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인하대학교 산학협력단 filed Critical 인하대학교 산학협력단
Priority to KR1020070037089A priority Critical patent/KR100806627B1/en
Application granted granted Critical
Publication of KR100806627B1 publication Critical patent/KR100806627B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Algebra (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

A method for managing a video server including multi-speed disks is provided to reduce power consumption of the video server effectively without a jitter by using an energy-recognition data perfecting scheme for extending a low speed operation time of the multi-speed disks. A current speed level is compared with a selectable maximum speed level when a customer requests a video stream. It is checked whether first and second conditions are satisfied for the current speed level and the number of currently authenticated users when the current speed level is equal to a selectable maximum speed level. The customer is authenticated when the first and second conditions are satisfied, and is refused when the first and second condition are not satisfied. It is checked whether pre-fetching is advanced when the current speed level is lower than the selectable maximum speed. It is checked whether third, fourth, and fifth conditions are satisfied for the current speed level and the number of authenticated users when pre-fetching is not advanced. The customer is authenticated and pre-fetching for increasing a speed level is started for the data in a predetermined range when third, fourth, and fifth conditions are satisfied at the same time. The speed level is kept when the third, fourth, and fifth conditions are not satisfied.

Description

멀티-스피드 디스크를 포함하는 비디오 서버를 관리하는 방법{A METHOD FOR MANAGING A VIDEO SERVER INCLUDING MULTI-SPEED DISKS}A METHOD FOR MANAGING A VIDEO SERVER INCLUDING MULTI-SPEED DISKS}

도 1은 프리페칭 윈도우 동안의 데이터 검색을 나타내는 도면.1 illustrates data retrieval during a prefetching window.

도 2는 (

Figure 112007028930654-pat00001
,
Figure 112007028930654-pat00002
)의 서로 다른 값에 대하여, R1과 비교한 에너지 소비를 나타내는 도면으로서, 사용가능한 스피드의 개수를 증가시키는 것이 에너지의 소비를 감소시킨다는 것을 나타내는 도면.2 is (
Figure 112007028930654-pat00001
,
Figure 112007028930654-pat00002
A diagram showing energy consumption compared to R1 for different values of), wherein increasing the number of available speeds reduces the consumption of energy.

도 3은 (

Figure 112007028930654-pat00003
,
Figure 112007028930654-pat00004
)의 서로 다른 값에 대하여, pf=2인 경우와 비교한 에너지 소비를 나타내는 도면으로서, 프리페칭 윈도우 크기가 클수록 에너지 소비를 감소시킨다는 것을 나타내는 도면.3 is (
Figure 112007028930654-pat00003
,
Figure 112007028930654-pat00004
A diagram showing the energy consumption compared to the case where pf = 2, for different values of), indicating that the larger the prefetching window size, the lower the energy consumption.

<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for the main parts of the drawings>

110 : (속도 레벨 사이의) 변화 기간110: period of change (between speed levels)

120 : 프리페칭 윈도우120: prefetching window

130 : 프리페치 A130: prefetch A

140 : 프리페치 B140: prefetch B

150 : 프리페치 C150: Prefetch C

본 발명은 멀티-스피드 디스크를 포함하는 비디오 서버를 관리하는 방법으로서, 보다 구체적으로는 디스크들이 저속으로 지속하는 시간의 길이를 연장시키는 새로운 에너지-인식 데이터 프리페칭 스킴을 이용하여 멀티-스피드 디스크를 포함하는 비디오 서버를 지터 없이 효과적으로 관리하는 방법에 관한 것이다.The present invention relates to a method for managing a video server comprising a multi-speed disc, and more particularly to a multi-speed disc using a new energy-aware data prefetching scheme that extends the length of time that the discs sustain at low speeds. The present invention relates to a method for effectively managing an included video server without jitter.

인터넷이 디지털 도서관, 주문형 교육(education on demand), 원격 교육(distance learning) 및 주문형 영화와 같은 비디오 애플리케이션을 점점 더 많이 지원함에 따라, 비디오 서버의 중요성도 점점 강조되고 있다. 비디오 서버에서, 비디오 데이터는 저장 장치 내에 수용되며, 고객으로부터의 요청이 발생하는 대로 고객들에게 실시간-방식으로 전달된다.As the Internet supports more and more video applications such as digital libraries, education on demand, distance learning, and on-demand movies, the importance of video servers is becoming increasingly important. In a video server, video data is housed in storage and delivered in real-time to customers as requests from the customers occur.

데이터에 대한 증가하는 수요로 인해, 서버의 에너지 소비는 중요한 문제가 되고 있다. 최근에 Energy User News는, 일반적인 서비스 공급자들이 현재 150-200 W/ft2의 전력을 필요로 하고 있으며, 가까운 미래에는 200-300 W/ft2까지의 전력을 필요로 하게 될 것이라고 보고하고 있다. 이와 같이 증가하고 있는 전력 수요는, 서비스 공급자들에게 있어서 심각한 경제적 문제를 초래할 수 있는데, 예컨대, 중간 크기인 30,000 ft2의 데이터 센터가 필요로 하는 15 MW는 연간 $13,000,000의 비용에 해당한다.Due to the increasing demand for data, server energy consumption is an important issue. Recently Energy User News reports that typical service providers currently require 150-200 W / ft 2 of power and in the near future will require 200-300 W / ft 2 of power. This growing demand for electricity can cause serious economic problems for service providers, for example, the 15 MW needed for a medium-sized 30,000 ft 2 data center would cost $ 13,000,000 annually.

전력 소비가 높아짐으로써 발생할 수 있는 또 다른 문제는 열(heat)로 인한 문제이다. 디스크 드라이브를 대기보다 15°C 높게 동작시킬 경우, 실패 비율(failure rate)이 2배로 높아질 수 있는 것으로 보고되고 있다. 이를 해결하기 위한 높은 열 밀도를 위한 냉각 시스템은 엄청나게 고가이며, 또한 냉각 시스템 자체가 데이터 센터의 전력비용을 상당히 증가시킨다는 문제점도 있다. 나아가, 많은 에너지의 소비는, 서버의 확장을 어렵게 하며, 환경상에도 부정적인 영향을 미친다. 서버의 구성요소 중에서, 저장 장치(storage)는 가장 많은 에너지를 소비하는 구성요소들 중 하나이다. 최근의 보고에 따르면, 저장장치들은 전체 전력의 약 27%를 소비한다. 또한, 디스크 어레이에 의해 소비되는 에너지는, 어레이의 크기에 따라서 시스템의 나머지 부분들에서 소비되는 에너지를 웃돌 수도 있는 것으로 나타났다. 이와 같은 문제는 보다 많은 전력을 필요로 하는 보다 고속의 디스크들의 사용 가능성에 의해 악화될 수 있다.Another problem that can arise from higher power consumption is that of heat. It is reported that the failure rate can be doubled if the disk drive is operated at 15 ° C higher than standby. To address this, cooling systems for high thermal densities are enormously expensive, and the cooling system itself adds significantly to the power costs of the data center. Furthermore, much energy consumption makes it difficult to scale servers and negatively impact the environment. Of the components of the server, storage is one of the most energy consuming components. According to recent reports, storage devices consume about 27% of total power. It has also been shown that the energy consumed by the disk array may exceed the energy consumed in the rest of the system, depending on the size of the array. This problem can be exacerbated by the availability of higher speed disks that require more power.

디스크의 전력 소비를 줄일 수 있는 방법 중 하나는, 디스크가 회전하는 속도를 줄이는 것이다. Gurumurthi 등은 이와 같은 특성을 이용하여, 회전하는 동안 속도를 변화시킬 수 있는 동적 멀티-스피드 디스크 모델을 제안하였다. 이와 같은 멀티-스피드 디스크를 사용하면, 집중된 서버 작업부하(intense serve workloads) 하에서도 대폭 전력 소비를 줄일 수 있다. 현재 연속적인 범위의 속도를 갖는 멀티-스피드 디스크는 가능하지 않지만, 이산된 스피드의 집합을 지원하는 멀티-스피드 디스크는 존재한다.One way to reduce the power consumption of the disk is to reduce the speed at which the disk spins. Gurumurthi et al. Have proposed a dynamic multi-speed disc model that can change the speed during rotation by using these characteristics. Using multi-speed disks like this can dramatically reduce power consumption even under concentrated server workloads. Currently multi-speed discs with a continuous range of speeds are not possible, but there are multi-speed discs that support a set of discrete speeds.

에너지를 절약하기 위해, 서버는 가능하면 오랫동안 디스크를 저속 모드로 유지시킬 필요가 있지만, 속도를 변화시키는 것은 상당한 시간을 필요로 한다. 예 를 들어, 동적 멀티-스피드 디스크 모델에서, 속도를 변화시키는 데에는 6.9초가 걸린다. 변화 기간 동안, 데이터에 대한 고객의 요청은 처리될 수 없으며, 이로 인해 비디오 데이터의 시간 제약의 위반 때문에 재생의 왜곡이나 일시 정지(pause)를 야기할 수 있다. 이와 같은 현상을 지터(jitter)라고 지칭한다. 지터가 없는 재생을 보장하기 위해, 서버는 변화 동안 재생할 데이터를 프리페치 할 필요가 있다. 그러나 프리페치에 요구되는 리소스를 결정하기 위해서는 상세한 분석이 요구된다. 더욱이, 이러한 리소스의 상당한 부분이 프리페칭을 위해 예약되어야 하는바, 이것은 평소에는 리소스의 과소이용(under-utilization)을 초래한다.To save energy, the server needs to keep the disk in slow mode for as long as possible, but changing the speed requires considerable time. For example, in the dynamic multi-speed disk model, changing the speed takes 6.9 seconds. During the change period, the customer's request for data cannot be processed, which may cause distortion or pause of playback due to a violation of the time constraints of the video data. This phenomenon is called jitter. To ensure jitter-free playback, the server needs to prefetch data to play during the change. However, detailed analysis is required to determine the resources required for prefetching. Moreover, a significant portion of these resources must be reserved for prefetching, which usually results in under-utilization of the resources.

디스크의 동작은 검색(seek), 활성(active), 아이들(idle) 및 대기(standby)와 같은 4가지 상태(phase)로 나누어질 수 있다. 검색 상태에서, 암(arm)은 플래터(platter)를 가로질러 움직여 원하는 실린더 상에 멈춘다. 활성 상태에서는, 디스크가 실제로 데이터를 판독하거나 기록한다. 아이들 상태에서, 디스크는 회전하고 있지만 서비스에 대한 고객의 요청은 없다. 대기 상태에서는, 디스크가 회전을 완전히 멈춘다. 대기 상태에서의 디스크는 나머지 다른 상태에서의 디스크보다 훨씬 적은 에너지를 소비하지만, 데이터에 대한 고객의 요청에 대해 서비스하기 위해서는 다시 최고 속도까지(to full speed) 회전될 필요가 있는데, 이것은 상당한 에너지 및 시간 페널티를 발생시킨다. 따라서 디스크를 대기 상태로 둠으로써 절약된 에너지가 디스크를 다시 회전시키는데 필요한 에너지보다 더 큰 경우여야만, 디스크를 대기 상태로 두는 의미가 있게 된다.The operation of the disk can be divided into four phases: seek, active, idle and standby. In the search state, the arm moves across the platter and stops on the desired cylinder. In the active state, the disc actually reads or writes data. In the idle state, the disc is spinning but there is no customer request for service. In the standby state, the disc stops spinning completely. While the disk in standby consumes much less energy than the disk in the rest of the state, it needs to be rotated back to full speed to service the customer's request for data, which requires significant energy and Incurs a time penalty. Therefore, it makes sense to put the disk on standby only if the energy saved by putting the disk on standby is greater than the energy needed to rotate the disk again.

단일-스피드 디스크에 대한 전형적인 전력 관리는 다음 2가지 단계를 포함한 다. 제1 단계는 적합한 아이들 기간을 검출하는 단계이고, 제2 단계는 디스크를 대기 상태까지 속도를 줄이는 단계이다. 이것은, 긴 아이들 기간이 기대될 수 있고 디스크가 스핀다운(spindown) 및 스핀업(spinup)에 대해 상대적으로 낮은 레이턴시(latency)를 갖는 랩톱 컴퓨터에서 효율적인 에너지-절약 기법이다. 그러나 기업용 서버상의 대용량의 활동은, 디스크를 스핀업 및 스핀다운하는 비용을 정당화하기에 너무 짧은 디스크 간의 아이들 시간을 요구한다. 그 결과, 에너지 절약에 대한 가능성이 매우 제한된다.Typical power management for a single-speed disk involves two steps. The first step is to detect a suitable idle period, and the second step is to slow down the disk to standby. This is an efficient energy-saving technique in laptop computers where long idle periods can be expected and the disks have relatively low latency for spindown and spinup. However, large amounts of activity on enterprise servers require idle time between disks that is too short to justify the cost of spinning up and spinning down disks. As a result, the potential for energy saving is very limited.

멀티-스피드 디스크는 이미 유통되고 있지만, 디스크의 회전 속도를 변화시키는 몇몇 방법들만이 연구되어 왔다. 이들 접근법들은, 대부분 디스크 요청 큐의 길이를 모니터링하고 요청들에 대한 응답 시간이 미리 지정된 범위 내에 유지되도록 디스크의 속도를 변화시키는 데 기초하고 있다. 그러나 이와 같은 전력 절약 방법은, 비디오 서버에서 스피드를 변화시키는 것이 상당한 시간을 필요로 하며 이로 인해 비디오 재생에 있어서 긴 정지가 야기될 수도 있다는 점에서 비디오 서버에 적용되기에는 적합하지 않다. 또한, 비디오 데이터는 일반적으로 높은 데이터 전송 속도를 요구하므로, 디스크가 저속 모드로 진입할 기회가 거의 없다는 문제점도 있다.Multi-speed discs are already in circulation, but only a few methods of changing the rotational speed of the disc have been studied. These approaches are mostly based on monitoring the length of the disk request queue and changing the speed of the disk so that the response time for the requests remains within a predetermined range. However, such power saving methods are not suitable for video server applications in that changing the speed in the video server requires considerable time, which may cause long stops in video playback. In addition, since video data generally requires a high data transfer rate, there is a problem that the disk has little chance of entering a low speed mode.

본 발명은 상기와 같은 문제점 인식에서 비롯된 것으로서, 디스크들이 저속으로 지속하는 시간의 길이를 연장시키는 새로운 데이터 프리페칭 스킴을 이용하여 멀티-스피드 디스크를 포함하는 비디오 서버에서 지터 없이 효과적으로 전력을 감 소시킬 수 있는 비디오 서버 관리 방법을 제안하는 것을 그 목적으로 한다.The present invention is derived from the above problem recognition, and can effectively reduce power without jitter in video servers including multi-speed discs by using a new data prefetching scheme that extends the length of time the discs continue to be slow. It is an object of the present invention to propose a video server management method.

상기한 목적을 달성하기 위한 본 발명의 특징에 따른, 비디오 서버 관리 방법은 다음과 같다.According to a feature of the present invention for achieving the above object, a video server management method is as follows.

ND개의 디스크로 구성되며, 각각의 디스크는 NR개의 속도 레벨(속도 레벨 k에서의 회전 속도를 R(k)라고 나타낼 경우, R(1) < … < R(NR)이라고 가정함)을 가지며, 속도 레벨 사이의 변화 시간이 To인 멀티-스피드 디스크(multi-speed disk)이며, 작업 부하가 각각의 디스크들 사이에 균등하게 분배되는 비디오 서버에서,ND disks, each disk having NR speed levels (assuming that the rotational speed at speed level k is R (k), R (1) <… <R (NR)), In a video server where the change time between speed levels is T o and the workload is distributed evenly among the disks,

속도 레벨의 변화 기간 동안 사용될 데이터에 대한 프리페칭(prefetching)이 사용되고, 프리페칭이 허용되는 동안의 라운드의 개수인 프리페칭 윈도우의 크기는 pf이며, 프리페칭 동안 서버가 추가로 수용할 수 있는 고객의 수는

Figure 112007028930654-pat00005
이고, 프리페칭 이후의 고객들 수에서의 변화를 나타내는 파라미터는 Q이며(프리페칭이 시작되는 경우 Q가 0으로 설정됨),Prefetching for data to be used during periods of speed level change, the number of rounds during which prefetching is allowed, the size of the prefetching window is pf, and the server can accommodate additional customers during prefetching The number of
Figure 112007028930654-pat00005
, The parameter representing the change in the number of customers after prefetching is Q (Q is set to 0 when prefetching starts),

디스크 헤드가 디스크의 표면을 따라 앞뒤로 스캔하며, 헤드가 고객에 의해 요청되는 블록을 지나갈 때 해당 블록이 검색되는 SCAN 스케줄링이 사용되며,The disk head scans back and forth along the surface of the disk, and SCAN scheduling is used where the block is retrieved when the head passes a block requested by the customer.

시간이 라운드(rounds)라고 지칭되는 동일한 크기의 주기들로 분할되고, 각각의 인가된 고객은 각각의 라운드에서 한 번씩 서비스를 받게 되는 라운드-기반 스케줄링(round-based scheduling)이 사용되며, 각각의 라운드의 길이는 R이며,Round-based scheduling is used, where time is divided into equal-sized periods called rounds, each authorized customer being served once in each round, and each The length of the round is R,

모든 비디오 스트림이 요구하는 디스플레이 속도는 dr(비트/초)이고, 각각의 디스크들에 대한 디스크 검색 시간(disk seek time)은 Ts이며, 버퍼 크기는 B이고,The display speed required by all video streams is dr (bits / sec), the disk seek time for each disk is T s , the buffer size is B,

속도 레벨 k에서 동작하는 디스크의 데이터 전송 속도(transfer rate)는 tr(k)이고, 회전 레이턴시는 L(k)이며,The data transfer rate of a disk operating at speed level k is tr (k), the rotational latency is L (k),

프리페칭이 없다고 가정하는 경우에, 속도 레벨이 k이고, 고객의 수가 NA명일 경우의 디스크 대역폭 이용도 DUno(NA,k) 및 버퍼 이용도 BUno(NA)는 각각 다음 수학식 1 및 2와 같이 주어지고,Assuming no prefetching, the disk bandwidth utilization DU no (NA, k) and buffer utilization BU no (NA) when the speed level is k and the number of customers is NA names are represented by the following equations 1 and 2, respectively. Given by

Figure 112007028930654-pat00006
Figure 112007028930654-pat00006

(여기서, STno(NA,k)는 프리페칭을 위한 부수적인 대역폭을 무시하는 경우에 있어서, 속도 레벨이 k이고, 고객의 수가 NA명일 경우의 디스크 하나에 대한 서비스 타임으로서,

Figure 112007028930654-pat00007
로서 주어짐)(Where ST no (NA, k) is the service time for one disk when the speed level is k and the number of customers is NA in case of ignoring the additional bandwidth for prefetching,
Figure 112007028930654-pat00007
Given as

Figure 112007028930654-pat00008
Figure 112007028930654-pat00008

프리페칭이 있다고 가정하는 경우에, 속도 레벨이 k이고, 고객의 수가 NA명일 경우의 디스크 대역폭 이용도 DUpr(NA,k) 및 버퍼 이용도 BUpr(NA)는 각각 다음 수학식 3 및 4와 같이 주어지는 경우,Assuming prefetching, the disk bandwidth utilization DU pr (NA, k) and buffer utilization BU pr (NA) when the speed level is k and the number of customers is NA names are given by the following equations (3) and (4), respectively. Is given by

Figure 112007028930654-pat00009
Figure 112007028930654-pat00009

(여기서, STpr(NA,k)는 프리페칭을 위한 부수적인 대역폭을 고려하는 경우에 있어서, 속도 레벨이 k이고, 고객의 수가 NA명일 경우의 디스크 하나에 대한 서비스 타임으로서,

Figure 112007028930654-pat00010
로서 주어지며, 여기서 SFpr(k)는 속도 레벨 k에서 비디오 스트림 하나를 프리페칭하기 위해 요구되는 서비스 시간으로서,
Figure 112007028930654-pat00011
로서 주어짐)(Where ST pr (NA, k) is the service time for one disk when the speed level is k and the number of customers is NA in case of considering the additional bandwidth for prefetching,
Figure 112007028930654-pat00010
Where SF pr (k) is the service time required to prefetch one video stream at rate level k,
Figure 112007028930654-pat00011
Given as

Figure 112007028930654-pat00012
Figure 112007028930654-pat00012

상기 비디오 서버를 관리하는 방법으로서,A method of managing the video server,

(1) 고객이 비디오 스트림을 요청하는 경우, 현재 선택된 속도 레벨(CR)을 선택 가능한 최대 속도 레벨(NR)과 비교하는 단계;(1) when the customer requests a video stream, comparing the currently selected speed level CR with a selectable maximum speed level NR;

(2) 상기 단계 (1)의 비교 결과, CR = NR인 경우, 현재 선택된 속도 레벨 CR 및 현재 인가된 고객의 수 CA에 대하여,

Figure 112007028930654-pat00013
(조건 1) 및
Figure 112007028930654-pat00014
(조건 2)를 만족하는지 확인하여, 상기 조건 1 및 2를 동시에 만족하는 경우 상기 고객을 인가하고, 만족하지 못하는 경우 상기 고객을 거절하는 단계;(2) As a result of the comparison of step (1), when CR = NR, for the currently selected speed level CR and the number of currently authorized customers CA,
Figure 112007028930654-pat00013
(Condition 1) and
Figure 112007028930654-pat00014
Confirming whether (condition 2) is satisfied and approving the customer if the conditions 1 and 2 are satisfied at the same time, and rejecting the customer if the condition is not satisfied;

(3) 상기 단계 (1)의 비교 결과, CR < NR인 경우, 프리페칭이 현재 진행되고 있는지 여부를 확인하는 단계;(3) confirming whether prefetching is currently in progress when CR <NR as a result of the comparison in step (1);

(4) 상기 단계 (3)의 확인 결과, 프리페칭이 현재 진행되고 있지 않은 경우, 현재 선택된 속도 레벨 CR 및 현재 인가된 고객의 수 CA에 대하여,

Figure 112007028930654-pat00015
(조건 3),
Figure 112007028930654-pat00016
(조건 4) 및
Figure 112007028930654-pat00017
(조건 5)를 만족하는지 확인하는 단계;(4) As a result of the checking in step (3), if prefetching is not currently in progress, for the currently selected speed level CR and the number of currently authorized customers CA,
Figure 112007028930654-pat00015
(Condition 3),
Figure 112007028930654-pat00016
(Condition 4) and
Figure 112007028930654-pat00017
Checking whether (condition 5) is satisfied;

(5) 상기 단계 (4)의 확인 결과, 상기 조건 3 내지 5를 동시에 만족하는 경우, 상기 고객을 인가하고,

Figure 112007028930654-pat00018
~
Figure 112007028930654-pat00019
(여기서, ro는 현재 라운드임) 범위의 데이터에 대하여 속도 레벨 증가를 위한 프리페칭을 시작하며, Q를 0으로 설정하는 단계;(5) If the check result of step (4) indicates that the conditions 3 to 5 are satisfied at the same time, the customer is authorized,
Figure 112007028930654-pat00018
To
Figure 112007028930654-pat00019
Starting prefetching for speed level increase over data in the range, where ro is the current round, setting Q to 0;

(6) 상기 단계 (4)의 확인 결과, 만족하지 못하는 경우, 속도 레벨을 유지하며, 동시에 현재 선택된 속도 레벨 CR 및 현재 인가된 고객의 수 CA에 대하여,

Figure 112007028930654-pat00020
(조건 1) 및
Figure 112007028930654-pat00021
(조건 2)를 만족하는지 확인하여, 상기 조건 1 및 2를 동시에 만족하는 경우 상기 고객을 인가하고, 만족하지 못하는 경우 상기 고객을 거절하는 단계; 및(6) If the result of the check in step (4) is not satisfied, the speed level is maintained, and at the same time, for the currently selected speed level CR and the number of currently authorized customers CA,
Figure 112007028930654-pat00020
(Condition 1) and
Figure 112007028930654-pat00021
Confirming whether (condition 2) is satisfied and approving the customer if the conditions 1 and 2 are satisfied at the same time, and rejecting the customer if the condition is not satisfied; And

(7) 상기 단계 (3)의 확인 결과, 프리페칭이 현재 진행되고 있는 경우, Q의 값을 1만큼 증가시킨 후,

Figure 112007028930654-pat00022
이면 상기 고객을 인가하고, 아니면 속도 변화 완료시까지 상기 고객의 인가를 지연하는 단계를 포함하는 것을 그 특징으로 한다.(7) As a result of confirming the above step (3), if prefetching is currently in progress, after increasing the value of Q by 1,
Figure 112007028930654-pat00022
And approving the customer, or delaying the authorization of the customer until the speed change is completed.

본 발명의 다른 특징에 따른 비디오 서버 관리 방법은,According to another aspect of the present invention, a video server management method includes

(8) 고객이 비디오 스트림을 닫는 경우, 프리페칭이 현재 진행되고 있는지 여부를 확인하는 단계;(8) if the customer closes the video stream, checking whether prefetching is currently in progress;

(9) 상기 단계 (8)의 확인 결과, 프리페칭이 현재 진행되고 있지 않은 경우, 현재 선택된 속도 레벨 CR 및 현재 인가된 고객의 수 CA에 대하여,

Figure 112007028930654-pat00023
(조건 6) 및
Figure 112007028930654-pat00024
(조건 5)를 만족하는지 확인하는 단계;(9) As a result of the checking in step (8), if prefetching is not currently in progress, for the currently selected speed level CR and the number of currently authorized customers CA,
Figure 112007028930654-pat00023
(Condition 6) and
Figure 112007028930654-pat00024
Checking whether (condition 5) is satisfied;

(10) 상기 단계 (9)의 확인 결과, 상기 조건 5 및 6을 동시에 만족하는 경우,

Figure 112007028930654-pat00025
~
Figure 112007028930654-pat00026
(여기서, ro는 현재 라운드임) 범위의 데이터에 대하여 속도 레벨 감소를 위한 프리페칭을 시작하며, Q를 0으로 설정하는 단계;(10) when the result of checking (9) above satisfies the conditions 5 and 6 simultaneously,
Figure 112007028930654-pat00025
To
Figure 112007028930654-pat00026
Starting prefetching for speed level reduction for data in the range (where ro is the current round), setting Q to 0;

(11) 상기 단계 (9)의 확인 결과, 만족하지 못하는 경우, 속도 레벨을 유지하는 단계; 및(11) maintaining the speed level if it is not satisfied as a result of the checking in step (9); And

(12) 상기 단계 (8)의 확인 결과, 프리페칭이 현재 진행되고 있는 경우, Q의 값을 1만큼 감소시킨 후,

Figure 112007028930654-pat00027
이면 프리페칭을 취소하는 단계를 더 포함하는 것을 그 특징으로 한다.(12) As a result of confirming the above step (8), if prefetching is currently in progress, after decreasing the value of Q by 1,
Figure 112007028930654-pat00027
And canceling prefetching.

본 발명의 또 다른 특징에 따른 비디오 서버 관리 방법은,A video server management method according to another aspect of the present invention,

각각의 비디오 스트림이 요구하는 디스플레이 속도 dr(비트/초)이 상수가 아닌 것을 그 특징으로 한다.It is characterized by the fact that the display speed dr (bits / sec) required by each video stream is not a constant.

이하에서는 첨부된 도면들을 참조하여, 본 발명의 실시예에 대해 상세하게 설명하기로 한다.Hereinafter, with reference to the accompanying drawings, it will be described in detail an embodiment of the present invention.

1. 시스템 및 멀티-1. System and multi- 스피드speed 디스크 모델 Disk model

1.1 시스템 모델1.1 System Model

다수의 고객들을 지원하기 위해, 데이터 검색에 대하여 라운드에 기초한 스케줄링을 이용한다. 즉, 시간이 ‘라운드’라고 지칭되는 동일한 크기의 기간으로 나누어진 후, 각각의 인가된 고객이 각각의 라운드에서 한 번씩 서비스를 받게 된다. 한 라운드 동안 검색되는 데이터의 양이 한 디스크 블록에 해당한다고 가정할 것이다. 이러한 가정은, 각각의 라운드 동안 하나의 비디오를 판독하기 위해 단지 한 번의 데이터 검색이 요구되기 때문에 비디오 데이터 검색에 있어서 훌륭한 성능을 제공한다. 일반적으로, 비디오 데이터는 실시간 요구조건(real-time requirements)을 갖는다. 즉, 비디오 프레임이 재생 시간 전에 검색되는 경우에만 그 비디오 프레임이 사용될 수 있다. 연속적인 재생을 보장하기 위해, 현재의 재생을 위해 요구되는 데이터는 이전 라운드에 디스크로부터 판독되었어야 한다. 반면에, 다음 라운드에서 재생될 데이터는 현재의 라운드 동안 판독된다. 이것은, 지터가 없는 재생을 달성하기 위해서는, 서비스 타임(즉, 한 라운드 동안의 모든 스트림들을 검색하는데 소비되는 전체 시간)이 한 라운드의 지속시간을 초과해서는 안 된다는 것을 의미한다.To support multiple customers, round-based scheduling is used for data retrieval. That is, after time is divided into equally sized periods called 'rounds', each authorized customer is served once in each round. We will assume that the amount of data retrieved during a round corresponds to one disk block. This hypothesis provides good performance in video data retrieval because only one data retrieval is required to read one video during each round. In general, video data has real-time requirements. That is, the video frame can be used only when the video frame is retrieved before the playback time. To ensure continuous playback, the data required for the current playback must have been read from the disc in the previous round. On the other hand, data to be reproduced in the next round is read during the current round. This means that in order to achieve jitter-free playback, the service time (ie the total time spent searching for all streams for a round) must not exceed the duration of one round.

현재의 상업적 멀티-스피드 디스크는 단지 2가지 속도를 가지고 있다. 하지만, 더 많은 속도를 지원하는 것에 대한 어떠한 근본적인 장애물도 없는 것처럼 보이므로, 다수의 이산된 속도들을 갖는 디스크를 고려할 것이다. 비디오 데이터의 높은 대역폭 및 큰 저장장치 요구조건을 지원하기 위해서, 서버는 일반적으로 디스크 어레이를 이용한다. 제안되는 모델에서, 디스크 어레이는 동일한 멀티-스피드 디스크들로 구성된다. 검색 오버헤드를 줄이기 위해, 디스크 헤드가 디스크의 표면을 따라 앞뒤로 스캔하며, 헤드가 고객에 의해 요청되는 블록을 지나갈 때 그 블록이 검색되는 SCAN 스케줄링이 사용된다.Current commercial multi-speed discs have only two speeds. However, since there seems to be no fundamental obstacle to supporting more speeds, we will consider a disk with multiple discrete speeds. To support the high bandwidth and large storage requirements of video data, servers typically use disk arrays. In the proposed model, the disk array consists of the same multi-speed disks. To reduce the search overhead, SCAN scheduling is used where the disk head scans back and forth along the surface of the disk, and when the head passes a block requested by the customer.

1.2 멀티-1.2 multi- 스피드speed 디스크  disk 모델링하기Modeling

디스크에는 전체 전력 소비에 기여하는 여러 구성요소들이 있다. 여기에는, 플래터를 회전시키는 스핀들 모터(spindle motor), 헤드를 움직이게 하는 액추에이터(actuator), 데이터 전송에 포함되는 전기 구성요소들 및 기타 회로가 포함된다. 일반적으로 스핀들 모터는 전체 아이들-모드 전력 소비의 약 80%를 책임지고 있으므로, 디스크 전력 소비를 모델링하는데 스핀들 모터는 특히 중요하다. 디스크가 NR개의 속도 레벨을 가지고 있다고 가정한다. 속도 레벨 k에서의 회전 속도를 R(k)라고 하자. R(1) < … < R(NR)이라고 가정한다. 스핀들 모터에 의해 요구되는 전력 Pm(k)는 일반적으로 속도와 선형적 관계 또는 이차 관계(quadratic relationship)를 갖는다.Disks have several components that contribute to overall power consumption. This includes a spindle motor that rotates the platter, an actuator that moves the head, electrical components and other circuitry involved in data transmission. In general, the spindle motor is responsible for about 80% of the total idle-mode power consumption, so the spindle motor is particularly important for modeling disk power consumption. Assume a disk has NR speed levels. Let R (k) be the rotational speed at the speed level k. R (1) < Assume <R (NR). The power P m (k) required by the spindle motor generally has a linear or quadratic relationship with the speed.

속도 레벨이 k인 경우에, Ps(k)는 검색 상태 동안 요구되는 전력이고, Pa(k)는 활성 상태 동안 요구되는 전력이며, Pi(k)는 아이들 상태 동안 소비되는 전력이라고 하자. Pb는 대기 상태 동안의 소비 전력이라고 하자. 아이들 상태에서, 스핀 들 모터를 제외한 디스크의 다른 구성요소에 의해 소비되는 전력 Po는 플래터 속도에 독립적이라고 간주할 수 있다. 따라서 Pi(k) = Pm(k) + Po. 활성 상태 동안, 데이터 채널은 전자부품(electronics)과 플래터 사이에서 비트들을 활발히 전송하고 있다. 이것은, 추가적인 전력 Ph를 필요로 하는 판독/기록 헤드의 움직임을 포함한다. 판독/기록 헤드를 움직이는 데 요구되는 전력은 회전 속도와 관계가 없으므로, Pa(k)는 Pi(k) + Ph로 표현될 수 있다. 검색 상태 동안, 액추에이터는 암을 원하는 실린더 상으로 움직일 필요가 있는데, 이것은 아이들 상태보다 Pg만큼 더 높은 전력을 필요로 한다. 결과적으로, Ps(k) = Pi(k) + Pg.If the speed level is k, then P s (k) is the power required during the search state, P a (k) is the power required during the active state, and P i (k) is the power consumed during the idle state. . P b is the power consumption during the standby state. In the idle state, the power P o consumed by the other components of the disk except the spindle motor can be considered independent of the platter speed. Thus P i (k) = P m (k) + P o . While active, the data channel is actively transferring bits between electronics and platters. This includes the movement of the read / write head, which requires additional power P h . Since the power required to move the read / write head is independent of the rotational speed, P a (k) can be expressed as P i (k) + P h . During the search state, the actuator needs to move the arm onto the desired cylinder, which requires as much power as P g than the idle state. As a result, P s (k) = P i (k) + P g .

멀티-스피드 디스크는, 대기 상태에서만 속도를 변화시킬 수 있기 때문에, 속도를 변화시키는 데에 상당한 양의 시간을 필요로 한다. 변화 기간 동안 데이터는 디스크로부터 판독될 수 없기 때문에, 서버는 이 기간 동안 소비될 데이터를 프리페치 할 필요가 있다. 2개의 인접한 속도 레벨 사이에서만 속도 변화가 허용된다고 가정할 것이다. To를 두 속도 레벨 사이의 변화 시간이라고 하자. 단순화를 위해, To는 라운드 길이 R의 배수라고 가정한다.Multi-speed discs require a significant amount of time to change speed because they can only change speed in standby. Since data cannot be read from the disk during the change period, the server needs to prefetch data to be consumed during this period. It will be assumed that the speed change is allowed only between two adjacent speed levels. Let T o be the time of change between the two speed levels. For simplicity, assume T o is a multiple of round length R.

2. 에너지 인식 데이터 2. Energy Awareness Data 프리페칭Prefetching

2.1 서로 다른 속도 레벨에서의 2.1 at different speed levels 리소스resource 이용 Use

tr(k)를 속도 레벨 k(k = 1, …, NR)에서 동작하는 디스크의 데이터 전송 속 도(비트/초)라고 하자. 인접하는 데이터 상의 한 번의 검색 동작에 대하여 상수인 검색 시간이 요구되는 전형적인 검색 시간 모델을 사용할 것이다. 검색 시간은 회전 속도와 관계가 없으며, 따라서 검색 시간을 표시하기 위해 상수 Ts가 사용된다는 점에 주목하자. 회전 지연(rotational delay)은 속도 레벨에 따라 변화하므로, 속도 레벨 k에서 디스크의 회전 레이턴시를 표시하기 위해 L(k)이 사용된다. 설명의 편이를 위해, 모든 비디오 스트림은 dr 비트/초의 동일한 디스플레이 속도를 요구한다고 가정할 것이다. 그러나 본 출원에 따른 접근법은, 서로 다른 디스플레이 속도와 동작하도록 쉽게 조정될 수 있다.Let tr (k) be the data transfer rate (bits per second) of a disk operating at speed level k (k = 1, ..., NR). We will use a typical search time model that requires a constant search time for one search operation on adjacent data. Note that the search time is independent of the rotational speed, so that the constant Ts is used to indicate the search time. Since the rotational delay varies with the speed level, L (k) is used to indicate the rotational latency of the disc at speed level k. For ease of explanation, it will be assumed that all video streams require the same display rate of dr bits / second. However, the approach according to the present application can be easily adjusted to work with different display speeds.

비디오의 디스크 대역폭 요구 조건이 속도 레벨 k 및 인가된 고객의 수 NA에 따라 어떻게 달라지는지를 알아보자. 속도 레벨 k에서 동작하고 있는 디스크에 대하여, 비디오 스트림을 한 번 검색하는 것은, Ts + L(k)의 검색 및 회전 지연 오버헤드와

Figure 112007028930654-pat00028
의 판독 시간을 발생시킨다. 결과적으로, 하나의 비디오 스트림을 서비스하는 것은
Figure 112007028930654-pat00029
의 서비스 시간을 증가시킨다. 프리페칭을 위한 부수적인 디스크 대역폭을 무시하면, 속도 레벨 k에서의 디스크 하나에 대한 서비스 타임
Figure 112007028930654-pat00030
은 다음 수학식 5와 같이 표현될 수 있다.Let's see how the disk bandwidth requirements of the video depend on the speed level k and the number of authorized customers NA. For a disc running at speed level k, once retrieving the video stream is equivalent to the retrieval and rotation delay overhead of T s + L (k).
Figure 112007028930654-pat00028
Generates a reading time of. As a result, servicing a single video stream
Figure 112007028930654-pat00029
Increase the service time. Ignoring the additional disk bandwidth for prefetching, service time for one disk at speed level k
Figure 112007028930654-pat00030
May be expressed as Equation 5 below.

Figure 112007028930654-pat00031
Figure 112007028930654-pat00031

디스크 대역폭 이용도(disk bandwidth utilization)는 라운드 길이 R에 대한 전체 서비스 타임의 비로서 정의된다. 서버 내에 ND개의 디스크가 존재한다고 가정하자. 또한, 설명의 편이를 위해, 작업 부하가 디스크들 사이에 균등하게 분배된다고 가정한다. 고객들의 인가를 지연시킴으로써 부하는 쉽게 균형이 잡힐 수 있다. 만약 프리페칭을 무시하면, NA명의 고객에 대한 디스크 대역폭 이용도

Figure 112007028930654-pat00032
는 다음 수학식 6과 같이 계산될 수 있다.Disk bandwidth utilization is defined as the ratio of total service time to round length R. Suppose there are ND disks in the server. In addition, for ease of explanation, it is assumed that the workload is distributed evenly among the disks. By delaying the authorization of customers, the load can be easily balanced. If you ignore prefetching, disk bandwidth utilization for NA customers
Figure 112007028930654-pat00032
May be calculated as in Equation 6 below.

Figure 112007028930654-pat00033
Figure 112007028930654-pat00033

서버가 다른 스트림을 지원할 만큼 충분한 디스크 대역폭을 가지고 있지 못한 경우, 새 고객을 수용하기 위해 속도 레벨이 증가시켜질 수 있다. 반면에, 디스크 대역폭 이용도가 충분히 낮다면, 전력을 절약하기 위해 속도 레벨이 감소시켜질 수 있다. 어느 경우에나, 서버는 속도 변화 기간 동안 소비될 데이터를 프리페치 해야만 한다. 따라서 프리페칭이 허용되는 동안의 라운드의 개수인 프리페칭 윈도우(prefetching window)의 개념을 도입한다. 도 1은 프리페칭 윈도우 동안의 데이터 검색을 나타내는 도면이다. 도 1에 도시된 바와 같이, 만약 pf가 프리페칭 윈도우의 크기라면, 서버는 변화가 실제 시작되기 전에 변화 기간에 해당하는 pf 라운드 동안 소비될 데이터를 프리페칭하기 시작한다. 디스크는 속도 변화 동안 정지(stop) 명령을 판독하므로, 서버는 To초 동안 충분한 데이터를 프리페치 할 필요가 있다. 또한, 지터가 없는 재생을 보장하기 위해 변화 기간 직후의 라운드 동안 소비될 데이터를 프리페치 할 필요도 있다. 그러므로 각각의 비디오 스트림에 대하여 전체 To + R초의 데이터가 프리페치 될 필요가 있다.If the server does not have enough disk bandwidth to support other streams, the speed level can be increased to accommodate new customers. On the other hand, if disk bandwidth utilization is low enough, the speed level can be reduced to save power. In either case, the server must prefetch data to be consumed during the rate change period. Thus we introduce the concept of a prefetching window, which is the number of rounds while prefetching is allowed. 1 is a diagram illustrating data retrieval during a prefetching window. As shown in FIG. 1, if pf is the size of the prefetching window, the server starts prefetching data to be consumed for the pf round corresponding to the change period before the change actually begins. Since the disk reads the stop command during the speed change, the server needs to prefetch enough data for T o seconds. It is also necessary to prefetch data to be consumed during the round immediately after the change period to ensure jitter-free playback. Therefore, the entire T o + R has a second data to be prefetched for each video stream.

To + R초에 대한 충분한 데이터가 프리페치 될 필요가 있으므로, 프리페칭 동작은

Figure 112007028930654-pat00034
의 판독 시간을 발생시킨다. j개의 라운드에 대한 데이터를 판독하는 것은, j번의 검색 및 회전 지연 오버헤드를 발생시킨다.
Figure 112007028930654-pat00035
개의 라운드에 대한 데이터가 프리페치 될 필요가 있으므로, 하나의 스트림을 프리페칭하기 위해 요구되는 서비스 시간
Figure 112007028930654-pat00036
은 다음 수학식 7과 같이 계산될 수 있다.Since enough data for T o + R seconds needs to be prefetched, the prefetching operation
Figure 112007028930654-pat00034
Generates a reading time of. Reading data for j rounds incurs j search and rotation delay overhead.
Figure 112007028930654-pat00035
Service time required to prefetch one stream, because data for three rounds needs to be prefetched
Figure 112007028930654-pat00036
May be calculated as in Equation 7 below.

Figure 112007028930654-pat00037
Figure 112007028930654-pat00037

서버는 프리페칭 윈도우를 통해 데이터를 프리페치하기 때문에, 해당 윈도우들 사이에 프리페칭 동작을 분배할 수 있다. 도 1에서 확인할 수 있는 바와 같이, 스트림 A에 대한 데이터는 i-번째 라운드에서 프리페치 될 수 있고, 스트림 B에 대한 데이터는 (i+1)-번째 라운드에서 프리페치 될 수 있으며, 스트림 C에 대한 데이터는 (i+2)-번째 라운드에서 프리페치 될 수 있다. NA명의 고객에 대한 데이터를 프리페칭 하는데 요구되는 서비스 시간

Figure 112007028930654-pat00038
은, 다음 수학식 8과 같이 계산될 수 있다.Since the server prefetches data through the prefetch window, it can distribute the prefetch operation among the windows. As can be seen in FIG. 1, the data for stream A may be prefetched in the i-th round, the data for stream B may be prefetched in the (i + 1) -th round, and in stream C The data for can be prefetched in the (i + 2) -th round. Service time required to prefetch data for NA customers
Figure 112007028930654-pat00038
May be calculated as in Equation 8.

Figure 112007028930654-pat00039
Figure 112007028930654-pat00039

프리페칭을 위한 디스크 대역폭이 준비될 필요가 있고, ND개의 디스크가 존재하므로, 이제 프리페칭을 고려한 디스크 대역폭 이용도에 대한 다음 수학식 9를 얻을 수 있다.Since disk bandwidth needs to be prepared for prefetching, and there are ND disks, the following equation 9 for disk bandwidth utilization considering prefetching can now be obtained.

Figure 112007028930654-pat00040
Figure 112007028930654-pat00040

이제 비디오 하나에 대한 버퍼 요구조건이, 인가된 고객의 수 NA에 따라 어떻게 달라지는지를 알아보자. 전체 버퍼 크기를 B라고 하자. 더블-버퍼링(double-buffering)이 SCAN 스케줄링을 위해 사용된다. 따라서 프리페칭을 위한 버퍼 요구조건을 무시하면, 버퍼 이용도는 다음 수학식 10과 같이 표시될 수 있다.Now let's see how the buffer requirement for one video depends on the number NA of authorized customers. Let B be the total buffer size. Double-buffering is used for SCAN scheduling. Accordingly, if the buffer requirement for prefetching is ignored, the buffer utilization may be expressed as in Equation 10 below.

Figure 112007028930654-pat00041
Figure 112007028930654-pat00041

속도 레벨의 변화를 준비하기 위해서는, 변화 기간을 책임지기 위해 To x dr의 추가적인 버퍼 공간이 요구되며, 변화 기간 직후의 라운드를 책임지기 위해 R x dr의 추가적인 버퍼 공간이 요구된다. 따라서

Figure 112007028930654-pat00042
을 수학식 10에 추가함으로써, 프리페칭을 고려한 버퍼 이용도
Figure 112007028930654-pat00043
을 다음 수학식 11과 같이 얻을 수 있다.To prepare for a change in speed level, an additional buffer space of T o x dr is required to account for the change period and an additional buffer space of R x dr is required to account for the round immediately after the change period. therefore
Figure 112007028930654-pat00042
Is added to Equation 10, buffer utilization considering prefetching
Figure 112007028930654-pat00043
Can be obtained as in Equation 11 below.

Figure 112007028930654-pat00044
Figure 112007028930654-pat00044

2.2 속도 레벨의 변화2.2 Speed Level Changes

1) 지터가 없는 속도 레벨의 변화1) Change in speed level without jitter

서버 부하가 변화함에 따라 속도 레벨이 변화시켜질 수 있다. 기본적으로, 시스템 부하가 낮은 경우, 아마도 저속 레벨이 선택될 것이다. 반면에, 과부하에 대해서는 고속 레벨이 보다 적합하다. 여기서 어려운 점은, 지터가 없이 언제 속도 레벨을 변화시킬지를 정확히 결정하는 것이다. 본 출원에서는, 디스크 대역폭 이용도에서의 변화에 의해 속도 레벨의 변화가 트리거 되는 임계값-기반 접근법을 사용한다.As the server load changes, the speed level can change. By default, if the system load is low, a low speed level will probably be chosen. On the other hand, high speed levels are more suitable for overload. The difficulty here is determining exactly when to change the speed level without jitter. In this application, we use a threshold-based approach in which a change in speed level is triggered by a change in disk bandwidth utilization.

프리페칭 윈도우 동안 고객의 수가 증가할 수 있다는 것에 주목하자. 이를 반영하기 위해, 서버는 프리페칭 윈도우 동안

Figure 112007028930654-pat00045
명의 추가 고객을 수용하기에 충분한 리소스를 예비한다. 일반적으로, 이 값은 고객 도착의 패턴에 대한 계속적인 측정에 의해 결정된다.Note that the number of customers may increase during the prefetching window. To reflect this, the server will
Figure 112007028930654-pat00045
Reserve enough resources to accommodate two additional customers. In general, this value is determined by a continuous measure of the pattern of customer arrival.

디스크에 대한 현재 선택된 속도 레벨을 CR이라고 하고(CR = 1, …, NR), CA는 현재 인가된 고객의 수라고 하자. 지터가 없는 속도 레벨의 증가를 위해서는,

Figure 112007028930654-pat00046
Figure 112007028930654-pat00047
가 요구된다. 본 출원에 따른 접근법에서는, 서버는
Figure 112007028930654-pat00048
가 1의 임계값을 초과하기 바로 전에 속도 레벨을 증가시킨다. 보다 상세하게는, 만약 사용가능한 디스크 대역폭 이용도가 한 명의 고객에 대한 디스크 대역폭 이용도를 표시하는
Figure 112007028930654-pat00049
보다 작으면, 서버는 속도 레벨을 증가시킨다. 따라서 만약
Figure 112007028930654-pat00050
이고
Figure 112007028930654-pat00051
이면, 속도 레벨이 증가된다. 역으로, 만약
Figure 112007028930654-pat00052
이면, 속도 레벨은 감소된다.Assume the currently selected speed level for the disk is CR (CR = 1, ..., NR), and CA is the number of customers currently authorized. To increase the jitter-free speed level,
Figure 112007028930654-pat00046
Wow
Figure 112007028930654-pat00047
Is required. In the approach according to the present application, the server is
Figure 112007028930654-pat00048
Increase the speed level just before it exceeds the threshold of 1. More specifically, if the available disk bandwidth utilization indicates the disk bandwidth utilization for one customer
Figure 112007028930654-pat00049
If less, the server increases the speed level. So if
Figure 112007028930654-pat00050
ego
Figure 112007028930654-pat00051
If so, the speed level is increased. Conversely, if
Figure 112007028930654-pat00052
If so, the speed level is reduced.

수학식 8로부터, 윈도우 크기 pf를 증가시키는 것은,

Figure 112007028930654-pat00053
의 값을 감소시키고, 프리페칭을 위해 준비되는 디스크 대역폭을 감소시키며, 따라서 디스크들이 저속 모드에서 지속하는 시간의 길이를 연장할 더 많은 기회를 제공한다는 것을 알 수 있다. 그러나 pf의 값이 증가하면, 미래의 pf 라운드에서의 고객의 수를 예측하기가 더 어렵게 된다. 이것은 S1 및 S2와 같은 다음 2가지 원하지 않는 상황을 초래할 수 있다.From Equation 8, increasing the window size pf,
Figure 112007028930654-pat00053
It can be seen that reducing the value of and reducing the disk bandwidth prepared for prefetching, thus providing more opportunities for the disks to extend the length of time they last in slow mode. However, as the value of pf increases, it becomes more difficult to predict the number of customers in future pf rounds. This can lead to the following two undesirable situations such as S1 and S2.

S1:

Figure 112007028930654-pat00054
의 조건임에도 불구하고 속도 레벨이 증가될 수 있다.S1:
Figure 112007028930654-pat00054
The speed level can be increased despite the condition of.

S2:

Figure 112007028930654-pat00055
의 조건임에도 불구하고 속도 레벨이 감소될 수 있다.S2:
Figure 112007028930654-pat00055
The speed level can be reduced despite the condition of.

상황 S1에서, 속도 레벨은 불필요하게 증가되는데, 이것은 디스크 수명에 영향을 미칠 수 있다. 또한, 만약 상황 S2가 발생하면, 속도 레벨에서의 다음번 증가는 지터를 초래할 수 있다. 2가지 상황을 모두 피하기 위해, 이제 고객이 비디오 스트림을 요청하거나 닫는 경우에 적용되는 속도 변화 알고리즘을 구체적으로 설명할 것이다.In situation S1, the speed level is unnecessarily increased, which may affect the disk life. Also, if situation S2 occurs, the next increase in speed level can result in jitter. To avoid both situations, we will now specifically describe the rate change algorithm applied when a customer requests or closes a video stream.

2) 고객이 비디오 스트림을 요청하는 경우2) If customer requests video stream

이 경우에, 서버는 새 고객을 수용하기 위해 속도 레벨을 증가시킬 필요가 있다. 만약 CR < NR이고 프리페칭이 준비 중이지 않다면, 서버는 속도 레벨이 증가시켜질 수 있는지를 결정할 필요가 있다. 이를 위해, 서버는

Figure 112007028930654-pat00056
이고
Figure 112007028930654-pat00057
인지를 체크한다. 만약 이 조건이 만족되면, 버퍼 조건
Figure 112007028930654-pat00058
을 체크한다. 만약 이 조건 또한 만족되면, 서버는 새 고객을 인가하고 라운드
Figure 112007028930654-pat00059
Figure 112007028930654-pat00060
사이에 검색될 데이터를 프리페칭 하기 시작한다(여기서 ro는 현재의 라운드이다). 그렇지 않으면, 프리페칭이 지터를 발생시킬 수 있기 때문에 속도 레벨은 증가될 수 없다.In this case, the server needs to increase the speed level to accommodate new customers. If CR <NR and prefetching is not ready, the server needs to determine if the speed level can be increased. For this purpose, the server
Figure 112007028930654-pat00056
ego
Figure 112007028930654-pat00057
Check for acknowledgment. If this condition is met, the buffer condition
Figure 112007028930654-pat00058
Check If this condition is also satisfied, the server authorizes the new customer and rounds
Figure 112007028930654-pat00059
Wow
Figure 112007028930654-pat00060
Start prefetching the data to be retrieved between (where ro is the current round). Otherwise, the speed level cannot be increased because prefetching can cause jitter.

상황 S1을 방지하기 위해, 서버는 프리페칭 이후의 고객들 수에서의 변화를 나타내는 파라미터 Q를 유지한다. 프리페칭이 시작되는 경우 이 값은 0으로 설정된다. 만약 프리페칭이 준비 중이고 새 고객이 비디오 스트림을 요청한다면, 서버는 Q의 값을 증가시킨다.

Figure 112007028930654-pat00061
이면, 서버가
Figure 112007028930654-pat00062
명까지의 고객에 대한 추가적인 리소스를 예비하였기 때문에 서버는 새 고객을 받아들인다. 그렇지 않으면, 속도 변화가 완료될 때까지 서버는 고객의 인가를 지연시킨다. 고객의 수는 프리페칭 후에 감소될 수도 있다는 점에 주목하자. 이 경우에, 프리페칭을 하는 것은 상황 S1을 초래할 수 있기 때문에 서버는 프리페칭을 취소시킬 필요가 있다. 따라서
Figure 112007028930654-pat00063
이면, 서버는 프리페칭을 취소하고 모든 프리페치 된 데이터를 버린다.To prevent the situation S1, the server maintains a parameter Q indicating a change in the number of customers after prefetching. This value is set to zero when prefetching is started. If prefetching is being prepared and a new customer requests a video stream, the server increases the value of Q.
Figure 112007028930654-pat00061
If the server
Figure 112007028930654-pat00062
The server accepts new customers because it has reserved additional resources for up to three customers. Otherwise, the server delays the authorization of the customer until the speed change is complete. Note that the number of customers may decrease after prefetching. In this case, the server needs to cancel the prefetching because prefetching may result in situation S1. therefore
Figure 112007028930654-pat00063
If so, the server cancels prefetching and discards all prefetched data.

만약

Figure 112007028930654-pat00064
이면, 서버는 현재의 속도 레벨을 유지한다. 만약 프리페칭을 위한 충분한 버퍼 공간이 없다면(
Figure 112007028930654-pat00065
), 속도 레벨을 증가시키는 것은 지터를 발생시킬 수 있기 때문에 서버는 속도 레벨을 증가시키려는 시도를 그만둔다. 만약 CR = NR이면, 서버는 속도 레벨을 증가시킬 수 없는 동일한 위치에 있다. 이들 경우에, 속도 변화가 없을 것이기 때문에 서버는 프리페칭을 무시하는 다른 인가 조건을 적용한다. 이 조건은
Figure 112007028930654-pat00066
이다. 만약 이 조건이 위반되면, 새 고객은 거절된다. 그렇지 않으면, 서버는 버퍼 제약조건
Figure 112007028930654-pat00067
을 체크한다. 만약 이 조건이 만족되면, 새 고객이 인가된다. 그렇지 않으면, 새 고객은 거절된다.if
Figure 112007028930654-pat00064
If so, the server maintains the current speed level. If there is not enough buffer space for prefetching (
Figure 112007028930654-pat00065
Increasing the speed level can cause jitter, so the server stops trying to increase the speed level. If CR = NR, the server is in the same position that cannot increase the speed level. In these cases, since there will be no speed change, the server applies another authorization condition that ignores prefetching. This condition
Figure 112007028930654-pat00066
to be. If this condition is violated, the new customer will be rejected. Otherwise, the server will issue a buffer constraint
Figure 112007028930654-pat00067
Check If this condition is met, the new customer is authorized. Otherwise, the new customer is rejected.

3) 고객이 비디오 스트림을 닫는 경우3) If the customer closes the video stream

이 경우에, 서버는 속도 레벨을 감소시켜 에너지를 절약시킬 수 있다. 이를 위해, 서버는

Figure 112007028930654-pat00068
인지를 체크한다. 만약 이 조건이 만족되면, 서버는
Figure 112007028930654-pat00069
인지를 체크한다. 만약 이 조건 또한 만족되면, 속도 레벨에서의 감소가 레벨의 다음번 증가에서 지터를 발생시키지 않을 것이며, 따라서 감소가 허가된다. 그렇지 않으면, 현재 속도 레벨이 유지된다. 허가된 고객들의 수가 프리페칭 후에 증가될 수 있다는 점에 주목하자. 이 경우에, 프리페칭은 상황 S2를 초래할 수 있기 때문에, 서버는 프리페칭을 취소할 필요가 있다.In this case, the server can save energy by reducing the speed level. For this purpose, the server
Figure 112007028930654-pat00068
Check for acknowledgment. If this condition is met, the server
Figure 112007028930654-pat00069
Check for acknowledgment. If this condition is also satisfied, a decrease in the speed level will not cause jitter at the next increase in the level, so a decrease is permitted. Otherwise, the current speed level is maintained. Note that the number of authorized customers can be increased after prefetching. In this case, since prefetching can result in situation S2, the server needs to cancel the prefetching.

3. 실험 결과3. Experimental Results

3.1 실험 조건 설정(3.1 Set up experimental conditions ExperimentalExperimentalal SetupSetup ))

제안된 방법의 유효성을 평가하기 위해, 61.4 MB/s의 최대 데이터 전송 속도와 11.2 ms의 전형적인 검색 시간을 갖는 6개의 디스크로 구성되며, 버퍼의 크기가 2GB인 서버를 시뮬레이션 하였다. 28800과 72000 RPM(Rotation Per Minute) 사이의 5개까지의 속도 레벨을 고려하였다. 선형적 모델을 사용하여 Pi(k)를 계산하였다. Ph와 Pg는 3.3 W인 것으로 가정된다. 각각의 디스크의 세부 파라미터들은 다음 표 1과 같다.To evaluate the effectiveness of the proposed method, we simulated a server with six disks with a maximum data transfer rate of 61.4 MB / s and a typical search time of 11.2 ms. Up to five speed levels between 28800 and 72000 RPM (Rotation Per Minute) were considered. P i (k) was calculated using a linear model. P h and P g are assumed to be 3.3 W. Detailed parameters of each disk are shown in Table 1 below.

회전 속도(RPM)Rotational Speed (RPM) 2880028800 3960039600 5040050400 6120061200 7200072000 전송 속도(MB/s)Baud rate (MB / s) 24.5624.56 33.7733.77 42.9842.98 52.1952.19 61.461.4 회전 지연(ms)Rotation delay (ms) 55 3.63.6 2.862.86 2.352.35 22 아이들 전력(W)Idle power (W) 4.084.08 5.615.61 7.147.14 8.678.67 10.210.2 활성/검색 전력(W)Active / Search Power (W) 7.387.38 8.918.91 10.4110.41 11.9711.97 13.513.5

고객 요청의 도착은 푸아송 분포(Poisson distribution)를 따르는 것으로 가정한다. 또한, 모든 비디오는 90분 길이이며, MPEG 1 재생에서 전형적인 1.5 Mbps의 동일한 비트-속도를 가진다고 가정한다. 라운드 길이는 3.5초이다. 속도 변화 시간은 7초이며, 변화 에너지는 152J이다. 액세스 확률은

Figure 112007028930654-pat00070
인 Zipf 분포를 따른다.The arrival of the customer request is assumed to follow the Poisson distribution. In addition, it is assumed that all video is 90 minutes long and has the same bit-rate of 1.5 Mbps typical for MPEG 1 playback. The round length is 3.5 seconds. The speed change time is 7 seconds and the change energy is 152J. Access probability
Figure 112007028930654-pat00070
Follow the Zipf distribution.

서버 부하는 일반적으로 일주 사이클(diurnal cycle)을 따른다. 이것을 허용하기 위해, 20시간 이상 동안 에너지 소비를 조사하였으며, 시간 기준으로 요청이 도달하는 속도를 다음과 같이 변화시켰다. 즉, 내부-도착 시간(inter-arrival time)은 처음 10시간 동안은

Figure 112007028930654-pat00071
초로부터
Figure 112007028930654-pat00072
초까지 변하며, 다음 10시간 동안은
Figure 112007028930654-pat00073
초로부터
Figure 112007028930654-pat00074
초까지 변하는데, 여기서
Figure 112007028930654-pat00075
초의 내부-도착 시간은 피크 부하에서의 한 시간에 해당한다.Server load generally follows a diurnal cycle. To allow this, the energy consumption was examined for more than 20 hours, and the rate at which requests reached on an hourly basis was changed as follows. That is, the inter-arrival time is the first 10 hours
Figure 112007028930654-pat00071
From the beginning
Figure 112007028930654-pat00072
Changes to seconds, and for the next 10 hours
Figure 112007028930654-pat00073
From the beginning
Figure 112007028930654-pat00074
Changes to seconds, where
Figure 112007028930654-pat00075
The inner-arrival time of seconds corresponds to one hour at peak load.

3.2 속도 설정의 효과(3.2 Effect of Speed Setting EffectsEffects ofof SpeedSpeed SetsSets ))

먼저, 에너지 소비가 사용가능한 속도의 개수에 따라 얼마나 달라지는지를 조사하였다. 그 값이 R1=72000, R2=28800, 72000, R3=28800, 50400, 72000, R5=28800, 39600, 50400, 61200, 72000로서, 서로 다른 속도 집합을 갖는 4개의 디스크들을 고려하였다. pf의 값은 15초 인 것으로 가정된다. 도 2는 (

Figure 112007028930654-pat00076
,
Figure 112007028930654-pat00077
)의 서로 다른 값에 대하여, R1과 비교한 에너지 소비를 나타내는 도면이다. 단지 하나의 속도만을 갖는 R1은 항상 가장 나쁜 성능을 보인다. 따라서 예컨대, R5는 12%와 45% 사이만큼, R3은 10%와 42% 사이만큼, R2는 3%와 37% 사이만큼 R1보다 적은 에너지를 소비한다. 이용도가 상대적으로 낮은 경우(예컨대,
Figure 112007028930654-pat00078
=11,
Figure 112007028930654-pat00079
=20), 속도 집합들 사이의 성능 차이는 증가한다. 모든 집합은 72000 RPM이라는 동일한 최대 속도를 지원하기 때문에 허용될 수 있는 고객들의 수가 각각의 경우에 동일하다는 점에 주목하자. 이들 결과는 멀티-스피드 디스크가 비디오 서버 작업부하 하에서 상당한 에너지 절약을 제공한다는 것을 알려준다. 또한, 도 2는 속도의 개수를 증가시키는 것이 에너지 소비를 감소시킨다는 것을 도시한다. 이것은, 사용가능한 보다 많은 속도를 가짐으로써 서버가 저속을 이용할 보다 많은 기회를 가질 수 있기 때문이다.First, we examined how energy consumption varies with the number of available speeds. The values were R1 = 72000, R2 = 28800, 72000, R3 = 28800, 50400, 72000, R5 = 28800, 39600, 50400, 61200, 72000. Four disks with different speed sets were considered. The value of pf is assumed to be 15 seconds. 2 is (
Figure 112007028930654-pat00076
,
Figure 112007028930654-pat00077
It is a figure which shows the energy consumption compared with R1 about the different value of (). R1 with only one speed always shows the worst performance. Thus, for example, R5 consumes less energy than R1 by between 12% and 45%, R3 by between 10% and 42%, and R2 by between 3% and 37%. Relatively low utilization (e.g.,
Figure 112007028930654-pat00078
= 11,
Figure 112007028930654-pat00079
20), the performance difference between the speed sets increases. Note that all sets support the same maximum speed of 72000 RPM, so the number of customers that can be allowed is the same in each case. These results indicate that multi-speed discs provide significant energy savings under video server workloads. 2 also shows that increasing the number of speeds reduces energy consumption. This is because having more speed available allows the server to have more opportunities to take advantage of the lower speed.

3.3 3.3 프리페칭Prefetching 윈도우window 크기의 효과 Effect of size

속도 집합 R5를 사용할 경우, 프리페칭 윈도우 크기가 전력 소비에 얼마나 영향을 미치는지를 조사하였다. 도 3은 (

Figure 112007028930654-pat00080
,
Figure 112007028930654-pat00081
)의 서로 다른 값에 대하여, pf=2인 경우와 비교한 에너지 소비를 나타내는 도면이다. 도 3으로부터, 프리페칭 윈도우 크기가 클수록 에너지 소비를 감소시킨다는 것을 알 수 있다. 예를 들어, 만약 pf=14이면, 디스크는 pf=2 경우보다 9%와 36% 사이만큼 작은 에너지를 사용한다. 이것은 다음과 같이 설명될 수 있다. pf를 증가시키는 것은, 지터가 없는 속도 증가를 위한 디스크 대역폭 요구조건을 완화시켜 주며, 따라서 pf의 높은 값에 대해 변하지 않고 유지되어야 할 조건에서 pf가 낮은 경우 속도 레벨이 증가될 수 있기 때문이다. 본 발명에서 제안된 방법은, 프리페칭을 취소시킴으로써 윈도우 크기가 증가하면 발생할 수 있는 상황 S1 및 S2를 해결하는데, 이것은 윈도우 크기를 증가시킬 수 있는 보다 많은 기회를 제공한다.When using velocity set R5, we investigated how the prefetching window size affects power consumption. 3 is (
Figure 112007028930654-pat00080
,
Figure 112007028930654-pat00081
It is a figure which shows energy consumption compared with the case where pf = 2 with respect to the different value of (). It can be seen from FIG. 3 that the larger the prefetching window size, the lower the energy consumption. For example, if pf = 14, the disk uses less energy between 9% and 36% than pf = 2. This can be explained as follows. Increasing pf relaxes the disk bandwidth requirement for jitter-free speed growth, so the speed level can be increased if pf is low under conditions that must remain unchanged for high values of pf. The method proposed in the present invention addresses situations Si and S2 that may occur if the window size increases by canceling prefetching, which provides more opportunities to increase the window size.

또한, 도 3으로부터, pf가 증가함으로써 2개의 인접한 윈도우 크기들 사이의 에너지 소비에서의 차이가 점점 작아지는 것을 관찰할 수 있다. 예를 들어, pf=12와 pf=14 사이의 차이는 0.02%와 1% 사이인 것에 비하여, pf=2와 pf=4 사이의 차이는 2%와 22% 사이이다. 수학식 8로부터, pf와 pf+1 사이의 2개의 인접한 윈도우 크기들의 서비스 시간에서의 차이를

Figure 112007028930654-pat00082
와 같이 계산할 수 있는데, 이 값은 pf가 증가함에 따라 감소한다. 결과적으로, 프리페칭을 위해 요구되는 서비스 시간에서의 차이가 감소되어, 도 3에 도시된 것과 같은 결과를 초래한다. pf를 증가시키는 것이 항상 에너지 소비를 줄이는 것은 아니라는 점에 주목할 만하다. 예를 들어,
Figure 112007028930654-pat00083
=2이고
Figure 112007028930654-pat00084
=20인 경우, pf=50으로 설정하는 것은 pf=14보다 2% 저하된 성능을 보인다. 이것은 중단된 프리페칭 동작상에 작용된 전력 때문이다. 만약 pf>14이면, 에너지 소비에서의 차이가 2%보다 적다는 것을 관찰할 수 있다. 이것은 윈도우 크기를 최대한 증가시키는 것 대신에, 타당한 값의 일부 범위가 주어져야만 한다는 것을 의미한다.In addition, it can be observed from FIG. 3 that as the pf increases, the difference in energy consumption between two adjacent window sizes becomes smaller. For example, the difference between pf = 12 and pf = 14 is between 0.02% and 1%, while the difference between pf = 2 and pf = 4 is between 2% and 22%. From Equation 8, the difference in service time of two adjacent window sizes between pf and pf + 1
Figure 112007028930654-pat00082
It can be calculated as: This value decreases as pf increases. As a result, the difference in service time required for prefetching is reduced, resulting in a result as shown in FIG. It is noteworthy that increasing pf does not always reduce energy consumption. E.g,
Figure 112007028930654-pat00083
= 2
Figure 112007028930654-pat00084
In the case of = 20, setting pf = 50 is 2% lower than pf = 14. This is due to the power applied to the interrupted prefetching operation. If pf> 14, it can be observed that the difference in energy consumption is less than 2%. This means that instead of increasing the window size as much as possible, some range of valid values must be given.

이상 설명한 본 발명은 본 발명이 속한 기술분야에서 통상의 지식을 가진 자에 의하여 다양한 변형이나 응용이 가능하며, 본 발명에 따른 기술적 사상의 범위는 아래의 특허청구범위에 의하여 정해져야 할 것이다.The present invention described above may be variously modified or applied by those skilled in the art, and the scope of the technical idea according to the present invention should be defined by the following claims.

본 발명의 비디오 서버 관리 방법에 따르면, 디스크들이 저속으로 지속하는 시간의 길이를 연장시키는 새로운 데이터 프리페칭 스킴을 이용함으로써 멀티-스피드 디스크를 포함하는 비디오 서버에서 지터 없이 효과적으로 전력을 감소시킬 수 있다.According to the video server management method of the present invention, it is possible to effectively reduce power without jitter in a video server including a multi-speed disc by using a new data prefetching scheme that extends the length of time that the discs sustain at low speed.

Claims (3)

ND개의 디스크로 구성되며, 각각의 디스크는 NR개의 속도 레벨(속도 레벨 k에서의 회전 속도를 R(k)라고 나타낼 경우, R(1) < … < R(NR)이라고 가정함)을 가지며, 속도 레벨 사이의 변화 시간이 To인 멀티-스피드 디스크(multi-speed disk)이며, 작업 부하가 각각의 디스크들 사이에 균등하게 분배되는 비디오 서버에서,ND disks, each disk having NR speed levels (assuming that the rotational speed at speed level k is R (k), R (1) <… <R (NR)), In a video server where the change time between speed levels is T o and the workload is distributed evenly among the disks, 속도 레벨의 변화 기간 동안 사용될 데이터에 대한 프리페칭(prefetching)이 사용되고, 프리페칭이 허용되는 동안의 라운드의 개수인 프리페칭 윈도우의 크기는 pf이며, 프리페칭 동안 서버가 추가로 수용할 수 있는 고객의 수는
Figure 112007094838047-pat00085
이고, 프리페칭 이후의 고객들 수에서의 변화를 나타내는 파라미터는 Q이며(프리페칭이 시작되는 경우 Q가 0으로 설정됨),
Prefetching for data to be used during periods of speed level change, the number of rounds during which prefetching is allowed, the size of the prefetching window is pf, and the server can accommodate additional customers during prefetching The number of
Figure 112007094838047-pat00085
, The parameter representing the change in the number of customers after prefetching is Q (Q is set to 0 when prefetching starts),
디스크 헤드가 디스크의 표면을 따라 앞뒤로 스캔하며, 헤드가 고객에 의해 요청되는 블록을 지나갈 때 해당 블록이 검색되는 SCAN 스케줄링이 사용되며,The disk head scans back and forth along the surface of the disk, and SCAN scheduling is used where the block is retrieved when the head passes a block requested by the customer. 시간이 라운드(rounds)라고 지칭되는 동일한 크기의 주기들로 분할되고, 각각의 인가된 고객은 각각의 라운드에서 한 번씩 서비스를 받게 되는 라운드-기반 스케줄링(round-based scheduling)이 사용되며, 각각의 라운드의 길이는 R이며,Round-based scheduling is used, where time is divided into equal-sized periods called rounds, each authorized customer being served once in each round, and each The length of the round is R, 모든 비디오 스트림이 요구하는 디스플레이 속도는 dr(비트/초)이고, 각각의 디스크들에 대한 디스크 검색 시간(disk seek time)은 Ts이며, 버퍼 크기는 B이고,The display speed required by all video streams is dr (bits / sec), the disk seek time for each disk is T s , the buffer size is B, 속도 레벨 k에서 동작하는 디스크의 데이터 전송 속도(transfer rate)는 tr(k)이고, 회전 레이턴시는 L(k)이며,The data transfer rate of a disk operating at speed level k is tr (k), the rotational latency is L (k), 프리페칭이 없다고 가정하는 경우에, 속도 레벨이 k이고, 고객의 수가 NA명일 경우의 디스크 대역폭 이용도 DUno(NA,k) 및 버퍼 이용도 BUno(NA)는 각각 다음 수학식 1 및 2와 같이 주어지고,Assuming no prefetching, the disk bandwidth utilization DU no (NA, k) and buffer utilization BU no (NA) when the speed level is k and the number of customers is NA names are represented by the following equations 1 and 2, respectively. Given by <수학식 1><Equation 1>
Figure 112007094838047-pat00086
Figure 112007094838047-pat00086
(여기서, STno(NA,k)는 프리페칭을 위한 부수적인 대역폭을 무시하는 경우에 있어서, 속도 레벨이 k이고, 고객의 수가 NA명일 경우의 디스크 하나에 대한 서비스 타임으로서,
Figure 112007094838047-pat00087
로서 주어짐)
(Where ST no (NA, k) is the service time for one disk when the speed level is k and the number of customers is NA in case of ignoring the additional bandwidth for prefetching,
Figure 112007094838047-pat00087
Given as
<수학식 2><Equation 2>
Figure 112007094838047-pat00088
Figure 112007094838047-pat00088
프리페칭이 있다고 가정하는 경우에, 속도 레벨이 k이고, 고객의 수가 NA명일 경우의 디스크 대역폭 이용도 DUpr(NA,k) 및 버퍼 이용도 BUpr(NA)는 각각 다음 수학식 3 및 4와 같이 주어지는 경우,Assuming prefetching, the disk bandwidth utilization DU pr (NA, k) and buffer utilization BU pr (NA) when the speed level is k and the number of customers is NA names are given by the following equations (3) and (4), respectively. Is given by <수학식 3><Equation 3>
Figure 112007094838047-pat00089
Figure 112007094838047-pat00089
(여기서, STpr(NA,k)는 프리페칭을 위한 부수적인 대역폭을 고려하는 경우에 있어서, 속도 레벨이 k이고, 고객의 수가 NA명일 경우의 디스크 하나에 대한 서비스 타임으로서,
Figure 112007094838047-pat00090
로서 주어지며, 여기서 SFpr(k)는 속도 레벨 k에서 비디오 스트림 하나를 프리페칭하기 위해 요구되는 서비스 시간으로서,
Figure 112007094838047-pat00091
로서 주어짐)
(Where ST pr (NA, k) is the service time for one disk when the speed level is k and the number of customers is NA in case of considering the additional bandwidth for prefetching,
Figure 112007094838047-pat00090
Where SF pr (k) is the service time required to prefetch one video stream at rate level k,
Figure 112007094838047-pat00091
Given as
<수학식 4><Equation 4>
Figure 112007094838047-pat00092
Figure 112007094838047-pat00092
상기 비디오 서버를 관리하는 방법으로서,A method of managing the video server, (1) 고객이 비디오 스트림을 요청하는 경우, 현재 선택된 속도 레벨(CR)을 선택 가능한 최대 속도 레벨(NR)과 비교하는 단계;(1) when the customer requests a video stream, comparing the currently selected speed level CR with a selectable maximum speed level NR; (2) 상기 단계 (1)의 비교 결과, CR = NR인 경우, 현재 선택된 속도 레벨 CR 및 현재 인가된 고객의 수 CA에 대하여,
Figure 112007094838047-pat00093
(조건 1) 및
Figure 112007094838047-pat00094
(조건 2)를 만족하는지 확인하여, 상기 조건 1 및 2를 동시에 만족하는 경우 상기 고객을 인가하고, 만족하지 못하는 경우 상기 고객을 거절하는 단계;
(2) As a result of the comparison of step (1), when CR = NR, for the currently selected speed level CR and the number of currently authorized customers CA,
Figure 112007094838047-pat00093
(Condition 1) and
Figure 112007094838047-pat00094
Confirming whether (condition 2) is satisfied and approving the customer if the conditions 1 and 2 are satisfied at the same time, and rejecting the customer if the condition is not satisfied;
(3) 상기 단계 (1)의 비교 결과, CR < NR인 경우, 프리페칭이 현재 진행되고 있는지 여부를 확인하는 단계;(3) confirming whether prefetching is currently in progress when CR <NR as a result of the comparison in step (1); (4) 상기 단계 (3)의 확인 결과, 프리페칭이 현재 진행되고 있지 않은 경우, 현재 선택된 속도 레벨 CR 및 현재 인가된 고객의 수 CA에 대하여,
Figure 112007094838047-pat00095
(조건 3),
Figure 112007094838047-pat00096
(조건 4) 및
Figure 112007094838047-pat00097
(조건 5)를 만족하는지 확인하는 단계;
(4) As a result of the checking in step (3), if prefetching is not currently in progress, for the currently selected speed level CR and the number of currently authorized customers CA,
Figure 112007094838047-pat00095
(Condition 3),
Figure 112007094838047-pat00096
(Condition 4) and
Figure 112007094838047-pat00097
Checking whether (condition 5) is satisfied;
(5) 상기 단계 (4)의 확인 결과, 상기 조건 3 내지 5를 동시에 만족하는 경우, 상기 고객을 인가하고,
Figure 112007094838047-pat00098
~
Figure 112007094838047-pat00099
(여기서, ro는 현재 라운드임) 범위의 데이터에 대하여 속도 레벨 증가를 위한 프리페칭을 시작하며, Q를 0으로 설정하는 단계;
(5) If the check result of step (4) indicates that the conditions 3 to 5 are satisfied at the same time, the customer is authorized,
Figure 112007094838047-pat00098
To
Figure 112007094838047-pat00099
Starting prefetching for speed level increase over data in the range, where ro is the current round, setting Q to 0;
(6) 상기 단계 (4)의 확인 결과, 만족하지 못하는 경우, 속도 레벨을 유지하며, 동시에 현재 선택된 속도 레벨 CR 및 현재 인가된 고객의 수 CA에 대하여,
Figure 112007094838047-pat00100
(조건 1) 및
Figure 112007094838047-pat00101
(조건 2)를 만족하는지 확인하여, 상기 조건 1 및 2를 동시에 만족하는 경우 상기 고객을 인가하고, 만족하지 못하는 경우 상기 고객을 거절하는 단계; 및
(6) If the result of the check in step (4) is not satisfied, the speed level is maintained, and at the same time, for the currently selected speed level CR and the number of currently authorized customers CA,
Figure 112007094838047-pat00100
(Condition 1) and
Figure 112007094838047-pat00101
Confirming whether (condition 2) is satisfied and approving the customer if the conditions 1 and 2 are satisfied at the same time, and rejecting the customer if the condition is not satisfied; And
(7) 상기 단계 (3)의 확인 결과, 프리페칭이 현재 진행되고 있는 경우, Q의 값을 1만큼 증가시킨 후,
Figure 112007094838047-pat00102
이면 상기 고객을 인가하고, 아니면 속도 변화 완료시까지 상기 고객의 인가를 지연하는 단계
(7) As a result of confirming the above step (3), if prefetching is currently in progress, after increasing the value of Q by 1,
Figure 112007094838047-pat00102
If the customer is authorized, or delaying the approval of the customer until the speed change is completed.
를 포함하는 방법.How to include.
제1항에 있어서,The method of claim 1, (8) 고객이 비디오 스트림을 닫는 경우, 프리페칭이 현재 진행되고 있는지 여부를 확인하는 단계;(8) if the customer closes the video stream, checking whether prefetching is currently in progress; (9) 상기 단계 (8)의 확인 결과, 프리페칭이 현재 진행되고 있지 않은 경우, 현재 선택된 속도 레벨 CR 및 현재 인가된 고객의 수 CA에 대하여,
Figure 112007028930654-pat00103
(조건 6) 및
Figure 112007028930654-pat00104
(조건 5)를 만족하는지 확인하는 단계;
(9) As a result of the checking in step (8), if prefetching is not currently in progress, for the currently selected speed level CR and the number of currently authorized customers CA,
Figure 112007028930654-pat00103
(Condition 6) and
Figure 112007028930654-pat00104
Checking whether (condition 5) is satisfied;
(10) 상기 단계 (9)의 확인 결과, 상기 조건 5 및 6을 동시에 만족하는 경우,
Figure 112007028930654-pat00105
~
Figure 112007028930654-pat00106
(여기서, ro는 현재 라운드임) 범위의 데이터에 대하여 속도 레벨 감소를 위한 프리페칭을 시작하며, Q를 0으로 설정하는 단계;
(10) when the result of checking (9) above satisfies the conditions 5 and 6 simultaneously,
Figure 112007028930654-pat00105
To
Figure 112007028930654-pat00106
Starting prefetching for speed level reduction for data in the range (where ro is the current round), setting Q to 0;
(11) 상기 단계 (9)의 확인 결과, 만족하지 못하는 경우, 속도 레벨을 유지하는 단계; 및(11) maintaining the speed level if it is not satisfied as a result of the checking in step (9); And (12) 상기 단계 (8)의 확인 결과, 프리페칭이 현재 진행되고 있는 경우, Q의 값을 1만큼 감소시킨 후,
Figure 112007028930654-pat00107
이면 프리페칭을 취소하는 단계
(12) As a result of confirming the above step (8), if prefetching is currently in progress, after decreasing the value of Q by 1,
Figure 112007028930654-pat00107
Step to cancel prefetching
를 더 포함하는 방법.How to include more.
제1항 또는 제2항에 있어서,The method according to claim 1 or 2, 각각의 비디오 스트림이 요구하는 디스플레이 속도 dr(비트/초)이 상수가 아닌 방법.The display speed dr (bits / sec) required by each video stream is not a constant.
KR1020070037089A 2007-04-16 2007-04-16 A method for managing a video server including multi-speed disks KR100806627B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070037089A KR100806627B1 (en) 2007-04-16 2007-04-16 A method for managing a video server including multi-speed disks

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070037089A KR100806627B1 (en) 2007-04-16 2007-04-16 A method for managing a video server including multi-speed disks

Publications (1)

Publication Number Publication Date
KR100806627B1 true KR100806627B1 (en) 2008-02-26

Family

ID=39383073

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070037089A KR100806627B1 (en) 2007-04-16 2007-04-16 A method for managing a video server including multi-speed disks

Country Status (1)

Country Link
KR (1) KR100806627B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040054978A (en) * 2002-12-20 2004-06-26 삼성에스디에스 주식회사 Prefetch scheduling method of streaming server and system thereof
KR20040103971A (en) * 2002-04-19 2004-12-09 코닌클리케 필립스 일렉트로닉스 엔.브이. Output rate change
KR20060014408A (en) * 2003-05-19 2006-02-15 코닌클리케 필립스 일렉트로닉스 엔.브이. Method for setting data carrier speed in a data carrier drive apparatus

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040103971A (en) * 2002-04-19 2004-12-09 코닌클리케 필립스 일렉트로닉스 엔.브이. Output rate change
KR20040054978A (en) * 2002-12-20 2004-06-26 삼성에스디에스 주식회사 Prefetch scheduling method of streaming server and system thereof
KR20060014408A (en) * 2003-05-19 2006-02-15 코닌클리케 필립스 일렉트로닉스 엔.브이. Method for setting data carrier speed in a data carrier drive apparatus

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Energy-aware data prefetching for multi-speed disks in video servers(Proceedings of the 15th international conference on Multimedia, 2007.9)
Energy-Aware Data Prefetching for Multi-Speed Disks(Proceedings of the 3rd conference on Computing frontiers,2006)
VOD 서버의 초기 대기시간 최소화와 성능 향상을 위한 동적 스트림 합병 기법(한국컴퓨터산업교육학회 논문지 2002.05. vol.3)
고신뢰 비디오 서버를 위한 디스크 대역폭과 버퍼의 효율적인 관리(송민석 서울대학교 박사학위 논문)

Similar Documents

Publication Publication Date Title
EP1605455B1 (en) RAID with high power and low power disk drives
US7543108B2 (en) Storage system and storage control method achieving both power saving and good performance
TWI390444B (en) Processing device with main and auxiliary processors
Pinheiro et al. Energy conservation techniques for disk array-based servers
Douglis et al. Adaptive disk spin-down policies for mobile computers
JP4342435B2 (en) Method for processing data of at least one data stream, data storage system and method of using the system
US8072704B1 (en) Energy-saving operation of a storage device
US10942503B2 (en) Mobile data storage device with predicted temperature management via command time delay
US20080307130A1 (en) Methods and apparatuses for processing I/O requests of data storage devices
US8627124B2 (en) Techniques for performing storage power management
KR100806627B1 (en) A method for managing a video server including multi-speed disks
KR101063837B1 (en) Disk Management Method for Reducing Energy Consumption in Multi-Speed Disk Array-based Video Servers
Kim et al. Saving energy in video servers by the use of multispeed disks
KR100866833B1 (en) A method for energy-aware interval caching for disk-array-based video server
WO2007085978A2 (en) A method of controlling a page cache memory in real time stream and best effort applications
Song Dynamic buffer allocation for conserving disk energy in clustered video servers which use replication
Choi et al. Playback of multimedia data in low-power mobile drive
Won et al. Adaptive cycle management in soft real-time disk retrieval
Jayarekha et al. A fast start-up and scalable algorithm for continuous media servers
JP2002259061A (en) System and method for rearranging data, and data- rearranging program

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130218

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20131217

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20141204

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee