KR102010692B1 - A transcoding throughput maximization method that limits power consumption - Google Patents

A transcoding throughput maximization method that limits power consumption Download PDF

Info

Publication number
KR102010692B1
KR102010692B1 KR1020180016081A KR20180016081A KR102010692B1 KR 102010692 B1 KR102010692 B1 KR 102010692B1 KR 1020180016081 A KR1020180016081 A KR 1020180016081A KR 20180016081 A KR20180016081 A KR 20180016081A KR 102010692 B1 KR102010692 B1 KR 102010692B1
Authority
KR
South Korea
Prior art keywords
transcoding
cpu
frequency
throughput
cpus
Prior art date
Application number
KR1020180016081A
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 KR1020180016081A priority Critical patent/KR102010692B1/en
Application granted granted Critical
Publication of KR102010692B1 publication Critical patent/KR102010692B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234309Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4 or from Quicktime to Realvideo
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/23439Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4436Power management, e.g. shutting down unused components of the receiver

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Power Sources (AREA)

Abstract

According to one embodiment of the present invention, a method for processing transcoding performed in a transcoding server comprises the following steps: modeling the transcoding throughput of one or more CPUs composed of different types based on requests of transcoding; selecting frequency levels of each of the CPUs in the energy limitation from the modeled transcoding throughput as the energy limitation is inputted; and consuming transcoding power as the transcoding request is processed based on the selected frequency levels of each of the CPUs.

Description

트랜스코딩 서버의 소모 전력을 제한하면서 트랜스코딩 처리율을 최대화하는 방법{A TRANSCODING THROUGHPUT MAXIMIZATION METHOD THAT LIMITS POWER CONSUMPTION}How to maximize transcoding throughput while limiting the power of the transcoding server {A TRANSCODING THROUGHPUT MAXIMIZATION METHOD THAT LIMITS POWER CONSUMPTION}

아래의 설명은 트랜스코딩 서버의 소모 전력을 제한하면서 트랜스코딩 처리율을 최대화하는 기술에 관한 것이다.
The description below relates to a technique for maximizing the transcoding throughput while limiting the power consumption of the transcoding server.

최근 멀티미디어 및 네트워크 기술의 발전으로 동적 적응 스트리밍(Dynamically Adaptive Streaming) 기술이 보편화되었다. 동적 적응 스트리밍은 1개의 비디오를 여러 비트율, 해상도, 코덱의 다양한 버전으로 변환하여야 하며, 이와 같은 변환 과정을 트랜스코딩이라고 한다. Recently, with the development of multimedia and network technologies, dynamically adaptive streaming technology has become popular. Dynamic adaptive streaming requires one video to be converted to various versions of different bit rates, resolutions, and codecs. This conversion process is called transcoding.

트랜스코딩 연산은 기본적으로 많은 연산을 요구하며, 이에 따라서 높은 CPU 소모 전력을 요구한다. 또한 높은 트랜스코딩 처리 요구량에 대처하기 위해서 1개의 CPU 만으로 트랜스코딩 처리는 불가능하며, 여러 CPU들이 협업을 통해서 트랜스코딩을 처리하여야 한다. 지속적으로 증가하는 트랜스코딩 요구량에 대처하기 위해서는 트랜스코딩 서버에 새로운 CPU를 지속적으로 추가하여야 하며, 이질적인 속성을 갖은 많은 CPU가 하나의 트랜스코딩 서버를 구성하게 된다. Transcoding operations inherently require many operations, and therefore require high CPU power consumption. Also, in order to cope with the high transcoding processing demand, transcoding processing is not possible with only one CPU, and several CPUs must cooperatively process transcoding. To cope with the ever-increasing demand for transcoding, new CPUs must be continuously added to the transcoding server, and many CPUs with heterogeneous properties constitute one transcoding server.

CPU 전력 소비를 줄이는 효과적인 방법은 프로세서 주파수에 따른 전압을 동시에 변화시키는 동적 전압 주파수 조절(DVFS: Dynamic Voltage and Frequency Scaling) 기술을 사용하는 것이다. CPU는 여러 개의 주파수를 갖게 되며, 주파수를 낮출수록 인가되는 전압이 떨어지므로, 전력 소모를 효과적으로 줄일 수 있으나, 트랜스코딩 시간을 증가시킴으로써, 이를 고려한 효과적인 주파수 선택 기법이 필수적이다. 특히, 주파수가 이질적인 CPU로 구성된 서버에서 어떻게 주파수를 선택하냐에 따라서 전력 소모량은 큰 차이를 보인다. An effective way to reduce CPU power consumption is to use Dynamic Voltage and Frequency Scaling (DVFS) technology, which simultaneously changes voltage with processor frequency. The CPU has several frequencies, and the lower the frequency, the lower the applied voltage, so that the power consumption can be effectively reduced. However, by increasing the transcoding time, an effective frequency selection technique considering this is essential. In particular, power consumption varies considerably depending on how the frequency is selected in servers with heterogeneous CPUs.

참고자료: KR 10-1468357
References: KR 10-1468357

본 발명은 다양한 주파수를 가지는 이질적 CPU 가 포함된 트랜스코딩 서버에서 트랜스코딩 에너지 소모량을 제한하면서, 트랜스코딩 처리율을 최대로 하는 CPU 주파수 선택 기법을 제공할 수 있다. The present invention can provide a CPU frequency selection technique that maximizes transcoding throughput while limiting transcoding energy consumption in a transcoding server including a heterogeneous CPU having various frequencies.

보다 구체적으로, 트랜스코딩 처리율을 CPU 주파수에 근거하여 모델링하고, 에너지 한계가 주어졌을 때, 트랜스코딩 처리율을 최대화하는 문제를 제안하며, 제안된 문제를 풀기 위해서 동적 프로그래밍 기법을 활용하여 각 CPU 의 주파수를 선택하는 최적화 방법을 제안한다.
More specifically, we model transcoding throughput based on CPU frequency, propose a problem of maximizing transcoding throughput when given energy limits, and use dynamic programming techniques to solve the proposed problem. We propose an optimization method to choose.

트랜스코딩 서버에서 수행되는 트랜스코딩 처리 방법은, 트랜스코딩 요청에 기반하여 서로 다른 종류로 구성된 적어도 하나 이상의 CPU의 트랜스코딩 처리율을 모델링하는 단계; 에너지 한계가 입력됨에 따라 상기 모델링된 트랜스코딩 처리율로부터 상기 에너지 한계 내에서 각각의 CPU의 주파수 레벨을 선택하는 단계; 및 상기 선택된 각각의 CPU의 주파수 레벨에 기초하여 상기 트랜스코딩 요청이 처리됨에 따라 트랜스코딩 전력을 소모하는 단계를 포함할 수 있다. A transcoding processing method performed in a transcoding server includes: modeling a transcoding throughput rate of at least one CPU configured of different types based on a transcoding request; Selecting a frequency level of each CPU within the energy limit from the modeled transcoding throughput as an energy limit is input; And consuming transcoding power as the transcoding request is processed based on the selected frequency level of each CPU.

상기 트랜스코딩의 요청에 기반하여 서로 다른 종류로 구성된 적어도 하나 이상의 CPU의 트랜스코딩 처리율을 모델링하는 단계는, 상기 트랜스코딩이 처리되는 트랜스코딩 시간이 주파수 레벨에 반비례하고, 상기 트랜스코딩 시간에 따라 트랜스코딩 처리율이 판단되는 단계를 포함하고, 각각의 CPU로부터 복수 개의 서로 다른 주파수 레벨에서 실행될 수 있다. Modeling a transcoding throughput rate of at least one CPU of different types based on the request of transcoding, wherein the transcoding time at which the transcoding is processed is inversely proportional to a frequency level, and the transcoding time The coding throughput may be determined, and may be executed at a plurality of different frequency levels from each CPU.

상기 에너지 한계가 입력됨에 따라 상기 모델링된 트랜스코딩 처리율로부터 상기 에너지 한계 내에서 각각의 CPU의 주파수 레벨을 선택하는 단계는, 첫번째 CPU부터 마지막 CPU를 포함하는 상기 서로 다른 종류로 구성된 적어도 하나 이상의 CPU에 대하여 각각의 CPU에서 사용된 에너지에 기초하여 획득되는 최대의 트랜스코딩 처리율을 계산하는 단계를 포함할 수 있다. Selecting a frequency level of each CPU within the energy limit from the modeled transcoding throughput as the energy limit is input, comprises: assigning at least one CPU of the different types comprising the first to the last CPU. Calculating a maximum transcoding throughput obtained based on the energy used in each CPU.

상기 에너지 한계가 입력됨에 따라 상기 모델링된 트랜스코딩 처리율로부터 상기 에너지 한계 내에서 각각의 CPU의 주파수 레벨을 선택하는 단계는, 상기 최대의 트랜스코딩 처리율에서 상기 마지막 CPU로부터 상기 첫번째 CPU까지의 주파수 레벨에 대한 역추적을 통하여 각각의 CPU에서 사용되는 CPU의 주파수 레벨을 저장하는 단계를 포함할 수 있다. Selecting a frequency level of each CPU within the energy limit from the modeled transcoding throughput as the energy limit is input, at a frequency level from the last CPU to the first CPU at the maximum transcoding throughput. And storing the frequency level of the CPU used in each CPU through backtracking.

상기 트랜스코딩 처리율의 범위는, 상기 트랜스코딩이 처리되는 모든 CPU에서 주파수의 레벨 중 가장 낮은 주파수의 레벨이 선택되었을 때의 처리율부터 상기 모든 CPU에서 주파수 레벨 중 기 설정된 기준 이상의 주파수의 레벨이 선택되었을 때의 처리율의 범위를 포함할 수 있다. The range of the transcoding processing rate is that the level of the frequency above the predetermined reference among the frequency levels is selected from the processing rates when the lowest frequency level is selected among the levels of frequencies in all the CPUs to which the transcoding is processed. May include a range of throughput rates.

상기 트랜스코딩의 요청에 기반하여 서로 다른 종류로 구성된 적어도 하나 이상의 CPU의 트랜스코딩 처리율을 모델링하는 단계는, 트랜스코딩 세션과 스트리밍 세션으로 구성된 부문형 비디오에서 상기 트랜스코딩 세션에 비디오 세그먼트들이 트랜스코딩되어 저장되고, 클라이언트로부터 비디오 세그먼트가 요청됨에 응답하여 상기 트랜스코딩되어 저장된 비디오 세그먼트들을 스트리밍 세션에 전달하고, 상기 스트리밍 세션에서 상기 트랜스코딩되어 저장된 비디오 세그먼트들을 상기 클라이언트에게 전달하는 단계를 포함할 수 있다. Modeling transcoding throughput of at least one CPU of different types based on the request of transcoding may include transcoding video segments into the transcoding session in a segmented video consisting of a transcoding session and a streaming session. And store the transcoded and stored video segments in a streaming session in response to the video segment being requested from a client, and deliver the transcoded and stored video segments to the client in the streaming session.

트랜스코딩 서버는, 트랜스코딩 요청에 기반하여 서로 다른 종류로 구성된 적어도 하나 이상의 CPU의 트랜스코딩 처리율을 모델링하는 모델링부; 에너지 한계가 입력됨에 따라 상기 모델링된 트랜스코딩 처리율로부터 상기 에너지 한계 내에서 각각의 CPU의 주파수 레벨을 선택하는 주파수 선택부; 및 상기 선택된 각각의 CPU의 주파수 레벨에 기초하여 상기 트랜스코딩 요청이 처리됨에 따라 트랜스코딩 전력을 소모하는 전력 소모부를 포함할 수 있다.
The transcoding server comprises: a modeling unit for modeling transcoding throughput rates of at least one or more CPUs configured with different types based on the transcoding request; A frequency selector which selects a frequency level of each CPU within the energy limit from the modeled transcoding throughput rate as an energy limit is input; And a power consumption unit that consumes transcoding power as the transcoding request is processed based on the selected frequency level of each CPU.

본 발명은 동일한 서버 환경에서 CPU 주파수 선택 정책에 따라 트랜스코딩 소모 전력을 효과적으로 감소시킬 수 있다. The present invention can effectively reduce the transcoding power consumption according to the CPU frequency selection policy in the same server environment.

본 발명은 전력/에너지 소비량을 제한하고, 트랜스코딩 처리율을 최대화함으로써 주어진 에너지를 효과적을 사용할 수 있다.
The present invention can effectively use a given energy by limiting power / energy consumption and maximizing transcoding throughput.

도 1은 일 실시예에 따른 트랜스코딩 서버에서 수행되는 주파수 선택 알고리즘의 수도코드를 나타낸 예이다.
도 2는 일 실시예에 따른 트랜스코딩 서버의 구성을 설명하기 위한 블록도이다.
도 3은 일 실시예에 따른 트랜스코딩 서버의 트랜스코딩 방법을 설명하기 위한 흐름도이다.
도 4는 일 실시예에 따른 트랜스코딩 서버에서 CPU 주파수와 측정 전력 값과의 관계를 설명하기 위한 도면이다.
도 5는 일 실시예에 따른 트랜스코딩 서버에서 에너지 제한 비율에 따른 트랜스코딩 처리율을 나타낸 그래프이다.
도 6은 일 실시예에 따른 트랜스코딩 서버에서 제안한 FSA와 UA 알고리즘의 트랜스코딩 처리량을 비교한 그래프이다.
도 7은 일 실시예에 따른 트랜스코딩 서버에서 에너지 한계를 고정할 때의 트랜스코딩 세션 시간에 따른 처리율을 나타낸 그래프이다.
1 illustrates an example of a pseudo code of a frequency selection algorithm performed by a transcoding server according to an embodiment.
2 is a block diagram illustrating a configuration of a transcoding server according to an embodiment.
3 is a flowchart illustrating a transcoding method of a transcoding server according to an embodiment.
4 is a diagram illustrating a relationship between a CPU frequency and a measured power value in a transcoding server according to an embodiment.
5 is a graph illustrating a transcoding throughput rate according to an energy limit ratio in a transcoding server according to an embodiment.
6 is a graph comparing transcoding throughputs of an FSA and an UA algorithm proposed by a transcoding server according to an embodiment.
7 is a graph illustrating throughput according to transcoding session time when fixing an energy limit in a transcoding server according to an embodiment.

이하, 실시예를 첨부한 도면을 참조하여 상세히 설명한다.
Hereinafter, exemplary embodiments will be described in detail with reference to the accompanying drawings.

아래의 실시예에서는 이질적 주파수의 CPU로 구성된 트래스코딩 서버에서 에너지 한도가 주어졌을 때의 트랜스코딩 처리율을 최대화하는 기법에 관한 것이다. 트랜스코딩 처리율을 CPU 선택 주파수에 따라 큰 차이를 보이며, CPU 주파수는 소모 전력에 큰 영향을 끼친다. 이에 따라 트랜스코딩 처리율을 CPU 주파수에 근거하여 모델링하고, 에너지 한도가 주어졌을 때, 트랜스코딩 처리율을 최대화하기 위하여 동적 프로그래밍 기법을 활용하여 각 CPU에 인가되는 주파수를 선택하는 최적의 방법을 제안한다. 실시예에 따르면 상기 제안된 기법이 전력/에너지 소비량을 제한하고, 트랜스코딩 처리율을 최대화함으로써 주어진 에너지를 효과적을 사용함을 확인할 수 있다.The following embodiments are directed to a technique for maximizing transcoding throughput when given an energy limit in a tracoding server configured with heterogeneous frequency CPUs. Transcoding throughput varies greatly with CPU selection frequency, and CPU frequency has a significant impact on power consumption. Accordingly, we propose an optimal method for modeling transcoding throughput based on CPU frequency, and selecting the frequency applied to each CPU by using dynamic programming technique to maximize transcoding throughput when energy limit is given. According to an embodiment, it can be seen that the proposed technique effectively uses a given energy by limiting power / energy consumption and maximizing transcoding throughput.

도 1은 일 실시예에 따른 트랜스코딩 서버에서 수행되는 주파수 선택 알고리즘의 수도코드를 나타낸 예이다.  1 illustrates an example of a pseudo code of a frequency selection algorithm performed by a transcoding server according to an embodiment.

CPU의 주파수 선택 문제를 해결하기 위하여 일례로 동적 프로그래밍 기법이 활용될 수 있다. 트랜스코딩 서버에서 최적의 주파수를 선택하기 위한 주파수 선택 알고리즘이 제안될 수 있다. 이때, 편의상 제안하는 동적 프로그래밍 알고리즘을 주파수 선택 알고리즘(FSA: frequency selection algorithm)이라고 기재하기로 한다.Dynamic programming techniques can be used as an example to solve the frequency selection problem of the CPU. A frequency selection algorithm may be proposed for selecting an optimal frequency in the transcoding server. In this case, the dynamic programming algorithm proposed for convenience will be described as a frequency selection algorithm (FSA).

주파수 선택 알고리즘은 초기화 단계, 점화식 수립 단계, 역추적 단계로 구성될 수 있다.The frequency selection algorithm may consist of an initialization step, an ignition establishment step, and a backtracking step.

초기화 단계에서,

Figure 112018014352929-pat00001
는 i(i는 자연수)개의 CPU에 대하여 첫번째 CPU부터 마지막 CPU까지의 모든 CPU에 대하여 에너지를 일정량(예를 들면, m)만큼 사용하였을 때, 획득할 수 있는 최대의 트랜스코딩 처리율을 의미한다. 이때,
Figure 112018014352929-pat00002
을 모두 0으로 초기화시킬 수 있다.In the initialization phase,
Figure 112018014352929-pat00001
Denotes the maximum transcoding throughput that can be obtained when i (i is a natural number) for a certain amount of energy (for example m) for all CPUs from the first CPU to the last CPU. At this time,
Figure 112018014352929-pat00002
Can be initialized to all zeros.

점화식 수립 단계에서,

Figure 112018014352929-pat00003
는 다음과 같은 점화식으로 계산될 수 있다. 만약
Figure 112018014352929-pat00004
이면,
Figure 112018014352929-pat00005
는 다음의 점화식으로 갱신될 수 있다.In the ignition establishment phase,
Figure 112018014352929-pat00003
Can be calculated by the following ignition. if
Figure 112018014352929-pat00004
If,
Figure 112018014352929-pat00005
Can be updated with the following ignition.

Figure 112018014352929-pat00006
Figure 112018014352929-pat00006

역추적 단계에서,

Figure 112018014352929-pat00007
는 i(i는 자연수)개의 CPU에 대하여 첫번째 CPU부터 마지막 CPU까지의 모든 CPU에 대한 최대의 트랜스코딩 처리율을 의미한다. 이때, 마지막 CPU의
Figure 112018014352929-pat00008
, 에너지 제한 비율
Figure 112018014352929-pat00009
로부터 시작하여 역으로 첫번째 CPU의 테이블을 추척하여 각각의 CPU에 사용될 주파수 레벨 f를 탐색할 수 있다. 이를 위하여 변수
Figure 112018014352929-pat00010
Figure 112018014352929-pat00011
때의 각각의 CPU의 주파수 레벨을 저장할 수 있다. 이와 같이, 역추적을 통하여 각각의 CPU의 주파수 레벨을 찾을 수 있다. In the traceback phase,
Figure 112018014352929-pat00007
Is the maximum transcoding rate for all CPUs from the first CPU to the last CPU for i (i is a natural number). At this time, the last CPU
Figure 112018014352929-pat00008
Energy limit ratio
Figure 112018014352929-pat00009
Starting from, we can trace the table of the first CPU and search for the frequency level f to be used for each CPU. For this purpose
Figure 112018014352929-pat00010
Is
Figure 112018014352929-pat00011
The frequency level of each CPU can be stored. In this way, the frequency level of each CPU can be found through the traceback.

도 2는 일 실시예에 따른 트랜스코딩 서버의 구성을 설명하기 위한 블록도이고, 도 3은 일 실시예에 따른 트랜스코딩 서버의 트랜스코딩 방법을 설명하기 위한 흐름도이다.2 is a block diagram illustrating a configuration of a transcoding server according to an embodiment, and FIG. 3 is a flowchart illustrating a transcoding method of a transcoding server according to an embodiment.

트랜스코딩 서버(100)는 모델링부(210), 주파수 선택부(220) 및 전력 소모부(230)를 포함할 수 있다. 이러한 구성요소들은 트랜스코딩 서버(100)에 저장된 프로그램 코드가 제공하는 제어 명령에 따라 프로세서에 의해 수행되는 서로 다른 기능들(different functions)의 표현들일 수 있다. 구성요소들은 도 3의 트랜스코딩 방법이 포함하는 단계들(310 내지 330)을 수행하도록 트랜스코딩 서버(100)를 제어할 수 있다. 이때, 구성요소들은 메모리가 포함하는 운영체제의 코드와 적어도 하나의 프로그램의 코드에 따른 명령(instruction)을 실행하도록 구현될 수 있다. The transcoding server 100 may include a modeling unit 210, a frequency selector 220, and a power consumption unit 230. These components may be representations of different functions performed by a processor in accordance with control instructions provided by program code stored in the transcoding server 100. The components may control the transcoding server 100 to perform the steps 310 to 330 included in the transcoding method of FIG. 3. In this case, the components may be implemented to execute instructions according to code of an operating system included in a memory and code of at least one program.

프로세서는 트랜스코딩 방법을 위한 프로그램의 파일에 저장된 프로그램 코드를 메모리에 로딩할 수 있다. 예를 들면, 트랜스코딩 서버(100)에서 프로그램이 실행되면, 프로세서는 운영체제의 제어에 따라 프로그램의 파일로부터 프로그램 코드를 메모리에 로딩하도록 서버를 제어할 수 있다. 이때, 프로세서 및 프로세서가 포함하는 모델링부(210), 주파수 선택부(220) 및 전력 소모부(230) 각각은 메모리에 로딩된 프로그램 코드 중 대응하는 부분의 명령을 실행하여 이후 단계들(310 내지 330)을 실행하기 위한 프로세서의 서로 다른 기능적 표현들일 수 있다. The processor may load the program code stored in the file of the program for the transcoding method into the memory. For example, when a program is executed in the transcoding server 100, the processor may control the server to load program code from a file of a program into a memory under control of an operating system. In this case, each of the processor and the modeling unit 210, the frequency selector 220, and the power consumption unit 230 included in the processor executes a command of a corresponding part of the program code loaded in the memory, and then executes steps 310 to 310. 330 may be different functional representations of a processor for executing.

단계(310)에서 모델링부(210)는 트랜스코딩 요청에 기반하여 서로 다른 종류로 구성된 적어도 하나 이상의 CPU의 트랜스코딩 처리율을 모델링할 수 있다. 모델링부(210)는 트랜스코딩 세션과 스트리밍 세션으로 구성된 부문형 비디오에서 트랜스코딩 세션에 비디오 세그먼트들이 트랜스코딩되어 저장되고, 클라이언트로부터 비디오 세그먼트가 요청됨에 응답하여 트랜스코딩되어 저장된 비디오 세그먼트들을 스트리밍 세션에 전달하고, 스트리밍 세션에서 트랜스코딩되어 저장된 비디오 세그먼트들을 클라이언트에게 전달할 수 있다. 모델링부(210)는 트랜스코딩이 처리되는 트랜스코딩 시간이 주파수 레벨에 반비례하고, 트랜스코딩 시간에 따라 트랜스코딩 처리율을 판단할 수 있다. In operation 310, the modeling unit 210 may model transcoding processing rates of at least one or more CPUs configured in different types based on the transcoding request. The modeling unit 210 transcodes and stores the video segments in the transcoding session in the divisional video consisting of the transcoding session and the streaming session, and stores the video segments transcoded and stored in response to the request from the client in the streaming session. And video segments that have been transcoded and stored in the streaming session to the client. The modeling unit 210 may determine the transcoding processing rate according to the transcoding time in which the transcoding process is inversely proportional to the frequency level, and the transcoding time.

단계(320)에서 주파수 선택부(220)는 에너지 한계가 입력됨에 따라 모델링된 트랜스코딩 처리율로부터 에너지 한계 내에서 각각의 CPU의 주파수 레벨을 선택할 수 있다. 이때, 트랜스코딩 처리율의 범위는, 트랜스코딩이 처리되는 모든 CPU에서 주파수의 레벨 중 가장 낮은 주파수의 레벨이 선택되었을 때의 처리율부터 모든 CPU에서 주파수 레벨 중 기 설정된 기준 이상의 주파수의 레벨이 선택되었을 때의 처리율의 범위를 포함할 수 있다. 주파수 선택부(220)는 첫번째 CPU부터 마지막 CPU를 포함하는 서로 다른 종류로 구성된 적어도 하나 이상의 CPU에 대하여 각각의 CPU에서 사용된 에너지에 기초하여 획득되는 최대의 트랜스코딩 처리율을 계산할 수 있다. 주파수 선택부(220)는 최대의 트랜스코딩 처리율에서 마지막 CPU로부터 첫번째 CPU까지의 주파수 레벨에 대한 역추적을 통하여 각각의 CPU에서 사용되는 CPU의 주파수 레벨을 저장할 수 있다. In operation 320, as the energy limit is input, the frequency selector 220 may select a frequency level of each CPU within the energy limit from the modeled transcoding throughput. At this time, the range of transcoding processing rate is from the processing rate when the lowest frequency level is selected among the levels of frequencies in all CPUs to which transcoding is processed, and when the level of the frequency higher than the preset reference among frequency levels is selected among all CPUs. May include a range of throughputs. The frequency selector 220 may calculate the maximum transcoding throughput obtained based on the energy used by each CPU for at least one or more CPUs of different types including the first to the last CPUs. The frequency selector 220 may store the frequency level of the CPU used in each CPU through the back trace of the frequency level from the last CPU to the first CPU at the maximum transcoding throughput.

단계(330)에서 전력 소모부(230)는 선택된 각각의 CPU의 주파수 레벨에 기초하여 트랜스코딩 요청이 처리됨에 따라 트랜스코딩 전력을 소모할 수 있다. In operation 330, the power consumption unit 230 may consume the transcoding power as the transcoding request is processed based on the selected frequency level of each CPU.

도 4는 일 실시예에 따른 트랜스코딩 서버에서 CPU 주파수와 측정 전력 값과의 관계를 설명하기 위한 도면이다. 4 is a diagram illustrating a relationship between a CPU frequency and a measured power value in a transcoding server according to an embodiment.

트랜스코딩 서버에서 트랜스코딩 요청에 기반하여 서로 다른 종류로 구성된 적어도 하나 이상의 CPU의 트랜스코딩 처리율을 모델링할 수 있다. 이때, 주문형 비디오 시스템에서 트랜스코딩 세션 및 스트리밍 세션으로 구성될 수 있다. 트랜스코딩 세션은 L의 시간동안 지속되며 비디오 세그먼트들이 트랜스코딩되어 저장 장치에 저장된 후, 스트리밍 세션에 해당 비디오 세그먼트들을 요청한 클라이언트에게 전달될 수 있다. 다시 말해서, 트랜스코딩 세션에 비디오 세그먼트들이 트랜스코딩되어 저장되고, 클라이언트로부터 비디오 세그먼트가 요청됨에 응답하여 트랜스코딩되어 저장된 비디오 세그먼트들을 스트리밍 세션에 전달하고, 스트리밍 세션을 통하여 클라이언트로부터 요청된 비디오 세그먼트에 대응하는 트랜스코딩되어 저장된 비디오 세그먼트들을 클라이언트에게 전달할 수 있다. The transcoding server may model the transcoding throughput of at least one CPU of different types based on the transcoding request. In this case, the video system may be configured as a transcoding session and a streaming session. The transcoding session lasts for L time and after the video segments are transcoded and stored in the storage device, it can be delivered to the client requesting the video segments in the streaming session. In other words, the video segments are transcoded and stored in the transcoding session, the transcoded and stored video segments are delivered to the streaming session in response to the video segment being requested from the client, and correspond to the video segments requested from the client through the streaming session. The transcoded and stored video segments can be delivered to the client.

트랜스코딩의 요청이 증가함에 따라 서비스 공급자는 새로운 프로세서를 추가해야 한다. 이에 따라 복수의 서로 다른 종류들로 이루어진 CPU들이 구성될 수 있다.

Figure 112018014352929-pat00012
를 CPU의 개수라고 하자. 각 CPU가 여러 가지 개별 주파수 레벨에서 실행될 수 있다고 가정하면,
Figure 112018014352929-pat00013
은 m(m은 자연수)번째 CPU의 n(n은 자연수)번째 주파수 레벨을 의미한다.
Figure 112018014352929-pat00014
를 m번째 CPU의 주파수의 개수라고 하자. 기본 주파수(일반적인 주파수)를
Figure 112018014352929-pat00015
라고 할 때, 기본 주파수는 트랜스코딩 서버에서 동작하는 CPU 중 가장 높은 주파수를 의미한다. 기본 주파수
Figure 112018014352929-pat00016
는 아래의 수식 1과 같이 정의된다.As transcoding requests increase, service providers must add new processors. Accordingly, a plurality of different types of CPUs can be configured.
Figure 112018014352929-pat00012
Let is the number of CPUs. Assuming each CPU can run at several individual frequency levels,
Figure 112018014352929-pat00013
Is the nth (n is the natural number) frequency level of the m (m is the natural number) CPU.
Figure 112018014352929-pat00014
Let is the number of frequencies of the mth CPU. The fundamental frequency (common frequency)
Figure 112018014352929-pat00015
In this case, the fundamental frequency means the highest frequency among the CPUs running in the transcoding server. Fundamental frequency
Figure 112018014352929-pat00016
Is defined as in Equation 1 below.

수식 1:Equation 1:

Figure 112018014352929-pat00017
Figure 112018014352929-pat00017

그리고, 트랜스코딩 시간은 주파수 레벨에 반비례한다. 예를 들면, 주파수 레벨이

Figure 112018014352929-pat00018
에서
Figure 112018014352929-pat00019
가 되면 트랜스코딩 시간이 2배로 증가하기 때문에 동일한 시간에 트랜스코딩 처리율은 1/2이 된다. 이에 따라 주파수
Figure 112018014352929-pat00020
에 대한 트랜스코딩 처리율
Figure 112018014352929-pat00021
은 주파수
Figure 112018014352929-pat00022
의 함수로 다음과 같이 정의된다(수식 2).And, the transcoding time is inversely proportional to the frequency level. For example, if the frequency level
Figure 112018014352929-pat00018
in
Figure 112018014352929-pat00019
Since the transcoding time is doubled, the transcoding throughput is 1/2 at the same time. Accordingly frequency
Figure 112018014352929-pat00020
Transcoding throughput for
Figure 112018014352929-pat00021
Silver frequency
Figure 112018014352929-pat00022
It is defined as the function of (Equation 2).

수식 2:Equation 2:

Figure 112018014352929-pat00023
Figure 112018014352929-pat00023

트랜스코딩 서버는 트랜스코딩 세션에서의 소모 에너지를 미리 정의된 에너지 한계인 한계값(

Figure 112018014352929-pat00024
)을 초과하지 않도록 에너지를 제한하면서 트랜스코딩 처리율을 최대로 하기 위하여 각 CPU 주파수를 선택할 수 있다. 이를 위하여 CPU 주파수를 선택하는 문제를 다음과 같이 정의할 수 있다.The transcoding server calculates the energy consumed in the transcoding session by a threshold, which is a predefined energy limit.
Figure 112018014352929-pat00024
Each CPU frequency can be selected to maximize transcoding throughput while limiting energy to not exceed). For this purpose, the problem of selecting a CPU frequency can be defined as follows.

CPU 주파수 문제에서 각 CPU의 주파수 레벨은 트랜스코딩 처리율을 최대화하기 위한 목적으로 정의될 수 있다. 트랜스코딩 처리율의 범위는 모든 CPU에서 가장 낮은 주파수가 선택되었을 때의 전체 처리율인

Figure 112018014352929-pat00025
모든 CPU에서 가장 높은 주파수가 선택되었을 때의 전체 처리율인
Figure 112018014352929-pat00026
의 범위를 포함한다.In the CPU frequency problem, the frequency level of each CPU can be defined for the purpose of maximizing the transcoding throughput. The transcoding throughput range is the overall throughput when the lowest frequency is selected for all CPUs.
Figure 112018014352929-pat00025
The overall throughput when the highest frequency is selected for all CPUs
Figure 112018014352929-pat00026
Coverage of

Figure 112018014352929-pat00027
을 때, m번째 CPU에서 주파수 레벨 n이 선택되었을 때 소비되는 전력 소모량을 (와트: W)라고 가정한다(m=1, ... ,
Figure 112018014352929-pat00028
and n=1, ... ,
Figure 112018014352929-pat00029
). 그리고
Figure 112018014352929-pat00030
을 m번째 CPU에서 선택된 주파수 레벨이라고 가정한다(m=1, ... ,
Figure 112018014352929-pat00031
).
Figure 112018014352929-pat00027
Assume that the power consumption when the frequency level n is selected in the mth CPU is (Watt: W) (m = 1, ...,
Figure 112018014352929-pat00028
and n = 1, ...,
Figure 112018014352929-pat00029
). And
Figure 112018014352929-pat00030
Is assumed to be the frequency level selected in the mth CPU (m = 1, ...,
Figure 112018014352929-pat00031
).

트랜스코딩 서버에서 트랜스코딩 세션 L 시간 동안 소모되는 에너지 소모량을

Figure 112018014352929-pat00032
로 제한하면서 총 트랜스코딩 처리율을 최대화하기 위하여 m번째 CPU에서 선택되는 주파수 레벨
Figure 112018014352929-pat00033
값을 획득하는 최적화 문제를 CPU 주파수 선택 문제라고 정의할 수 있다. 이러한 CPU 주파수 선택 문제는 다음과 같이 정의될 수 있다.The energy consumption of the transcoding session L time on the transcoding server
Figure 112018014352929-pat00032
Frequency level chosen by the mth CPU to maximize the total transcoding throughput while limiting
Figure 112018014352929-pat00033
The optimization problem of obtaining a value can be defined as a CPU frequency selection problem. This CPU frequency selection problem may be defined as follows.

수식 3:Equation 3:

Figure 112018014352929-pat00034
Figure 112018014352929-pat00034

일례로,

Figure 112018014352929-pat00035
=50일 때의 트랜스코딩 처리율을 시뮬레이션을 수행할 수 있다. 각각의 CPU의 첫번째 주파수는 1.4GHz 부터 1.8GHz 사이에서 임의로 선택될 수 있고, 기 설정된 기준 이상의 주파수(예를 들면, 가장 높은 주파수)는 3.0GHz 부터 3.4GHz 사이에서 임의로 선택되며, 기 설정된 기준에 기반하여 일정 범위의 주파수(예를 들면, 중간 단계 주파수)는 1.8GHz부터 3.0GHz 범위 내에서 임의로 선택될 수 있다. 이와 같이, 선택된 주파수의 전력 값은 도 4에서의 측정값을 활용할 수 있다. 이때, CPU 가 아무런 일을 수행하지 않을 때 아이들 전력 (idle power)는 1W부터 40W사이에서 임의로 선택된다고 가정한다. For example,
Figure 112018014352929-pat00035
Simulation of transcoding throughput at = 50 can be performed. The first frequency of each CPU may be arbitrarily selected between 1.4 GHz and 1.8 GHz, and frequencies above a preset reference (eg, the highest frequency) may be arbitrarily selected between 3.0 GHz and 3.4 GHz, Based on the range of frequencies (eg, intermediate frequency) may be arbitrarily selected within the range of 1.8 GHz to 3.0 GHz. As such, the power value of the selected frequency may utilize the measured value in FIG. 4. In this case, it is assumed that the idle power is arbitrarily selected between 1W and 40W when the CPU does nothing.

시뮬레이션을 통하여 에너지 제한 비율

Figure 112018014352929-pat00036
값에 따른 트랜스코딩 처리율을 계산할 수 있다. 모든 CPU에서 기 설정된 기준 이상의 주파수(예를 들면, 최대 주파수)로 선택되었을 때의 전력 값을 1이라고 하였을 때, 모든 CPU에서 최대 주파수로 선택될 때 대비한 소비 전력 비율을 r이라고 하자. 도 5를 참고하면, r 에 대한 트랜스코딩 처리율을 보여 주며, r 에 비례해서 트랜스코딩 처리율이 증가함을 확인할 수 있다
Figure 112018014352929-pat00037
. Energy limit ratio through simulation
Figure 112018014352929-pat00036
The transcoding throughput can be calculated according to the value. Assuming that the power value when 1 is selected as the maximum frequency in all CPUs (for example, the maximum frequency) is 1, the ratio of power consumption to when the maximum frequency is selected in all CPUs is r . Referring to Figure 5, it shows the transcoding throughput for r, in proportion to r can be seen that throughput is increased transcoding
Figure 112018014352929-pat00037
.

또한, 동적 프로그래밍 기법의 효용성을 검증하기 위해서 또 다른 알고리즘(편의상, 새로운 알고리즘을 uniform algorithm(UA)라고 함)을 구현할 수 있다. UA 기법은 1)각각의 CPU 주파수 레벨을 1로 초기화하고, 2)에너지 한계를 만족할 때까지 각각 CPU의 주파수를 하나씩 증가시키는 기법이다. 도 6을 참고하면, r 에 대한 트랜스코딩 처리율을 보여 주며, UA의 트랜스코딩 처리율이 FSA 기법보다 최대 6.4% 낮은 것을 확인할 수 있다. In addition, another algorithm (for convenience, a new algorithm may be called a uniform algorithm (UA)) may be implemented to verify the effectiveness of the dynamic programming technique. The UA technique is to 1) initialize each CPU frequency level to 1, and 2) increase the CPU frequency by one until the energy limit is met. Referring to Figure 6, it shows the transcoding throughput for r , it can be seen that the transcoding throughput of UA is up to 6.4% lower than the FSA method.

모든 CPU에서 최대 주파수로 트랜스코딩 서버를 운용할 경우에는 트랜스코딩 처리가 빨리 끝나게 된다. 이에 비하여, 기 설정된 기준 이하의 주파수(예를 들면, 낮은 주파수)를 운용 시에는 트랜스코딩 시간이 길어지나, 에너지 소모량은 감소하게 된다. 모든 CPU에서 최대의 주파수로 수행 시의 트랜스코딩 시간을

Figure 112018014352929-pat00038
이라고 하자. 에너지 한계
Figure 112018014352929-pat00039
을 고정하고, 트랜스코딩 세션 시간 L을 증가시키면서 FSA 알고리즘을 수행하고, 모든 CPU에서 최대 주파수로 수행할 때 대비해서 트랜스코딩 처리율을 계산한 결과가 도 7과 같이 나타날 수 있다. 도 7을 참고하면,
Figure 112018014352929-pat00040
을 고정하고 트랜스코딩 세션 L을 증가 시에는, 낮은 CPU 주파수로 트랜스코딩 서버를 운용할 수 있으므로, 소모 전력을 감소시킬 수 있다. 따라서, 동일 에너지 사용 시 트랜스코딩 처리율이 증가됨을 확인할 수 있다. If you run the transcoding server at full frequency on all CPUs, the transcoding process ends quickly. In contrast, when operating a frequency below a predetermined reference (for example, a low frequency), the transcoding time is longer, but the energy consumption is reduced. Transcoding time at full frequency on all CPUs
Figure 112018014352929-pat00038
Let's say. Energy limit
Figure 112018014352929-pat00039
7, the FSA algorithm is performed while the transcoding session time L is increased, and the transcoding throughput is calculated as compared to the maximum frequency in all CPUs. Referring to Figure 7,
Figure 112018014352929-pat00040
In this case, the transcoding server can be operated at a lower CPU frequency, thereby reducing power consumption. Therefore, it can be seen that the transcoding throughput is increased when the same energy is used.

이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The apparatus described above may be implemented as a hardware component, a software component, and / or a combination of hardware components and software components. For example, the devices and components described in the embodiments are, for example, processors, controllers, arithmetic logic units (ALUs), digital signal processors, microcomputers, field programmable gate arrays (FPGAs). Can be implemented using one or more general purpose or special purpose computers, such as a programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to the execution of the software. For convenience of explanation, one processing device may be described as being used, but one of ordinary skill in the art will appreciate that the processing device includes a plurality of processing elements and / or a plurality of types of processing elements. It can be seen that it may include. For example, the processing device may include a plurality of processors or one processor and one controller. In addition, other processing configurations are possible, such as parallel processors.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of the above, and configure the processing device to operate as desired, or process it independently or collectively. You can command the device. Software and / or data may be any type of machine, component, physical device, virtual equipment, computer storage medium or device in order to be interpreted by or to provide instructions or data to the processing device. It can be embodied in. The software may be distributed over networked computer systems so that they may be stored or executed in a distributed manner. Software and data may be stored on one or more computer readable recording media.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. The method according to the embodiment may be embodied in the form of program instructions that can be executed by various computer means and recorded in a computer readable medium. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the media may be those specially designed and constructed for the purposes of the embodiments, or they may be of the kind well-known and available to those having skill in the computer software arts. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks, such as floppy disks. Magneto-optical media, and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like.

이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.Although the embodiments have been described by the limited embodiments and the drawings as described above, various modifications and variations are possible to those skilled in the art from the above description. For example, the described techniques may be performed in a different order than the described method, and / or components of the described systems, structures, devices, circuits, etc. may be combined or combined in a different form than the described method, or other components. Or even if replaced or substituted by equivalents, an appropriate result can be achieved.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.
Therefore, other implementations, other embodiments, and equivalents to the claims are within the scope of the claims that follow.

Claims (7)

트랜스코딩 서버에서 수행되는 트랜스코딩 처리 방법에 있어서,
트랜스코딩 요청에 기반하여 서로 다른 종류로 구성된 적어도 하나 이상의 CPU의 트랜스코딩 처리율을 모델링하는 단계;
에너지 한계가 입력됨에 따라 상기 모델링된 트랜스코딩 처리율로부터 상기 에너지 한계 내에서 각각의 CPU의 주파수 레벨을 선택하는 단계; 및
상기 선택된 각각의 CPU의 주파수 레벨에 기초하여 상기 트랜스코딩 요청이 처리됨에 따라 트랜스코딩 전력을 소모하는 단계
를 포함하고,
상기 에너지 한계가 입력됨에 따라 상기 모델링된 트랜스코딩 처리율로부터 상기 에너지 한계 내에서 각각의 CPU의 주파수 레벨을 선택하는 단계는,
첫번째 CPU부터 마지막 CPU를 포함하는 상기 서로 다른 종류로 구성된 적어도 하나 이상의 CPU에 대하여 각각의 CPU에서 사용된 에너지에 기초하여 획득되는 최대의 트랜스코딩 처리율(
Figure 112019035502335-pat00048
)을 계산하는 초기화 과정, 상기 초기화 과정을 수행함에 따라 상기 최대의 트랜스코딩 처리율을 점화식(
Figure 112019035502335-pat00049
)으로 계산하는 점화식 수립 과정 및 상기 최대의 트랜스코딩 처리율에서 상기 마지막 CPU로부터 상기 첫번째 CPU까지의 주파수 레벨에 대한 역추적을 통하여 각각의 CPU에서 사용되는 CPU의 주파수 레벨을 저장하는 역추적 과정을 수행하는 단계
를 포함하는 트랜스코딩 처리 방법.
In the transcoding processing method performed in the transcoding server,
Modeling transcoding throughput rates of at least one CPU of different types based on the transcoding request;
Selecting a frequency level of each CPU within the energy limit from the modeled transcoding throughput as an energy limit is input; And
Consuming transcoding power as the transcoding request is processed based on the selected frequency level of each CPU
Including,
Selecting a frequency level of each CPU within the energy limit from the modeled transcoding throughput as the energy limit is input,
The maximum transcoding throughput obtained based on the energy used by each CPU for at least one of the different types of CPUs comprising the first to last CPUs (
Figure 112019035502335-pat00048
In the initialization process to calculate the maximum transcoding throughput according to the initialization process.
Figure 112019035502335-pat00049
Perform a backtracking process of storing the frequency levels of the CPUs used in each CPU through a back-tracking of the frequency level from the last CPU to the first CPU at the maximum transcoding throughput Steps to
Transcoding processing method comprising a.
제1항에 있어서,
상기 트랜스코딩의 요청에 기반하여 서로 다른 종류로 구성된 적어도 하나 이상의 CPU의 트랜스코딩 처리율을 모델링하는 단계는,
상기 트랜스코딩이 처리되는 트랜스코딩 시간이 주파수 레벨에 반비례하고, 상기 트랜스코딩 시간에 따라 트랜스코딩 처리율이 판단되는 단계
를 포함하는 트랜스코딩 처리 방법.
The method of claim 1,
Modeling a transcoding throughput rate of at least one CPU of different types based on the transcoding request,
Transcoding time in which the transcoding is processed is inversely proportional to a frequency level, and transcoding processing rate is determined according to the transcoding time.
Transcoding processing method comprising a.
삭제delete 삭제delete 제1항에 있어서,
상기 트랜스코딩 처리율의 범위는, 상기 트랜스코딩이 처리되는 모든 CPU에서 주파수의 레벨 중 가장 낮은 주파수의 레벨이 선택되었을 때의 처리율부터 상기 모든 CPU에서 주파수 레벨 중 기 설정된 기준 이상의 주파수의 레벨이 선택되었을 때의 처리율의 범위를 포함하는 트랜스코딩 처리 방법.
The method of claim 1,
The range of the transcoding processing rate is that the level of the frequency above the predetermined reference among the frequency levels is selected from the processing rates when the lowest frequency level is selected among the levels of frequencies in all the CPUs to which the transcoding is processed. A transcoding method comprising a range of throughputs at the time.
제1항에 있어서,
상기 트랜스코딩의 요청에 기반하여 서로 다른 종류로 구성된 적어도 하나 이상의 CPU의 트랜스코딩 처리율을 모델링하는 단계는,
트랜스코딩 세션과 스트리밍 세션으로 구성된 부문형 비디오에서 상기 트랜스코딩 세션에 비디오 세그먼트들이 트랜스코딩되어 저장되고, 클라이언트로부터 비디오 세그먼트가 요청됨에 응답하여 상기 트랜스코딩되어 저장된 비디오 세그먼트들을 스트리밍 세션에 전달하고, 상기 스트리밍 세션에서 상기 트랜스코딩되어 저장된 비디오 세그먼트들을 상기 클라이언트에게 전달하는 단계
를 포함하는 트랜스코딩 처리 방법.
The method of claim 1,
Modeling a transcoding throughput rate of at least one CPU of different types based on the transcoding request,
In segmented video consisting of a transcoding session and a streaming session, video segments are transcoded and stored in the transcoding session, and the transcoded and stored video segments are delivered to the streaming session in response to the video segment being requested from a client. Delivering the transcoded and stored video segments to the client in a streaming session.
Transcoding processing method comprising a.
트랜스코딩 서버에 있어서,
트랜스코딩 요청에 기반하여 서로 다른 종류로 구성된 적어도 하나 이상의 CPU의 트랜스코딩 처리율을 모델링하는 모델링부;
에너지 한계가 입력됨에 따라 상기 모델링된 트랜스코딩 처리율로부터 상기 에너지 한계 내에서 각각의 CPU의 주파수 레벨을 선택하는 주파수 선택부; 및
상기 선택된 각각의 CPU의 주파수 레벨에 기초하여 상기 트랜스코딩 요청이 처리됨에 따라 트랜스코딩 전력을 소모하는 전력 소모부
를 포함하고,
상기 주파수 선택부는,
첫번째 CPU부터 마지막 CPU를 포함하는 상기 서로 다른 종류로 구성된 적어도 하나 이상의 CPU에 대하여 각각의 CPU에서 사용된 에너지에 기초하여 획득되는 최대의 트랜스코딩 처리율(
Figure 112019035502335-pat00050
)을 계산하는 초기화 과정, 상기 초기화 과정을 수행함에 따라 상기 최대의 트랜스코딩 처리율을 점화식(
Figure 112019035502335-pat00051
)으로 계산하는 점화식 수립 과정 및 상기 최대의 트랜스코딩 처리율에서 상기 마지막 CPU로부터 상기 첫번째 CPU까지의 주파수 레벨에 대한 역추적을 통하여 각각의 CPU에서 사용되는 CPU의 주파수 레벨을 저장하는 역추적 과정을 수행하는
트랜스코딩 처리 서버.
In the transcoding server,
A modeling unit modeling a transcoding throughput rate of at least one CPU configured of different types based on the transcoding request;
A frequency selector which selects a frequency level of each CPU within the energy limit from the modeled transcoding throughput rate as an energy limit is input; And
A power consumption unit that consumes transcoding power as the transcoding request is processed based on the selected frequency level of each CPU.
Including,
The frequency selector,
The maximum transcoding throughput obtained based on the energy used by each CPU for at least one of the different types of CPUs comprising the first to last CPUs (
Figure 112019035502335-pat00050
In the initialization process to calculate the maximum transcoding throughput according to the initialization process.
Figure 112019035502335-pat00051
Perform a backtracking process of storing the frequency levels of the CPUs used in each CPU through a back-tracking of the frequency level from the last CPU to the first CPU at the maximum transcoding throughput doing
Transcoding Processing Server.
KR1020180016081A 2018-02-09 2018-02-09 A transcoding throughput maximization method that limits power consumption KR102010692B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180016081A KR102010692B1 (en) 2018-02-09 2018-02-09 A transcoding throughput maximization method that limits power consumption

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180016081A KR102010692B1 (en) 2018-02-09 2018-02-09 A transcoding throughput maximization method that limits power consumption

Publications (1)

Publication Number Publication Date
KR102010692B1 true KR102010692B1 (en) 2019-08-13

Family

ID=67624335

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180016081A KR102010692B1 (en) 2018-02-09 2018-02-09 A transcoding throughput maximization method that limits power consumption

Country Status (1)

Country Link
KR (1) KR102010692B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102438747B1 (en) * 2021-03-31 2022-08-31 인하대학교 산학협력단 Method and apparatus for allocating quality-aware transcoding task under limited power in live-streaming systems

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101411411B1 (en) * 2013-02-26 2014-06-25 인하대학교 산학협력단 Media player and method for supervising energy of media player
KR101468357B1 (en) * 2014-02-17 2014-12-03 인하대학교 산학협력단 Method for CPU power management in video transcoding servers
KR20160099699A (en) * 2013-12-20 2016-08-22 퀄컴 인코포레이티드 Thermal and power management with video coding

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101411411B1 (en) * 2013-02-26 2014-06-25 인하대학교 산학협력단 Media player and method for supervising energy of media player
KR20160099699A (en) * 2013-12-20 2016-08-22 퀄컴 인코포레이티드 Thermal and power management with video coding
KR101468357B1 (en) * 2014-02-17 2014-12-03 인하대학교 산학협력단 Method for CPU power management in video transcoding servers

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Minseok Song 외 2명, "Scheduling a Video Transcoding Server to Save Energy", CM Transactions on Multimedia Computing Communications and Applications, vol 11. no. 2s, Article 45,(2015.02.) 1부.* *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102438747B1 (en) * 2021-03-31 2022-08-31 인하대학교 산학협력단 Method and apparatus for allocating quality-aware transcoding task under limited power in live-streaming systems

Similar Documents

Publication Publication Date Title
Ge et al. A game theoretic resource allocation for overall energy minimization in mobile cloud computing system
US20160266832A1 (en) Optimization of in-memory data grid placement
Aggarwal et al. Sprout: A functional caching approach to minimize service latency in erasure-coded storage
JP6978467B2 (en) Systems and methods for converting sparse elements to dense matrices
US20150133214A1 (en) Video encoding based on areas of interest
CN112654968A (en) Method, apparatus and system for architecture for machine learning acceleration
Almeida et al. Dyno: Dynamic onloading of deep neural networks from cloud to device
Patel et al. Energy-aware prediction-based load balancing approach with VM migration for the cloud environment
CN107743608B (en) Dynamic power routing to hardware accelerators
US20160342191A1 (en) Cpu frequency scaling apparatus and method
KR102167747B1 (en) Apparatus and Method of managing Mobile device memory for analyzing a user utilization pattern by a neural network algorithm to predict a next application
US10949129B2 (en) Adjusting data ingest based on compaction rate in a dispersed storage network
US11829888B2 (en) Modifying artificial intelligence models using model fragments
JP2013186770A (en) Data processing device
KR102010692B1 (en) A transcoding throughput maximization method that limits power consumption
US20220050716A1 (en) Virtual machine placement method and virtual machine placement device implementing the same
KR20230124031A (en) Machine learning techniques for video downsampling
KR102368165B1 (en) Cost-aware deployment of micro service-based applications in edge computing environments
US20190238154A1 (en) Dynamic data compressions
US11223675B2 (en) Hash data structure biasing
US10534621B2 (en) Information processing apparatus, PLD management program and PLD management method
KR101661475B1 (en) Load balancing method for improving hadoop performance in heterogeneous clusters, recording medium and hadoop mapreduce system for performing the method
KR102157379B1 (en) Online/offline Workload Distribution Method for Transcoding in DASH servers
US11019146B2 (en) Segmenting and merging data in a dispersed storage network
KR101468357B1 (en) Method for CPU power management in video transcoding servers

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant