전산학부
파일 시스템, 분산 파일 시스템, 인공지능 시스템실험실 : https://sites.google.com/view/yjkwon/home
연구내용
연구성과
□ [클라우드 파일시스템] 스마트 네트워크 장치를 활용한 PM 분산 파일시스템. 국내 최초 최우수논문상 수상
연구내용: 분산 파일시스템은 클라우드 시스템을 구성하는 필수요소로 여러 대의 서버를 서로 연결하여 특성 서버가 고장나도 지속적으로 데이터를 접근할 수 있도록 데이터를 복제(replicate)하고 복구(recovery)해야합니다. 이러한 기능들을 제공하기 위하여 기존의 고성능 분산 파일시스템은 많은 서버 연산(CPU) 자원을 사용하게 되는데, 이를 보안하기 위해 속도는 느리지만 자원 효율적이고 저전력의 CPU가 장착된 스마트 네트워크 장치가 등장하게 되었습니다. 본 연구는 이러한 스마트 장치의 장점을 최적하기하기 위한 분산 파일시스템을 재설계하여 기존의 분산 파일시스템보다 빠르고 자원 효율적인 새로운 분산 파일시스템을 구현하였습니다. 또한 서버의 운영체제가 작동을 멈춘 상황에서도 스마트 장치만을 이용하여 분산 파일시스템이 작동하도록 설계하여 기존 분산파일시스템의 안정성을 향상시켰습니다.
연구성과: 기존 분산 파일 시스템 대비 40%만 서버 CPU활용. 최대 80%의 성능 향상
논문실적: LineFS: Efficient SmartNIC Offload of a Distributed File System with Pipeline Parallelism, ACM Symposium on Operating Systems Principles (SOSP) 2021, 채택율: 15%.
□ [클라우드 파일시스템] PM를 이용한 초고속 클라우드 분산 파일시스템 구축.
연구내용: 본 연구에서는 PM기술과 초고속 네트워킹 기술과 접목하여 PM기반 분산 파일시스템을 제안하였습니다. 본 연구는 1) 초고속 네트워킹 기술을 통해 다른 서버로 데이터를 복제하고 2) 서버 고장 시 빠른 복구 기술을 설계하여 분산 파일시스템의 효율성을 향상시켰습니다. 이를 위하여 여러 대의 서버들이 서로 일관성을 가지고 데이터를 저장하기 위한 PM기반 일관성 프로토콜을 설계하고, 최적화된 분산 파일시스템을 구현하였습니다.
연구성과: 기존 분산 파일시스템 대비 22배~56배 성능 향상, 103배의 복구속도 향상
논문실적: Assise: Performance and Availability via Client-local NVM in a Distributed File System, USENIX Symposium on Operating Systems Design and Implementation (OSDI) 2020. 채택율: 17%
□ [단일 파일시스템] PM의 성능을 최대화하기 위한 단일 파일 시스템 구축
연구내용: PM은 기존 저장장치 대비 100배 이상의 빠른 접근 속도를 보장하기 때문에 PM을 효율적으로 사용하기 위한 기존에 느린 저장장치를 기준으로 설계된 시스템 소프트웨어의 혁신을 필요로 합니다. 본 연구에서 PM에 저장된 데이터을 접근하기 위한 소프트웨어 비용을 최소화하기 위해 1) PM에 데이터 접근에 가장 최적하기 위하여 mmap()을 통한 PM 직접 접근 기법을 제공하였고, 2) 기존의 응용 프로그램에 변화 없이 사용가능한 파일시스템을 설계하여 스마트폰과 클라우드에 범용적으로 사용가능한 단일 파일시스템을 구축하였습니다.
연구성과: 기존 시스템 대비 93%~220% 성능 향상. 13배의 확정성 향상
논문실적: Libnvmmio: Reconstructing Software IO Path with Failure-Atomic Memory-Mapped Interface, USENIX Annual Technical Conference 2020, 채택율: 18%
□ [버그 검출 시스템] PM 사용 시 발생하는 프로그래밍 버그 발견 시스템
연구내용: PM 프로그래밍은 DRAM과는 다르게 CPU 캐쉬에 있는 내용을 PM에 명시적으로 저장하도록 명령어를 수행해야만 PM 데이터가 보존됩니다. 이러한 명령어를 과도하게 사용하면 PM사용 시 성능이 저하되기 때문에 PM으로 저장이 꼭 필요한 곳(프로그램 코드)에서만 수행하도록 최적화하여 PM 프로그래밍을 해야합니다. 만일 이러한 저장 명령을 프로그래머의 실수로 수행하지 않을 경우 시스템 재부팅 시에 데이터가 잃어버리게 됩니다. 이러한 실수는 프로그래밍 버그의 일종으로 초보 개발자가 제작한 코드에서부터 전문 개발자 여려명에 제작한 상용 코드에 이르기까지 광범위하게 보고되고 있습니다. 본 연구는 1) 심볼릭 수행기법을 통해 꼭 필요한 CPU 캐쉬가 PM에 저장되지 않은 경우와 2) 불필요하게 중복으로 저장 명령을 내리는 경우를 자동으로 검출하는 시스템을 제안하였고, 전문 개발자들이 작성한 소프트웨어들에 버그 검증을 수행하였습니다.
연구성과: 84개의 새로운 버그들을 Intel PMDK 라이브러리를 비롯한 5개의 소프트웨어에서 검출
논문실적: AGAMOTTO: How Persistent is your Persistent Memory Application?, USENIX Symposium on Operating Systems Design and Implementation (OSDI) 2020. 채택율: 17%