다빈치 SW 공모전

'언택트 시대에 유용한 앱 혹은 서비스를 주제로한 SW 공모전으로
2020-2학기 비공학 전공 재학생 2인 이상이면 참가 가능합니다.

자세히 알아보기

캡스톤 디자인 경진대회

캡스톤 디자인 교과목 수행 결과물 또는 졸업 작품 심사
2019년 2학기, 2020년 1학기 중 한 학기 이상 캡스톤 디자인 교과목을
수강한 학생만 참가 가능합니다.

자세히 알아보기

PE연구활동 발표대회

PE연구/개발 활동을 수행하면서 얻어진 다양한 형태의 결과물
(논문형태의 결과보고서, 논문, 발명품, 작품, 콘텐츠 등)을 심사

자세히 알아보기

SW·AI 창업아이디어경진대회

SW 관련 전공 학부생 여러분!
반짝이는 SW창업 아이디어로 여러분의 미래를 바꾸십시오!

자세히 알아보기

SW·AI융합우수성과 발표회

SW융합전공 / 복수 전공 학생 여러분!
SW융합전공 / 복수전공을 이수하는 과정에서 얻어진 성과를 뽐내 주세요.

자세히 알아보기

다빈치 주니어 SW 작품대회

창의적인 아이디어와 소프트웨어를 활용한
멋진 SW 작품을 만들어 보세요!

자세히 알아보기

다빈치오픈소스 SW·AI 딥러닝 해커톤

4차 산업혁명을 견인하는 심층학습을 주제로한 SW·AI 딥러닝 해커톤으로
소프트웨어대학 재학생으로 구성된 2인 이하 팀으로 참가 가능합니다.

자세히 알아보기

코딩경진대회

소프트웨어 중심 대학으로서 중앙대학교의 소프트웨어 관련
교육 프로그램 성과를 공유합니다.

자세히 알아보기

PE연구활동 발표대회

  • 이은서

    등록자
    이은서 (소프트웨어학부 | 3학년)
좋아요 130
  • 참여 목적 및 참여 당시 활동 목표
  • <참여 목적>

    운영 체제 전공 수업을 들으며 운영 체제에 대하여 관심이 생겼다. 또한 실제적인 연구는 어떤 과정으로 이루어지는지 궁금하였다. 따라서 PE 프로그램을 신청하여, 손용석 교수님의 연구실에서 PE 프로그램을 진행하게 되었다.
     
    <참여 당시 활동 목표>
     

    이번 PE 프로그램의 목표는 XFSDUMP의 분석 및 성능 개선이었다. 따라서 성능 개선을 위하여 XFSDUMP application의 코드를 분석한 후, 병목이 되는 부분을 찾아 이 문제를 해결하는 것을 최종 목표로 잡고 PE 프로그램을 진행하였다.
  • 연구 및 학습활동 결과
  • <Background 1 : XFS>
     

    XFS는 Silicon Graphics, Inc.에서 설계된 고성능 64 비트 저널링 파일 시스템이고, 이는 Red Hat Enterprise Linux 7의 기본 파일 시스템이다. XFS는 빠른 충돌 복구를 지원하는 메타데이터 저널링을 지원하는 특징이 있다. XFS는 extent 기반으로 매우 큰 파일 및 파일 시스템을 지원한다.
     

    <Background 2 : XFSDUMP>
     

    Xfsdump는 XFS file system의 데이터의 백업을 지원하는 application이다. Xfsdump를 통하여 파일 시스템 안의 file과 여러 구성 요소들을 백업할 수 있으며, storage media, 하나의 file 또는 standard output의 형태로 백업된 파일이 저장된다. 또한 dump level을 통하여 단계별 백업이 가능하다. 현재의 xfsdump는 단일 스레드를 통하여 하나의 스트림으로 진행된다. 하나의 스트림으로 진행되기 때문에 병렬성을 지원하는 스토리지의 bandwidth를 효율적으로 사용하지 못하고, 따라서 runtime이 길다는 문제점이 있다. 이 2 가지의 문제점을 해결하기 위하여 xfsdump의 I/O 작업을 여러 쓰레드가 동시에 작업할 수 있도록 설계하고 수정하였다.
     

    <Motivation>

    이미지 5.jpg

    위의 그림에 보이듯, xfsdump의 linux man page에도 현재 단일 스레드로만 지원된다는 것이 작성되어 있다. 이러한 단일 스레드로만 이루어진 덤프는 문제점을 가지고 있다. 현재의 xfsdump는 하나의 스레드만을 지원하기 때문에 병렬성을 지원하는 스토리지의 bandwidth를 효율적으로 사용하지 못하여, runtime이 길다는 문제점이 있으며 즉, 멀티 코어 환경에서의 확장성을 지원하지 못한다는 것이다. 따라서 멀티 코어 환경에서 확장성을 지원할 수 있도록 XFSDUMP를 개선하고자 하였다.
     

    <Origin Scheme>

    이미지 6.jpg
    XFSDUMP의 기본적인 동작 알고리즘은 위의 그림과 같다. XFSDUMP가 실행되면 dump_file_reg라는 함수가 하나의 파일을 가져온 후, 하나의 파일을 여러 개의 extent로 나눈다. 그 후 첫 번째extent를 dump_extent_group이라는 함수에 전달한다. 전달된 하나의 extent는 dump_extent_group 함수 내부에서 read와 write가 번갈아 일어나며 백업이 진행된다. 앞선 방식이 반복되며 처음부터 끝까지 extent 들이 순서대로 전달되며 백업이 진행된다. 즉, 하나의 extent의 백업 작업이 끝나야 다음 extent의 백업이 순차적으로 일어나는 형태인 것이다. 따라서 이러한 직렬화된 동작 방식이기 때문에 scabiltiy을 지원하지 못하는 것을 알 수 있었다.
     

    <Proposed Scheme>

    이미지 7.jpg
    제안된 기법의 동작 알고리즘은 위의 그림과 같다. dump_file_reg라는 함수가 하나의 파일을 가져온 후, 하나의 파일을 여러 개의 extent로 나눈다. 이 나눈 extent들을 저희가 생성한 여러 worker에게 각각 하나씩 전달한다. 이를 통하여 여러 worker thread가 동시에 각자 전달받은 extent를 parallel 하게 백업한다. 여러 extent가 동시에 백업되므로 throughput이 증가하고 runtime이 짧아지는 것을 알 수 있다.
     

    <Evaluation>
     

    실험 환경은 다음과 같다. 64개의 물리 코어와 64GB의 메모리를 가진 Intel(R) Xeon(R) Gold 6242 CPU (16Core, 2.8GHz)를 사용하였다. 저장 장치로는 Intel Optane SSD 900P (480G)를 사용하였다. Fio benchmarking tool을 이용하여 10G 파일 32개를 만든 후에 이를 xfsdump를 통하여 백업하였다. 기존 scheme에서는 320G를 백업하는 것에 368초가 소요되었다. Proposed scheme에서는 2, 4, 8, 16, 32 쓰레드로 실험하였다. 결과는 아래의 그림과 같이 2, 4, 8, 16, 32, 64 쓰레드에서 각각 305, 299, 278, 286, 286, 283초가 소요되었다. 이를 통해 제안된 scheme은 기존의 xfsdump에 비해 최대 30%의 runtime 감소가 있음을 알 수 있다. 쓰레드 수에 따라서 성능이 증가하는 것으로 보이나, 8 쓰레드 이후로는 성능의 증감이 없다. 따라서 extent 단위의 멀티 쓰레딩에서 또한 병목현상이 있다는 것을 알 수 있다.

    eval.png

     

  • 참여 소감 및 향후 계획
  • <참여 소감>
     
    Operating System의 한 구성 요소인 file system중 XFS에서 사용되는 application인 xsfdump에서 백업이 어떤 단위로 이루어지는지, 어떤 과정으로 이루어지는지 알게 되었다. 또한 병목이 되는 부분을 찾는 과정에서 runtime과 throughput이 모두 중요하다는 사실을 알게 되었다. Runtime을 이용하여 병목이 되는 부분을 찾는 과정 중, lock 등에 의하여 성능에 큰 영향을 미칠 수 있다는 사실을 알게 되었다. 이를 통하여 파일 시스템 내부에 존재하는 lock들을 새로운 설계를 이용하여 제거한다면 파일 시스템의 성능이 더 나아지지 않을까 하는 생각을 하게 되었다.

    <향후 계획>
     
    앞선 결과에서 파악한 병목 현상의 존재를 다른 방식의 접근을 통하여 해결하고 성능을 증가시킬 것이다. 이를 통하여 최종적으로 제안된 xfsdump에서 최대 성능을 이끌어낼 것이다. 또한 현재 논문을 작성하고 있으며, IEEE Trascations on computers에 투고할 예정입니다.
     
  • 증빙자료
  • 위의 내용과 슬라이드 및 결과보고서는 첨부하였습니다.

좋아요 참여 130

  • 학년 별

  • 학과 별

중앙대학교 다빈치 sw tech fair 참가신청 닫기