• Tidak ada hasil yang ditemukan

PDF Lesson 02 Media Server Overview

N/A
N/A
Protected

Academic year: 2023

Membagikan "PDF Lesson 02 Media Server Overview"

Copied!
39
0
0

Teks penuh

(1)

멀티미디어 저장시스템 1

Lesson 02

Media Server Overview

멀티미디어 시스템 구성 요소

(2)

멀티미디어 저장시스템 3

Contents

„

Media Server - Push and Pull Model

„

Media Server Architecture

„

Storage Devices

„

Disk Controller

„

Storage Management

„

File System

Media Server – Push & Pull Model

„

Media server 의 특징

‰

연속-미디어 타입의 데이터(파일) 서버

‰

대량 데이터 전송 필요

‰

실시간 접근이 가능해야

‰

파일 크기가 큼

„

Pull model

‰

클라이언트가 데이터 전달을 필요할 때마다 주도

‰

네트워크를 통해 들어오는 대용량 데이터 재생 작업에 적당

„

Push model

‰

data pump” 모델이라고도 알려져 있음

‰

데이터 전달을 서버가 주도

‰

네트워크를 통해 데이터를 broadcasting 하는 작업에 적당

(3)

멀티미디어 저장시스템 5

Media Server – Push & Pull Model ( 계속 )

„

Basic models: pull & push 혼용

‰

응용 입장에서는 미디어 데이터와 어떻게 상호작용하느냐 가 관심

‰

pull 모델과 push 모델의 혼용이 가능

„ 예) 응용이“play list”를 서버에 보내는 경우

Pull Model

Push Model

4.1 Architecture

„

Media Server 의 목적

‰

서버가 가지고 있는 미디어 데이터를 시간 조건 안에 클라이 언트로 전달하는 것

„

Media Server 목적 달성을 위해 필요한 연구 분야

‰

Disk-Layout strategies

‰

Disk Scheduling

‰

File Systems

‰

Data Placement on Storage Device

‰

Storage and Memory Management

‰

CPU Scheduling

(4)

멀티미디어 저장시스템 7

4.1 Architecture ( 계속 )

„

미디어 데이터 전달 과정의 Media Server Components

‰

Network Attachment

„ 보통 네트워크 어댑터를 의미

‰

Contents Directory

„ 요청된 콘텐츠가 내 미디어 서버에있는지 확인 하는 역할

„ 요청 클라이언트가 해당 콘텐츠에 접근할 수 있 는권한이 있는지도 검사

‰

Memory Management

„ 자주 사용하는 대용량 데이터를caching하여 서 버 전체의 성능을 향상시킬 수 있어야 함

4.1 Architecture ( 계속 )

„

미디어 데이터 전달 과정의 Media Server Components (계 속 )

‰

File System

„ 서버 상에 존재하는 미디어 파일의 조직과 저장을 담당

„ 대용량 데이터 업로드 시에 충분한 공간을 확보하는 기능도 제 공

‰

Storage Management

„ 디스크 드라이버를 감싸 스토리지 객체로 보이게 해야 함

„ 멀티미디어disk scheduling정책과효율적 파일 배치 지원

‰

Disk Controller

„ 저장 장치로 들어오는 데이터 접근 요청을 처리함은 물론이고,

„ 디스크 헤드의 이동을 책임지며,

„ 한 번에 읽고 쓸 수 있는 최대/최소 입출력 단위도 제어해야 함 (e.g. RAID)

(5)

멀티미디어 저장시스템 9

4.1 Architecture ( 계속 )

„

미디어 서버의 처리 용량 증대 기법 - Cluster of Server

‰

Motivation

„ 서버 대수를 늘리는 방법

„ 데이터 복사본이 여러 서버에 중복 존재하는 문제점 발생

‰

Approach

„ 우선 각 서버 컴포넌트 각각의 성능을 최적화

„ 각 서버 컴포넌트에 데이터를 균일하게 분산시킴

„ 분산된 컴포넌트들 간의 협업을 통해 신속하게 서비스 함

‰

컴포넌트 분산을 일반화하고 content directory 일관성을 유 지하기 위한 두 가지 방법

„ 모든 미디어 서버가 각자의 보유 데이터 목록(internal content directory)을 유지하는 방법

„ 전체 서버가 공유하는 단 하나의 외부 목록(external content directory)만 유지하는 방법

4.1 Architecture ( 계속 )

(6)

멀티미디어 저장시스템 11

4.1 Architecture ( 계속 )

„

미디어 서버의 처리 용량 증대 기법 - Cluster of Server ( 계속 )

‰

External Content Directory 구조에서의 Retrieval Options

„ Two-stepvs.Request Redirection

4.2 Storage Devices

„ Tapes:

‰ Cannot provide independent access streams

‰ Slow random access

„ Disks:

‰ Access times:

„ Seek time typically 8 msmagnetic vs. 150 msoptical disk

‰ Constant Angular Velocity vs. Constant Linear Velocity

„ Magnetic 디스크는 회전 속도가 일정하다.

‰ constant angular velocity, CAV

‰ 바깥쪽 트랙에 더 많은 데이터를 저장할 수 있음

„ Optical 디스크는 어느 부분을 읽느냐에 따라 회전 속도가 다르다.

‰ constant linear velocity, CLV

‰ 안쪽 트랙이나 바깥쪽 트랙에 저장할 수 있는 용량이 같음

‰ Capacity – cost: Optical cheaper than magnetic

‰ Type of persistence (Rewritable, Write-once, Read-only: e.g. CD-ROM)

„ Focus here on disks

(7)

멀티미디어 저장시스템 13

4.2 Storage Devices – Disk Layout

„

determines

‰

요청된 데이터가 어느 디스크 블록에 있는지 알아내기

‰

얼마만큼의 저장 용량까지 관리할 수 있는지

‰

저장 밀도 관리

„

트랙과 섹터 (tracks and sectors)

‰

디스크 액세스 단위는 섹터 단위로 이루어짐

‰

따라서, 한 섹터 내에서 사용되지 않는 공간은 낭비됨

4.2 Storage Devices – Zone Bit Recording

„

Zone bit recording

‰

motivation: 바깥쪽 섹터는 안쪽 섹터와 용량은 같지만 트랙 당 면적이 넓어서 더 많은 데이터를 담을 수 있음에 착안

‰

Constant Angular Velocity

„ i.e. same access time to inner/outer tracks

„ i.e. different read/write throughputs

‰

used to place

„ 더 자주 쓰이는 미디어 데이터를 가능하면 바깥 트랙에 배치한다.

„ 덜 인기 있는 파일은 안쪽 트랙에 배치

„ 이유: 바깥 트랙을 읽는 속도와 안쪽 트랙을

읽는 속도는 같지만, 바깥 트랙의 섹터가 안쪽보다 많기 때문에.

(8)

멀티미디어 저장시스템 15

4.2 Storage Devices – File Structure

„

저장 장치 수준에 파일 블록을 배치하는 기법

‰

읽혀질 순서대로 순차적으로 연속 배치

„ 과거 테이프 장치에서 하던 방식

„ 읽을 때seek operation을 최소화할 수 있다.

Î따라서“continuous” 액세스 시에는 유리

„ 블록 삽입/삭제 시 큰 오버헤드 발생

‰

비연속 배치(블록들을 디스크 여기 저기에 배치함)

„ 연속 배치된 파일들 사이에서 발생할 수 있었던 구멍(external fragmentation)을 방지할 수 있다.

„ 재생 시seek operation이 자주 발생하는 단점

4.2 Storage Devices – File Structure ( 계속 )

„

기타 요소

‰

블록의 크기

‰

Rotational Delay를 고려한 블록 배치

„ Constrained Placement

(9)

멀티미디어 저장시스템 17

4.3 Disk Controller – Data Placement

„

Striping – RAID

‰ Redundant Array of Inexpensive Disks

„

Motivation of RAID

‰ 디스크의 가격은 계속 저렴해지고 있음

‰ 한 개의 대용량 디스크를 쓰는 것보다는 여러 개의 디스크를 쓰는 것이 낫다.

‰ 하나의 파일을 여러 디스크에 조각 내어 저장하자는 아이디어

„

Goals: 저장 용량을 늘린다는 단순 목표 외에도

‰ 중복을 통한 고장 감내(fault tolerance)를 지원

„ 디스크를 여러 개 써야 하는 추가 비용은 어쩔 수 없음

‰ Data Striping을 통해디스크 읽기/쓰기 성능을 높인다

„ 데이터를 여러 디스크에 나누어 분산 저장한다.

„ 파일 시스템에서는 데이터가striping 되어 있는지 알지 못한다.

„ 데이터가 여러 디스크에 분산되어 있으니 병렬 읽기/쓰기가 가능

4.3 Disk Controller – Data Placement ( 계속 )

„

Striping - RAID ( 계속 )

‰

RAID and multimedia

„ RAID가 멀티미디어 서버를 위해 개발된 것은 아니지만,

„ 서버 내에서 멀티미디어 데이터 전달 성능 향상에 도움을 줌

‰

Data Interleaving 의 단위

„ fine grained

‰ 작은 단위로 여러 디스크에 인터리빙 시켜 놓으면

‰ 대부분의 디스크 입출력 요청 시 모든 디스크를 참조해야 함

„ coarse grained

‰ 큰 단위로 인터리빙 해놓으면

‰ 작은 파일 참조 시에는 일부 디스크만 개입하면 됨

(10)

멀티미디어 저장시스템 19

4.3 Disk Controller – Data Placement ( 계속 )

„

Striping - RAID ( 계속 )

‰

오류 회복 코드를 분산시키는 방법과 패턴

„ 오류 회복 정보의 종류

‰ 대개의 경우parity를 사용.

‰ sometimes Hamming, Reed-Solomon codes

„ 오류 회복 정보 저장 위치

‰ 일부 디스크에 몰아서 저장하는 방법

‰ 모든 디스크에 분산시켜 저장하는 방법

‰

Note, for details see

„ e.g. Chen at al, RAID: High-Performance, Reliable Secondary Storage, acm Computing Surveys, Vol. 26, No.2, June 1994

4.3 Disk Controller – Data Placement ( 계속 )

„

RAID Level 0 - Non-Redundant

‰ Goal and Usage :

„ 단지 디스크 입출력 성능 향상을 위한 레벨

„ 수퍼 컴퓨터에서 주로 사용함

‰ Approach

„ RAID가4개의 디스크로 구성되어 있다면, 이4개의 디스크에 데이터

를 나누어 저장(data striping)한다.

‰ 데이터 블록들이 잘게 나뉘어, 나뉜 각 부분이 서로 다른 디스크에 저장되 는 형태

„ 만약1 GB디스크4개로RAID를 구성했다면 총4GB가 될 것임

‰ Performance

„ 읽기: 매우 좋아짐.그러나, mirrored disk 형태보다는 못함.

„ 쓰기: 중복 데이터가 없기 때문에 가장 좋은 성능을 보임

(11)

멀티미디어 저장시스템 21

4.3 Disk Controller – Data Placement ( 계속 )

„

RAID Level 0 - Non-Redundant ( 계속 )

4.3 Disk Controller – Data Placement ( 계속 )

„

RAID Level 1 - Mirrored

‰

Goal and Usage

„ better fault tolerance

‰

데이터베이스 시스템에서 자주 사용됨

„ 저장 용량 효율성보다 가용성(availability)이 더 중요하기 때문

‰

Approach

„ 데이터 저장 시 중복된 다른 디스크에도 똑같이 같은 내용을 기록함.

‰ primary disk의 모든 섹터 내용이secondary disk에도 기록됨

‰

Performance

„ 읽기: 병렬 읽기를 할 수 있으므로 I/O 성능이 좋아짐.

‰ 여러 디스크가 같은 내용을 담고 있으므로 더 빨리 읽을 수 있는 디 스크에서 읽으면 성능이 좋아질 수 있음

‰ if different controllers are used ? Î더 빨라질 것임.

„ 쓰기: 한 번 쓸 때마다 여러 디스크에 중복 쓰기를 해야 하기 때 문임

(12)

멀티미디어 저장시스템 23

4.3 Disk Controller – Data Placement ( 계속 )

„

RAID Level 1 - Mirrored( 계속 )

4.3 Disk Controller – Data Placement ( 계속 )

„

RAID Level 2 - Error Correcting Code

‰ Goal

„ 디스크 단위의fault tolerance를 높이기 위함.

‰ Approach

„ 한 데이터를 비트 단위로 나누어 여러 디스크에 저장한다. 아울러

„ 추가적인 에러 정정 코드(해밍 코드)도 저장

‰ 에러 정정 코드를 저장하려면RAID를 구성하는 디스크 수의log 비율로 추 가적인 디스크가 필요

‰ e.g. 10 data disks with 4 parity disks

‰ e.g. 23 data disks and 5 parity disks

‰ Performance

„ 중복이 되어 있지는 않기 때문에 읽기 성능이 빨라지지는 않음

„ 오류 정정 코드까지 저장해야 하기 때문에 쓰기 성능은 오히려 떨어

„ 디스크 오류 발생 시 데이터 원본을 복원할 수 있는 신뢰성이 있음

(13)

멀티미디어 저장시스템 25

4.3 Disk Controller – Data Placement ( 계속 )

„

RAID Level 2 - Memory-Style ECC( 계속 )

4.3 Disk Controller – Data Placement ( 계속 )

„

RAID Level 3 – Bit-Interleaved Parity

(14)

멀티미디어 저장시스템 27

4.3 Disk Controller – Data Placement ( 계속 )

„

RAID Level 4 – Block-Interleaved Parity

4.3 Disk Controller – Data Placement ( 계속 )

„

RAID Level 5 – Block-Interleaved Distributed Parity

(15)

멀티미디어 저장시스템 29

4.3 Disk Controller – Data Placement ( 계속 )

„

RAID Level 6 – P+Q Redundancy

4.3 Disk Controller – Data Placement ( 계속 )

(16)

멀티미디어 저장시스템 31

4.3 Disk Controller – Data Placement ( 계속 )

4.3 Disk Controller – Data Placement ( 계속 )

(17)

멀티미디어 저장시스템 33

4.4 Storage Management – Disk Mgmt.

„

Disk management 의 목적 : 다음과 같은 디스크 액세스 연산의 오버헤드를 줄이기 위함

‰

Seek Time

‰

Rotational Delay

‰

Data Transfer Time

„

Goal: to reduce data read & write times by

‰ Less seek operations

‰ Low rotational delay or latency time

‰

High actual data transfer rate :can not be improved by placement

4.4 Storage Management – Disk Mgmt. ( 계속 )

„

방법 1 : Using Block caches

‰ Locality of references

특성을 활용

„

방법 2 : to store data in specific pattern

‰

Combine related streams together on one cylinder

‰

Regular distance Î Interleaved Storage

„ Interleaving several streams (e.g., channels of audio)

„ All nthsamples of each stream are in close physical proximity on disk

„ Problem with changing (inserting / deleting) parts of streams

(18)

멀티미디어 저장시스템 35

4.4 Storage Management – Disk Mgmt. ( 계속 )

„

방법 2 : to store data in specific pattern( 계속 )

‰

Interleaved vs. non-interleave &

contiguous vs. non-contiguous/scattered

„ Contiguous interleaved placement

„ Scattered interleaved placement

4.4 Storage Management – Disk Mgmt. ( 계속 )

„

파일 인기도에 기반한 파일 배치 방법

‰

Organ-pipe Algorithm

„ Places the most popular file in the middle of the disk

„

File Structure

‰

MM 파일 구조

„ Fragmentation이 그리 중요하지 않음!

„ To provide a constant and timely retrieval of data

‰

Larger block size가 해결책이 될 수 있음.

„ less seek operations

„ less amount of requests

„ but, larger loss at internal fragmentation (마지막 블록은 평균적으 로50% 밖에는 사용되지 않음)

(19)

멀티미디어 저장시스템 37

4.4 Storage Management - Disk Scheduling

„

Disk scheduling: 요청된 디스크 블록을 어떤 순서로 서비스할 것

인가를 결정하는 행위

„

General goals:

‰ Short response time

‰ High throughput

‰ Fairness (예: 디스크 가장자리 블록들이 불이익을 받지 않아야)

„

Multimedia Goals (in general):

‰ continuous throughput (must not be fair)

‰ timely maximal (not average) response times

‰ high throughput

„

Trade-off:

‰ Seek & rotational delay vs.

‰ Maximum response time

4.4.2 Traditional Disk Scheduling

„

FCFS (First-Come-First-Served)

‰

Long seek times (as not at all optimal head movement occurs)

‰

Short (individual) response times

(20)

멀티미디어 저장시스템 39

4.4.2 Traditional Disk Scheduling ( 계속 )

„

Shortest Seek Time First (SSTF)

‰

Short seek times

‰

Longer maximum (individual) response times

‰

May even lead to starvation

4.4.2 Traditional Disk Scheduling ( 계속 )

„

SCAN

‰

Move disk head always between disk edges (BIdirectional)

‰

헤드 이동 방향 상에 있는 다음 블록을 서비스

‰

더 이상 없으면 방향을 바 꿈

‰ seek time

response time

사이에서 타협한 정책

‰

디스크 중간에 위치한 데

이터 블록들이 우대받는

(21)

멀티미디어 저장시스템 41

4.4.2 Traditional Disk Scheduling ( 계속 )

„

N-Step-SCAN

‰

바깥과 안쪽 트랙이 차별 받는 상황을 개선함

‰

SCAN에 비해 seek time은 길어지지만, response time은 짧아 짐

4.4.2 Traditional Disk Scheduling ( 계속 )

„

Circular-SCAN

‰

Move disk head always between disk edges (UNIdirectional)

‰

Improves fairness (compared to SCAN)

(22)

멀티미디어 저장시스템 43

4.4.3 Multimedia Disk Scheduling

„

Goals

‰

전통적 disk scheduling 기법이 멀티미디어 환경에서도 적당 한가?

„ Effective utilization of disk arm Î short seek time

„ No provision for times or deadlines Înot suitable

‰

Continuous media에 특정적인 특성들

„ Serve continuous media(periodic) and aperiodic requests

„ Never miss deadlineof continuous media request while serving aperiodic request

„ Aperiodic requests should not starve service and should themselves not be starved

„ Provide high multiplicity (multiple streams) on real-time access

„ Balance trade-off between buffer space and efficiency

4.4.3 Multimedia Disk Scheduling ( 계속 )

„

Dependencies

‰

Continuous media disk scheduling:

„ Efficiency depends on:

‰ tightness of deadlines

‰ disk layout

‰ available buffer space

„ Ability to create schedule in advance depends on:

‰ buffer space and

‰ stream length

„ General case:

‰ create schedule on-the-fly (to be considered here)

(23)

멀티미디어 저장시스템 45

4.4.3 Multimedia Disk Scheduling ( 계속 )

„

Earliest Deadline First (EDF) Disk Scheduling

‰

Real-time scheduling algorithm

„ block of the stream with the nearest deadline would be read first

‰

May result in excessive seek time and poor throughput

4.4.3 Multimedia Disk Scheduling ( 계속 )

„

Scan-EDF Disk Scheduling

‰

Combines advantages of:

„ SCAN(seek optimization) with

„ EDF(real-time aspects)

‰

Method:

„ Requests with earlier deadlines are served first

„ deadline이 같은 블록들에 대해서는 헤드 이동 방향에 있는 블록

을 먼저 서비스한다.

‰

데드라인 수정 기법을 통해 좀 더 효율적으로 동작 가능

(24)

멀티미디어 저장시스템 47

4.4.3 Multimedia Disk Scheduling ( 계속 )

4.4.3 Multimedia Disk Scheduling ( 계속 )

„

Scan-EDF Disk Scheduling ( 계속 )

‰

Map SCAN to EDF

„ deadline = Di + f(Ni);

„ Di deadline of request i,

„ Ni track position of request i

‰ with f() such that Di+ f(Ni) > Dj+ f(Nj) if Di> Dj

„ e.g.,

max

)

( N

N N

f i = i

(25)

멀티미디어 저장시스템 49

4.4.3 Multimedia Disk Scheduling ( 계속 )

„

Scan-EDF Disk Scheduling ( 계속 )

‰

More accurate modification of deadlines

„

„

max

)

( N

N N N

f i i

=

max

) max

( N

N N N

f i = i

max

)

( N

N N f i = i

max

)

( N

N N N f i = i

4.4.3 Multimedia Disk Scheduling ( 계속 )

„

Scan-EDF Disk Scheduling ( 계속 )

(26)

멀티미디어 저장시스템 51

4.4.3 Multimedia Disk Scheduling ( 계속 )

„

Group Sweeping Scheduling

‰

Form groups

„ with deadlines lying closely together

„ or in round robin manner (in general)

‰

Apply SCAN to each group

4.4.3 Multimedia Disk Scheduling ( 계속 )

„

Mixed Disk Scheduling Strategy

(27)

멀티미디어 저장시스템 53

4.4.4 Admission Control

„

Goal

‰

현재 서비스 중인 스트림에 악영향을 미치지 않으면서 새로 운 스트림 서비스를 시작해도 되는가?

„

미디어 서버에서 Admission Control 의 유형

‰ 확정 보장형(Deterministic guarantee)

„ 모든deadline 만족을 보장함(worst case를 가정해야).

‰ 통계적 보장형(Statistical guarantee)

„ 일정 확률 수준 정도만Deadline이 만족됨

‰

Best effort guarantee

„ 데드라인 만족에 어떤 보장도 해주지는 않음

„ 확정 보장 스트림과 통계적 보장 스트림 서비스가 만족된 후 시간이 남으면 서비스되는 스트림이 여기에 해당

4.4.5 Replication

„

Goal

‰ 디스크의 하드웨어적 고장에 대비하기 위해(like RAID)

‰

하드웨어적 한계로 인해

한 데이터에 가할 수 있는 동시 액 세스의 개수를 늘리기

위해

„

정적 복사 (Static Replication)

‰

같은 데이터를 통째로 여러 서버가 가지고 있으므로 사용자 는 골라서 액세스 할 수 있음

‰

많은 Internet 업체들이 사용하는 기법

‰

콘텐츠 제공자는 여러 군데 존재하는 데이터들이 모두 최신

버전이 되도록 유지해주어야 함

(28)

멀티미디어 저장시스템 55

4.4.5 Replication ( 계속 )

„

동적 세그먼트 복사 (Dynamic Segment Replication)

‰

한 데이터를 같은 크기의 여러 조각으로 나눈 후 읽기 - 전용 특성으로 여러 서버에 복사한다.

‰

대개 continuous media data 는 순차적으로 전달되므로 , 어느 특정 세그먼트에 대한 부하가 일정 수준 이상으로 올라가면 그 세그먼트를 다른 디스크로 복사함.

„

Threshold-Based Dynamic Replication

‰

영화 파일 세그먼트가 아닌 파일 전체가 복사 대상

‰

특정 미디어 파일에 가해지는 부하가 일정 수준 이상 올라가 면 미디어 파일 전체를 여러 서버에 복사함.

4.4.6 Supporting Heterogeneous Disks

„

Goal

‰

I/O bandwidth와 용량이 서로 다른 디스크들 전체의 성능을

측정하는 방법은 ?

„

Simple Approach

‰

가장 성능이 떨어지는 디스크를 기준으로 계산

Î

extremely pessimistic!

„

BSR(Bandwidth to Space Ratio) Approach

‰

“용량 대비 성능”을 비율로 나타낸 값

„ 디스크의BSR = Maximum throughput / Size

‰

( 영화 ) 데이터의 BSR(data rate * concurrent viewers/length) 과

함께 고려하여 정규화된 디스크 성능을 활용

(29)

멀티미디어 저장시스템 57

4.4.6 Supporting Heterogeneous Disks ( 계속 )

4.5 File Systems

„

File system

‰ 멀티미디어 서버S/W/가 직접 저장 장치를 액세스하는 부분

„

Traditional File Systems

‰ MSDOS File Allocation Table FAT, UNIX Berkeley FFS, NTFS, ...

„

Multimedia File Systems

‰ Real Time Characteristics

‰ File Size

‰ Multiple Data Streams

„

Examples of Multimedia File Systems

‰ Video File Server

‰ Fellini

‰ Symphony

‰ IBM Media Charger ...

‰ Real Networks ...

(30)

멀티미디어 저장시스템 59

4.5.1 Traditional File Systems

„

FAT(File Allocation Table)

‰

MS-DOS, Windows 에서 사용

„

Berkeley FFS

4.5.1 Traditional File Systems ( 계속 )

„

Log-structured file system

‰

특징

„ To ensure fast crash recovery

„ Increased write performance

„ An option for versioning in the file system

‰

동작 방식

„ Write data always asynchronously to free space on the disk and

„ Keep a log of all write operations on the disk

ÎWrite가 신속하고, 가능한 한 연속 블록 형태로 기록됨!

‰

Using write logs

„ 시스템 장애 시 로그를 활용하여 최신 데이터 복구 가능

„ 로그 자체가 기록 데이터 버전 역할을 함.

„ 최신 것은 아니더라도 최소한 이전 버전을 복구할 수 있음.

(31)

멀티미디어 저장시스템 61

4.5.2 Multimedia File Systems

„

Multimedia File System 의 요구 사항

‰ Real Time Characteristics

„ Must consider time constraints

„ Additional buffers to smooth the data stream must be provided.

‰ File Size

„ Need very large storage space

„ Ranging from small, unstructured units like text filesto large, highly structured data units like videoand associated audio.

‰ Multiple Data Streams

„ Must support different media at one time.

„ The retrieval of a movie requires the processing and synchronization of audio and video.

4.5.2 Multimedia File Systems ( 계속 )

„

Two Approaches for CMMFS

‰

Overall Optimizations

„ The organization of files on disk

„ Special disk algorithm

„ Sufficient buffer to avoid jitter

‰

Media-Aware File System

„ The organization of audio and video files on disk is optimized for their use.

(32)

멀티미디어 저장시스템 63

4.5.3 Example MMFS : Video File Server

„

Data Structuring - Data Types

‰ Continuous-media data itself (audio, video, ...)

‰ Meta-data (attributes):

„ Annotations by author

„ Association between related files (synchronization)

„ Linking and sharing of data segments:

‰ e.g., storing common parts only once

„

Frame: Basic unit of video

„

Sample: Basic unit of audio

„

Block: Basic unit of disk storage

‰ Homogeneous block:

„ each block contains exactly one medium

„ requires explicit inter-media synchronization

‰ Heterogeneous block:

„ multiple media stored in a block

„ implicit inter-media synchronization

4.5.3 Example MMFS : Video File Server ( 계속 )

„

Data Structuring: Terminology

‰

Strand

„ Immutable sequence of continuous video frames or audio samples

‰

Rope

„ Collection of multiple strands tied together with synchronization information

‰

Strands are immutable:

„ Copy operations are avoided.

„ Editing on ropes manipulates pointers to strands

„ Many different ropes may share internals of the same media strand

„ Reference counters, storage reclaimed when no more references

(33)

멀티미디어 저장시스템 65

4.5.3 Example MMFS : Video File Server ( 계속 )

„

Data Structuring: Terminology ( 계속 )

4.5.3 Example MMFS : Video File Server ( 계속 )

„

Operations on Multimedia Ropes: Interface

‰ RECORD [media] Æ [requestID, mmRopeID]

„ Record a new multimedia rope consisting of media strands

„ Perform admission control to check resource availability

‰ PLAY [mmRopeID, interval, media] Æ [requestID]

„ Playback a multimedia rope consisting of media strands

„ Perform admission control to check resource availability

‰ STOP [requestID]

„ Stop the retrieval or storage of the corresponding multimedia rope

‰ 기타 오퍼레이션들

„ INSERT [baseRope, position, media, withRope, withInterval]

„ REPLACE [baseRope, media, baseInterval, withRope, withInterval]

„ DELETE [baseRope, media, interval]

(34)

멀티미디어 저장시스템 67

4.5.3 Example MMFS : Video File Server ( 계속 )

„

Operations on Multimedia Ropes: Example

‰ Merge audio and video strands:

„ Rope1 contains only audio strand

„ Rope2 contains only video strand

„ Replace (non-existing) video component of Rope1 with video component of Rope2

REPLACE[baseRope: Rope1, media: video,

baseInterval: [start:0, length: l], withRope:

Rope2, withInterval: [start:0, Length: l]]

4.5.3 Example MMFS : Video File Server ( 계속 )

„

System Structure

‰

Division into:

„ Lower level storage manager

„ Higher level rope server

‰

Multimedia storage manager

„ Physical storage of media strands on disk

„ Admission control

„ Maintain disk layout

‰

Multimedia rope server

„ Operations on multimedia ropes

„ Communications with storage manager via IPC mechanisms

„ Receives status messages from storage manager and send status messages to applications

(35)

멀티미디어 저장시스템 69

4.5.3 Example MMFS : Fellini

„

Continuous Media Data 전용 파일 시스템

‰

Data and Meta-data are stored separately.

‰

연속 미디어 파일과 일반 파일을 모두 지원

„

Fellini Process 구조

4.5.3 Example MMFS : Fellini ( 계속 )

„

Fellini system consists of two main processes:

‰

CineBlitz File Server, called the

cbfile_server

„ is responsible for controlling disk storage and the buffer manager.

‰

Network Process, called the

cbnet_server

„ is the network client server component.

„

cbfile_server process 구성

‰

Admission Controller

‰

Buffer Manager

‰

Storage Manager.

(36)

멀티미디어 저장시스템 71

4.5.3 Example MMFS : Fellini ( 계속 )

„

Admission Controller

‰

determining whether or not a request to start a stream can be

admitted

into the system.

‰ reserves resources

for admitted requests and keeps track of

available resources.

‰

동작 원리

„ Estimates the resources required to retrieve or store data for a stream.

„ Keeps track of the available buffer space and disk bandwidth resources.

„ When estimating the disk resources required by a stream request during a round, it accounts for the overheads of disk seek and rotational latency.

4.5.3 Example MMFS : Fellini ( 계속 )

„

Admission Controller ( 계속 )

‰

A stream request is admitted only when

„ There is enough available buffer spacefor the stream, and

„ The time to retrieve or store data for all admitted streams (during a round), does not exceed the duration of a round, T.

‰

In addition, conventional requests are admitted at the start of a round only when

„ The time needed to retrieve or store data for the requests added to the time to service the admitted stream requests does not exceed T.

(37)

멀티미디어 저장시스템 73

4.5.3 Example MMFS : Fellini ( 계속 )

„

Admission Controller ( 계속 )

‰

RT stream vs. Non-RT stream

„ All admitted requests, stream (real-time) and conventional

(nonreal-time), are inserted into a list so that data can be retrieved for them.

„ A configurable parameter (between 0 and 1) controls the fraction of each round that is dedicated to conventional requests.

„ If a fraction of the round is reserved for nonreal-time requests, the real-time requests will be prohibited from using that fraction.

„ However, nonreal-time requests will be allowed to use the unreserved portion if there is any unused time in the round.

4.5.3 Example MMFS : Fellini ( 계속 )

„

Buffer Manager is responsible for

‰

prefetching data for admitted requests

‰

management of the buffer cache for the CineBlitz System.

(38)

멀티미디어 저장시스템 75

4.5.3 Example MMFS : Fellini ( 계속 )

„

Storage Manager

‰ Lays outdata belonging to files in fixed size blocks on raw data partitions.

‰ views the raw disk partition as a sequence of blocks.

„ The block size is determined in order to minimize the effects of disk latency.

„ Blocks containing data in a file might not be contiguous.

„ However, all the blocks for a single file are stored in a single raw disk partition, which may also be a logical volume distributed across multiple disks.

‰ also keeps track of the meta data for files including

„ the list of blocks containing data for a file,

„ the file name,

„ the file size,

„ the list of free blocks on the disk.

4.6 Memory Management

„

Data Delivery 를 위한 주 메모리 할당 방법이 관심

‰

Interval Caching Policy

„ 한번 읽은 데이터를 일정 기간만큼만 캐싱함.

‰

Generalized Interval Caching Policy

„ Video 파일이 아닌 일반 짧은 파일이 불이익을 당하지 않도록...

‰

Batching

„ 일종의 시간 사이클인batching window를 정의

„ 한batching window 내에 들어오는 모든 요청을 한 데 모았다가

그batching windows 막판에 같은 파일/버퍼 별로 한꺼번에 처

리함

(39)

멀티미디어 저장시스템 77

4.6 Memory Management ( 계속 )

„

Data Delivery 를 위한 주 메모리 할당 방법이 관심 ( 계 속 )

‰

Piggybacking

„ 현 스트림에서 서비스하는 데이터가 이전 서비스 스트림과 같 은 데이터이면 나중 스트림 데이터를 이전 스트림에 얹어 같이 보냄

‰

Content Insertion

„ To force larger numbers of streams into a time window which is small enough to allow the use of the piggybacking technique to join them into a single stream

Referensi

Dokumen terkait

Penelitian ini menggunakan metode analisis deskriptif parametris, yaitu analisis untuk menjelaskan kinerja keuangan Koperasi KUD MINATANI Brondong yang