최근 SSD(Solid State Drives)는 PC나 데이터 센터 등 다양한 컴퓨팅 환경에서 하드디스크 대신 저장 매체로 널리 사용되고 있다. SSD는 하드디스크와는 전혀 다른 물리적인 특성을 가지고 있기 때문에 그동안 하드디스크를 위해 최적화된 기존의 운영체제는 SSD를 위해 재설계되어져야 한다. 본 논문에서는 다음과 같은 SSD의 물리적인 특성을 완전히 활용하는 입출력스케줄러를 제안한다. 첫째, SSD는 자체적으로 입출력이 가능한 여러 개의 NAND 플래시 메모리 패키지로 구성되어 있어서 대부분의 SSD는 입출력 대역폭 향상을 위하여 병렬 입출력 연산을 제공한다. 이러한 SSD의 병렬성을 활용하기 위해 SSD의 병렬 입출력 연산의 크기를 분석하고 입출력 스케줄러의 최대 요청 크기를 결정하는데 사용한다. 둘째, SSD는 하드디스크와는 달리 회전지연시간과 탐색시간의 데이터 접근 오버헤드가 없으므로 SSD의 입출력 시간이 데이터 전송시간에 좌우되며 결과적으로 입출력 요청 크기에 비례하게 된다. 따라서 입출력 요청의 평균응답시간을 최소화하기 위하여 입출력 요청들을 크기순으로 정렬하고 가장 작은 크기의 요청들부터 먼저 처리한다. 마지막으로 SSD에서는 읽기와 쓰기 속도가 동일하지 않으므로 입출력 스케줄러 설계시 읽기 요청과 쓰기 요청을 분리하여 관리하되 동기적으로 처리해야 하는 읽기 요청을 쓰기 요청보다 우선적으로 처리한다. 성능을 검증하기 위해 제안한 입출력 스케줄러를 리녹스 커널 2.6.30에 구현하였고, 평균 응답시간 측면에서 상당한 성능 향상이 있음을 보였다.
최근 SSD(Solid State Drives)는 PC나 데이터 센터 등 다양한 컴퓨팅 환경에서 하드디스크 대신 저장 매체로 널리 사용되고 있다. SSD는 하드디스크와는 전혀 다른 물리적인 특성을 가지고 있기 때문에 그동안 하드디스크를 위해 최적화된 기존의 운영체제는 SSD를 위해 재설계되어져야 한다. 본 논문에서는 다음과 같은 SSD의 물리적인 특성을 완전히 활용하는 입출력 스케줄러를 제안한다. 첫째, SSD는 자체적으로 입출력이 가능한 여러 개의 NAND 플래시 메모리 패키지로 구성되어 있어서 대부분의 SSD는 입출력 대역폭 향상을 위하여 병렬 입출력 연산을 제공한다. 이러한 SSD의 병렬성을 활용하기 위해 SSD의 병렬 입출력 연산의 크기를 분석하고 입출력 스케줄러의 최대 요청 크기를 결정하는데 사용한다. 둘째, SSD는 하드디스크와는 달리 회전지연시간과 탐색시간의 데이터 접근 오버헤드가 없으므로 SSD의 입출력 시간이 데이터 전송시간에 좌우되며 결과적으로 입출력 요청 크기에 비례하게 된다. 따라서 입출력 요청의 평균응답시간을 최소화하기 위하여 입출력 요청들을 크기순으로 정렬하고 가장 작은 크기의 요청들부터 먼저 처리한다. 마지막으로 SSD에서는 읽기와 쓰기 속도가 동일하지 않으므로 입출력 스케줄러 설계시 읽기 요청과 쓰기 요청을 분리하여 관리하되 동기적으로 처리해야 하는 읽기 요청을 쓰기 요청보다 우선적으로 처리한다. 성능을 검증하기 위해 제안한 입출력 스케줄러를 리녹스 커널 2.6.30에 구현하였고, 평균 응답시간 측면에서 상당한 성능 향상이 있음을 보였다.
Recently, SSDs (Solid State Drives) are being widely used instead of hard disks as storage media in various computing environments such as PC and data center. Since the SSDs have the completely different characteristics from hard disks, the existing operating systems optimized for hard disks should ...
Recently, SSDs (Solid State Drives) are being widely used instead of hard disks as storage media in various computing environments such as PC and data center. Since the SSDs have the completely different characteristics from hard disks, the existing operating systems optimized for hard disks should be redesigned for SSDs. In this paper, we propose a new I/O scheduler that fully exploit the following characteristics of SSDs. First, since the SSD consists of many NAND flash packages and each package is able to perform its own I/O operation, almost SSDs provide some parallel I/O operations to improve the I/O performance. In order to exploit the parallelism of SSDs, we first analyze the size of parallel I/O in SSDs and make use of it in determining the maximum request size in I/O scheduler. Second, unlike hard disks, SSDs do not have data access overhead such as seek time and rotation delay. It means that the data transfer time is dominant in SSD's I/O time and consequently it will be proportional to I/O request size. In order to minimize the average response time of I/O requests, we schedule the I/O requests in size order and service from the I/O request with the shortest size. Finally, the performances of read and write are asymmetric in SSDs, and it should be considered in designing the I/O scheduler. To this end, we manage read requests and write requests separately, and then service read requests prior to write requests because read requests should be serviced synchronously. We evaluate our scheduler by implementing the prototype on a Linux 2.6.30 kernel. Through the extensive experiments, we show that it significantly improves the performance in terms of average response time for common workloads.
Recently, SSDs (Solid State Drives) are being widely used instead of hard disks as storage media in various computing environments such as PC and data center. Since the SSDs have the completely different characteristics from hard disks, the existing operating systems optimized for hard disks should be redesigned for SSDs. In this paper, we propose a new I/O scheduler that fully exploit the following characteristics of SSDs. First, since the SSD consists of many NAND flash packages and each package is able to perform its own I/O operation, almost SSDs provide some parallel I/O operations to improve the I/O performance. In order to exploit the parallelism of SSDs, we first analyze the size of parallel I/O in SSDs and make use of it in determining the maximum request size in I/O scheduler. Second, unlike hard disks, SSDs do not have data access overhead such as seek time and rotation delay. It means that the data transfer time is dominant in SSD's I/O time and consequently it will be proportional to I/O request size. In order to minimize the average response time of I/O requests, we schedule the I/O requests in size order and service from the I/O request with the shortest size. Finally, the performances of read and write are asymmetric in SSDs, and it should be considered in designing the I/O scheduler. To this end, we manage read requests and write requests separately, and then service read requests prior to write requests because read requests should be serviced synchronously. We evaluate our scheduler by implementing the prototype on a Linux 2.6.30 kernel. Through the extensive experiments, we show that it significantly improves the performance in terms of average response time for common workloads.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.