$\require{mediawiki-texvc}$

연합인증

연합인증 가입 기관의 연구자들은 소속기관의 인증정보(ID와 암호)를 이용해 다른 대학, 연구기관, 서비스 공급자의 다양한 온라인 자원과 연구 데이터를 이용할 수 있습니다.

이는 여행자가 자국에서 발행 받은 여권으로 세계 각국을 자유롭게 여행할 수 있는 것과 같습니다.

연합인증으로 이용이 가능한 서비스는 NTIS, DataON, Edison, Kafe, Webinar 등이 있습니다.

한번의 인증절차만으로 연합인증 가입 서비스에 추가 로그인 없이 이용이 가능합니다.

다만, 연합인증을 위해서는 최초 1회만 인증 절차가 필요합니다. (회원이 아닐 경우 회원 가입이 필요합니다.)

연합인증 절차는 다음과 같습니다.

최초이용시에는
ScienceON에 로그인 → 연합인증 서비스 접속 → 로그인 (본인 확인 또는 회원가입) → 서비스 이용

그 이후에는
ScienceON 로그인 → 연합인증 서비스 접속 → 서비스 이용

연합인증을 활용하시면 KISTI가 제공하는 다양한 서비스를 편리하게 이용하실 수 있습니다.

고속 저장 장치를 위한 입출력 스택 최적화
Optimizing I/O Stack for Fast Storage Devices 원문보기

한국콘텐츠학회논문지 = The Journal of the Korea Contents Association, v.16 no.5, 2016년, pp.251 - 258  

한혁 (동덕여자대학교 컴퓨터학과)

초록
AI-Helper 아이콘AI-Helper

최근 클라우드 컴퓨팅, 사회 관계망 서비스 등의 분야에서 고속 저장 장치에 대한 수요가 크게 증가하고 있다. 성능이 우수한 고속 저장 장치가 개발되고 있지만 현재 리눅스 운영체제의 입출력 스택은 하드 디스크 드라이브를 고려해서 설계되었기 때문에 고속 저장 장치를 충분히 활용하고 있지 못하다. 이 논문에서는 고속 저장 장치의 입출력 대역폭과 입출력 지연시간을 최대로 활용할 수 있는 최적화된 입출력 스택을 제안한다. 이를 위해 기존 리눅스의 블록 입출력 계층을 새로운 인터페이스를 가지는 입출력 계층으로 대체하고 최적화한다. 제안된 입출력 계층은 기존의 하드 디스크 드라이브를 고려한 블록 계층을 우회하고 디바이스 드라이버를 최적화하여 고속 저장 장치의 성능을 최대한 이용할 수 있게 해준다. 또한, 리눅스의 ext2/ext4 파일 시스템을 제안된 입출력 계층 위에서 동작할 수 있도록 최적화하였고, 벤치마크 실험 결과를 통해서 제안하는 입출력 스택은 기존 리눅스 입출력 스택과 비교하여 1.7배 정도의 성능 향상이 있음을 확인할 수 있었다.

Abstract AI-Helper 아이콘AI-Helper

Recently, the demand for fast storage devices is rapidly increasing in cloud platforms, social network services, etc. Despite the development of fast storage devices, the traditional Linux I/O stack is not able to exploit the full extent of the performance improvement since it has been optimized for...

주제어

AI 본문요약
AI-Helper 아이콘 AI-Helper

* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.

문제 정의

  • SCM이 탑재된 컴퓨터 시스템에서는 SCM에 접근할 때 블록 계층, 디바이스 드라이버 등을 거치지 않기 때문에 성능 향상에 용이하다. SCMFS (File System for Storage Class Memory)[9] 및 BPFS (File System for Byte-Addressable NVM)[10] 연구는 메모리 버스에 연결된 비휘발성 메모리 환경에서의 파일 시스템 최적화에 관한 연구이다. 이러한 연구들은 본 연구와는 달리 파일 시스템 최적화에 초점이 맞추어져있다.
  • 본 논문에서는 고속 저장 장치를 위한 리눅스 운영체제의 입출력 스택을 제안하고자 하며, 가상 파일 시스템, 실제 파일 시스템, 블록 계층, 디바이스 드라이버 계층 전반을 최적화한다. 제안하고자 하는 입출력 스택은[그림 2]와 같이 최적화된 디바이스 드라이버, 실제 파일 시스템, 가상 파일 시스템의 세 계층으로 구성되어 있다.
  • 본 논문은 기존 리눅스의 입출력 스택을 고속 저장장치에 최적화하는 것을 제안한다. 이를 위해 기존 리눅스의 블록 계층은 우회하고, 디바이스 드라이버를 파일 시스템에서 직접 사용할 수 있도록 인터페이스를 개선하였다.
  • 이 연구에서는 운영체제의 가상 메모리 관리 계층을 최적화하였다. 본 논문은 기존의 연구와는 달리 PCIe 기반의 고속 저장장치의 성능을 최대로 활용하기 위한 운영체제의 특정 계층이 아닌 입출력 스택을 전반적으로 최적화한다.
  • 이 밖에도 [11]과 같은 연구에서는 고속의 네트워크 장치인 InfiniBand를 이용하여 원격 메모리를 블록 장치로 활용하여 메모리를 확장하였다. 이 연구에서는 운영체제의 가상 메모리 관리 계층을 최적화하였다. 본 논문은 기존의 연구와는 달리 PCIe 기반의 고속 저장장치의 성능을 최대로 활용하기 위한 운영체제의 특정 계층이 아닌 입출력 스택을 전반적으로 최적화한다.
본문요약 정보가 도움이 되었나요?

질의응답

핵심어 질문 논문에서 추출한 답변
본 논문에서 입출력 성능을 개선하기 위해 제안한 기법들은 무엇인가? 또한 기존 연구를 통해 잘 알려져 있는 폴링(polling)과 시간적 병합 (temporal merge) 기법을 기본적으로 사용하고 있다. 입출력 성능을 개선하기 위해 본 논문에서는 입출력 파라미터 무변환, 무복사 입출력 (zerocopy I/O), 큐 교환 (queue swapping) 기법을 제안한다.
무복사 입출력은 무엇인가? 무복사 입출력은 입출력 요청을 처리할 때 응용 프로그램의 버퍼와 리눅스 커널의 버퍼 사이의 메모리 복사 연산을 제거하는 것이다. 즉, 응용 프로그램이 입출력 요청을 할 때 전달하는 파라미터 중에서 버퍼 주소3를 가로채서 그 버퍼의 물리 주소를 디바이스 드라이버에 전달하여 저장 장치가 이 주소에 DMA를 통해 데이터를 쓰거나 데이터를 읽어갈 수 있게 한다.
입출력 스택의 장점은 무엇인가? 이러한 입출력 스택의 장점은 다음과 같다. 첫째, 다른 연구에서 제안한 응용 수준의 파일 시스템과 비교했을 때 파일 입출력에 필요한 권한 검사 등을 위한 저장 장치의 하드웨어 수준 최적화를 필요로 하지 않는다. 둘째, 응용 프로그램이 응용 수준의 파일 시스템이 제공하지 못 하는 저널링과 같은 기존 파일 시스템의 기능을 그대로 사용할 수 있다. 셋째, 메모리 버스에 연결된 SCM을 위한 파일 시스템과 달리 메모리 누수, 데이터 변형을 위한 하드웨어 변경을 요구하지 않는다.
질의응답 정보가 도움이 되었나요?

참고문헌 (15)

  1. A. Huffman, "NVM Express Overview & Ecosystem Update," In Proceedings of Flash Memory Summit 2013. 

  2. Bruce L. Worthington, Gregory R. Ganger, and Yale N. Patt., "Scheduling algorithms for modern disk drives," In Proceedings of the 1994 ACM SIGMETRICS conference on Measurement and modeling of computer systems (SIGMETRICS '94), 1994. 

  3. Adrian M. Caulfield, Todor I. Mollov, Louis Alex Eisner, Arup De, Joel Coburn, and Steven Swanson, "Providing safe, user space access to fast, solid state disks," ASPLOS 2012. 

  4. Adrian M. Caulfield, Arup De, Joel Coburn, Todor I. Mollow, Rajesh K. Gupta, and Steven Swanson, "Moneta: A High-Performance Storage Array Architecture for Next-Generation, Non-volatile Memories," MICRO 2010, 2010. 

  5. Joel Coburn, Trevor Bunker, Meir Schwarz, Rajesh Gupta, and Steven Swanson, "From ARIES to MARS: transaction support for next-generation, solid-state drives," In Proceedings of the Twenty-Fourth ACM Symposium on Operating Systems Principles (SOSP '13), 2013. 

  6. Dong In Shin, Young Jin Yu, Hyeong S. Kim, Jae Woo Choi, Do Yung Jung, and Heon Y. Yeom, "Dynamic interval polling and pipelined post I/O processing for low-latency storage class memory," In Proceedings of the 5th USENIX conference on Hot Topics in Storage and File Systems, 2013. 

  7. J. Yang, D. B. Minturn, and F. Hady, "When poll is better than interrupt," In Proceedings of the 10th USENIX Conference on File and Storage Technologies, 2012. 

  8. Eric Seppanen, Matthew T. O'Keefe, and David J. Lilja, "High performance solid state storage under Linux," In Proceedings of the 2010 IEEE 26th Symposium on Mass Storage Systems and Technologies, 2010. 

  9. X. Wu and A. L. N Reddy, "SCMFS: A file system for storage class memory," In Proceedings of 2011 International Conference for High Performance Computing, Networking, Storage and Analysis, SC '11. 

  10. J. Condit, E. B. Nightingale, C. Frost, E. Ipek, B. Lee, D. Burger, and D. Coetzee, "Better I/O through byte-addressable, persistent memory," In Proceedings of the ACM SIGOPS 22nd Symposium on Operating Systems Principles, 2009. 

  11. Shuang Liang, Ranjit Noronha, and Dhabaleswar K. Panda, "Swapping to remote memory over InfiniBand: An Approach using a High Performance Network Block Device," In Proceedings of the 2005 IEEE Cluster Computing. 

  12. TailwindStorage, "Extreme 3804, http://www.taejin.co.kr" 

  13. FIO Benchmark, "http://freecode.com/projects/fio" 

  14. FileBench Benchmark, "http://filebench.sourceforge.net/" 

  15. BenchmarkSQL, "http://sourceforge.net/projects/benchmarksql" 

저자의 다른 논문 :

섹션별 컨텐츠 바로가기

AI-Helper ※ AI-Helper는 오픈소스 모델을 사용합니다.

AI-Helper 아이콘
AI-Helper
안녕하세요, AI-Helper입니다. 좌측 "선택된 텍스트"에서 텍스트를 선택하여 요약, 번역, 용어설명을 실행하세요.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.

선택된 텍스트

맨위로