Content-Aware FTL, Ohio State University, USENIX FAST, 2011



그림 3 Content-Aware FTL 아키텍처



Content-Aware FTL 은 동일한 데이터를 기록하는 것을 방지하여 쓰기 횟수를 줄이고자 하였다. 그림 3Content-Aware FTL 설계로 쓰기 캐시에 존재하는 데이터와 플래시 메모리에 이미 기록된 데이터를 비교하여 만약 동일한 데이터가 발견되면 실제로 데이터를 기록하지 않고 FTL의 매핑 정보만 수정한다. 동일한 플래시 페이지를 서로 다른 논리 주소에 매핑시키는 것이다. 데이터의 비교를 위해서는 SHA-1 160 비트 해시를 사용한다. 40GB SSD에서 실험 결과, 전체 I/O 요청의 24.2% 를 감소하는 효과를 얻었으며, 반대급부로 0.5%의 성능 저하가 나타났다본 연구에서 제안한 중복 제거 기법은 I/O 요청 워크로드의 패턴과 플래시 메모리의 저장 용량 등에 크게 의존적이다. 워크로드가 동일한 데이터를 반복적으로 기록할 때 보다 효과적이며, 플래시 메모리의 크기가 클수록 보다 다양한 데이터가 기록되어 중복된 경우가 많아질 것이다. 따라서 이 기법의 적용을 위해서는 우선 Smart TV에서 주로 발생하는 I/O 워크로드를 분석하고, 플래시 메모리 용량에 따른 효용성을 미리 판단할 필요가 있다.

논문에서는 유휴 자원을 효율적으로 사용하고, 이에 따른 도입 및 운영 비용을 절감하기 위해서 가상화 기술의 필요성을 어필하고 있으며 분산 자원의 통합을 위한 핵심 기술로 가상화 기술의 중요성 인식과 자원 사용률을 극대화하고 총 소유 비용을 줄이기 위해 가상화 기술은 필수적이라고 서술하고 있다. 논문에서 밝히고 있는 가상화 기술이란 물리적으로 다른 시스템을 논리적으로 통합하거나 하나의 시스템을 논리적으로 분할해 자원을 효율적으로 사용하게 하는 기술이다. 특정 OS와 어플리케이션 기능들간의 관계를 무관하게 만들어 주는 소프트웨어 기술, 즉 OS의 특성에 상관없이 어플리케이션 기능들을 자유롭게 사용할 수 있도록 하는 소프트웨어 기술이다. 하지만 웹, 데이터베이스 서버 등 여러 서버를 하나의 머신 위에 동작시켜도 되지만 운영체제 위에서 여러 개의 서버 프로세스가 동작하게 되므로 서버 프로세스 사이에 많은 영향을 미친다는 치명적인 문제점이 존재하지만 가상화 기법을 이용하여 이를 해결하고자 한다.

 

Xen 하이퍼바이저

오픈 소스 기반의 가상화 소프트웨어로 하나의 컴퓨터에서 여러 종류의 운영 체계(OS)를 사용할 수 있게 하는 소프트웨어이다. Xen은 OS와 하드웨어 사이에 위치하며 커널이 실행될 수 있는 곳에 가상 환경을 제공하며 Xen이 포함된 시스템은 하이퍼바이저, 커널, 그리고 사용자 공간 애플리케이션이다. Xen 반가상화 기술을 이용하며 하드웨어 전체를 가상화 하는 대신 가상화가 적용된 리눅스 커널을 시스템 부팅시 적용하는 기법으로 CPU 레벨에서 에뮬레이션하는 것이 아닌 운영체제 커널을 수정하여 커널 함수 호출을 하면 호스트 커널로 전달시키도록 만든 방식을 채택하였다. 때문에 시스템에서 목적으로 하는 효과를 얻기 위한 본질적인 것은 아니지만 요구하는 작동을 하기 때문에 오버헤드가 적지만 운영체제 커널 수정이 필요하기 때문에 오픈소스 운영체제에서만 동작이 가능하며 가상머신이 직접 하드웨어를 제어하는 것이 아니라 하이퍼바이저에게 맡긴다. 때문에 높은 성능을 유지할 수 있다. Xen 다음과 같은 기능을 한다.

 

Xen에서의 하이퍼콜은 커널에서의 시스템콜과 비슷한 기능을 한다고 보면 되며 Xen Hypervisor는 OS와 I/O사이에 보호 영역을 생성하기 때문에 적은 오버헤드로 시스템 사이를 움직여야만 한다는 단점이 있다. 때문에 I/O Ring은 Domain에 의해 할당되며 Xen 내부에서 접근이 가능하며 공급자/소비자 포인터 한 쌍에 의한 I/O 연산 제어한다. CPU scheduling Borrowed Virtual Time scheduling algorithm을 이용하여 각 Domain에 대한 스케줄링 알고리즘을 적용하였으며, Virtual address translation 가상 페이지 테이블을 Domain 제공된다. Time and timer는 4가지로 구분되며 real time (The processor’s actual cycle counter), virtual time (It stops when the guest OS does not occupy CPU), wall-clock time (It is the real time plus an offset), Timer (Alarm timers) 구분된다. Physical memory에서 Memory Allocation는 도메인 생성시에 할당하며 Maximum reservation is specified하고 Balloon driver를 통한 메모리 관리를 하며 메모리 사용량을 반영한 메모리 할당을 한다. Network는 VFR (Virtual Firewall-Router)를 추상화하고, VIF(NIC와 비슷) 역할은 <pattern, action>  형식으로 동작한다. Disk는 VBD(Virtual Block Device)로 Domain 0의 관리 하에 운영된다.

 

단일서버에 다양한 네트워크 중심의 서비스 제공한다. 장비 비용 절약, 장비 활용도 증대가 가능하다. 단일 장비에 100개의 운영체제 구동이 가능하다. 각각의 OS 셋업 및 설정의 부담 적다. 성능의 우수성이 있다. EVALUATION를 통해서 native linux와 유사한 성능을 증명하였다.

현재는 저장장치에서의 대역폭을 고려한 연구는 없다.

SHVC-DASH 스트리밍 서버에서 스토리지 스케줄링을 통하여 대역폭을 할당

그에 따른 콘텐츠 계층의 의존성이 최종 사용자 QoS 미치는 영향을 밝히려

 

  1. 스토리지 스케줄링이 스트리밍 서비스 품질에 영향을 미친다는
  2. 어떤 기준으로 스토리지 대역폭을 할당하고 좋은 서비스 품질을 제공할 있는지 연구

 

DASH 스트리밍 표준 하나 -> HTTP 기반으로 동작

해당 콘텐츠의 MPD 파일을 해석한 정보를 바탕으로 품질 선택 해당 chunk 집합을 client 요청하고 server 전달하며 스트리밍이 진행

 

SHVC HEVC 코덱의 콘텐츠를 계층적으로 구성하는 방법을 제안

계층 간의 의존성이 존재하며 재생을 위해서는 기본 계층을 반드시 필요하며 화장 계층도 하위 계층 없이는 상위 계층의 데이터를 디코딩 할수 없기 때문에 원활한 스트리밍 서비스를 저공하기 위해 계층간의 중요도가 다르다는 특성을 고려한 설계가 필요

 

QoE(Quality of Experience)

스트리밍 서비스의 품질을 측정하는 한가지 방식

QoE 요청 응답시간, 화질 변화 횟수, 평균 처리량, 재생 시작지연, 평균 버퍼 수준, chunk 길이, MPD 7가지 항목으로 서비스를 평가

 

SHVC 고려한 QoS 적용 방법

콘텐츠를 계층마다 다르게 QoS 적용하기 위해서는 콘텐츠 저장소간의 I/O 대역폭을 독립적으로 나눌 있는 스케줄러가 필요 -> 이를 위해서는 기준이 필요하다.

첫번째, 의존 관계에 따라 계층이 올라갈수록 적은 대역폭을 할당하는 방법

두번째, 계층별 데이터의 비율에 맞게 대역폭을 할당하는 방법

 

연구에서는 서버의 입출력 대역폭의 변화에 따른 client에서 얻는 QoE 분석되어져 있다. Client에서 얻는 QoE 뿐만 아니라 서버에서 얻을 있는 QoE 분석하여 네트워크에서 일어날 있는 현상을 연구해야 한다.

+ Recent posts