멀티미디어 저장시스템 1
Lesson 02
Media Server Overview
멀티미디어 시스템 구성 요소
멀티미디어 저장시스템 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 하는 작업에 적당
멀티미디어 저장시스템 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
멀티미디어 저장시스템 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)
멀티미디어 저장시스템 9
4.1 Architecture ( 계속 )
미디어 서버의 처리 용량 증대 기법 - Cluster of Server
Motivation
서버 대수를 늘리는 방법
데이터 복사본이 여러 서버에 중복 존재하는 문제점 발생
Approach
우선 각 서버 컴포넌트 각각의 성능을 최적화
각 서버 컴포넌트에 데이터를 균일하게 분산시킴
분산된 컴포넌트들 간의 협업을 통해 신속하게 서비스 함
컴포넌트 분산을 일반화하고 content directory 일관성을 유 지하기 위한 두 가지 방법
모든 미디어 서버가 각자의 보유 데이터 목록(internal content directory)을 유지하는 방법
전체 서버가 공유하는 단 하나의 외부 목록(external content directory)만 유지하는 방법
4.1 Architecture ( 계속 )
멀티미디어 저장시스템 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
멀티미디어 저장시스템 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
더 자주 쓰이는 미디어 데이터를 가능하면 바깥 트랙에 배치한다.
덜 인기 있는 파일은 안쪽 트랙에 배치
이유: 바깥 트랙을 읽는 속도와 안쪽 트랙을
읽는 속도는 같지만, 바깥 트랙의 섹터가 안쪽보다 많기 때문에.
멀티미디어 저장시스템 15
4.2 Storage Devices – File Structure
저장 장치 수준에 파일 블록을 배치하는 기법
읽혀질 순서대로 순차적으로 연속 배치
과거 테이프 장치에서 하던 방식
읽을 때seek operation을 최소화할 수 있다.
Î따라서“continuous” 액세스 시에는 유리
블록 삽입/삭제 시 큰 오버헤드 발생
비연속 배치(블록들을 디스크 여기 저기에 배치함)
연속 배치된 파일들 사이에서 발생할 수 있었던 구멍(external fragmentation)을 방지할 수 있다.
재생 시seek operation이 자주 발생하는 단점
4.2 Storage Devices – File Structure ( 계속 )
기타 요소
블록의 크기
Rotational Delay를 고려한 블록 배치
Constrained Placement
멀티미디어 저장시스템 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
큰 단위로 인터리빙 해놓으면
작은 파일 참조 시에는 일부 디스크만 개입하면 됨
멀티미디어 저장시스템 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 형태보다는 못함.
쓰기: 중복 데이터가 없기 때문에 가장 좋은 성능을 보임
멀티미디어 저장시스템 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 ? Î더 빨라질 것임.
쓰기: 한 번 쓸 때마다 여러 디스크에 중복 쓰기를 해야 하기 때 문임
멀티미디어 저장시스템 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
중복이 되어 있지는 않기 때문에 읽기 성능이 빨라지지는 않음
오류 정정 코드까지 저장해야 하기 때문에 쓰기 성능은 오히려 떨어 짐
디스크 오류 발생 시 데이터 원본을 복원할 수 있는 신뢰성이 있음
멀티미디어 저장시스템 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
멀티미디어 저장시스템 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
멀티미디어 저장시스템 29
4.3 Disk Controller – Data Placement ( 계속 )
RAID Level 6 – P+Q Redundancy
4.3 Disk Controller – Data Placement ( 계속 )
멀티미디어 저장시스템 31
4.3 Disk Controller – Data Placement ( 계속 )
4.3 Disk Controller – Data Placement ( 계속 )
멀티미디어 저장시스템 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
멀티미디어 저장시스템 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% 밖에는 사용되지 않음)
멀티미디어 저장시스템 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
멀티미디어 저장시스템 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사이에서 타협한 정책
디스크 중간에 위치한 데
이터 블록들이 우대받는
멀티미디어 저장시스템 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)
멀티미디어 저장시스템 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)
멀티미디어 저장시스템 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이 같은 블록들에 대해서는 헤드 이동 방향에 있는 블록
을 먼저 서비스한다.
데드라인 수정 기법을 통해 좀 더 효율적으로 동작 가능
멀티미디어 저장시스템 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
멀티미디어 저장시스템 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 ( 계속 )
멀티미디어 저장시스템 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
멀티미디어 저장시스템 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 업체들이 사용하는 기법
콘텐츠 제공자는 여러 군데 존재하는 데이터들이 모두 최신
버전이 되도록 유지해주어야 함
멀티미디어 저장시스템 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) 과
함께 고려하여 정규화된 디스크 성능을 활용
멀티미디어 저장시스템 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 ...
멀티미디어 저장시스템 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
시스템 장애 시 로그를 활용하여 최신 데이터 복구 가능
로그 자체가 기록 데이터 버전 역할을 함.
최신 것은 아니더라도 최소한 이전 버전을 복구할 수 있음.
멀티미디어 저장시스템 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.
멀티미디어 저장시스템 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
멀티미디어 저장시스템 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]
멀티미디어 저장시스템 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
멀티미디어 저장시스템 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.
멀티미디어 저장시스템 71
4.5.3 Example MMFS : Fellini ( 계속 )
Admission Controller
determining whether or not a request to start a stream can be
admittedinto 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.
멀티미디어 저장시스템 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.
멀티미디어 저장시스템 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 막판에 같은 파일/버퍼 별로 한꺼번에 처
리함
멀티미디어 저장시스템 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