공학석사학위논문 -...

40

Upload: others

Post on 09-Feb-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 2: 공학석사학위논문 - nanobio.kangwon.ac.krnanobio.kangwon.ac.kr/old/snsLab/public/허난숙-석사학위논문.pdf산정책에대해알아보며5장에서는성능평가및결과분석을하고6장

공학석사학 논문

트랜스코딩 부하 측 기반 부하 분산 정책

허 난 숙

강 원 학 교 학 원

컴퓨터정보통신공학과

2008년 8월

Page 3: 공학석사학위논문 - nanobio.kangwon.ac.krnanobio.kangwon.ac.kr/old/snsLab/public/허난숙-석사학위논문.pdf산정책에대해알아보며5장에서는성능평가및결과분석을하고6장

정 인 범 교 수 지 도

공학석사학 논문

트랜스코딩 부하 측 기반 부하 분산 정책

Load Distribution Policies

based on the Prediction Transcoding Loads

강 원 학 교 학 원

컴퓨터정보통신공학과

2008년 8월

Page 4: 공학석사학위논문 - nanobio.kangwon.ac.krnanobio.kangwon.ac.kr/old/snsLab/public/허난숙-석사학위논문.pdf산정책에대해알아보며5장에서는성능평가및결과분석을하고6장

허난숙의 석사 학 논문을

합격으로 정함

2008년 6월

심사 원장 정 인 범 인

원 이 헌 길 인

원 김 윤 인

Page 5: 공학석사학위논문 - nanobio.kangwon.ac.krnanobio.kangwon.ac.kr/old/snsLab/public/허난숙-석사학위논문.pdf산정책에대해알아보며5장에서는성능평가및결과분석을하고6장

트랜스코딩 부하 측 기반 부하 분산 정책

허 난 숙

강원 학교 학원 컴퓨터정보통신공학과

무선 네트워크의 발달로 이동 사용자가 증함에 따라 무선 네트

워크 환경에서도 질 높은 미디어 스트리 서비스를 받기 한 수요가

증가하고 있다. 그러나 무선 네트워크는 유선 네트워크보다 상 으

로 좁은 네트워크 역폭을 가진다. 한 이동 사용자의 단말기는 유선

네트워크 환경의 단말기에 비해 제한된 시스템 자원을 가지므로 유선

네트워크 환경의 사용자를 한 고화질 미디어 데이터를 그 로 스트

리 서비스 받기에 합하지 않다.

최근 이러한 문제를 해결하기 한 방법으로 미디어 트랜스코딩

서비스가 활발하게 연구되고 있다. 미디어 트랜스코딩은 고화질의 미

디어 데이터를 다양한 수 의 사용자 환경에 합하게 변환하는 기술

로 사용자의 QoS(Quality of Service)가 보장되는 기간 안에 트랜스코

딩 작업을 처리하여 스트리 서비스해야 한다. 다수의 트랜스코딩 서

버로 구성된 분산 트랜스코딩 시스템에서 특정 서버로 트랜스코딩 작

업이 집 될 경우 사용자에게 질 높은 수 의 미디어 스트리 서비스

를 제공하기 어렵다. 때문에 각 트랜스코딩 서버 간의 균형 인 부하

분산이 요한 문제가 되며, 처리되는 미디어 데이터의 특성을 부하 분

산에 반 할 필요가 있다.

Page 6: 공학석사학위논문 - nanobio.kangwon.ac.krnanobio.kangwon.ac.kr/old/snsLab/public/허난숙-석사학위논문.pdf산정책에대해알아보며5장에서는성능평가및결과분석을하고6장

본 논문에서는 MPEG-2 미디어 데이터의 트랜스코딩 과정 분석을

바탕으로 비트율 변경에 따른 트랜스코딩 작업 시간 측 방안에 한

연구를 진행하 으며, 측한 트랜스코딩 작업 시간을 이용하여 각 트

랜스코딩 서버로 트랜스코딩 작업을 분배하는 부하 분산 정책에 해

연구하 다. 한 리 스 기반의 분산 트랜스코딩 시스템을 구 하

고 성능 평가를 통하여 제안된 부하 분산 정책을 이용하여 트랜스코딩

서버 간의 효과 인 부하 분산이 이루어지는 것을 확인하 다.

Page 7: 공학석사학위논문 - nanobio.kangwon.ac.krnanobio.kangwon.ac.kr/old/snsLab/public/허난숙-석사학위논문.pdf산정책에대해알아보며5장에서는성능평가및결과분석을하고6장

목 차

I. 서 론 ·····················································································································1

II. 련 연구 ····················································································································4

2.1. MPEG 압축 표 ······························································································4

2.2. MPEG 압축 기술 ······························································································5

2.2.1. DCT(Discrete Cosine Transformation) ···········································5

2.2.2. 양자화(Quantization) ·············································································6

2.2.3. 가변길이부호화(Variable Length Coding) ·······································6

2.3. 미디어 트랜스코딩 시스템 ··············································································7

2.4. 부하분산 정책 ····································································································9

2.4.1. 라운드로빈(Round-Robin) ···································································9

2.4.2. 최소 속(Least-Connection Scheduling) ·······································9

2.4.3. 가 치기반 라운드로빈(Weighted Round-Robin) ························10

2.4.4. 가 치기반 최소 속(Weighted Least-Connection Scheduling) ··· 10

III. 트랜스코딩 작업 시간 측 ·················································································12

3.1. MPEG-2 미디어의 비트율 변경 트랜스코딩 과정 ·····························12

3.1.1. 픽셀 도메인(Pixel Domain) 트랜스코딩 과정 ·······························12

3.1.2. 압축 도메인(Compressed Domain) 트랜스코딩 과정 ··················13

3.2. 비트율 변경에 따른 트랜스코딩 작업 시간 측 ····································15

IV. 트랜스코딩 부하 측 기반 부하 분산 정책 ··················································22

4.1. 트랜스코딩 부하 측 기반 부하 분배 ······················································22

4.2. TLP 정책의 동작 순서 ·················································································24

V. 성능 측정 결과 분석·······················································································25

5.1. 실험 환경 ··········································································································25

5.1.1. 트랜스코딩 서버 ···················································································26

5.1.2. 부하 발생기 ···························································································26

5.1.3. 성능 측정기 ···························································································27

5.2. 실험결과 ············································································································28

VI. 결 론 ················································································································29

VII. 참 고 문 헌 ···········································································································30

Page 8: 공학석사학위논문 - nanobio.kangwon.ac.krnanobio.kangwon.ac.kr/old/snsLab/public/허난숙-석사학위논문.pdf산정책에대해알아보며5장에서는성능평가및결과분석을하고6장

표 목 차

표 1. 논문에 사 미. ····················································································· 15

표 2. MPEG-2 코 가변 고리즘. ······················································ 17

표 3. 상 트랜스코딩 업 시간 결과. ········································································· 21

표 4. TLP 고리즘. ··················································································································· 23

표 5. 트랜스코딩 경. ····································································································· 26

표 6. 실험에 사 한 MPEG-2 미디어 . ···································································· 26

Page 9: 공학석사학위논문 - nanobio.kangwon.ac.krnanobio.kangwon.ac.kr/old/snsLab/public/허난숙-석사학위논문.pdf산정책에대해알아보며5장에서는성능평가및결과분석을하고6장

그 림 목 차

그림 1. 트랜스코딩 시스 . ······························································································· 7

그림 2. 스 코딩 시스 . ················································································· 9

그림 3. 트랜스코딩 할당. ························································································· 9

그림 4. 하 산 트랜스코딩 시스 . ······················································································· 9

그림 5. 픽 도 트랜스코딩 과 . ··················································································· 13

그림 6. Open-loop 식 트랜스코딩 과 . ··························································· 14

그림 7. Closed-loop 식 트랜스코딩 과 . ······················································· 14

그림 8. 측 트랜스코딩 시간과 측 트랜스코딩 시간 비 . ········································· 21

그림 9. TLP 어흐름도. ······································································································· 24

그림 10. 실험 시스 도. ······························································································· 25

그림 11. QoS가 보 는 클라 언트 수. ··································································· 28

Page 10: 공학석사학위논문 - nanobio.kangwon.ac.krnanobio.kangwon.ac.kr/old/snsLab/public/허난숙-석사학위논문.pdf산정책에대해알아보며5장에서는성능평가및결과분석을하고6장

- 1 -

I. 서 론

무선 네트워크의 발달로 이동 사용자가 증함에 따라 무선 네트워

크 환경에서도 질 높은 수 의 미디어 스트리 서비스를 받기 한 수

요가 증가하고 있다. 그러나 무선 네트워크는 유선 네트워크보다 상

으로 좁은 네트워크 역폭을 가진다. 한 이동 사용자의 이동 단말기

는 유선 네트워크 환경의 단말기에 비해 낮은 컴퓨 워와 은 메모

리 등의 제한 인 시스템 자원을 가지며 핸드폰, 랩톱, PDA 등 이동 단

말기의 종류에 따라서도 그 수 이 다양하다. 따라서 유선 네트워크 환

경의 사용자를 한 고화질 미디어 데이터를 그 로 이동 사용자에게 스

트리 서비스 할 경우 안정 인 QoS(Quality of Service)를 보장하는

스트리 서비스를 제공하기 어렵다. 최근 이런 문제를 해결하기 해

다양한 단말과 네트워크 환경을 고려하여 원본 미디어 데이터를 사용자

환경에 합하게 변환하여 제공하는 미디어 트랜스코딩 서비스를 보편

으로 사용하고 있다[1, 2, 3, 4, 5].

트랜스코딩은 특정 형식으로 인코딩 되어 있는 데이터를 다른 형식

으로 변환하는 작업을 통칭하는 말로서 이미지, 음성, 상 등의 미디어

데이터를 변환 상으로 삼는 멀티미디어 트랜스코딩이 집 으로 연

구되고 있다. 멀티미디어 트랜스코딩은 일반 으로 고성능 단말 환경

넓은 네트워크 역폭에 합하도록 고품질로 인코딩된 미디어 데이터

를 보다 낮은 성능의 단말 환경과 좁은 네트워크 역폭에서 서비스할

수 있도록 비트율 는 임율을 낮추어 데이터 송량을 이거나 단

말의 디스 이 크기에 따라 해상도를 변환하는 작업을 수행한다. 한

활용 목 에 따라 MPEG-1, 2, 4, MJPEG, H.264 등 미디어 데이터 압축

형식 간의 변환 작업을 수행하기도 한다[2, 4, 6].

Page 11: 공학석사학위논문 - nanobio.kangwon.ac.krnanobio.kangwon.ac.kr/old/snsLab/public/허난숙-석사학위논문.pdf산정책에대해알아보며5장에서는성능평가및결과분석을하고6장

- 2 -

VOD 서비스에서의 트랜스코딩 시스템은 미디어 데이터를 리하고

스트리 미디어 서비스를 제공하는 멀티미디어 서버와 서비스를 요청

하고 받는 클라이언트 사이에 치하여 트랜스코딩을 수행한다. 트랜스

코딩은 많은 CPU 자원을 요구하는 작업으로 단일 트랜스코딩 서버로 구

성된 일반 인 트랜스코딩 시스템의 경우 CPU 성능에 따라 동시 속

사용자 수가 제한된다. 한 짧은 시간에 규모 사용자로부터 트랜스코

딩 작업이 집 될 경우 사용자의 QoS가 보장되는 기간 안에 작업을 처

리하기 어렵다. 이 때 여러 의 트랜스코딩 서버로 시스템을 구성하여

트랜스코딩 작업 요청을 분산하면 보다 규모의 트랜스코딩 서비스를

제공할 수 있으나, 각 트랜스코딩 서버 간의 부하 배분이 균형 으로 이

루어지지 않는다면 특정 서버로 트랜스코딩 작업이 집 되어 단일 트랜

스코딩 서버에서와 같은 문제가 발생할 수 있다. 따라서 다수의 트랜스

코딩 서버로 구성된 분산 트랜스코딩 시스템에서 각 트랜스코딩 서버 간

에 트랜스코딩 작업을 균형 으로 분배하는 것이 요한 문제가 된다.

미디어 데이터는 각 데이터의 크기가 일정하지 않으며 트랜스코딩 방식

에 따라 작업 시간 차이가 크다. 이러한 특성으로 인해 작업 요청 순서에

따라 처리되는 라운드로빈과 같은 통 인 부하 분배 방법은 미디어 데

이터의 처리에 합하지 않다. 본 논문에서는 미디어 데이터의 특성을

반 하여 작업을 분배하기 해 MPEG-2 미디어 데이터의 트랜스코딩

과정을 분석하여 비트율 변경에 따른 트랜스코딩 시간 측 알고리즘의

연구를 진행하 다. 한 측한 트랜스코딩 작업 시간을 이용하여 각

트랜스코딩 서버로 트랜스코딩 작업을 분배하는 트랜스코딩 부하 측

기반 부하 분산 정책에 해 연구하 다. 그 과정에서 리 스 기반의 분

산 트랜스코딩 시스템을 구 하 고 성능 평가를 통하여 제안한 부하 분

산 정책을 이용하 을 경우 트랜스코딩 서버 간의 효과 인 부하 분산이

이루어지는 것을 확인하 다.

본 논문의 구성은 다음과 같다. 2장에서는 본 논문과 련된 연구를

Page 12: 공학석사학위논문 - nanobio.kangwon.ac.krnanobio.kangwon.ac.kr/old/snsLab/public/허난숙-석사학위논문.pdf산정책에대해알아보며5장에서는성능평가및결과분석을하고6장

- 3 -

설명하고 3장에서는 MPEG-2 미디어 데이터의 트랜스코딩 과정을 분석

하여 트랜스코딩 작업 시간 측 알고리즘을 제안한다. 4장에서는 3장에

서 제안한 알고리즘을 바탕으로 한 트랜스코딩 부하 측 기반 부하 분

산 정책에 해 알아보며 5장에서는 성능 평가 결과 분석을 하고 6장

에서 본 논문의 결론을 맺는다.

Page 13: 공학석사학위논문 - nanobio.kangwon.ac.krnanobio.kangwon.ac.kr/old/snsLab/public/허난숙-석사학위논문.pdf산정책에대해알아보며5장에서는성능평가및결과분석을하고6장

- 4 -

II. 련 연구

2.1. MPEG 압축 표

MPEG(Moving Picture Experts Group)은 표 인 음성과 상 압

축 표 하나로 압축 알고리즘의 차이에 따라 MPEG-1, 2, 4 등으로

분류된다. 그 MPEG-2는 MPEG-1의 기능을 개선 확장한 압축 표

이다. MPEG-1은 DSM(Digital Storage Media)에 1.5Mbps 이내로 음

성과 상을 압축하여 장하기 한 목 으로 개발 되었다. 기존 통신

분야에서 사용되던 실시간 처리 부호화 방식에서 벗어나 보통 B 임

이라 불리는 양방향 움직임 측 기술이 도입되어 움직임 보상의 정 도

가 하게 개선되었다. 한 DCT 변환과 장 미디어에서 고속 속

기능을 고려한 스트림 구성인 GOP(Group of Pictures) 등의 특징도 추

가되었으며 추후에 동 상 부호화 방식의 기본 기술로 확립되었다.

MPEG-2는 5~10Mbps 이상의 비트율로 MPEG-1에서보다 높은 화

질을 실 하기 해 개발되었으며 방송 분야에서의 응용을 주목 으로

한다. 방송용 상을 해 새로운 목표 비트율을 설정하고, 비트율을 높

여 비월주사 방식에도 응할 수 있도록 하거나, 움직임이 빠른 화면에

서 고화질을 얻는 동시에 정지 상에서도 고해상도를 얻을 수 있도록

필드/ 임 응 부호화 방식을 채택하여, 상의 성질에 따라 VLC 테

이블을 교체하는 연구를 진행하여 개발되었다.

MPEG-1, 2의 PS(Program Stream)는 비디오 시 스(Video

Sequence) 계층과 GOP 계층, 그리고 픽처(Picture) 계층으로 구성되어

있다. 비디오 시 스 계층은 일련의 같은 속성을 갖는 화면 그룹으로서

화면 크기, 화면 비율 등의 기본 인 정보를 가지고 있다. GOP 계층은

Page 14: 공학석사학위논문 - nanobio.kangwon.ac.krnanobio.kangwon.ac.kr/old/snsLab/public/허난숙-석사학위논문.pdf산정책에대해알아보며5장에서는성능평가및결과분석을하고6장

- 5 -

랜덤 액세스의 단 가 되는 화면 그룹의 최소 단 로 화를 상 하는

기본 단 이다. 픽처 계층은 화면 한 장의 공통된 속성으로 하나의

임과 동일하다.

픽처 계층에서 픽처는 기능 으로 서로 다른 I, P, B, D 네 종류의

타입을 가진다. I 임은 자신의 화면 정보만으로 부호화되는 화면으

로, 다른 임과는 상 없이 독립 으로 화면에 나타날 수 있기 때문

에 랜덤 액세스를 해 하나의 GOP 내에 최소 1개 이상의 I 임이

필요하며 I 임에서부터 화가 상 된다. P 임은 I 임 는

다른 P 임으로부터의 측을 수행함에 따라 생기는 화면이다. 일반

으로 P 임에는 순방향 임 간 측 정보를 담고 있다. B

임은 MPEG의 특징인 방향 측에 의해 생기는 화면으로, 일반 으로

과거 상으로부터 측하는 순방향 임 간 측 정보와 미래로부터

측하는 역방향 임 간 측 정보 그리고 후 양방향으로부터의

측에 의한 정보를 담고 있다. D 임은 고속 재생(Fast-Forward), 역

방향 고속 재생(Fast-Rewind) 등에 쓰이는 DC(Direct Current:직류) 성

분만을 갖는 화면으로 VCR 기능의 구 에 요한 역할을 하지만 실제

에서는 거의 사용되지 않는다[10].

2.2. MPEG 압축 기술

2.2.1. DCT(Discrete Cosine Transformation)

DCT(Discrete Cosine Transformation)는 공간 인 화상을 주 수별

로 분해하는 것으로, 주 와 고주 성분으로 변환함으로써 상 압축

을 한 비 작업이다. 주 는 이웃하는 픽셀들과 색차나 밝기의 차

이가 거의 없거나 고 고주 는 차이가 많은 것을 의미한다. 보통의

Page 15: 공학석사학위논문 - nanobio.kangwon.ac.krnanobio.kangwon.ac.kr/old/snsLab/public/허난숙-석사학위논문.pdf산정책에대해알아보며5장에서는성능평가및결과분석을하고6장

- 6 -

상은 통계 으로 고주 보다 주 가 많기 때문에 DCT를 수행할 경우

부분의 값들이 주 에 집 된다. 상 으로 고주 에는 값이 거의

존재하지 않기 때문에 고주 부분의 값을 무시해도 상에 큰 향을

미치지 않는다. DCT는 8×8 크기의 블록을 기반으로 이루어지며 DCT

과정을 통해 얻어진 결과 값을 DCT 계수라고 한다. 일반 으로 DCT 계

수는 실수 값으로 그 로 장할 경우 많은 장 공간을 필요로 하기 때

문에 높은 압축 효율을 얻을 수 없다[10].

2.2.2. 양자화(Quantization)

양자화는 DCT 계수 값에 하여 실제 인 데이터 압축을 수행한다.

지그재그 스캔(Zigzag Scan), 체 스캔(Alternative Scan)과 같이 상

의 화질에 향을 미치는 정도를 고려하여 일정하게 정의된 순서에 의해

DCT 계수를 읽어 들이면 비슷한 특성을 가지는 값들이 연속 으로 나

타나게 된다. 이 값들을 미리 정해지거나 사용자의 의해 정의된 양자화

계수로 나눔으로써 일정한 구간으로 재편성하고 정수로 변환한다. 이 때

양자화 계수가 클수록 압축률이 높아지고 반 로 양자화 계수가 작을수

록 압축률이 낮아진다. 따라서 양자화 계수에 따라서 해당 미디어 데이

터의 비트율이 결정되며, 압축률이 높을수록 낮은 비트율의 미디어 데이

터가 가변길이부호화 단계에서 생성된다[10].

2.2.3. 가변길이부호화(Variable Length Coding)

가변길이부호화(Variable Length Coding)는 높은 확률로 발생하는

값을 짧은 코드로, 낮은 확률로 발생하는 값은 보다 긴 코드로 지정함으

Page 16: 공학석사학위논문 - nanobio.kangwon.ac.krnanobio.kangwon.ac.kr/old/snsLab/public/허난숙-석사학위논문.pdf산정책에대해알아보며5장에서는성능평가및결과분석을하고6장

- 7 -

로써 데이터 흐름의 체 비트 수를 감소시키는 부호화 방법이다. 가변

길이부호화(VLC) 과정에서는 가상 버퍼를 만들고 양자화 결과 값을 읽

어 들여 가변길이부호화를 수행하는데 이 때 가상 버퍼에 발생하는 비트

의 양에 따라 비트율을 제어한다[10].

2.3. 미디어 트랜스코딩 시스템

일반 인 트랜스코딩 시스템의 구조는 그림 1과 같다. 사용자는 트

랜스코딩에 필요한 정보를 트랜스코딩 서버에 송을 한다. 트랜스코딩

서버에서는 요구된 미디어 스트림의 원본을 미디어서버에서 읽어 사용

자가 요구한 상크기, 비트율, 임율에 따라서 트랜스코딩한 후 사용

자에게 송한다. 를 들면 트랜스코딩 서버로부터 CIF(352×288)등 의

25 임/ , 비트율 100kbps의 비디오 스트리 을 QCIF(176×144)등

의 15 임/ , 비트율 50kbps의 스트리 으로 사용자에게 송할 수가

있다. 트랜스코딩 서버에서는 무선망의 특성에 합하도록 비트율, 해상

도, 임율을 가변 으로 일 수가 있다.

그림 1. 트랜스코딩 시스 .

Page 17: 공학석사학위논문 - nanobio.kangwon.ac.krnanobio.kangwon.ac.kr/old/snsLab/public/허난숙-석사학위논문.pdf산정책에대해알아보며5장에서는성능평가및결과분석을하고6장

- 8 -

기존의 트랜스코딩 시스템을 구축하는 방법들로는 소스기반 정 인

코딩 시스템, 정 트랜스코딩 서버 할당 방식, 부하 분산 트랜스코딩 서

버 방식이 있다[5, 7]. 그림 2는 소스기반 정 인코딩 시스템 방식을 보

여 다. 이 방식은 사용자의 요구에 하여 미디어 일들을 미리 사용

자 등 별로 트랜스코딩 하여 서버에 장하여 사용하는 방식이다. 이러

한 시스템은 스트리 미디어를 실시간으로 트랜스코딩 하여 송하는

방식보다 서버의 부하가 심하지 않다는 장 이 있으나 무선 랜 환경에서

사용자의 이동에 의한 네트워크 변화에 응할 수 없다는 단 이 있다.

한 모든 미디어 일들을 각 등 별로 트랜스코딩 하여 각각의 다른

미디어 일들로 장해야 한다는 부담이 있다.

그림 3은 정 트랜스코딩 서버 할당 방식을 보여주고 있다. 이 방

식은 이동 단말기를 사용하는 사용자와 연결된 무선기지국에서 가장 가

까운 트랜스코딩 서버를 선택하고 스트리 서비스를 받게 된다. 이 방

법은 트랜스코딩 서버를 선택하는 조건으로 사용자와의 근 도 이외에

서버를 선택하는 기 이 없기 때문에 특정 트랜스코딩 서버에 부하가 집

될 수 있는 단 이 있다.

정 트랜스코딩 서버 방식의 문제 인 특정 서버에 부하가 집 되

는 부하 불균형을 피하기 하여 분배 서버를 두고 트랜스코딩 서버들의

부하 상태를 악하여 트랜스코딩 요구들을 처리하는 부하 분산 트랜스

코딩 시스템 방식이 있다. 그림 4에 나타나듯이 이 방식에서는 분배서버

는 트랜스코딩 서버들과 연동하여 정해진 부하분배 정책에 따라서 트랜

스코딩 서버를 선택하게 된다. 통 으로 클러스터 시스템에서는 부하

분산 정책으로는 RR, WRR, DWRR, WLC 알고리즘이 사용되고 있다[7,

8].

Page 18: 공학석사학위논문 - nanobio.kangwon.ac.krnanobio.kangwon.ac.kr/old/snsLab/public/허난숙-석사학위논문.pdf산정책에대해알아보며5장에서는성능평가및결과분석을하고6장

- 9 -

그림 2. 스 코딩 시스 . 그림 3. 트랜스코딩 할당.

그림 4. 하 산 트랜스코딩 시스 .

2.4. 부하분산 정책

2.4.1. 라운드로빈(Round-Robin)

라운드로빈 방식은 사용자 요청이 들어오면 순서 로 서버에 할당하

는 방식으로, 부하 간 우선순 의 개념이 없고 서버의 연결 개수나 응답

시간 등은 고려하지 않는다. 스 쥴링의 기 는 사용자 기반이며 실제

서버들의 상태들을 고려하지 않기 때문에 효과 인 부하 분산을 기 하

기 힘들고 서버 사이에 부하 불균형이 심각해지는 문제가 발생할 수 있

다[6].

Page 19: 공학석사학위논문 - nanobio.kangwon.ac.krnanobio.kangwon.ac.kr/old/snsLab/public/허난숙-석사학위논문.pdf산정책에대해알아보며5장에서는성능평가및결과분석을하고6장

- 10 -

2.4.2. 최소 속(Least-Connection Scheduling)

최소 속 방식은 가장 속이 은 서버로 요청을 연결하는 방식이

다. 각 서버에서 동 으로 실제 속한 숫자를 세어야 하므로 동 인 스

쥴링 알고리즘 하나이다. 비슷한 성능의 서버로 구성된 시스템에서

는 부하가 아주 큰 요청이 한 서버로만 집 되지 않기 때문에, 데이터의

크기가 작고 사용자 속 부하가 매우 큰 경우에 효과 으로 부하 분산

할 수 있다. 그러나 미디어 스트리 과 같이 긴 속을 요구하는 사용자

요청과 비교 짧은 속을 요구하는 사용자 요청이 섞여있는 동작 환경

에서는 서버들 간의 부하 불균형을 래할 수 있다. 특히 성능이 서로 다

른 이종 노드들로 구성된 클러스터 서버 환경에서는 LC같이 사용자

속 숫자로 부하 배분을 수행하는 것은 서버들의 비효율 인 사용 결과가

발생하기 쉽다[6].

2.4.3. 가 치기반 라운드로빈(Weighted Round-Robin)

가 치기반 라운드로빈은 실제 서버에 서로 다른 가 치를 설정하여

부하 분산에 사용하는 방식이다. 각 서버에 가 치를 임의로 부여할 수

있으며, 여기서 지정한 가 치 값을 통해 처리 순서를 정한다. 를 들어

기본 가 치가 1이고 서버 A, B, C가 각각 4, 3, 2의 가 치를 갖는 경우

스 쥴링 순서는 ABCABCABA가 된다. 가 치기반 라운드로빈을 사용

할 경우 서버의 연결 개수를 셀 필요가 없고 동 스 쥴링 알고리즘보

다 스 쥴링 부담이 다. 그러나 사용자 요청이 폭주할 경우 라운드로

빈과 마찬가지로 서버 사이에 심각한 부하 불균형이 발생할 수 있다[6].

Page 20: 공학석사학위논문 - nanobio.kangwon.ac.krnanobio.kangwon.ac.kr/old/snsLab/public/허난숙-석사학위논문.pdf산정책에대해알아보며5장에서는성능평가및결과분석을하고6장

- 11 -

2.4.4. 가 치기반 최소 속(Weighted Least-Connection

Scheduling)

가 치기반 최소 속 방식은 최소 속 방식의 한 부분으로서 서버

간의 성능 가 치를 부여하여, 가 치가 높은 서버에서 더 많은 사용자

요청을 받아들일 수 있도록 한다. 가 치기반 최소 속 방식은 최소

속 방식에 비해 가 치에 따라 부하를 배분하는데 부가 인 비용이 발생

한다[6].

Page 21: 공학석사학위논문 - nanobio.kangwon.ac.krnanobio.kangwon.ac.kr/old/snsLab/public/허난숙-석사학위논문.pdf산정책에대해알아보며5장에서는성능평가및결과분석을하고6장

- 12 -

III. 트랜스코딩 작업 시간 측

3.1. MPEG-2 미디어의 비트율 변경 트랜스코딩 과정

트랜스코딩은 원본 미디어 데이터를 입력받아 목 하는 형태로 변환

하는 작업을 수행하여 출력한다. 가장 단순한 트랜스코딩 방법은 원본

미디어 데이터를 픽셀 도메인(Pixel-domain) 단계까지 완 하게 디코딩

한 후 사용될 목 에 합하도록 비트율, 임율, 해상도 등을 변경한

후 다시 인코딩한다. 이러한 트랜스코딩 방법을 픽셀 도메인 트랜스코딩

이라 한다. 픽셀 도메인 트랜스코딩은 미디어 데이터를 픽셀 도메인까지

완 하게 디코딩한 후 재인코딩함으로써 높은 CPU 처리량을 요구하며,

처리해야 하는 데이터의 양이 크기 때문에 많은 메모리 용량을 필요로

한다. CPU, 메모리 등의 시스템 자원의 활용 면에서 보다 효율 인 트랜

스코딩 방법으로 미디어 데이터를 움직임 벡터(MV : Motion Vector),

DCT 계수, 양자화 된 DCT 계수 등 변환하고자 하는 작업에 직 으로

향을 미치는 압축 단계까지만 디코딩하여 비트율, 임율, 해상도 등

을 변경하고 재인코딩하는 압축 도메인(Compressed-domain) 트랜스코

딩이 있다. 본 장에서는 픽셀 도메인과 압축 도메인 방식을 이용하여

MPEG-2 미디어 데이터의 비트율을 변경하는 트랜스코딩의 과정에

하여 알아본다.

3.1.1. 픽셀 도메인(Pixel Domain) 트랜스코딩 과정

그림 5는 픽셀 도메인 트랜스코딩 과정을 나타낸다. 입력된

MPEG-2 미디어 데이터는 첫 번째로 가변길이복호화(VLD : Variable

Length Decoding) 과정을 거쳐 양자화 된 DCT 계수, MV와 같은 매크

Page 22: 공학석사학위논문 - nanobio.kangwon.ac.krnanobio.kangwon.ac.kr/old/snsLab/public/허난숙-석사학위논문.pdf산정책에대해알아보며5장에서는성능평가및결과분석을하고6장

- 13 -

로블록 단 의 데이터 등 인코딩 과정에서 가변길이부호화(VLC) 되기

의 데이터 형태로 디코딩된다. 다음으로 역양자화(IQ : Inverse

Quantization) 과정을 거쳐 양자화 되기 의 DCT 계수 형태로, 역

DCT(IDCT : Inverse DCT) 과정을 통해 비트스트림 단 의 데이터로

디코딩된다. 픽셀 도메인 단계까지 완 히 디코딩 된 원본 미디어 데이

터는 매크로블록마다 목 비트율에 따라 MV와 인코딩 모드 결정

(Mode Decision)을 새롭게 계산하고 다시 DCT와 양자화, 가변길이부호

화 과정을 통해 재인코딩을 수행한다.

그림 5. 픽 도 트랜스코딩 과 [2].

3.1.2. 압축 도메인(Compressed Domain) 트랜스코딩 과정

압축 도메인 트랜스코딩은 양자화 된 DCT 계수, DCT 계수 등 인코

딩 간 과정에서 발생하는 압축 데이터 단 로 원본 미디어 데이터를

디코딩 한 후 비트율을 조 하여 재인코딩한다. 이때 원본 미디어 데이

터를 디코딩하는 수 에 따라 Open-loop와 Closed-loop 방식으로 나

수 있다. 그림 6과 그림 7은 각각 Open-loop와 Closed-loop 방식의 트랜

스코딩 과정을 나타낸다. Open-loop 방식은 가변길이복호화와 역양자화

과정을 통해 원본 미디어 데이터를 양자화 된 DCT 계수 단 로 디코딩

Page 23: 공학석사학위논문 - nanobio.kangwon.ac.krnanobio.kangwon.ac.kr/old/snsLab/public/허난숙-석사학위논문.pdf산정책에대해알아보며5장에서는성능평가및결과분석을하고6장

- 14 -

하며 Closed-loop 방식은 그보다 한 단계 더 들어가 역DCT까지 수행하

여 양자화 되지 않은 DCT 계수 단 로 디코딩한다. 각 방식으로 양자화

된 DCT 계수와 양자화 되지 않은 DCT 계수로 디코딩 된 원본 미디어

데이터는 목 비트율에 따라 양자화 계수를 재설정하여 양자화를 수행

함으로써 비트율을 변경할 수 있다. 다음으로 DCT와 가변길이부호화 과

정을 통해 목 비트율로 변환된 MPEG-2 미디어 데이터로 압축한 결과

를 볼 수 있다.

그림 6. Open-loop 식 트랜스코딩 과 [2].

그림 7. Closed-loop 식 트랜스코딩 과 [2].

Page 24: 공학석사학위논문 - nanobio.kangwon.ac.krnanobio.kangwon.ac.kr/old/snsLab/public/허난숙-석사학위논문.pdf산정책에대해알아보며5장에서는성능평가및결과분석을하고6장

- 15 -

3.2. 비트율 변경에 따른 트랜스코딩 작업 시간 측

미 단

TrT 트랜스코딩 업 수행에 는 시간 sec

TrR 변 비트 에 따라 상 는 트랜스코딩 업 수행 시간 sec

SourceBitrate 미디어 원본 비트 bps

TargetBitrate 트랜스코딩 업 통해 변 할 비트 bps

DiffBitrate 원본 비트 과 트랜스코딩 비트 차 값 bps

VLC, VLD 가변 , 가변 복 에 는 시간 sec

Q, iQ 역 에 는 시간 sec

DCT, iDCT DCT 역DCT에 는 시간 sec

MC Motion Compensation에 는 시간 sec

ME Motion Estimation에 는 시간 sec

Sampling Sampling에 는 시간 sec

WriteTime 1Byte 를 리에 쓰는 는 시간 sec

CPUClock 트랜스코딩 CPU Clock Hz

playtime 미디어 재생시간 sec

inst putAC 함수를 할 경우 실행 는 어 개수 개

UnitOfWrite putAC 함수에 를 에 쓰는 단 bit

STT 원본 비트 과 동 하게 트랜스코딩 수행할 때 는 시간 sec

표 1. 논문에 사 미.

본 에서는 앞에서 분석한 비트율 변경 트랜스코딩 과정을 바탕으

로 비트율 변경 트랜스코딩에 소요되는 작업 시간을 측할 수 있는 알

고리즘을 제안한다. 트랜스코딩 작업 시간은 트랜스코딩 각 과정의 수행

시간을 합한 것으로, 표 1의 기호를 이용하여 수식으로 정리하면 식 1과

같이 표 할 수 있다. 가변길이복호화(VLD)와 역양자화(iQ), 역

DCT(iDCT) 과정을 거쳐 미디어 데이터를 매크로블록 단 까지 완 하

Page 25: 공학석사학위논문 - nanobio.kangwon.ac.krnanobio.kangwon.ac.kr/old/snsLab/public/허난숙-석사학위논문.pdf산정책에대해알아보며5장에서는성능평가및결과분석을하고6장

- 16 -

게 디코딩한 후 ME/MC (Motion Estimation / Motion Compensation)와

샘 링(Sampling) 등으로 MV와 매크로블록 정보를 재조정하고 DCT와

양자화, 가변길이부호화(VLC) 과정을 통해 다시 인코딩하는 일반 인

트랜스코딩 과정의 작업시간이다.

식 1.

그러나 본 연구에서는 비트율을 변경하는 트랜스코딩의 작업 시간만

을 고려한다. 임율과 해상도 등의 변경이 없기 때문에 움직임 차이

값 등 매크로블록의 정보를 재조정하는 과정이 생략되므로 ME, MC, 샘

링 등의 과정에 소요되는 시간은 0으로 처리할 수 있다. 한 DCT와

양자화는 8×8 크기의 블록 단 로 수행되는 과정으로 비트율의 높고 낮

음에 계없이 동일한 양의 연산을 수행하므로 비트율 변경에 따른 트랜

스코딩 시간에 향을 주지 않는다. 따라서 비트율만 변경하는 트랜스코

딩의 작업 시간은 비트율 변경에 직 으로 향을 주는 가변길이부호

화(VLC)와 그 외 과정의 작업 시간의 합으로 식 2와 같이 표 할 수 있

다.

∵ ∵

식 2.

Page 26: 공학석사학위논문 - nanobio.kangwon.ac.krnanobio.kangwon.ac.kr/old/snsLab/public/허난숙-석사학위논문.pdf산정책에대해알아보며5장에서는성능평가및결과분석을하고6장

- 17 -

Algorithm VLC {

/* DC 계수 */

putDClum(dc_value);

/* AC 계수 */

run = 0;

for(n=1; n<64; n++) {

if(ac_value != 0) {

putAC(run, dc_value)

run = 0;

}

else run++;

}

}

표 2. MPEG-2 코 가변 고리즘.

가변길이부호화(VLC)는 양자화 결과 값을 읽어 들여 엔트로피 부호

화함으로써 압축을 수행하는 과정으로 MPEG-2 인코더에서는 런 랭스

코딩과 허 만 코딩을 이용한다. 양자화 된 결과 값을 지그재그 는

체 스캔 방법을 통해 읽어 들이면 비슷한 수 의 양자화 결과 값들이 서

로 모이게 되는데 이때 비트율이 낮을수록 0인 양자화 결과 값이 연속

으로 나타나는 빈도가 높아진다. 0인 양자화 결과 값이 연속 으로 나타

나는 빈도를 셀 때 런 랭스 코딩을 이용하며 0이 아닌 양자화 결과 값이

나타났을 때 이 까지 읽어 들인 양자화 결과 값을 일에 쓰기 하여

허 만 코딩을 이용한다. 표 2는 MPEG-2 인코더의 가변길이부호화

(VLC) 과정 런 랭스 코딩에 한 유사코드이다[12, 13]. 8×8 크기의

블록 단 로 양자화가 수행되기 때문에 한 양자화 결과 값은 블록당

주 에 해당하는 1개의 DC 계수와 고주 에 해당하는 63개의 AC 계수

로 발생한다. 이때 DC 계수는 이 블록의 DC 계수와 차분부호화를 통

해 별도로 처리되고 나머지 63개의 AC 계수가 런 랭스 코딩을 통해 처

Page 27: 공학석사학위논문 - nanobio.kangwon.ac.krnanobio.kangwon.ac.kr/old/snsLab/public/허난숙-석사학위논문.pdf산정책에대해알아보며5장에서는성능평가및결과분석을하고6장

- 18 -

리된다. run 변수를 이용하여 연속 으로 0 값을 가지는 AC 계수가 나

타나는 횟수를 세다가 0이 아닌 값을 가지는 AC 계수가 나타나면

putAC 함수를 호출하여 이 까지의 데이터를 부호화한다. 변환할 비트

율이 높아질수록 연속 으로 0 값을 가지는 AC 계수의 출 빈도가 낮

아지고 putAC 함수를 호출하는 횟수가 많아지기 때문에 변환할 비트율

이 낮을 때 연속 으로 0 값을 가지는 AC 계수의 출 빈도만 계산하는

것보다 상 으로 더 많은 작업 시간을 소모하게 된다.

× ∵바이트저장함수의호출횟수

식 3.

식 4.

가변길이부호화(VLC) 과정에 소요되는 작업 시간은 식 3과 같이 표

할 수 있다. n은 각 블록에 발생하는 0이 아닌 값을 가지는 AC 계수가

연속 으로 발생하는 횟수를 나타내며 WriteTime은 putAC 함수로 1 바

이트의 데이터를 일에 쓰는데 걸리는 시간을 의미한다. β는 연속 으

로 0 값을 가지는 AC 계수의 출 빈도를 세는 등의 기타 작업에 소요

되는 시간이다. 이 때 WriteTime에 해당하는 작업 시간을 구하기 해

putAC 함수의 어셈블리어 코드를 분석하 다. 로그램을 구성하는 어

셈블리어 명령의 개수는 로세서의 종류에 따라 다를 수 있으며 본 연

구에서는 Intel과 AMD 로세서를 고려하 다. 읽어 들인 AC 계수의

수가 정해진 범 를 벗어나지 않고 기타 오류 없이 동작한다고 가정했을

때 putAC 함수를 호출할 경우 총 55개의 명령이 실행되는 것을 확인하

다. CPU의 한 클럭 당 하나의 명령을 수행한다면 putAC 함수를 수행

하는데 걸리는 시간은 식 4와 같다. 한 원본 비트율과 변환할 비트율

의 차를 통해 변환할 비트율의 높고 낮음에 따라 0이 아닌 값을 가지는

AC 계수가 연속 으로 발생하는 빈도 n의 상 인 값을 구할 수 있다.

Page 28: 공학석사학위논문 - nanobio.kangwon.ac.krnanobio.kangwon.ac.kr/old/snsLab/public/허난숙-석사학위논문.pdf산정책에대해알아보며5장에서는성능평가및결과분석을하고6장

- 19 -

이와 같은 내용으로 식 3과 식 4를 정리하여 식 5로 표 할 수 있다. 식

5의 계산 결과는 비트율에 따라 상 인 것으로, 변환할 비트율에 따라

식 5의 계산 결과만큼 은 트랜스코딩 작업 시간을 소모하게 된다. 식 6

은 식 5와 동일한 내용으로 상수항과 변수항에 따라 정리한 것이다. 식 6

에 의하면 상 인 트랜스코딩 시간 TrR은 원본 비트율과 변환할 비트

율의 차에 비례하며, 변환할 비트율이 클수록 그 값이 작아져 보다 높은

비트율로 변환할수록 더 많은 트랜스코딩 작업 시간을 소요함을 알 수

있다.

××

식 5.

×× × 식 6.

식 1에서 부터 유도한 식 6에 의하여 임의의 트랜스코딩 서버에서

임의의 화를 트랜스코딩하는데 소요되는 상 인 시간을 측할 수

있었다. 그러나 이러한 상 인 시간을 이용해서는 실제 분산 트랜스코

딩 서비스 환경에서의 트랜스코딩 서버 간 부하 균형을 맞추기 어렵다.

따라서 상 인 트랜스코딩 시간을 인 트랜스코딩 시간으로 변

환하는 과정이 필요하다. 식 7에서 식 11까지의 식은 상 인 트랜스코

딩 시간을 이용하여 인 트랜스코딩 시간을 측하기 한 식을 보

여 다. 앞서 언 한 바와 같이 트랜스코딩 목 비트율에 따라 트랜스

코딩 시간이 비례하기 때문에, 상 인 트랜스코딩 시간과 원본 비트율

로 트랜스코딩했을 때의 시간의 비와 트랜스코딩 목 비트율 값들의 비

를 이용하여 식 7을 유도할 수 있다. 식 7을 개하여 풀어보면 최종 으

로 식 11을 이용하여 인 트랜스코딩 시간을 측할 수 있다.

Page 29: 공학석사학위논문 - nanobio.kangwon.ac.krnanobio.kangwon.ac.kr/old/snsLab/public/허난숙-석사학위논문.pdf산정책에대해알아보며5장에서는성능평가및결과분석을하고6장

- 20 -

× 식 7.

× ×× 식 8.

× ×

식 9.

′ ×

식 10.

′× 식 11.

표 3은 재생 시간이 1448 이며 원본 비트율이 1362Kbps인 미디어

데이터를 2.20GHz CPU를 가지는 트랜스코딩 서버에서 비트율을

100Kbps부터 1000Kbps까지 변경하는 트랜스코딩을 수행할 때, 원본 비

트율인 1362Kbps로 트랜스코딩 할 때 소요되는 작업 시간에 상 인

트랜스코딩 시간을 식 6에 의해 측한 것이다. 표 3의 결과에 따르면 미

디어 데이터의 비트율을 100Kbps로 변환할 경우, 원본 비트율인

1362Kbps로 변환할 때 소요되는 트랜스코딩 작업 시간보다 5.446

은 시간이 소요된다는 것을 알 수 있다. 그림 8은 원본 비트율인

1362Kbps로 변환할 때 소요되는 시간을 측정한 후 표 3의 상 인 트

랜스코딩 시간을 용하여 측한 트랜스코딩 시간과 각 트랜스코딩 목

비트율로 변경할 때 소요되는 시간을 실제로 측정한 결과를 비교한

그래 이다. 비트율 변경 트랜스코딩의 경우 미디어 데이터의 해상도에

따라 최소한으로 가질 수 있는 비트율의 한계가 있기 때문에 일정 수

이하의 목 트랜스코딩 비트율로 트랜스코딩 하여도 실제 트랜스코딩

된 데이터는 그 일정 수 이하로 변경되지 않는 특징이 있다. 그림 8에

서 목 비트율이 600Kbps 이하일 때 측정된 트랜스코딩 작업 시간이

크게 변화하지 않는 것은 이러한 특성이 나타난 것으로 보이며, 목 비

Page 30: 공학석사학위논문 - nanobio.kangwon.ac.krnanobio.kangwon.ac.kr/old/snsLab/public/허난숙-석사학위논문.pdf산정책에대해알아보며5장에서는성능평가및결과분석을하고6장

- 21 -

트율이 600Kbps 이상일 경우 측정된 트랜스코딩 작업 시간은 식 6을 이

용하여 측된 작업 시간과 유사하게 증가함을 확인할 수 있다.

비트 100Kbps 200Kbps 300Kbps 400Kbps 500Kbps

트랜스코딩시간5.446 sec 5.01447 sec 4.58293 sec 4.15139 sec 3.71985 sec

비트 600Kbps 700Kbps 800Kbps 900Kbps 1000Kbps

트랜스코딩시간3.28832 sec 2.85678 sec 2.42524 sec 1.9937 sec 1.56217 sec

표 3. 상 트랜스코딩 업 시간 결과.

0 200 400 600 800 1000 1200 1400

0

100

200

300

400

500

600

700

800

900

Tra

nsco

din

g T

ime

(se

c)

Transcoding Target Bitrate (Kbps)

Measured Transcoding Time Estimated Transcoding Time

그림 8. 측 트랜스코딩 시간과 측 트랜스코딩 시간 비 .

Page 31: 공학석사학위논문 - nanobio.kangwon.ac.krnanobio.kangwon.ac.kr/old/snsLab/public/허난숙-석사학위논문.pdf산정책에대해알아보며5장에서는성능평가및결과분석을하고6장

- 22 -

IV. 트랜스코딩 부하 측 기반 부하 분산 정책

4.1. 트랜스코딩 부하 측 기반 부하 분배

사용자의 QoS를 만족하며 스트리 서비스를 제공하기 해서는 미

디어 데이터가 유효한 기간 안에 트랜스코딩 작업을 완료하여 사용자에

게 달해야한다. 때문에 부하 분산 서버는 사용자로부터 요청을 받아들

을 경우 한 트랜스코딩 서버를 선택하여 트랜스코딩 작업을 분배

하는 것이 매우 요한 문제가 된다. 본 논문에서는 미디어 데이터의 트

랜스코딩 작업 시간을 측하여 해당 미디어 데이터를 가장 합한 시간

안에 처리하여 사용자에게 제공할 수 있는 트랜스코딩 서버를 선택하는

트랜스코딩 부하 측 기반 부하 분배 정책인 TLP(Transcoding Loads

Prediction)를 제안한다.

표 4는 TLP의 유사코드이다. 비트율을 변경하는 트랜스코딩 작업을

수행할 경우의 트랜스코딩 부하를 측하고 해당 작업을 처리할 가장

합한 트랜스코딩 서버를 선택하는 과정을 보여 다. load_prediction() 함

수는 요청된 비트율 변경 트랜스코딩 작업을 시스템의 각 트랜스코딩 서

버에서 수행할 경우 소요되는 트랜스코딩 작업 시간을 계산하여 반환하

고 결과 값은 load[node_no]에 장한다. indc[node_no]는 시스템의 각

트랜스코딩 서버에서 재 처리 인 트랜스코딩 부하량을 가리키는 변

수이다. select_mts() 함수에서는 재 처리 인 트랜스코딩 부하량인

indc[node_no] 변수의 값과 새로 요청된 트랜스코딩 작업의 부하량인

load[node_no] 값을 합산하여, 새로운 작업이 추가될 경우 가장 은 부

하량을 발생하는 트랜스코딩 서버를 찾아 해당 트랜스코딩 서버의 노드

번호를 반환한다. 부하 분배 서버는 select_mts() 함수의 결과를 반 하

여 새로운 트랜스코딩 작업 요청을 트랜스코딩 서버에 할당한다.

Page 32: 공학석사학위논문 - nanobio.kangwon.ac.krnanobio.kangwon.ac.kr/old/snsLab/public/허난숙-석사학위논문.pdf산정책에대해알아보며5장에서는성능평가및결과분석을하고6장

- 23 -

struct mts_info mts[node_no] : 트랜스코딩 보를 하고 는 체 변수

double indc[node_no] : 재 트랜스코딩 에 수행중 트랜스코딩 하량

double load[node_no] : 새 청 트랜스코딩 업 하 측량

double tmp[node_no] : 트랜스코딩 하 측시 사 는 시 변수

// 각 트랜스코딩 별 비트 에 따른 트랜스코딩 하량 측

for(i=0; i<node_no; i++)

load[i] = load_prediction(s_bitrate, t_bitrate, playtime, mts[i].cpu_hz);

select_mts(load);

double load_prediction(double s_br, double t_br, double p_time, double cpu)

{

// 변 할 비트 에 따라 상 트랜스코딩 하량 계산

tr_r = ((INST * p_time) / (8 * cpu * 1024)) * (s_b - t_b) * 1024;

tr_t = p_time - tr_r;

}

int select_mts(double l[])

{

// 재 각 트랜스코딩 하량과 새 청 업 하량 합산

for(i=0; i<node_no; i++)

tmp[i] = indc[i] + l[i];

// 새 운 업 가 경우 가 하를 는 트랜스코딩 택

for(i=0; i<node_no; i++) {

if(tmp[i] < min) {

min = tmp[i];

idx = i;

}

}

indc[idx] = tmp[idx];

}

표 4. TLP 고리즘.

Page 33: 공학석사학위논문 - nanobio.kangwon.ac.krnanobio.kangwon.ac.kr/old/snsLab/public/허난숙-석사학위논문.pdf산정책에대해알아보며5장에서는성능평가및결과분석을하고6장

- 24 -

4.2. TLP 정책의 동작 순서

그림 9는 트랜스코딩 시스템에서 TLP 정책을 이용하여 부하를 분산

하는 부하 분배 서버의 동작에 한 제어흐름도를 나타낸다. 시스템이

시작되면 분배 서버는 각 트랜스코딩 서버의 재 부하량에 한 정보를

기화하고 사용자로부터의 트랜스코딩 요청을 기다린다. 사용자의 새로

운 트랜스코딩 작업 요청이 발생하면 각 트랜스코딩 서버에서 새로운 트

랜스코딩 작업으로 인해 발생하게 될 추가 부하량을 계산하고 가장 은

부하량이 발생될 것으로 상되는 트랜스코딩 서버를 검색한다. 트랜스

코딩 부하 측을 통해 합한 트랜스코딩 서버를 선발한 후 새로운 트

랜스코딩 작업 요청의 진입 제어 여부를 별하여 승인 결과를 받았을

경우에 한해 최종 으로 트랜스코딩 작업을 부과하게 된다.

그림 9. TLP 어흐름도.

Page 34: 공학석사학위논문 - nanobio.kangwon.ac.krnanobio.kangwon.ac.kr/old/snsLab/public/허난숙-석사학위논문.pdf산정책에대해알아보며5장에서는성능평가및결과분석을하고6장

- 25 -

V. 성능 측정 결과 분석

5.1. 실험 환경

그림 10. 실험 시스 도.

본 연구에서는 트랜스코딩 부하 측 기반 부하 분산 정책의 성능을

평가하기 해 분산 트랜스코딩 시스템을 구 하 다. 그림 10은 실험

시스템의 구조를 나타낸다. 서버는 사용자의 서비스 요청을 받아들이고

정해진 부하 분산 정책에 따라 각 트랜스코딩 서버로 부하를 분산하는

부하 분배 서버와 트랜스코딩 작업을 수행하는 다수의 트랜스코딩 서버

로 구성된다. 한 성능 측정을 한 가상 부하 서버와 클라이언트를 구

하 다.

Page 35: 공학석사학위논문 - nanobio.kangwon.ac.krnanobio.kangwon.ac.kr/old/snsLab/public/허난숙-석사학위논문.pdf산정책에대해알아보며5장에서는성능평가및결과분석을하고6장

- 26 -

5.1.1. 트랜스코딩 서버

실험에 사용한 트랜스코딩 서버의 사양은 표 5와 같다. 총 세 가지

종류의 트랜스코딩 서버 두 종류는 AMD CPU를, 나머지 한 종류는

Intel CPU를 가지며 CPU의 성능은 각각 2.20GHz, 1.80GHz, 1.60GHz로

달리하 다. 미디어 데이터의 비트율을 변환하는 트랜스코딩 작업을 수

행하는 트랜스코더는 오 소스 로젝트로 개발되고 있는 FFMPEG

0.4.9[14] 버 을 이용하 다. 표 6은 실험에 사용한 MPEG-2 미디어 데

이터의 사양으로 1362Kbps의 원본 비트율을 가진다.

CPU 리 운 체

트랜스코딩 1 AMD Opteron(tm) 248 2.20GHz 1GBAsianux 2.0

(Kernel 2.6.9)

트랜스코딩 2AMD Athlon(tm) 64 Processor 2200+

1.80GHz1GB

Asianux 2.0

(Kernel 2.6.9)

트랜스코딩 3 Intel(R) Pentium(R) 4 CPU 1.60GHz 256MBRedHat Linux 7.4

(Kernel 2.4.18)

표 5. 트랜스코딩 경.

비트 재생시간 프 해상도

movie.mpg 1362Kbps 1448sec 24.00fps 656×320

표 6. 실험에 사 한 MPEG-2 미디어 .

Page 36: 공학석사학위논문 - nanobio.kangwon.ac.krnanobio.kangwon.ac.kr/old/snsLab/public/허난숙-석사학위논문.pdf산정책에대해알아보며5장에서는성능평가및결과분석을하고6장

- 27 -

5.1.2. 부하 발생기

성능 측정을 하여 부하 발생 로그램을 구 하 다. λ가 1인 포

아송 분포를 이용하여 당 1개의 사용자 서비스 요청이 발생하도록 하

다. 한 2007년 무선 인터넷 이용 실태 조사[11]를 바탕으로 트랜스코

딩 목 비트율을 결정하 다. 조사에 따르면 무선 인터넷 사용자의

85% 가량이 56Kbps 이하의 역폭을 주로 사용하며 나머지 사용자가

11Mbps 이상의 역 무선 인터넷을 사용하고 있다. 따라서 발생하는

부하의 85%는 56Kbps의 트랜스코딩 목 비트율을 요청하며 나머지는

100Kbps, 300Kbps, 500Kbps, 700Kbps, 1000Kbps의 비트율 하나를

랜덤하게 선택하여 요청하도록 하 다.

5.1.3. 성능 측정기

성능 측정을 하여 가상 서버와 가상 클라이언트로 구성된 계측

로그램(Yardstick Program)을 구 하 다[9]. 가상 서버는 부하 분배 서

버에서 동작하며 부하 발생기를 이용하여 성능 측정을 한 사용자 수만

큼 사용자 요청 정보를 발생시켜 가상 클라이언트에 달한다. 가상 클

라이언트는 가상 서버로부터 송받은 사용자 요청 정보를 바탕으로 부

하 분배 서버에 서비스를 요청하고, 부하 분배 서버는 정해진 부하 분배

정책을 바탕으로 합한 트랜스코딩 서버를 선택하여 작업을 달한다.

가상 클라이언트는 트랜스코딩 된 미디어 데이터를 수신하여 소모함으

로써 실제 클라이언트와 동일한 부하를 서버에 다. 한 가상 클라이

언트는 수신하는 미디어 데이터의 비트율을 측정하여 서비스 요청한 트

랜스코딩 목 비트율보다 낮을 경우 트랜스코딩 서버의 과부하 상태임

을 인식한다. 사용자의 요청 비트율 이하로 송되는 스트리 미디어는

사용자의 QoS를 지원할 수 없으므로 서비스되는 사용자의 수에서 제외

되어야 한다.

Page 37: 공학석사학위논문 - nanobio.kangwon.ac.krnanobio.kangwon.ac.kr/old/snsLab/public/허난숙-석사학위논문.pdf산정책에대해알아보며5장에서는성능평가및결과분석을하고6장

- 28 -

5.2. 실험결과

그림 11은 구 한 분산 트랜스코딩 시스템에서 라운드로빈과 TLP의

성능을 측정한 결과이다. 성능 측정 요소로 트랜스코딩 시스템에서 QoS

를 보장하며 스트리 서비스 가능한 최 사용자의 수를 측정함으로써

특정 부하 분산 정책을 사용할 때 동일한 시스템 자원을 바탕으로 얼마

나 더 많은 수의 사용자에게 서비스를 제공할 수 있는지 정도를 확인하

다.

1 2 3 4 5

36

38

40

42

44

46

48

50

52

54

Ma

xim

um

nu

mb

er

of

Qo

S-G

ua

ran

tee

d u

se

rs

Number of Transcoding Server nodes

RR(Round-Robin) TLP(Transcoding Loads Prediction)

그림 11. QoS가 보 는 클라 언트 수.

Page 38: 공학석사학위논문 - nanobio.kangwon.ac.krnanobio.kangwon.ac.kr/old/snsLab/public/허난숙-석사학위논문.pdf산정책에대해알아보며5장에서는성능평가및결과분석을하고6장

- 29 -

VI. 결 론

유무선 네트워크 환경 다양한 수 의 시스템 자원을 가지는 단말

기를 이용하는 사용자들에게 QoS를 지원하며 스트리 미디어를 제공하

기 해 사용자의 환경에 합하게 원본 미디어 데이터를 변환하여 제공

하는 트랜스코딩 서비스가 활발하게 연구되고 있다. 다수의 트랜스코딩

서버로 구성된 분산 트랜스코딩 시스템에서 스트리 미디어의 유효 기

간 내에 미디어 데이터를 처리하여 사용자에게 제공하기 해서는 각 트

랜스코딩 서버 간의 균형 인 부하 분산이 요한 문제가 된다.

본 논문에서는 분산 트랜스코딩 서버에서 균형 인 부하 분배를

한 방법에 해 연구하 다. 트랜스코딩 부하를 측하기 하여 스트리

의 상이 되는 MPEG-2 미디어 데이터의 트랜스코딩 과정을 분석하

고, 트랜스코딩 부하를 측하는 수식을 수립하여 검증과 성능 평가를

수행하 다. 제안한 측식을 이용하여 얻은 측 시간과 실제 트랜스코

딩 작업 시간이 유사함을 확인할 수 있었다. 한 트랜스코딩 부하 측

식을 바탕으로 하여 트랜스코딩 부하 측 기반 부하 분산 정책인 TLP

를 제안하 다. 해당 부하 분산 정책의 성능 평가를 해 분산 트랜스코

딩 시스템을 구 하 으며 QoS가 보장되는 최 사용자 수를 측정하여

통 인 부하 분산 정책보다 본 논문에서 제안한 TLP가 동일한 서버

자원을 이용하여 보다 많은 사용자에게 서비스를 제공할 수 있음을 확인

하 다.

Page 39: 공학석사학위논문 - nanobio.kangwon.ac.krnanobio.kangwon.ac.kr/old/snsLab/public/허난숙-석사학위논문.pdf산정책에대해알아보며5장에서는성능평가및결과분석을하고6장

- 30 -

VII. 참 고 문 헌

[1] Dinkar Sitaram, Asit Dan, "Multimedia Servers: Applications,

Environments, and Design", Morgan Kaufmann Publishers, 2000.

[2] Anthony vetro, Charilaos Christopoulos, huifang Sun, "Video

Transcoding Architectures and Techniques: An Overview", IEEE

Signal Processing Magazine, March 2003.

[3] Ilhoon Shin, Kern Koh, "Hybrid Transcoding for QoS Adaptive

Video-on-Demand Services", IEEE Transaction on Consumer

Electronics, vol. 50, No. 2, May 2004.

[4] H.Bhradvaj, A. Joshi, S. Auephanwiriyakul, "An active transcoding

proxy to support mobile web access", International Conference on

Reliable Distributed System, pp 118-123, 1998.

[5] Dongmahn Seo, Joahyoung Lee, Yoon Kim, Changyeol Choi,

Hwangkyu Choi, Inbum Jung, "Load Distribution Strategies in

Cluster-based Transcoding Servers for Mobile Clients", Lecture

Notes in Computer Science, Vol 3983, pp. 1156-1165, May, 2006.

[6] 서동만, 이좌형, 최면욱, 김윤, 정인범, “효과 인 트랜스코딩 부하 분

산을 한 자원가 치 부하분산정책”, 정보과학회논문지 제 11권 제

5호, 2005년 10월.

[7] Sumit Roy, Michele Covell, John Ankcorn, Susie Wee, "A System

Architecture for Managing Mobile Streaming Media Services",

Takeshi Yoshimura Streaming Media Systems Group,

Hewlett-Packard Lab, Palo Alto, CA94304.

[8] J. Song, E. Levy, A. Iyengar, D. Dias, "Design Alternatives for

Page 40: 공학석사학위논문 - nanobio.kangwon.ac.krnanobio.kangwon.ac.kr/old/snsLab/public/허난숙-석사학위논문.pdf산정책에대해알아보며5장에서는성능평가및결과분석을하고6장

- 31 -

Scalable Web Server Accelerators", Proceedings of the 2000 IEEE

International Symposium on Performance Analysis of Systems and

Software(ISPASS), 2000.

[9] Brian K. Schmidt, Monica S. Lam, J. Duane Northcutt, "The

interactive performance of SLIM: a stateless, thin-client

architecture", ACM SOSP'99, pp. 31-47, 1999

[10] 이호석, 김 기, “알기 쉬운 MPEG-2 소스코드 해설”, 홍릉과학출

사, 2001.

[11] 한국인터넷진흥원(NIDA), “2007년 무선인터넷이용실태조사”, 2007.

[12] http://www.chiariglione.org/mpeg/

[13] http://www.mpeg.org/MPEG/MSSG/

[14] http://ffmpeg.mplayerhq.hu/