
2a5bd75b9cd6b66efb42f5441085689f.ppt
- Количество слайдов: 101
제 10장. 멀티미디어 스트리밍 시스템 멀티미디어 시스템 © Kim, Lee and Chung, 2005. All rights are reserved. /23 © 김명호
목차 u 개요 u 자원 관리 u 채널 관리 u 저장 시스템 관리 u 캐시 관리 u 멀티미디어 스트리밍 시스템 사례 u 요약 및 참고문헌 멀티미디어 시스템 개론 2 10장 – 멀티미디어 스트리밍 시스템
개요 u 멀티미디어 스트리밍 – 데이터 재생 방식 데이터가 원격 서버에 저장되어 있는 경우 » 저장 후 재생 패러다임 멀티미디어 데이터가 원격 서버로부터 클라이언트의 지역 저 장 시스템에 완전히 다운로드된 다음에 재생을 시작하는 방식 » 스트리밍 패러다임 클라이언트가 네트워크를 통해 원격 서버로부터 멀티미디어 데이터의 각 블록을 전송 받는 즉시 재생을 시작하는 방식 멀티미디어 시스템 개론 3 10장 – 멀티미디어 스트리밍 시스템
개요 (계속) – 스트리밍 패러다임의 이점 » 버퍼(buffer)를 제외하고는 저장 공간을 거의 필요로 하지 않 음 » 오랜 대기 시간을 필요로 하지 않음 » 저작권(copyright) 문제가 발생할 가능성이 적음 » 실시간 이벤트의 지원이 가능 멀티미디어 시스템 개론 4 10장 – 멀티미디어 스트리밍 시스템
개요 (계속) – 멀티미디어 스트리밍 환경의 구성 요소 » 멀티미디어 서버: 요청에 따라 저장하고 있는 멀티미디어 데이터를 연속적으로 네트워크로 전송 » 네트워크: 데이터를 안정적이고 효율적으로 전송 » 클라이언트: 실제로 멀티미디어 데이터가 재생되어 사용자에게 보 여지는 장치 네트워크 멀티미디어 서버 멀티미디어 시스템 개론 클라이언트 5 10장 – 멀티미디어 스트리밍 시스템
개요 (계속) u 스트리밍 서버의 구조 응용 서버, 제어 서버, 데이터 서버로 구성 프로세서 데이터 서버 저장 시스템 제어 서버 네트워크 응용 서버 클라이언트 제어 정보 데이터 멀티미디어 시스템 개론 6 10장 – 멀티미디어 스트리밍 시스템
개요 (계속) – 응용 서버 » 서버의 가장 전방에서 클라이언트의 요청을 받아들이는 역할을 함 » 제어 서버와 상호 작용 – 제어 서버 » 클라이언트가 요청한 서비스 품질(Qo. S: Quality of Service)을 어떻 게 만족시킬 것인가를 결정 » 요청을 처리하는 데 필요한 충분한 양의 자원을 예약 – 데이터 서버 » 실제 저장 시스템과 연결되어 멀티미디어 데이터를 검색하고 전송 하는 역할을 담당 멀티미디어 시스템 개론 7 10장 – 멀티미디어 스트리밍 시스템
개요 (계속) u 멀티미디어 스트리밍을 위한 기술 – 자원 관리 » 자원 예약/회수 등 자원과 관련된 모든 작업 – 채널 관리 » 클라이언트의 요청은 주로 채널 단위로 관리됨 채널: 요청을 처리하는 데에 함께 필요한 자원들의 묶음 – 저장 시스템 관리 » 한정된 저장 공간을 가지고 보다 많은 클라이언트들에게 데 이터를 제공하도록 하는 작업 » 저장 시스템의 고장시에 필요한 복구 작업 포함 – 캐시 관리 » 디스크 입출력 수를 줄이기 위해서는 캐시의 효율적인 관리 가 필요 멀티미디어 시스템 개론 8 10장 – 멀티미디어 스트리밍 시스템
자원 관리 u 자원 관리의 목적 – 한정된 양의 자원을 가지고 보다 많은 요청을 처리할 수 있도록 자원 예약 정책을 세우고 예약을 행하는 것 – 자원의 예약 » 끊김 현상(hiccup)을 방지하고 데이터의 연속된 전송을 보장하기 위 해 필요한 자원들을 예약 ☞ 끊김 현상 멀티미디어 데이터 블록이 거치는 장치 가운데 어느 하나에라도 과부하 (overhead)가 걸리는 경우에 발생 멀티미디어 시스템 개론 9 10장 – 멀티미디어 스트리밍 시스템
자원 관리 (계속) – 한정된 자원으로 동시에 처리할 수 있는 요청의 수를 최대화 » 모든 요청에 대하여 자원을 예약하고 할당하는 것은 불가능 자원이 충분하지 못한 경우 ☞ 해당 요청을 대기시키거나 거부함 동일한 데이터에 대한 요청이 많은 경우 ☞ 요청들이 동일한 자원을 공유하도록 함 멀티미디어 시스템 개론 10 10장 – 멀티미디어 스트리밍 시스템
자원 관리 (계속) u 서비스 품질 (Qo. S: Quality of Service) 관리 – 연속된 전송을 보장하기 위해 » 멀티미디어 데이터를 재생하는 데 필요한 Qo. S 요구 조건을 명시 » 대부분의 경우 멀티미디어 데이터가 생성될 때 결정됨 – Qo. S 요구 조건 » 대역폭 (bandwidth) 데이터가 어느 정도의 전송률로 전송되어야 하는가를 명시 가변 비트율(VBR: Variable Bit Rate)의 경우 평균 데이터 전송률을 사 용 멀티미디어 시스템 개론 11 10장 – 멀티미디어 스트리밍 시스템
자원 관리 (계속) – Qo. S 요구 조건 (계속) » 최대 대역폭 (peak bandwidth) 데이터 재생 시 필요한 최대 대역폭을 명시 최대 대역폭을 필요로 하는 경우가 최대 지속되는 기간도 함께 명시 » 허용 손실 발생률 (loss probability) 최대로 견딜 수 있는 손실 발생률을 명시 » 그 밖의 조건들 프레임 대역폭, 프레임 높이, 칼라 해상도, 가로/세로 화면 비, 압축률, 디코딩 버퍼, 지연 시간 등 멀티미디어 시스템 개론 12 10장 – 멀티미디어 스트리밍 시스템
자원 관리 (계속) u 승인 제어 (admission control) – 승인 제어 » 새로운 서비스 요청에 대해서 자원의 사용을 허용할 것인지에 대한 자원 가용성의 통제 새로운 서비스 요청을 받아 들일 수 있으면 자원 할당 자원 예약 상황에 관한 정보를 갱신 요청을 받아 들일 수 없으면 서비스 요청을 대기시키거나 거부 멀티미디어 시스템 개론 13 10장 – 멀티미디어 스트리밍 시스템
자원 관리 (계속) – 승인 제어 (계속) » 방식 결정적 보장 방식 각 서비스의 자원 사용을 최악 조건(worst case)일 때의 사용량으로 가정하 고, 자원의 서비스 가용성을 계산하여 서비스를 승인하는 방식 통계적 보장 방식 통계적으로 성능 보장의 범위를 측정한 후, 그 범위에 따라 승인하는 방식 최선형 방식 각 서비스가 필요로 하는 최소한의 자원의 양을 기준으로 하여 서비스를 승 인하는 방식 멀티미디어 시스템 개론 14 10장 – 멀티미디어 스트리밍 시스템
자원 관리 (계속) – 자원 용량의 측정 » 자원 가용성을 검사하기 위해서는 자원 관리자가 모든 자원들의 용량을 알고 있어야 함 대부분의 경우 자원의 대역폭 정보를 이용 » 자원의 대역폭 측정 방법 1. 시스템의 자원들을 자원 그래프로 변환 멀티미디어 시스템 개론 시스템의 각 자원들을 노드(node)로 표현 서로 연결되어 있는 자원들을 에지(edge)로 연결 15 10장 – 멀티미디어 스트리밍 시스템
자원 관리 (계속) » 자원의 대역폭 측정 방법 (계속) 2. 서로 연결되어 있는 자원들 사이의 데이터 흐름의 양이 고정되어 대 역폭을 구별할 수 없는 경우 하나의 논리 자원(logical resource)로 통합 스트라이핑 그룹 디스크 네트워크 어댑터 디스크 어댑터 네트워크 어댑터 논리 자원 1 멀티미디어 시스템 개론 네트워크 어댑터 CPU 디스크 어댑터 논리 자원 2 스트라이핑 그룹 디스크 어댑터 16 논리 자원 3 10장 – 멀티미디어 스트리밍 시스템
자원 관리 (계속) » 자원의 대역폭 측정 방법 (계속) 3. 하나의 자원을 생성지(source)로, 다른 하나의 자원을 목적지(destination) 으로 지정 각 생성지-목적지 쌍에 대해 연결하는 모든 경로(path)를 나열 ☞ 각 경로는 채널을 나타냄 각 경로 i에 대해 가중치 Wi를 계산 Wi = Flowi / Flowtotal (Flowtotal: 생성지와 목적지 사이에 흐르는 전체 데이터의 양, Flowi: 경로 i를 통해 흐르는 데이터의 양) 멀티미디어 시스템 개론 17 10장 – 멀티미디어 스트리밍 시스템
자원 관리 (계속) » 자원의 대역폭 측정 방법 (계속) 4. 경로를 선택하여 많은 양의 데이터를 흘려 보냄 가장 높은 가중치를 갖는 경로부터 측정하려는 자원 이외의 다른 자원에 의해 경로가 포화되는 경우 ☞ 그 자원을 지나는 다른 경로를 선택하여 계속해서 데이터를 흘려 보냄 선택된 자원의 대역폭 ☞ 모든 경로를 통해 동시에 흐르는 데이터 양의 합 멀티미디어 시스템 개론 18 10장 – 멀티미디어 스트리밍 시스템
자원 관리 (계속) u 채널 설정 – 예약할 자원들을 선택 » 세 가지 기준을 적용 최적화 (optimization) 서버가 최적화된 성능을 낼 수 있도록 자원들의 특성 각 자원들이 갖는 특성을 잘 반영할 수 있도록 서버 구성 해당 자원이 클라이언트의 요청을 처리할 수 있는 위치에 있는지를 고려 멀티미디어 시스템 개론 19 10장 – 멀티미디어 스트리밍 시스템
자원 관리 (계속) – 예약할 자원들을 선택 (계속) » 세 가지 기준을 적용한 이후에도 요청을 처리할 수 있는 다수의 경 로가 존재하는 경우 요청을 처리할 수 있는 모든 경로들 가운데 최소 대역폭이 가장 큰 경 로를 논리 채널로 선택 ☞ 최소 대역폭: 경로 내에 존재하는 자원들 가운데에서 가용 대역폭이 가장 작은 자원의 대역폭 멀티미디어 시스템 개론 20 10장 – 멀티미디어 스트리밍 시스템
자원 관리 (계속) – 채널 생성 » 선택된 경로 내에 존재하는 각 자원마다 적절한 양을 예약 평균 대역폭 요청을 처리하는 데 필요한 평균 대역폭은 항상 예약되어야 함 최대 대역폭 충분한 양의 버퍼를 예약하는 방법으로 다루어짐 전체 종단간 지연 시간 각 자원들에 나뉘어 배분됨 멀티미디어 시스템 개론 21 10장 – 멀티미디어 스트리밍 시스템
채널 관리 u 채널 관리의 목적 – 기본 목적 » 장기 취소율의 최소화 서비스가 시작된 시점부터 현재까지, 서비스를 요청한 클라이언트들 가운데 요청을 취소한 클라이언트의 비율을 최소화 » 단기 취소율의 최소화 서버의 부하가 가장 높을 때의 취소율을 최소화 » 평균 대기시간의 최소화 클라이언트가 요청을 보내고 재생을 하기까지 대기하는 시간의 평균 을 최소화 멀티미디어 시스템 개론 22 10장 – 멀티미디어 스트리밍 시스템
채널 관리 (계속) – 기본 목적 (계속) » 재시작 지연의 최소화 일시 정지 요청을 한 이후 재시작 요청을 했을 때 대기하는 시간을 최 소화 » 공평성의 최대화 모든 멀티미디어 데이터에 대한 요청의 취소율이 서로 비슷하도록 멀티미디어 시스템 개론 23 10장 – 멀티미디어 스트리밍 시스템
채널 관리 (계속) – 클라이언트의 행동 패턴 채널 관리자가 채널을 관리하는데 가장 중요하게 고려하는 사항 » VCR 컨트롤 기능 일시 정지와 재시작 » 데이터 스트림의 공유 같은 데이터에 대한 요청들을 모아서 일괄적으로 처리 » 시간에 따른 정책 하루 중 시간대에 따라 채널을 할당하는 양을 조절 멀티미디어 시스템 개론 24 10장 – 멀티미디어 스트리밍 시스템
채널 관리 (계속) u VCR 컨트롤 기능 지원을 위한 정책 – 비상 채널 (contingency channel) 정책 채널 재요청 비상 채널 채널 반환 할당된 채널 사용 가능 채널 새로운 요청 채널의 이동 멀티미디어 시스템 개론 25 10장 – 멀티미디어 스트리밍 시스템
채널 관리 (계속) – 비상 채널 (contingency channel) 정책 (계속) 비상 채널: 비상시에 사용하기 위해 비축해 둔 채널 항상 일정한 양의 비상 채널들을 확보 » 새로운 요청에 채널을 할당 비상 채널이 충분할 경우에만 사용 가능 채널 그룹에서 채널을 할당 » 사용이 끝난 채널을 회수 비상 채널 그룹의 채널이 충분할 경우 사용 가능 채널 그룹으로 채널을 반환 그렇지 않은 경우 비상 채널 그룹으로 채널을 반환 멀티미디어 시스템 개론 26 10장 – 멀티미디어 스트리밍 시스템
채널 관리 (계속) – 비상 채널 (contingency channel) 정책 (계속) » 재시작 요청에 채널을 할당 비상 채널 그룹에 채널이 존재하는 경우 비상 채널 그룹으로부터 채널을 할당 그렇지 않은 경우 이 요청에 가장 높은 우선 순위를 할당하여 큐에 넣어 대기시킴 멀티미디어 시스템 개론 27 10장 – 멀티미디어 스트리밍 시스템
채널 관리 (계속) u 일괄 정책 – 같은 데이터를 요청하는 다수의 클라이언트들에게 같은 채널을 할당하여 공유하게 함 » 서버 측의 자원을 절약하는 것이 목적 – FCFS (First Come, First Served) 정책 » 하나의 요청 큐를 사용하여 멀티미디어 데이터에 대한 요청을 저장 » 할당 가능한 채널이 생기면 요청 큐에서 가장 상단의 요청을 처리 ☞ 가장 오래 대기하고 있던 클라이언트의 요청을 처리 » 공평한 정책 » 시간 내 서비스 보장 가능 멀티미디어 시스템 개론 28 10장 – 멀티미디어 스트리밍 시스템
채널 관리 (계속) – MQL (Maximum Queue Length) 정책 » 각 멀티미디어 데이터마다 각각의 고유한 요청 큐를 유지 요청이 들어오면 해당하는 멀티미디어 데이터의 요청 큐에 요청 정보 를 저장 » 할당 가능한 채널이 생기면 요청이 가장 많은 멀티미디어 데이터에 채널을 우선적으로 할당 ☞ 가장 인기가 많은 멀티미디어 데이터에 대한 요청을 처리 » 불공평한 정책 » 서버 용량이 적은 경우, 장기 요청 취소율을 낮출 수 있음 멀티미디어 시스템 개론 29 10장 – 멀티미디어 스트리밍 시스템
채널 관리 (계속) – NVOD (Near Video-On-Demand) 방식 » 인기 있는 멀티미디어 데이터를 동일한 크기의 조각으로 나눔 서로 다른 시각에 여러 채널을 통해 각 조각들을 주기적으로 방송 클라이언트는 요청한 데이터와 가장 근접한 데이터를 방송하고 있는 채널 을 통해 서비스를 받을 수 있음 채널 1 O 12 O 13 O 11 3 O 11 O 12 4 O 21 O 22 O 23 5 O 22 O 23 O 21 6 O 23 O 21 O 22 시간 멀티미디어 시스템 개론 30 10장 – 멀티미디어 스트리밍 시스템
채널 관리 (계속) – 피라미드(Pyramid) 방송 방식 » 멀티미디어 데이터의 가장 앞부분에 해당하는 조각의 크기를 최소화 연속된 조각의 크기를 바로 이전 조각의 크기의 α 배 만큼 커지도록 » 클라이언트가 데이터의 재생 속도보다 더 빠른 속도로 다운로드할 수 있도록 채널의 대역폭을 할당 » 클라이언트가 멀티미디어 데이터 재생시 데이터의 첫 번째 조각을 다운로드하고 재생 시작 첫 번째 조각이 재생되는 동안 두 번째 조각을 다운로드 … » 현재 조각의 재생이 완료되기 이전에 다음 조각의 다운로드가 시작될 수 있도록 α 값을 결정하는 것이 필요 멀티미디어 시스템 개론 31 10장 – 멀티미디어 스트리밍 시스템
채널 관리 (계속) – 피라미드(Pyramid) 방송 방식 (계속) 채널 1 2 O 11 O 21 O 12 O 22 O 12 시간 멀티미디어 시스템 개론 32 10장 – 멀티미디어 스트리밍 시스템
채널 관리 (계속) u 시간대를 고려한 채널 할당 정책 – 시간대에 따른 요청량의 변동 » 예) 업무 시간대 vs. 저녁 시간대 – 채널 할당시 시간대 고려의 필요 » 요청량이 많은 시간대 일괄 정책을 사용하면 효과적 » 요청량이 많은 시간대 직전의 요청량이 적은 시간대 요청량이 많은 시간대를 대비하여 채널을 비축해 두는 것이 필요 멀티미디어 시스템 개론 33 10장 – 멀티미디어 스트리밍 시스템
채널 관리 (계속) – 즉시 할당 (on-demand allocation) 정책 » 클라이언트의 요청이 들어오자 마자 채널을 할당 » 직관적이며 기본적인 방침 » 주기적인 채널 부족 현상 부하가 높은 시간대에는 한꺼번에 많은 채널이 할당됨 채널 부족 현상은 영화 재생 시간(예: 2시간)동안 지속 영화 재생 시간이 끝나면 채널들이 한꺼번에 반환 다시 한꺼번에 많은 채널들이 할당됨 위와 같은 상황이 반복 멀티미디어 시스템 개론 34 10장 – 멀티미디어 스트리밍 시스템
채널 관리 (계속) – 강제 대기 (forced-wait) 정책 » 각 멀티미디어 데이터에 처음 들어온 요청들을 일정 시간 동안 기다리 도록 강요 그 시간 내에 들어오는 동일한 데이터에 대한 요청을 동일한 채널을 공유하 도록 하여 함께 처리 » 대기 시간 선정의 중요성 대기 시간이 길면 클라이언트의 취소율이 높아짐 대기 시간이 짧으면 함께 처리할 수 있는 클라이언트의 수가 줄어듬 » 부하가 낮은 시간대에도 모든 클라이언트들이 대기 시간만큼 대기해야 함 멀티미디어 시스템 개론 35 10장 – 멀티미디어 스트리밍 시스템
채널 관리 (계속) – Pure Rate Control 정책 » 일정 시간 간격 동안 할당될 수 있는 전체 채널의 수를 제한 제어 구간 (control interval) » 각 제어 구간 동안 일부 채널들을 할당하지 않고 남겨둠 다음 제어 구간에 할당 멀티미디어 시스템 개론 36 10장 – 멀티미디어 스트리밍 시스템
저장 시스템 관리 u 저장 시스템 관리의 목적 – 기본 목적 » 멀티미디어 데이터를 저장 시스템에 적절하게 배치 한정된 대역폭 및 저장 공간을 극복 보다 많은 데이터가 Qo. S를 만족하며 처리되도록 – 저장 시스템 관리자의 주요 기능 » 멀티미디어 데이터의 저장 » 멀티미디어 데이터의 검색 » 고장으로부터의 복구 » 저장 시스템 서버의 최적화 멀티미디어 시스템 개론 37 10장 – 멀티미디어 스트리밍 시스템
저장 시스템 관리 (계속) u 단일 디스크 관리 – 멀티미디어 데이터의 검색 » 데이터의 전송이 지연되지 않도록, 제 때에 데이터를 검색할 수 있 어야 함 디스크의 처리량을 최대화하고 응답시간을 최소화 스트림이 마감시한을 넘기지 않고 각 블록들을 얻을 수 있도록 해야 함 멀티미디어 시스템 개론 38 10장 – 멀티미디어 스트리밍 시스템
저장 시스템 관리 (계속) – 라운드 로빈 (round-robin) » 스트림들을 고정된 순서로 정렬하고 그 순서에 따라 각 스트림에 대 한 디스크 I/O를 수행 파일 A: {블록 A 1, 블록 A 2} 파일 B: {블록 B 1, 블록 B 2} 파일 C: {블록 C 1, 블록 C 2} 디스크 A 1 A 2 B 1 B 2 C 1 C 2 라운드 로빈: A 1, C 1, B 1, A 2, C 2, B 2 멀티미디어 시스템 개론 39 10장 – 멀티미디어 스트리밍 시스템
저장 시스템 관리 (계속) – 스캔 (scan) » 디스크 헤드가 움직이는 방향에 위치하는 블록에 대한 디스크 I/O 요청을 우선적으로 처리 디스크 헤드는 디스크의 중심에서 외곽으로, 그리고 외곽에서 다시 중 심으로 반복해서 움직임 디스크 A 1 A 2 B 1 B 2 C 1 파일 A: {블록 A 1, 블록 A 2} 파일 B: {블록 B 1, 블록 B 2} 파일 C: {블록 C 1, 블록 C 2} C 2 스캔: A 1, B 1, C 2, B 2, A 2 바깥쪽 방향 멀티미디어 시스템 개론 40 안쪽 방향 10장 – 멀티미디어 스트리밍 시스템
저장 시스템 관리 (계속) – 그룹 스위핑 스케줄링 (GSS: Group Sweeping Scheduling) » 스트림들을 그룹화 각 그룹은 라운드 로빈 형식으로 서비스 그룹 내의 스트림들은 스캔 정책을 이용하여 서비스 디스크 위치 (중심 외곽) 블록 A 1 B 1 C 2 A 2 D 2 E 1 B 2 F 1 F 2 E 2 C 1 D 1 그룹 G 1 G 2 G 2 G 1 G 2 스케줄: {A 1, E 1, C 1}, {D 1, F 1, B 1}, {C 2, A 2, E 2}, {F 2, B 2, D 2} 멀티미디어 시스템 개론 41 10장 – 멀티미디어 스트리밍 시스템
저장 시스템 관리 (계속) 라운드 로빈, 스캔, GSS 정책은 마감시한이라는 실시간 조건을 전혀 고려 하지 않고 있음 – 가까운 마감시한 우선 (EDF: Earliest Deadline First) » 마감시한이 가장 가까운 디스크 I/O 요청부터 처리해 주는 방식 – 스캔-EDF » 기본적으로 EDF 방식에 따라 디스크 I/O 요청을 처리 같은 마감시한을 갖는 요청들이 여러 개 존재할 때에는 이들을 스캔 방 식에 따라 처리 비슷한 마감시한을 갖는 요청들은 멀티미디어 데이터의 재생에 영향을 미 치지 않는 한도 내에서 같은 마감시한을 갖도록 변경됨 멀티미디어 시스템 개론 42 10장 – 멀티미디어 스트리밍 시스템
저장 시스템 관리 (계속) – 스캔-EDF (계속) (총 트랙 수: 1000) 트랙 위치 113 256 347 851 디스크 위치 (중심 외곽) 파일 마감시한 보정된 마감시한 보정함수 f(Ni) = Ni / Nmax-1 A B C D 500 600 500 499. 113 599. 256 499. 347 499. 851 스케줄: A, C, D, B 멀티미디어 시스템 개론 43 10장 – 멀티미디어 스트리밍 시스템
저장 시스템 관리 (계속) u 다중 디스크 관리 – 여러 개의 디스크를 이용하여 필요한 대역폭과 저장 공간을 확 보 – 스트라이핑 » 여러 개의 물리적 디스크를 논리 디스크로 통합 논리 디스크를 구성하는 물리적 디스크에 멀티미디어 데이터의 블록 을 번갈아 나누어 저장 멀티미디어 시스템 개론 44 10장 – 멀티미디어 스트리밍 시스템
저장 시스템 관리 (계속) – 스트라이핑 그룹 » 논리 디스크로 묶인 물리적 디스크의 모음 » 대역폭 그룹을 구성하는 물리적 디스크들의 대역폭의 합 » 저장 공간 그룹을 구성하는 물리적 디스크들의 저장 공간의 합 » 스트라이핑 패턴과 스트라이핑 그룹의 수에 의해 성능이 좌우됨 멀티미디어 시스템 개론 45 10장 – 멀티미디어 스트리밍 시스템
저장 시스템 관리 (계속) – 스트라이핑 패턴 » 단순 스트라이핑 멀티미디어 데이터의 블록을 스트라이핑 그룹을 구성하는 디스크들에 번갈아 저장 디스크 1 디스크 3 디스크 4 A 0 A 4 B 0 B 4 A 1 A 5 B 1 B 5 A 2 A 6 B 2 B 6 A 3 A 7 B 3 B 7 디스크 1 디스크 2 디스크 3 디스크 4 A 0 A 4 B 2 B 6 A 1 A 5 B 0 B 4 A 2 A 6 B 3 B 7 A 3 A 7 B 1 B 5 디스크 1 디스크 2 디스크 3 디스크 4 A 0 A 5 B 1 B 7 멀티미디어 시스템 개론 디스크 2 A 1 A 4 B 3 B 6 A 2 A 7 B 0 B 5 A 3 A 6 B 2 B 4 46 스캔 스트라이핑 독립 스트라이핑 임의 스트라이핑 10장 – 멀티미디어 스트리밍 시스템
저장 시스템 관리 (계속) » 복합 스트라이핑 그룹을 하부 그룹들로 나눔 각 하부 그룹과 관련된 패리티 정보를 저장 스태거드(staggered) 스트라이핑 멀티미디어 데이터 객체를 여러 개의 하부 객체로 나눔 각 하부 객체를 B 만큼의 크기를 갖는 Nfrag 개의 조각으로 나누어 Nfrag 개의 디스크에 배치 연속된 다음 하부 객체를 Dstride 개 만큼 떨어져 있는 디스크에 배치 하부 객체 디스크 1 디스크 2 O 1, 0 O 1, 1 O 2, 0 조각 O 4, 1 멀티미디어 시스템 개론 디스크 3 O 2, 1 O 3, 0 47 디스크 4 O 3, 1 O 4, 0 Nfrag = 2 Dstride = 1 10장 – 멀티미디어 스트리밍 시스템
저장 시스템 관리 (계속) – 스트라이핑 그룹의 수 » 다수의 스트라이핑 그룹을 유지 여러 가지 종류의 디스크들을 다루는 것이 좀 더 쉬워짐 서로 다른 종류의 디스크는 서로 다른 스트라이핑 그룹으로 만듬 시스템의 재구성이 쉬워짐 디스크 추가 및 제거와 같은 작업이 일어날 경우 해당하는 스트라이핑 그룹 만이 영향을 받음 디스크 고장 발생시에도 보다 높은 가용성을 얻을 수 있음 멀티미디어 시스템 개론 48 10장 – 멀티미디어 스트리밍 시스템
저장 시스템 관리 (계속) u 회복 정책 – 고장 발생시에도 지속적으로 서비스를 하기 위함 – 미러 기반 방식 » 디스크 고장을 대비하여 모든 멀티미디어 데이터들을 다른 디스크 에 중복하여 저장 미러 디스크: 중복된 데이터들을 가지고 있는 디스크 저장 시스템 서버 일반 검색 디스크 고장시 일반 디스크 멀티미디어 시스템 개론 미러 디스크 49 10장 – 멀티미디어 스트리밍 시스템
저장 시스템 관리 (계속) – 패리티 기반 방식 » 고장난 디스크 이외의 디스크들의 데이터 블록들과 패리티 블록을 이용하여 저장 시스템을 복구 패리티 블록: 패리티 그룹에 있는 모든 디스크들에 저장된 데이터 블록 의 해당 비트들에 대해 배타적 논리합(XOR)을 수행하여 생성 » 일반적으로 단일 디스크의 고장만을 다룸 멀티미디어 시스템 개론 50 10장 – 멀티미디어 스트리밍 시스템
저장 시스템 관리 (계속) » 스트리밍 RAIDTM 고정된 크기(C)의 클러스터들로 디스크를 그룹화 한 개의 패리티 디스크와 C-1 개의 실 데이터 저장 디스크 멀티미디어 데이터는 모든 데이터 디스크에 스트라이핑 패리티 그룹의 순서는 라운드 로빈 방식으로 결정되어 클러스터 전체 에 할당 j 번째 패리티 그룹은 클러스터 h + j mod Nc에 위치 Nc: 클러스터의 개수 h: 첫 번째 패리티 그룹이 위치한 클러스터 멀티미디어 시스템 개론 51 10장 – 멀티미디어 스트리밍 시스템
저장 시스템 관리 (계속) » 스트리밍 RAIDTM (계속) 클러스터 1 클러스터 2 패리티 O 1, 0 O 1, 1 O 1, 2 클러스터 3 패리티 Par 1 O 2, 0 O 2, 1 O 2, 2 Par 2 O 3, 0 O 4, 1 O 4, 2 O 3, 1 O 3, 2 Par 3 Par 4 디스크 1 디스크 3 디스크 5 디스크 7 디스크 9 디스크 11 디스크 2 디스크 4 디스크 6 디스크 8 디스크 10 디스크 12 멀티미디어 시스템 개론 52 10장 – 멀티미디어 스트리밍 시스템
저장 시스템 관리 (계속) 스트리밍 RAIDTM 방식의 문제점 디스크 고장이 일어나지 않는 한 패리티 디스크는 영원히 사용되지 않음 » 대역폭 향상 방식 일반 디스크에 실제 데이터와 패리티 정보를 혼합하여 저장 멀티미디어 데이터 O의 i 번째 하부 객체 Oi가 클러스터 j에 저장되어 있다면 Oi에 대한 패리티 블록을 클러스터 j + 1에 저장 클러스터 j + 1의 부하를 균등하게 하기 위해 패리티 블록들이 클러스터 내 의 서로 다른 디스크에 분산되어 저장 멀티미디어 시스템 개론 53 10장 – 멀티미디어 스트리밍 시스템
저장 시스템 관리 (계속) » 대역폭 향상 방식 (계속) 클러스터 1 O 1, 0 O 1, 1 O 1, 2 클러스터 2 O 1, 3 Par 1 O 2, 0 O 2, 1 O 2, 2 O 2, 3 Par 2 O 3, 0 Par 3 O 4, 0 클러스터 3 O 4, 1 O 4, 2 O 4, 3 O 3, 1 O 3, 2 O 3, 3 Par 4 디스크 1 디스크 3 디스크 5 디스크 7 디스크 9 디스크 11 디스크 2 디스크 4 디스크 6 디스크 8 디스크 10 디스크 12 멀티미디어 시스템 개론 54 10장 – 멀티미디어 스트리밍 시스템
저장 시스템 관리 (계속) » 대역폭 향상 방식 (계속) 클러스터 j의 디스크에서 고장 발생시 클러스터 j + 1에 존재하는 패리티 블록을 얻어옴 클러스터 j + 1에 패리티 블록을 얻어올 대역폭이 부족한 경우 기존에 클러스터 j + 1로 요청되어 있던 검색을 취소하여 패리티 블록을 얻 어올 대역폭을 확보 취소된 기존 검색 요청은 디스크 고장으로 간주하여 클러스터 j + 2로부터 패리티 블록을 얻어옴 디스크 고장은 필요한 대역폭이 존재할 때까지 계속하여 다른 클러스 터들에 영향을 미침 멀티미디어 시스템 개론 55 10장 – 멀티미디어 스트리밍 시스템
저장 시스템 관리 (계속) 패리티 기반 정책은 디스크가 고장이 나더라도 데이터를 손실 없이 복 구하는 방법 – 불완전 재생 » 사람의 지각력에 한계가 있다는 사실을 이용 어느 정도 수용 가능한 수준의 품질이 보장만 된다면 손실된 멀티미디어 데이터를 완전히 복구하지 않고 불완전한 상태로 재생 » DRAD (Distributed Recovery in an Array Disks) MPEG-1으로 인코딩된 멀티미디어 데이터의 경우 디스크 고장이 나면 손실된 블록을 무시하고 불완전한 영상을 계속해서 재 생하는 정책 멀티미디어 시스템 개론 56 10장 – 멀티미디어 스트리밍 시스템
저장 시스템 관리 (계속) » DRAD (계속) MPEG-1의 변환 단계와 압축 단계 사이에 스크램블링 단계를 삽입 매크로블록을 구성하는 각 값을 여러 개의 디스크로 분산시키는 역할 디스크가 고장이 나면 압축되어 저장된 스크램블된 블록 일부는 사용 할 수 없게 됨 접근 불가능한 블록들의 계수는 인접한 블록의 접근 가능한 값으로부터 측 정되거나 0으로 설정됨 추가적인 디스크가 필요없음 대역폭의 낭비가 없음 멀티미디어 시스템 개론 57 10장 – 멀티미디어 스트리밍 시스템
저장 시스템 관리 (계속) » DRAD (계속) 프레임 0 1 매크로블록 매크로 블록 생성, DCT 스크램블된 블록 0 0 1 스크램블러 Run-length, entropy encoding 1 Run-length, entropy encoding … … N-1 … 매크로 블록 생성, DCT 디스크 D-1 … Run-length, entropy encoding N-1 DRAD 정책 멀티미디어 시스템 개론 58 10장 – 멀티미디어 스트리밍 시스템
저장 시스템 관리 (계속) » DRAD (계속) A 0 A 1 A 2 A 3 B 0 B 1 B 2 B 3 C 0 C 1 C 2 C 3 D 0 D 1 D 2 D 3 A 4 A 5 A 6 A 7 B 4 B 5 B 6 B 7 C 4 C 5 C 6 C 7 D 4 D 5 D 6 D 7 A 8 A 9 A 10 A 11 B 8 B 9 B 10 B 11 C 8 C 9 C 10 C 11 D 8 D 9 D 10 D 11 A 12 A 13 A 14 A 15 B 12 B 13 B 14 B 15 C 12 C 13 C 14 C 15 D 12 D 13 D 14 D 15 스크램블링 A 0 D 1 C 2 B 3 B 0 A 1 D 2 C 3 C 0 B 1 A 2 D 3 D 0 C 1 B 2 A 3 A 4 D 5 C 6 B 7 B 4 A 5 D 6 C 7 C 4 B 5 A 6 D 7 D 4 C 5 B 6 A 7 A 8 D 9 C 10 B 11 B 8 A 9 D 10 C 11 C 8 B 9 A 10 D 11 D 8 C 9 B 10 A 11 A 12 D 13 C 14 B 15 B 12 A 13 D 14 C 15 C 12 B 13 A 14 D 15 D 12 C 13 B 14 A 15 스크램블링 멀티미디어 시스템 개론 59 10장 – 멀티미디어 스트리밍 시스템
저장 시스템 관리 (계속) u 화일 배치 기법 – 화일 배치 정책 » 어떤 멀티미디어 데이터를 어떤 디스크에 저장할 것인지를 결정 » 저장 공간과 대역폭을 최대로 활용하며 저장 시스템들에 걸리는 부 하를 균등하게 만드는 것이 목적 – 배치 정책에서의 고려 사항 » 멀티미디어 데이터에 대한 요청을 항상 감시 필요한 경우 새롭게 재배치할 수 있어야 함 » 데이터의 배치는 온라인으로 재구성될 수 있어야 함 » 멀티미디어 데이터의 복제 여부를 결정 멀티미디어 시스템 개론 60 10장 – 멀티미디어 스트리밍 시스템
저장 시스템 관리 (계속) – 인기도 기반 배치 정책 » 멀티미디어 데이터의 인기도를 사용하여 데이터의 배치를 결정 부하가 심한 환경에서 과부하로 인해 거부되는 요청 수의 평균값을 최 소화하려고 시도 날짜 t+1에서 화일 i에 대한 접근 확률 pi, t+1 = Λi, t+1 / (ΣjΛj, t+1) ☞ Λi, t+1: 날짜 t+1에 파일 i에 대한 요청의 수 (Λi, t+1 = 2Λi, t - Λi, t-1) 멀티미디어 시스템 개론 61 10장 – 멀티미디어 스트리밍 시스템
저장 시스템 관리 (계속) u 계층적 저장 시스템 관리 – 다양한 종류의 저장 시스템을 비용과 성능을 고려하여 여러 계 층으로 나누어 관리 » 이차 저장 장치 빠르고 상대적으로 값이 비싼 장치 (예: 디스크) 자주 접근되는 데이터를 저장 » 삼차 저장 장치 속도는 느리나 가격이 저렴 (예: 테이프) 자주 접근되지 않는 데이터를 저장 멀티미디어 시스템 개론 62 10장 – 멀티미디어 스트리밍 시스템
저장 시스템 관리 (계속) – 삼차 저장 장치의 특성 » 멀티미디어 데이터를 요청한 후 재생이 시작되기까지 매우 긴 지연 시간을 필요로 함 » 테이프와 같은 일부 매체의 경우 순차적 접근만이 가능 요청된 데이터를 찾는 동안 추가적인 지연 시간 발생 » 하나의 저장 장치 드라이브에서 여러 개의 스트림이 동시에 재생되 기 어려움 » 읽기 전용 장치(예: CD-ROM)의 경우는 데이터의 재배치 작업이 불 가능 멀티미디어 시스템 개론 63 10장 – 멀티미디어 스트리밍 시스템
저장 시스템 관리 (계속) – 삼차 저장 장치의 검색 정책 » 직접 재생 정책 멀티미디어 데이터를 삼차 저장 장치로부터 메모리 버퍼로 옮겨온 후 에 바로 클라이언트에 전송하는 정책 » 스테이징 기반 재생 정책 재생 속도보다 빠른 속도로 데이터를 이차 저장 장치로 얻어온 후에 다 시 이차 저장 장치로부터 재생을 하는 정책 단순 스테이징 정책: 요청이 있는 경우에만 멀티미디어 데이터를 스테이징 사전 스테이징 정책: 요청이 많아질 것으로 예상되는 멀티미디어 데이터를 미리 스테이징 멀티미디어 시스템 개론 64 10장 – 멀티미디어 스트리밍 시스템
저장 시스템 관리 (계속) – PIRATE(Partial Replacement Technique) » 멀티미디어 데이터의 일부만을 스테이징 » 데이터의 검색에 필요한 평균 지연 시간을 최소화 » 멀티미디어 데이터를 여러 개의 조각으로 나누어 스테이징 후 파이 프라인으로 재생 j 번째 멀티미디어 데이터 조각이 재생되는 동안 j + 1 번째 멀티미디어 데이터 조각을 검색하여 이차 저장 장치로 스테이징 재생 검색 멀티미디어 시스템 개론 … j-1 j j j+1 65 j+1 … 10장 – 멀티미디어 스트리밍 시스템
캐시 관리 u 캐시 관리의 목적 – 캐싱의 목적 » 서버 용량의 증대 » 접근 지연 시간의 감소 » 필요한 네트워크 대역폭의 감소 » 저장 장치간의 부하 균형 » 저장 시스템 구조에서의 데이터 이주 지원 – 캐싱의 종류 » 메모리 캐싱 저장 공간을 고려 » 디스크 캐싱 저장 공간 뿐 아니라 대역폭도 고려 멀티미디어 시스템 개론 66 10장 – 멀티미디어 스트리밍 시스템
캐시 관리 (계속) u 버퍼링과 캐싱의 차이 – 버퍼링 » 단일 스트림에 의해 접근될 블록을 미리 검색하는 것 » 응답 시간이 크게 변화할 때를 대비할 수 있음 » 가변 비트율(VBR)의 경우에는 갑자기 많은 양의 데이터를 전송할 때 이를 부드럽게 처리하도록 함 – 버퍼링과 캐싱의 구분 » 수행 목적, 응용 프로그램의 요구, 주기억장치의 사용으로 인해 구 분 » 버퍼링 현재 사용되고 있는 데이터 스트림을 위해 데이터 블록을 미리 검색하 여 메모리에 저장 » 캐싱 미래의 데이터 스트림을 위해 검색했던 데이터 블록을 저장 시스템에 유지 멀티미디어 시스템 개론 67 10장 – 멀티미디어 스트리밍 시스템
캐시 관리 (계속) – 버퍼링 » 검색 프로세스 디스크에서 버퍼로 데이터를 검색 » 전송 프로세스 버퍼로부터 목적지 장치로 데이터를 전송 – 삼중 버퍼링 * 버퍼의 개수 단일 버퍼: 검색 및 전송 프로세스에서 모두 같은 버퍼를 사용 프로세스가 서로 방해를 받을 수 있음 이중 버퍼: 두 개의 버퍼를 두 프로세스가 각각 사용 한 주기가 끝나면 두 개의 버퍼는 교환됨 » 데이터 접근 시간의 갑작스런 변동에 의한 끊김 현상을 피하기 위해 추가 버퍼를 사용 일반적으로 세 개의 버퍼를 사용하는 삼중 버퍼링을 사용 멀티미디어 시스템 개론 68 10장 – 멀티미디어 스트리밍 시스템
캐시 관리 (계속) – 삼중 버퍼링 (계속) 서버 전송 프로세스 삼중 버퍼링 네트워크 버퍼 검색 프로세스 디스크 멀티미디어 시스템 개론 69 10장 – 멀티미디어 스트리밍 시스템
캐시 관리 (계속) u 메모리 캐싱 – 메모리의 특징 » 큰 대역폭과 제한된 저장 공간 – 구간 캐싱 (IC: Interval Caching) » 연속된 스트림들 사이의 구간을 후행 스트림이 사용할 수 있도록 캐 싱 구간: 같은 데이터 i에 접근하고 있는 연속된 스트림 Sij와 Si(j+1) 사이의 데이터 블록 선행 스트림: 구간을 먼저 사용하는 스트림 (Sij) 후행 스트림: 구간을 나중에 사용하는 스트림 (Si(j+1)) » 현재 재생중인 구간을 캐싱 선행 스트림에 의해 메모리로 옮겨진 블록들을 후행 스트림이 캐시로 부터 바로 공급받을 수 있음 멀티미디어 시스템 개론 70 10장 – 멀티미디어 스트리밍 시스템
캐시 관리 (계속) – 구간 캐싱 (IC: Interval Caching) (계속) » 구간들을 크기를 기준으로 정렬하여 짧은 구간들을 우선적으로 캐 싱 캐시 적중률을 최대화 하고 디스크 I/O를 최소화하기 위해 S 11 멀티미디어 데이터 1 S 12 S 13 b 12 S 21 멀티미디어 데이터 2 S 14 b 13 S 22 b 22 S 31 멀티미디어 데이터 3 캐시 할당 리스트: 캐싱되는 구간들 b 12 b 22 b 13 b 14 캐싱된 스트림들: S 11, S 21, S 12 디스크 대역폭을 사용하는 스트림들(실선 화살표): S 11, S 21, S 14 캐시 대역폭을 사용하는 스트림들(점선 화살표): S 12, S 22, S 13 멀티미디어 시스템 개론 71 10장 – 멀티미디어 스트리밍 시스템
캐시 관리 (계속) – 일반화된 구간 캐싱 (GIC: Generalized Interval Caching) » IC 정책의 한계 긴 멀티미디어 데이터에 접근하는 스트림들에 대해 최적화됨 멀티미디어 데이터의 길이가 너무 짧은 경우는 구간이 생성될 수 없기 때문 » 길이가 짧아 구간이 생성될 수 없는 멀티미디어 데이터의 캐싱을 지 원 » 연속된 스트림들 사이의 시간 간격보다 멀티미디어 데이터의 길이 가 짧은 경우 구간은 연속된 스트림들 사이의 시간 간격으로 설정됨 실제 요구되는 캐시의 크기는 멀티미디어 데이터의 크기 멀티미디어 시스템 개론 72 10장 – 멀티미디어 스트리밍 시스템
캐시 관리 (계속) – 일반화된 구간 캐싱 (GIC: Generalized Interval Caching) (계속) S 11 멀티미디어 데이터 1 S 12 b 12 S 13 S 14 b 13 S 21 멀티미디어 데이터 2 S 22 b 22 S 31 S 32 멀티미디어 데이터 3 b 3 S 41 멀티미디어 데이터 4 S 42 b 4 캐시 할당 리스트: 캐싱되는 구간들 b 12 b 22 b 13 b 14 b 4 캐싱된 스트림들: S 11, S 21, S 12 , S 31 디스크 대역폭을 사용하는 스트림들(실선 화살표): S 11, S 21, S 31, S 42, S 14 캐시 대역폭을 사용하는 스트림들(점선 화살표): S 12, S 22, S 13, S 32 멀티미디어 시스템 개론 73 10장 – 멀티미디어 스트리밍 시스템
캐시 관리 (계속) – 부하 배분을 위한 캐싱 (CLB: Caching for Load Balancing) » GIC 정책을 저장 장치의 부하를 고려하도록 변형 서로 다른 저장 장치들의 부하를 고려하여 부하가 심한 장치만을 캐싱 » CLB 정책의 두 가지 상태 보통의 상태 시스템에서 어떠한 요청도 거부되지 않을 경우 평균 부하보다 부하가 심한 장치로부터 얻어지는 스트림만을 캐싱 과부하된 상태 시스템에서 요청 거부가 일어날 경우 캐싱의 목적을 요청 거부율 최소화로 변경 과부화된 장치로부터 얻어지는 스트림만을 캐싱 멀티미디어 시스템 개론 74 10장 – 멀티미디어 스트리밍 시스템
캐시 관리 (계속) – 친화도 라우팅 » 분산 환경에서의 캐싱 정책 서버가 분산되어 있는 경우 서버들 사이의 부하 균형을 고려 » 시스템에 존재하는 모든 캐시는 각 서버들에 분할되어 존재 접근하는 데이터에 대한 고려 없이 요청이 전달되는 경우 같은 화일에 대한 요청이 서로 다른 서버에 전달될 수 있음 ☞ 캐시 적중률이 낮아지게 됨 » 같은 화일에 대한 관련된 요청들을 같은 서버로 전달 제어 서버가 요청을 전달 경로 기반 친화도 라우팅 정책 멀티미디어 시스템 개론 75 10장 – 멀티미디어 스트리밍 시스템
캐시 관리 (계속) u 디스크 캐싱 – 디스크 캐시의 특징 » 메모리 캐시에 비해 대역폭이 크지 않음 대역폭과 저장 공간 모두를 최적화해야 함 » 분산 환경에서 운용 가능 한 서버의 디스크에 저장된 멀티미디어 데이터가 다른 서버의 디스크 에 캐싱 가능 멀티미디어 시스템 개론 76 10장 – 멀티미디어 스트리밍 시스템
캐시 관리 (계속) – 동적 복제 정책 (DPSR: Dynamic Policy of Segment Replication) » 멀티미디어 데이터를 고정된 크기의 조각으로 분할 시스템이 동작 중에 필요에 따라 일부 선택된 조각들을 다른 논리 디스 크에 복제 » 부하 균형을 위한 캐시로서 사용하기 위해 디스크의 일부 조각을 빈 상태로 둠 서버가 요청을 처리하는 도중에, 논리 디스크에 과부하가 생기면 이미 재생 중인 하나 이상의 조각을 복제 copyback 스트림 멀티미디어 시스템 개론 77 10장 – 멀티미디어 스트리밍 시스템
캐시 관리 (계속) – 동적 복제 정책 (DPSR: Dynamic Policy of Segment Replication) (계속) » 각 디스크에 대한 미래의 부하를 예측하고 미리 지정된 임계치와 비교하여 복제할 것을 결정 어느 논리 디스크에 복제를 할 것인가를 결정할 때 역시 미래의 부하를 예측하여 대상을 결정 가장 낮은 부하를 갖는 논리 디스크를 선택하고 그 디스크로 복제 빈 공간이 없을 경우 비활성화된 조각을 선택하여 제거하고 그 자리에 복제 클라이언트 L 1 O 12 L 2 O 21 O 31 O 22 O 32 O 41 O 11 copyback 스트림 멀티미디어 시스템 개론 78 10장 – 멀티미디어 스트리밍 시스템
캐시 관리 (계속) – 자원 기반 캐싱 (RBC: Resource-Based Caching) » 인터넷 환경에서 사용 가능한 프록시 캐싱 정책 » 캐싱할 개체가 차지할 저장 공간 뿐 아니라 대역폭까지 모두 고려 » 연속된 구간(interval)을 run으로 결합하여 run 단위로 캐싱 구간을 캐싱할 때 발생하는 오버헤드를 줄이기 위해 S 1 S 2 S 3 S 4 S 5 Run 1 Run 2 Run 3 Run 4 멀티미디어 시스템 개론 79 10장 – 멀티미디어 스트리밍 시스템
캐시 관리 (계속) – 자원 기반 캐싱 (RBC: Resource-Based Caching) (계속) » 개체 i가 캐싱되었을 때 얻을 수 있는 이득 gi을 고려 g i = ri x b i ri: 개체에 동시에 접근하는 스트림의 수 bi: 개체에 접근하기 위해 필요한 대역폭의 크기 » 두 단계로 진행 캐싱할 개체를 선택 캐시에서 제거할 하나 이상의 개체를 선택 멀티미디어 시스템 개론 80 10장 – 멀티미디어 스트리밍 시스템
캐시 관리 (계속) – 자원 기반 캐싱 (RBC: Resource-Based Caching) (계속) » 캐싱할 개체의 선택 캐시의 저장 공간과 대역폭 가운데 어느 것이 더 부족한지를 보고 결정 ρbw: 캐시의 현재 대역폭 활용도 ρsp: 현재 저장 공간의 활용도 공간 우선 영역 (ρsp » ρbw) 저장 공간을 가장 적게 필요로 하는 개체를 선택 대역폭 우선 영역 (ρsp « ρbw) 저장 오버헤드가 가장 낮은 개체를 선택 저장 오버헤드 - 개체가 필요로 하는 전체 대역폭 크기에 대한 저장하는데 필요로 하는 대역폭 크기의 비율 동일 영역 (ρsp ≈ ρbw) 저장 공간과 대역폭 모두에 대한 낭비를 줄일 수 있는 개체를 선택 멀티미디어 시스템 개론 81 10장 – 멀티미디어 스트리밍 시스템
캐시 관리 (계속) – 자원 기반 캐싱 (RBC: Resource-Based Caching) (계속) » 캐시로부터 제거할 개체의 선택 캐시의 상태를 고려 (sp, bw) sp: 현재 사용중인 캐시 공간 bw: 현재 사용중인 캐시 대역폭 캐시 내의 개체 i가 캐시에 존재할 경우 얼마나 좋은 영향을 미치는지 를 나타내는 점수 Gi를 사용 무제약 영역 캐싱할 개체를 삽입하기에 충분한 공간과 대역폭이 있는 경우 새로운 개체가 캐시에 삽입되는데 아무런 문제가 없음 멀티미디어 시스템 개론 82 10장 – 멀티미디어 스트리밍 시스템
캐시 관리 (계속) – 자원 기반 캐싱 (RBC: Resource-Based Caching) (계속) 대역폭 제약 영역 개체를 캐싱하기에 충분한 공간은 있으나 대역폭이 부족한 경우 충분한 대역폭이 생길 때까지 Gi 값이 가장 낮은 개체들을 선택하여 제거 공간 제약 영역 • Gi = gi / bwi 개체에 대한 개체 i가충분하지만 저장 공간이 부족한대역폭의 (bw : 대역폭은 캐시 내에서 차지하는 경우 i 크기) 충분한 저장 공간이 생길 때까지 Gi 값이 가장 낮은 개체들을 선택하여 제거 • Gi = gi / spi (spi: 개체 i가 캐시 내에서 차지하는 저장 공간의 크기) 멀티미디어 시스템 개론 83 10장 – 멀티미디어 스트리밍 시스템
캐시 관리 (계속) – 자원 기반 캐싱 (RBC: Resource-Based Caching) (계속) 공간-대역폭 제약 영역 개체를 캐싱하기에 필요한 저장 공간과 대역폭 모두가 부족한 경우 • s-list: 캐시 내의 개체들을 Gi = gi / spi를 기준으로 오름 차순으로 정렬한 리스트 • b-list: 캐시 내의 개체들을 Gi = gi / bwi를 기준으로 오름 차순으로 정렬한 리스트 개체 i에 대해서, • spfree: 캐시의 사용 가능한 저장 공간 • bwfree: 캐시의 사용 가능한 대역폭 개체가 제거된 이후에 spfree와 bwfree를 다시 계산하고 충분한 공간 및 대역 폭이 가능할 때까지 과정을 되풀이 • spfree / spi < bwfree / bwi: s-list의 가장 앞에 있는 개체를 제거 • 그렇지 않으면: b-list의 가장 앞에 있는 개체를 제거 멀티미디어 시스템 개론 84 10장 – 멀티미디어 스트리밍 시스템
멀티미디어 스트리밍 시스템 사례 – Yima: University of Southern California에서 개발한 시스템 u 시스템 개요 이더넷 스위치 이더넷 100 Mbps 서버0 서버1 빠른 이더넷 혹은 기가비트 이더넷 1, 000 Mbps 서버2 PC 이더넷 서버N 100 Mbps 다중 100 Mbps NIC PCI 버스; 1, 064 Mbps Ultra 160 SCSI 컨트롤러 최고 160 Mbytes/s 디스크 0 디스크 1 디스크 2 디스크 N … 인터넷 백본 라우터 RTP/UD 미디어 데이 P 터 디스크: Ultra 160 SCSI 서버 측 구성 요소 사용자 인터페이스 재생 비디오/오디오 디코더 멀티미디어 시스템 개론 85 명령, 제어 RTSP/TCP RTSP, RTP 컨트롤러 버퍼 클라이언트 측 구성 요소 10장 – 멀티미디어 스트리밍 시스템
멀티미디어 스트리밍 시스템 사례 (계속) u 서버 디자인 – 데이터 배치 및 스케줄링 » 임의 배치 방식을 사용 의사 임의 블록 배치를 사용하여 각 블록이 어느 디스크에 위치하고 있 는지를 저장해야 하는 오버헤드를 제거 – 확장 적응성 » 다중 서버의 지원 – 이질성 » 디스크 병합을 사용 여러 물리적 디스크들을 하나의 논리 디스크로 보이도록 하는 가상의 뷰를 제공 – 고장 회복력 » 패리티 기반의 데이터 중복 멀티미디어 시스템 개론 86 10장 – 멀티미디어 스트리밍 시스템
멀티미디어 스트리밍 시스템 사례 (계속) – 데이터 재배치 » 서버나 디스크가 추가될 경우 서버가 분할되는 것을 피하기 위해 데이터 블록을 재분산 Scaddar 알고리즘 사용 – 다중 서버 구조 클라이언트 RTSP 서버 RTP 서버 스케줄러 File I/O 활성 모듈 비활성 모듈 멀티미디어 시스템 개론 87 데이터 요청 10장 – 멀티미디어 스트리밍 시스템
멀티미디어 스트리밍 시스템 사례 (계속) u 클라이언트 구조 – 클라이언트 버퍼 관리 » 버퍼는 버퍼 오버플로우 수위(WMo) 와 버퍼 언더플로우 수위(WMu) 를 비롯한 여러 개의 수위를 유지 일시정지: 버퍼 내의 데이터가 WMo에 도달하면 서버로부터 전송 받는 데이터 흐름을 일시 정지 재시작: 버퍼 내의 데이터가 WMu에 도달하면 서버로부터의 스트림을 재시작 » Δp 스케줄러가 패킷을 클라이언트에게 전송하기 위해 사용하는 패킷간 전송 시간 버퍼 내의 데이터 양에 기반하여 서버에 새로운 Δp 값을 업데이트하여 전송률을 맞춤 멀티미디어 시스템 개론 88 10장 – 멀티미디어 스트리밍 시스템
멀티미디어 스트리밍 시스템 사례 (계속) – 클라이언트 버퍼 관리 (계속) B 버퍼 WMO 오버플로우 수위 (일시 정지 요청) 감속 요청 (∆p + 20%) 감속 요청 (∆p + 10%) 재시작 요청 (∆p를 기본값으로 설정) 데이터 양 가속 요청 (∆p - 10%) 가속 요청 (∆p - 20%) 언더플로우 수위 WMU 0 멀티미디어 시스템 개론 89 10장 – 멀티미디어 스트리밍 시스템
멀티미디어 스트리밍 시스템 사례 (계속) u RTP/UDP와 선택적 재전송 – 시간에 민감한 데이터의 전송을 위해 RTP 지원 – 선택적 재전송 프로토콜의 구현 » 각 손실된 RTP 패킷마다 최대 한 번 재전송된 패킷이 제 때에 도착하여 소비될 수 있을 경우에만 시도 – 패킷에 서버 노드를 식별할 수 있는 정보를 포함 » 패킷의 재전송을 요청할 경우 송신 서버를 식별하기 위해 멀티미디어 시스템 개론 90 10장 – 멀티미디어 스트리밍 시스템
요약 u 멀티미디어 데이터 블록이 클라이언트 측에 도착하는 대로 재생을 하는 패러다임을 스트리밍 패러다임이라고 한다. u 멀티미디어 데이터를 안정적으로 전송하기 위해, 스트리밍 서버는 요청을 처리하는데 필요한 서버 내 자원의 대역폭을 예약함으로써 논리 채널을 설정한다. u 논리 채널이 설정된 이후에, 서버 내의 모든 자원은 채널 단위로 관 리가 되며, 채널 관리자는 최대한 많은 클라이언트의 요청을 처리할 수 있도록 어떤 요청을 어떻게 처리할 것인가를 결정한다. – 채널 관리와 관련된 정책으로 비상 채널 정책과 일괄 정책, 방송 기법 등이 있다. u 스트리밍 서버는 하나 이상의 저장 장치를 가질 수 있다. – 하나의 저장 장치를 관리하는 정책으로는 라운드 로빈 정책과 스캔 정 책, 그룹 스위핑 스케줄링 정책, EDF 정책과 스캔-EDF 정책이 있다. – 여러 개의 저장 장치를 가질 때에는 주로 스트라이핑 방법을 사용한다. 멀티미디어 시스템 개론 91 10장 – 멀티미디어 스트리밍 시스템
요약 (계속) u 저장 시스템에 고장이 발생하는 경우, 스트리밍 서버는 이를 회복할 수 있 어야 한다. – 손실된 정보를 완전하게 복구하는 회복 정책으로는 미러 기반의 정책과 패리티 정보를 유지하는 방식이 있으며, 패리티 정보를 유지하는 경우는 대표적으로 스 트리밍 RAID™ 정책과 대역폭 향상 정책이 사용된다. – 손실된 정보를 무시하고 데이터를 불완전하게 재생하는 회복 정책으로는 DRAD 정책이 있다. u 여러 개의 저장 장치를 사용할 때, 저장 장치 사이의 부하 불균형을 해소하 기 위해 인기도 기반 배치 정책을 사용한다. u 이차 저장 장치에 모든 멀티미디어 데이터를 저장하기 어려운 경우에는 삼 차 저장 장치를 이용하여 계층적으로 데이터를 관리할 수 있다. u 멀티미디어 데이터가 전송될 때 사용하는 네트워크 대역폭이나 디스크 검 색 대역폭을 절약하기 위해 캐시를 사용한다. – 버퍼링은 데이터 블록이 스트림을 위해 미리 인출되는 것을 의미하고, 캐싱은 이 미 검색되었던 데이터 블록이 스트림으로 전송된 이후에도 미래에 사용되기 위 해 유지되는 것을 의미한다. 멀티미디어 시스템 개론 92 10장 – 멀티미디어 스트리밍 시스템
요약 (계속) u 메모리 캐시는 저장 공간이 매우 한정되어 있지만, 대역폭이 거의 무한하다는 특징을 갖는다. – 대표적인 메모리 캐싱 정책으로 IC 정책과 GIC 정책, 친화도 라우팅 정 책, CLB 정책이 사용된다. u 디스크 캐시는 저장 공간 뿐 아니라 대역폭을 고려하여 관리해야 한 다. – 대표적인 디스크 캐싱 정책으로 DPSR 정책과 RBC 정책이 있다. u Yima는 분산 서버 환경을 사용하여 확장 적응성을 갖춘 스트리밍 서버이다. 멀티미디어 시스템 개론 93 10장 – 멀티미디어 스트리밍 시스템
참고문헌 u u u u A. E. Dashti et al. , "Streaming Media Server Design, " Pearson Education, 2003 A. Dan et al. , "Multimedia Resource Management in OS/390 LAN Server, " IBM Systems Journal, 36(3): 393 -410, 1997. D. Anderson, "Metascheduling for Continuous Media, " ACM Transactions on Computer Systems, 11(3): 205 -225, 1993. J. -Y. Le Boudec, "The Asynchronous Transfer Mode: A Tutorial, " Computer Networks and ISDN Systems, 24: 279 -309, 1992. CCITT, "ISDN Frame Relay Standard, " CCITT recommendation Q. 933. CCITT, 1988. S. Golestani, "A Self-clocked Fair Queuing Scheme for High Speed Applications, " In Infocomm, 1994. D. Anderson et al. , "A Distributed Computer System for Professional Audio, " In Proceedings of ACM Multimedia Conference. ACM, 1994. 멀티미디어 시스템 개론 94 10장 – 멀티미디어 스트리밍 시스템
참고문헌 (계속) u u u A. Dan et al. , "Resource Allocation for Multimedia Support in a Non -realtime Environment, " IBM Technical Disclosure Bulletin, 1995. A. Dan et al. , "The Research Server Complex Manager for Largescale Multimedia Servers, " Technical Report RC 20705, IBM Research, 1997. A. Dan et al. , "Channel Allocation under Batching and VCR Control in Video-on-demand Servers, " Journal of Parallel and Distributed Computing, 30(2): 168 -179, 1995. G. Coulson and G. S. Blair, "Micro-kernel Support for Continuous Media in Distributed Systems, " Computer Networks and ISDN Systems, 26: 1323 -1341, 1994. A. Dan et al. , "Dynamic Batching Policies for an On-demand Video Server, " Multimedia Systems, 4(3): 112 -121, 1996. S. Deering, "Host Extensions for IP Multicasting, " Technical Report RFC 1112. IETF, 1989. 멀티미디어 시스템 개론 95 10장 – 멀티미디어 스트리밍 시스템
참고문헌 (계속) u B. Ford and S. Susarla, "CPU Inheritance Scheduling, " In Proceedings of the Second USENIX Symposium on Operating Systems Design and Implementation. ACM, 1996. u A. Dan et al. , "Buffer Management Policy for an On-demand Video Server, " Technical Report RC-19347. IBM Research, 1994. u "Video Store Magazine, " Advanstar Communications, Inc. , December 1992. u J. Davin and A. Heybey, "A Simulation Study of Fair Queuing and Policy Enforcement, " The Computer Communication Review, 20(5): 23 -29, 1990. u D. Venkatesh and T. Little, "Prospects for Interactive Video-ondemand, " IEEE Multimedia, pp. 14 -23, 1994. u C. Aggarwal et al. , "Adaptive Piggybacking Schemes for Video-ondemand Systems, " Technical Report RC-20635, IBM Research, 1996. 멀티미디어 시스템 개론 96 10장 – 멀티미디어 스트리밍 시스템
참고문헌 (계속) u P. Goyal et al. , "A Hierarchical CPU Scheduler for Multimedia Operating Systems, " In Proceedings of the OSDI Symposium. ACM, 1996. u S. Vishwanathan and T. Imielinski, "Metropolitan Area Video on Demand Multimedia Service, " SPIE, 24(17): 66 -77, 1995. u C. Aggarwal et al. , "Permutation-based Pyramid Broadcasting, " Technical Report RC-20620, IBM Research, 1996. u K. Almeroth et al. , "On the Use of Multicast Delivery to Provide a Scalable and Interactive Video-on-demand Service, " IEEE Journal of Selected Areas in Communication, pp. 1110, 1996. u P. Lougher and D. Shepherd, "The Design of a Storage Server for Continuous Media, " The Computer Journal, 36(1): 32 -42, 1993. u T. Teory and T. Pinkerton, "A Comparative Analysis of Disk Scheduling Policies, " Communications of the ACM, 15(3): 177 -183, 1972. 멀티미디어 시스템 개론 97 10장 – 멀티미디어 스트리밍 시스템
참고문헌 (계속) u P. Yu et al. , "Grouped Sweeping Scheduling for DASD-based Multimedia Storage Management, " Multimedia Systems, 1: 99 -109, 1993. u C. Liu and J. Layland, "Scheduling Algorithms for Multiprogramming in a Hard Real-time Environment, " Journal of the ACM, 20(1): 46 -61, 1973. u A. Reddy and J. Wylie, "Disk Scheduling in a Multimedia I/O System, " In Proceedings of ACM Multimedia Conference. ACM, 1993. u S. Berson et al. , "Staggered Striping in Multimedia Information Systems, " In Proceedings of the ACM SIGMOD International Conference on Management of Data, 1994. u S. Ghandeharizadeh and S. H. Kim, "Striping in Multi-disk Video Servers, " In High-Density Data Recording and Retrieval Technologies, Proc. SPIE 2604, 1995. 멀티미디어 시스템 개론 98 10장 – 멀티미디어 스트리밍 시스템
참고문헌 (계속) u A. Reddy and J. Wylie, "I/O Issues in a Multimedia System, " IEEE Computer, 27(3): 69 -74, 1994. u S. Ghandeharizadeh et al. , "On Minimizing Startup Latency in Scalable Continuous Media Servers, " In Proceedings of Multimedia Computing and Networking, 1997. u R. Muntz et al. , "RIO: A Real-time Multimedia Object Server, " ACM Sigmetrics Performance Evaluation Review, 25(2): 29 -35, 1997. u R. Tewari et al. , "Design and Performance Tradeoffs in Clustered Video Servers, " In Proceedings of IEEE ICMCS, 1995. u S. Ghandeharizadeh and S. H. Kim, "Design of Multi-user Editing Servers for Continuous Media, " Journal of Multimedia Tools and Applications Journal, 11(1), 2000. u D. Patterson et al. , "A Case for Redundant Arrays of Inexpensive Disks (RAID), " In Proceedings of the ACM SIGMOD International Conference on Management of Data. ACM, 1988. 멀티미디어 시스템 개론 99 10장 – 멀티미디어 스트리밍 시스템
참고문헌 (계속) u u u S. Berson et al. , "A Fault Tolerant Design of a Multimedia Server, " In Proceedings of the ACM SIGMOD International Conference on Management of Data. ACM, 1995. P. Shenoy and H. Vin, "Failure Recovery Algorithms for Multi-disk Multimedia Servers, " Technical Report 96 -06, University of Texas at Austin, 1996. T. Little and D. Venkatesh, "Popularity-based Assignment of Movies to Storage Devices in a Video-on-demand System, " Multimedia Systems, 2(6): 280 -287, 1995. M. Kienzle et al. , "Using Tertiary Storage in Video-on-demand Servers, " In Proceedings of IEEE Comp. Con. IEEE, 1995. S. Ghandeharizadeh and C. SHahabi, "On Multimedia Repositories, Personal Computers, and Hierarchical Storage Systems, " In Proceedings of ACM Multimedia Conference. ACM, 1994. A. Dan et al. , "Buffering and Caching in Large Scale Video Servers, " In Proceedings of IEEE Comp. Con. IEEE, 1995. 멀티미디어 시스템 개론 100 10장 – 멀티미디어 스트리밍 시스템
참고문헌 (계속) u A. Dan and D. Sitaram, "A Generalized Interval Caching Policy for Mixed Interactive and Long Video Environments, " In Proceedings of Multimedia Computing and Networking. SPIE, 1996. u A. Dan and D. Sitaram, "Multimedia Caching Strategies for Heterogeneous Application and Server Environments, " Multimedia Tools and Applications, 4(3): 279 -312, 1997. u A. Dan et al. , "A Dynamic Policy of Segment Replication for Loadbalancing in Video-on-demand Servers, " Multimedia Systems, 3(3): 93 -103, 1995. u R. Tewari et al. , "Resource Based Caching for Web Servers, " In Proceedings of Multimedia Computing and Networking. SPIE, 1998. u R. Zimmermann et al. , "Yima: Design and Evaluation of a Streaming Media System for Residential Broadband Services, " Databases in Telecommunications, 2001. 멀티미디어 시스템 개론 101 10장 – 멀티미디어 스트리밍 시스템