4. 최종 보고

                    종합설계 프로젝트 최종보고서 요약

팀명

 CLASS

제출일

2014 11 26

프로젝트 제목

 Sendfile(2) : Improvement and Analysis of Energy Efficiency over Linux web server

설계 프로젝트 개요

프로젝트 수행 내용 및 중간 결과

프로젝트 요약문

기존의 Linux 버전 2.2부터 사용되었던 함수 ‘Sendfile()’의 향상된 버전인 ‘Sendfile(2)’라는 별도의 함수를 작성한다. Socket과 disk 간의 데이터 전송 시 효율성을 위해 사용된  sendfile()의 장점을 활용하여, Sendfile(2)에서는 MIME type의 Base64를 기반으로 하는 인코딩 방식을 도입하여 user space를 최소로 거치면서 CPU 성능 효율을 높일 수 있도록 개발을 진행하였다.
리눅스 커널 상에서 작성된 Sendfile(2)는 검증 절차의 하나로서 도입된 웹 메일 시스템인 roundcube 상의 메일 서버에서 접목되어 그 성능의 효율성을 판단하고자 한다. 이때 Sendfile(2)의 Base64 인코딩이 되는 부분은 ‘첨부파일’의 전송만이 해당된다. 이를 통해 kernel space와 user space 간의 이동을 최소화 함으로써 보다 빠르고 효율적으로 첨부파일이 전송되도록 한다.
본 프로젝트에서는 Sendfile(2)로 구현된 웹 메일 시스템 상에서 첨부파일을 전송하고, 이와 비교할 수 있는 표본으로서 기존의 _send 함수에 의한 일반적인 첨부파일의 전송을 통하여 socket에서 응답시간을 측정하여 CPU의 성능 평가를 객관적으로 수치화한다.

마일스톤 수행 내용

‘Sendfile(2) : Improvement and Analysis of Energy Efficiency over Linux web server’는 본 프로젝트에서 구현한 핵심 함수로서, 리눅스 커널 내부에 포함되어 MIME type의 Base64 기반으로 인코딩하는 기능을 수행한다. 이는 파일이 전송될 때, User space와 Kernel space 사이에서 발생하는 switching의 최소화를 목적으로 한다. 따라서 Kernel space 내에서의 인코딩 및 디코딩을 통해, 보다 CPU에 부담을 적게 주면서 switching을 하고 나아가 파일의 전송이 좀 더 능률적으로 이루어지도록 돕는다. 이에 착안하여, Sendfile(2)는 Roundcube 웹 메일 시스템에 적용되어, 메일 전송 시 첨부파일을 base64 방식으로 인코딩 및 디코딩하여 전송 효율을 구하고자 하였다.

<프로젝트 고도화 및 안정화 과정>
캡스톤 디자인 2로 접어들면서, 프로젝트는 안정화 및 고도화의 과정을 필요로 한다. 그러나 본 프로젝트는 연구 상의 개발을 목적으로 하여, Application 형태의 개발 결과물이 나오는 것이 아니기 때문에 성능이나 기능을 추가하기 위한 ‘고도화’의 작업을 추가하기는 다소 어려웠다. 따라서, 본 프로젝트는 캡스톤 디자인 1에서 개발했던 Sendfile(2)의 라운드큐브에의 적용 과정에서 발생했던 문제점 몇 가지를 개선하는 ‘안정화’ 단계를 주 목적으로 하고자 하였다.

<Sendfile(2)의 개발주제 도식화>
이 과정은 캡스톤 디자인 1을 통해 안정적으로 구현되었으나, 캡스톤 디자인 2로 전이하면서 다소 불안정한 구현 부분이 확인되었다. 때문에 이를 해결하는 것을 캡스톤 디자인 2 과정에서의 1차 목표로 하며, 2차적 목표로 본 프로젝트의 연구적 의의를 살려 다이어그램 등의 도식화를 거치고자 하였다.

최종 보고 요약 및 프로젝트 결과

캡스톤 디자인 1에서 정상적으로 구동되었던 Sendfile(2)는 캡스톤 디자인 2 진행 초기 불안정적인 형태를 띄면서 이에 대한 핵결을 1차적인 문제로 두었고, 이에 대해 전반적으로 안정화 부문에서의 성과를 거두었다.

캡스톤 디자인 1에서 다소 미흡했으며, 프로젝트 목적 상 필요한 과정이었던 프로젝트의 문서화 부문에서의 구체적인 표현이 필요하였기 때문에, 프로젝트의 전반과 일부를 담은 각 UML 다이어그램을 작성하고자 하였다. 이에 따라 프로젝트에 대한 이해를 도울 수 있도록 의도하였다.
다소 아쉬운 점은 SPAM 메일함으로의 전송 문제를 해결하지 못했다는 것이다. 이는 구글 웹 메일 서버의 보안성 문제 때문에, 오픈소스로 안정성을 인증받지 못한 roundcube 웹 메일 시스템의 문제이기 때문에, 본 프로젝트의 수준 상에서는 해결이 어려울 것으로 판단되었다.


동영상

YouTube 동영상


첨부화일 (아래 안내는 첨부 후에 삭제할 것)


Ċ
2조 캡스톤,
2014. 11. 26. 오후 4:12
Ċ
2조 캡스톤,
2014. 11. 26. 오후 5:11
Comments