지능형 디스크는 이전에 호스트 프로세서에서 수행되던 입출력 관련 연산 작업을 디스크 상에서 수행함으로써 전체적인 입출력 성능을 향상시킬 수 있다. 하지만, 현 시점에서 입출력 시스템이 가지는 한계와 하위 호환성 문제로 인하여 지능형 디스크를 직접적으로 현실화시키기는 어려워 보인다. 본 논문에서는 기존의 입출력 시스템과 하위 호환성을 유지할 수 있도록 물리적인 섹터 정보만을 이용하여 멀티미디어 부하를 판별하고 이를 기반으로 디스크의 동작을 멀티미디어 재생에 동적으로 최적화시키는 방법을 제안한다. 다양한 입출력 부하로부터 멀티미디어 부하를 지능적으로 분류하기 위해 기계 학습 분야에서 사용되고 있는 부스팅 알고리즘을 사용하였다 부스팅 알고리즘을 통해 구축된 최종 학습기를 이용하여 최근에 발생한 입출력 부하가 멀티미디어 부하라면, 디스크는 보다 많은 섹터를 미리 읽음으로써 멀티미디어 부하에 대한 디스크 활용율을 극대화한다. 이러한 지능형 입출력 서브 시스템을 차후에 멀티미디어 기기에 탑재되는 디스크 드라이브의 내부에 존재시킴으로써 호스트에 부가되는 부하없이 멀티미디어 데이타 재생에 대해 보다 효율적으로 디스크를 구동시킬 수 있다. 또한, 이러한 결과로 저자원 모바일 기기에서 보다 고화질의 멀티미디어를 재생할 수 있게 된다.
지능형 디스크는 이전에 호스트 프로세서에서 수행되던 입출력 관련 연산 작업을 디스크 상에서 수행함으로써 전체적인 입출력 성능을 향상시킬 수 있다. 하지만, 현 시점에서 입출력 시스템이 가지는 한계와 하위 호환성 문제로 인하여 지능형 디스크를 직접적으로 현실화시키기는 어려워 보인다. 본 논문에서는 기존의 입출력 시스템과 하위 호환성을 유지할 수 있도록 물리적인 섹터 정보만을 이용하여 멀티미디어 부하를 판별하고 이를 기반으로 디스크의 동작을 멀티미디어 재생에 동적으로 최적화시키는 방법을 제안한다. 다양한 입출력 부하로부터 멀티미디어 부하를 지능적으로 분류하기 위해 기계 학습 분야에서 사용되고 있는 부스팅 알고리즘을 사용하였다 부스팅 알고리즘을 통해 구축된 최종 학습기를 이용하여 최근에 발생한 입출력 부하가 멀티미디어 부하라면, 디스크는 보다 많은 섹터를 미리 읽음으로써 멀티미디어 부하에 대한 디스크 활용율을 극대화한다. 이러한 지능형 입출력 서브 시스템을 차후에 멀티미디어 기기에 탑재되는 디스크 드라이브의 내부에 존재시킴으로써 호스트에 부가되는 부하없이 멀티미디어 데이타 재생에 대해 보다 효율적으로 디스크를 구동시킬 수 있다. 또한, 이러한 결과로 저자원 모바일 기기에서 보다 고화질의 멀티미디어를 재생할 수 있게 된다.
The intelligent disk can improve the overall performance of the I/O subsystem by processing the I/O operations in the disk side. At present time, however, realizing the intelligent disk seems to be impossible because of the limitation of the I/O subsystem and the lack of the backward compatibility w...
The intelligent disk can improve the overall performance of the I/O subsystem by processing the I/O operations in the disk side. At present time, however, realizing the intelligent disk seems to be impossible because of the limitation of the I/O subsystem and the lack of the backward compatibility with the traditional I/O interface scheme. In this paper, we proposed new model for the intelligent disk that dynamically optimizes the I/O subsystem using the information that is only related to the physical sector. In this way, the proposed model does not break the compatibility with the traditional I/O interface scheme. For these works, the boosting algorithm that upgrades a weak learner by repeating teaming is used. If the last learner classifies a recent I/O workload as the multimedia workload, the disk reads more sectors. Also, by embedding this functionality as a firmware or a embedded OS within the disk, the overall I/O subsystem can be operated more efficiently without the additional workload.
The intelligent disk can improve the overall performance of the I/O subsystem by processing the I/O operations in the disk side. At present time, however, realizing the intelligent disk seems to be impossible because of the limitation of the I/O subsystem and the lack of the backward compatibility with the traditional I/O interface scheme. In this paper, we proposed new model for the intelligent disk that dynamically optimizes the I/O subsystem using the information that is only related to the physical sector. In this way, the proposed model does not break the compatibility with the traditional I/O interface scheme. For these works, the boosting algorithm that upgrades a weak learner by repeating teaming is used. If the last learner classifies a recent I/O workload as the multimedia workload, the disk reads more sectors. Also, by embedding this functionality as a firmware or a embedded OS within the disk, the overall I/O subsystem can be operated more efficiently without the additional workload.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
본 연구에서는 이제까지와는 달리 입출력 인터페이스 체계의 변화 없이 디스크 내부에서 학습을 통하여 현재 입출력서브 시스템의 상태를 추론할 수 있는 새로운 연구 방향을 제시한다. 이러한 목적을 위해, 다양한 응용프로그램이 발행하는 입출력 부하중에서 멀티미디어 부하를 특성화 하고 이를 기반으로 멀티미디어 응응 프로그램이 실행될 경우 입출력 시스템을 동적으로 최적 화 시키는 과정을 보인다.
이제까지 디스크 입출력 서브시스템에서 지능화 연구와 관련하여 시도된 접근 방식은 결정적으로 제공된 디스크 관련 정보나 새로운 인터페이스의 추가에 의해 현재의 입출력 시스템의 성능을 개선하도록 하였다. 본 연구에서는 이제까지와는 달리 지능형 디스크가 기존의 입출력 서브시스템의 큰 변화 없이 디스크 내부에서 학습을 통하여 현재 입출력 서브시스템의 상태를 추론하는 새로운 연구 방향을 제시한다.
본 연구를 통해 제시하고자 하는 지능형 입출력 서브시스템은 디스크 내부에서 현재 실행중인 응용 프 로그램이 발생하는 부하를 학습함으로써 다음에 발생할 부하를 추론하기 때문에 기존의 입출력서브 시스 템의 체계를 변화 시키거나 응용 프로그램이 부가적인 정보를 디스크에 전달하지 않고도 디스크의 동작을 현재 실행중인 응용 프로그램의 부하에 최적화시킬 수 있게 된다. 이와 같이 응용 프로그램이 발생하는 부하를 학습하고 다음에 발생될 부하의 유형을 추론하기 위해 본 연구에서는 workload monitor, workload analyzer system optimizer로 이루어진 지능형 모듈을 개발하였다.
이번 절에서는 우리는 멀티미디어 데이타의 특성들에 기초하여 시스템에서 발생하는 입출력 부화중에서 멀티미디어 부하를 특성화 시킬 수 있음을 보여주려 한다. 즉, 다양한 입출력 패턴으로 부터 멀티미디어 부하의 특성을 가장 잘 설명할 수 있는 파라미터를 추출한다.
이러한 입출력서브 시스템을 개선하기 위해 지금까지 이루어졌던 연구는 주로 블랙 박스로 간주되는 다른 구성요소의 정보를 응용프로그램이 직접 이용하거나, 새로운 인터페이스를 추가하는 접근 방식을 취하고 있었다. 본 논문에서는 이러한 기존의 연구와는 달리 입출력 서브시스템의 변화 없이 호스트와 디스크 간에 발생하는 입출력 부하를 학습하여 디스크가 현재 어떤 종류의 입출력 부하가 발생하였는지를 알게 함으로써 입출력 부하에 따라 디스크의 동작을 동적으로 최적화시킬 수 있는 방법을 제시하였다. 입출력 부하를 특성화 시키는 과정에서 보여준 것처럼 본 논문은 여러 입출력 부하 중에서 멀티미디어 부하를 특성화 시키고, 특성화된 속성을 입력 변수로 하는 부스팅 알고리즘을 통해 2% 정도의 오차를 가지고 해당 부하를 분류해 내었으며, 만약 분류된 입출력 부하가 멀티미디어 부하로 판결날 경우 현재 입출력 작업 대상과 파일과 관련된 연속한 데이타 블록을 더 많이 읽어옴으로써 디스크에서 발생하는 물리적인 오버헤드를 감소시켰다.
우리는 지금 모바일 기기에서 지능형 입출력 서브시 스템이 디스크에서 발생하는 물리적인 오버헤드를 감소 시키는 정도를 보여주고자 한다. 실험에서 사용한 리눅스 커널의 미리 읽기 동작은 31개의 데이타 블록을 미리 읽는 것이다.
가설 설정
n개의 학습자료 (X1, y1), (X2, y2), …(xn,yn)이 주어졌다고 가정하자. X1는 p차원의 입력변수이고, 즉, xi1, xxi2, Xi3, …, xip 이고, 출력변수 yi는 학습자료가 속하는 그룹 (class)을 나타낸다.
제안 방법
이러한 입출력서브 시스템을 개선하기 위한 지금까지의 연구는 주로 새로운 인터페이스를 추가하거나 디스크에 지능형 모듈을 추가하는 방향으로 진행되어 왔다. 예로, 마이크로프로세서와 메모리를 탑재하고 있는 지능형 디스크는 기존의 호스트 프로세서에서 수행되던 입출력 관련 연산을 디스크 단에서 직접 수행함으로써 호스트 프로세서와 디스크 사이에 발생하는 트래픽을 감소시켜 전체적인 시스템의 성능을 향상 시키고자 하였다. 이러한 지능형 디스크는 파일 시스템 단계에서 사용할 수 없는 정확한 헤드 위치, 블록 매핑 정보와 같은 디스크의 물리적인 정보를 활용할 수 있다는 장점을 가지고 있기는 하지만, 현재 실행중인 응용 프로그램의 특성이나 운영체제의 동작에 대해서는 여전히 알 수 없으며 기존의 입출력서브 시스템에서 사용하는 인터페이스 체계와 호환성의 결여로 인하여 직접적으로 현실화 시키기는 어려워 보인다.
이러한 목적을 위해, 다양한 응용프로그램이 발행하는 입출력 부하중에서 멀티미디어 부하를 특성화 하고 이를 기반으로 멀티미디어 응응 프로그램이 실행될 경우 입출력 시스템을 동적으로 최적 화 시키는 과정을 보인다. 다양한 입출력 부하중에서 멀티미디어 부하를 특성화 시키기 위해서 미리 얻어진 입출력 패턴을 학습하여 학습기를 생성하고, 최종적으로 만들어진 학습기를 이용하여 일정 시간마다 입출력 부하의 유형을 분류한다. 만약 입출력 부하가 멀티미디어 부하로 추론되면 디스크 입출력서브 시스템을 멀티미 디어 응용 프로그램에 최적화 시킨다.
이들 각 구성요소간의 동작 관계는 그림 3에 보이는 것과 같다. 여기서, workload monitor는 최근 T초동안 응용 프로그램에서 발생한 I/O 요청을 수집하여 내부의 트레이스 큐에 유지하고 workload analyzei는 트레이스 큐 내의 I/O 요청을 분석하여 특성화 벡터를 추출한 후 현재 발생한 부하의 유형을 분석한다. workload analyzer가 추출하는 특성화 벡터는 <디스크로부터 데이타를 읽은 회수, 사이 시간, 사이 시간의 표준편차, 사이 시간의 중간값, 사건 사이 시간의 범위, 디스크로 부터 읽은 총 데이타의 양>과 같은 원소로 이루어지며 이 특성화 벡터가 부스팅 알고리즘의 입력으로 주어져 현재 발생한 부하의 유형을 결정하게 된다.
입출력 패턴을 추출하기 위해 사용된 데이타의 종류는 표 1과 같다. 우리는 각 멀티미디어 응용 프로그램에서 여섯 종류의 멀티미디어 파일을 재생하면서 각각의 경우로부터 10개 이상의 입출력 패턴을 추출하고 디스크 입출력 동작에 대한 통계적 자료와 입출력 패턴의 형태를 비교 하였다. 이 과정에서 동일한 멀티미디어 응용프로그램과 멀티미디어 파일의 경우에 추출한 입출력 패턴으로부터는 각각을 구별할 수 있는 차이점을 찾을 수 없었기 때문에 각각의 경우에 대해서 두 개의 입출력 패턴만을 취하였다.
하지만, 차후 에 디스크 내부에 구현 가능한 기능을 운영체제 내부에 구현함으로써 간접적으로 그 성능을 평가할 수 있다. 본 연구에서는 그림 10에 보이는 것과 같이 리눅스 커널 2422에 지능형 모듈을 추가함으로써 지능형 입출력 서브시스템을 구현하였다.
기존의 입출력 서브시스템과 지능형 입출력서브 시스템에서 Mplayer, Xine, Mpeg2dec로 입출력 부하 추출에 사용한 6개의 멀티미디어 파일을 재생하였다. 이들로부터 멀티미디어 파일 재생 동안에 발생하는 입출력 부하를 추출하여 디스크 시뮬레이션 툴인 DiskSim[15]} 으로 디스크에서 발생한 물리적인 오버헤드 정도를 비교 및 분석하였다. 그림 15, 16, 17은 Mplayer, Xine, Mpeg2dec에서 멀티미디어 파일을 재생하는 동안에 디스크에서 발생하는 정착 시간(탐색 시간 十 회전 지연), 전송 시간, 접근 시간의 비율을 보여준다.
대상 데이터
멀티미디어 부하의 특성을 잘 파악할 수 있는 학습자료를 만드는 것이 무엇보다 중요한 열쇠이다. 여기에서는 다 36개의 멀티미디어 응용프 로그램의 입출력 패턴과 9개의 다른 응용프로그램의 입출력 패턴으로부터 멀티미디어 부하에 대한 학습 자료 2200개, 게임 실행, 텍스트 읽기, 쓰기, 편집과 같은 다른 입출력 부하에 대한 학습 자료 800개를 만든다. 부스 팅 알고리즘에서 사용하는 기본학습기는 최종노드가 3 개인 의사결정트리(decision tree)이고, 수행하는 학습의 회수는 200으로 하였다.
여기에서는 다 36개의 멀티미디어 응용프 로그램의 입출력 패턴과 9개의 다른 응용프로그램의 입출력 패턴으로부터 멀티미디어 부하에 대한 학습 자료 2200개, 게임 실행, 텍스트 읽기, 쓰기, 편집과 같은 다른 입출력 부하에 대한 학습 자료 800개를 만든다. 부스 팅 알고리즘에서 사용하는 기본학습기는 최종노드가 3 개인 의사결정트리(decision tree)이고, 수행하는 학습의 회수는 200으로 하였다.
리눅스 커널에 구현한 지능형 입출력 서브시스템은 최근 5초 동안의 입출력 부하를 지능적으로 분류하여 그 분류 결과가 멀티미디어 부하이면, 미리 읽기 동작을 61개의 데이타 블록을 미리 읽도록 변화시킨다. 기존의 입출력 서브시스템과 지능형 입출력서브 시스템에서 Mplayer, Xine, Mpeg2dec로 입출력 부하 추출에 사용한 6개의 멀티미디어 파일을 재생하였다. 이들로부터 멀티미디어 파일 재생 동안에 발생하는 입출력 부하를 추출하여 디스크 시뮬레이션 툴인 DiskSim[15]} 으로 디스크에서 발생한 물리적인 오버헤드 정도를 비교 및 분석하였다.
이론/모형
미리 얻어진 입출력 패턴을 학습하여 입출력 부하를 지능적으로 추론하는 학습기를 만들기 위해 기계 학습 분야에서 널리 알려진 부스팅 알고리즘을 사용하였다. 부스팅 알고리즘은 다음과 같은 기본 모형을 기자는 분류(classification) 문제에 사용된다.
성능/효과
지금까지 제안된 지능형 디스크는 응용 프로그램이나 운영체제가 알 수 없는 디스크의 물리적인 정보를 활용함으로써 입출력 시스템의 성능을 개선시킬 수 있는 많은 일을 수행할 수 있었다. 하지만, 이들 역시 현재 응용 프로그램이나 운영체제가 어떤 작업을 수행하고 있는지 알 수 없으며, 입출력 인터페이스의 변경을 요구하기 때문에 기 개발된 시스템과의 하위 호환성을 유지할 수 없다는 문제를 가지고 있다.
본 연구를 통해 제시하고자 하는 지능형 입출력 서브시스템은 디스크 내부에서 현재 실행중인 응용 프 로그램이 발생하는 부하를 학습함으로써 다음에 발생할 부하를 추론하기 때문에 기존의 입출력서브 시스 템의 체계를 변화 시키거나 응용 프로그램이 부가적인 정보를 디스크에 전달하지 않고도 디스크의 동작을 현재 실행중인 응용 프로그램의 부하에 최적화시킬 수 있게 된다. 이와 같이 응용 프로그램이 발생하는 부하를 학습하고 다음에 발생될 부하의 유형을 추론하기 위해 본 연구에서는 workload monitor, workload analyzer system optimizer로 이루어진 지능형 모듈을 개발하였다.
또한, 멀티미디어 파일은 일반적으로 디스크에 연속적으로 저장되는 경향이 크며 연속한 두 개의 입출력 요청은 각각 연속한 248, 8개의 논리 섹터를 가진다. 이상의 특성화 과정 통해 얻은 결 과와 멀티미디어 부하가 가지는 일반적인 특성을 연관 지어 보면, (1)멀티미디어 데이타는 디스크에 연속적으로 저장되는 경향이 크며 (2)파일에 명시된 초당 재생률에 따라 주기적인 입출력 부하를 발생시키며 (3) 매 순간 읽어 들이는 데이타의 양은 규칙적이다.
그림 18, 19, 20은 지능형 입출력 버스 시스템과 기존의 입출력서브 시스템의 성능 비교를 보여준다. 지능형 입출력 서브시 스템은 기존의 입출력 서브시스템과 비교하여 멀티미디어 파일 재생 동안에 정착 시간은 37-51%, 전송 시간 은 2-27% 정도를 감소시켰다 이를 통해서 호스트의 접근 시간은 17-30% 정도 감소하였다.
본 논문에서는 이러한 기존의 연구와는 달리 입출력 서브시스템의 변화 없이 호스트와 디스크 간에 발생하는 입출력 부하를 학습하여 디스크가 현재 어떤 종류의 입출력 부하가 발생하였는지를 알게 함으로써 입출력 부하에 따라 디스크의 동작을 동적으로 최적화시킬 수 있는 방법을 제시하였다. 입출력 부하를 특성화 시키는 과정에서 보여준 것처럼 본 논문은 여러 입출력 부하 중에서 멀티미디어 부하를 특성화 시키고, 특성화된 속성을 입력 변수로 하는 부스팅 알고리즘을 통해 2% 정도의 오차를 가지고 해당 부하를 분류해 내었으며, 만약 분류된 입출력 부하가 멀티미디어 부하로 판결날 경우 현재 입출력 작업 대상과 파일과 관련된 연속한 데이타 블록을 더 많이 읽어옴으로써 디스크에서 발생하는 물리적인 오버헤드를 감소시켰다.
[9, 1이는 전통적으로 파일 시스템에서 수행되던 일부 기능을 디스크로 옮겨와 현재 디스크 헤드의 정확한 위치를 알아낸다. 이를 통해 현재 디스크 헤드가 위치한 곳의 사용되지 않는 섹터에 작은 양의 동기화 쓰기를 수행함으로써 회전 지 연을 줄일 수 있다는 것을 보여준다. 에서는 디스크에서 발생하는 회전 지연 동안에 경유하는 섹터들을 공격적으로 읽어들여 디스크 메모리에 저장한다.
후속연구
만약 입출력 부하가 멀티미디어 부하로 추론되면 디스크 입출력서브 시스템을 멀티미 디어 응용 프로그램에 최적화 시킨다. 이런 기능은 차후 지능형 디스크에 펌웨어나 임베디드 디스크 운영체제와 같은 형태로 탑재하여 입출력서브 시스템이나 디스크 의 동작이 동적으로 특정 응용 프로그램에 최적화 될 수 있다.
지능형 입출력 서브시스템에 대한 구현은 현재 디스크 내부에서 이루어지는 것이 불가능하다. 하지만, 차후 에 디스크 내부에 구현 가능한 기능을 운영체제 내부에 구현함으로써 간접적으로 그 성능을 평가할 수 있다. 본 연구에서는 그림 10에 보이는 것과 같이 리눅스 커널 2422에 지능형 모듈을 추가함으로써 지능형 입출력 서브시스템을 구현하였다.
참고문헌 (15)
N. Burnett, J. Bent, A. Arpaci-Dusseau, and R. Arpaci-Dusseau, Exploiting gray-box knowledge of buffer-cache management, 2002
J. Schindler, J. Griffin, C. Lumb, and G. Ganger. Track-aligned extents: matching access patterns to disk drive characteristics, Jan
Andreas Weissel, Bjoern Beutel, and Frank Bellosa. Cooperative I/O - a novel I/O semantics for energy-aware application
Zoran Dimitrijevic, Raju Rangaswami, and Edward Chanf. Design and analysis of semi-preemtible IO. Proceedings of the Second Usenix FAST, Mar 2003
Mohamed Aboutabl, Ashock K. Agrawala, and Jean-Dominique Decotignie. Temporally determinate disk access: An experimental approach (extended abstract). In Measurement and Modeling of Computer Systems, pages 280-281, 1998
Bruce L. Worthington, Gregory R. Ganger, Yale N. Patt, and John Wilkes. On-line extraction of SCSI disk drive parameters. Technical Report CSE-TR-323-96, 1996
Anurag Acharya, Mustafa Uysal, and Joel H. Saltz. Active disks: Programming model, algorithms and evaluation. In Architectural Support for Programming Languages and Operating Systems, pages 81-91, 1998
Robert M. Loge: A self organizing disk controller. Technical Report HPL-91-179, Dec 1991
Randlph Y. Wang, Tomas E. Anderson, and David A. Patterson. Virtual log based file systems for a programmable disk. In Operating Systems Design and Implementation, pages 29-43, 1999
Christopher Lumb, Jiri Schindler, Gregory R. Ganger, Erik Riedel, and David F. Nagle. Towards higher disk head utilization: Extracting 'free' bandwidth from busy disk drives. Pages 87-102
Eric Riedel, Christos Faloutsos, Gregory R. Granger, and David F. Nagle. Data mining on an OLTP system (nearly) for free. Pages 13-21, 2000
C. Lumb, J. Schindler, and G. Ganger. Freeblock scheduling outside of disk firmware, an 2002
Muthian Sivathanu, Vijayan Prabhakaran, Florentina I. Popovici, Timmothy E. Denehy, Andrea C. Arpaci-Dusseau, and Remzi H. Aepaci-Dusseau, Semantically-smart disk systems. In Second USENIX Conference on File and Storage Technologies, Mar 2003
John S. Bucy, Gregory R. Granger, and et al. The disksim simulation environment version 2.0 reference manual
※ AI-Helper는 부적절한 답변을 할 수 있습니다.