[fullwidth background_color=”” background_image=”” background_parallax=”none” enable_mobile=”no” parallax_speed=”0.3″ background_repeat=”no-repeat” background_position=”left top” video_url=”” video_aspect_ratio=”16:9″ video_webm=”” video_mp4=”” video_ogv=”” video_preview_image=”” overlay_color=”” overlay_opacity=”0.5″ video_mute=”yes” video_loop=”yes” fade=”no” border_size=”0px” border_color=”” border_style=”solid” padding_top=”20″ padding_bottom=”20″ padding_left=”” padding_right=”” hundred_percent=”no” equal_height_columns=”no” hide_on_mobile=”no” menu_anchor=”” class=”” id=””][title size=”2″ content_align=”left” style_type=”underline solid” sep_color=”” margin_top=”” margin_bottom=”” class=”” id=””]졸업프로젝트 2017[/title][fusion_text]

%

%  쫄~프 2017 자가 테스트 

%                 written by yjwon

%

                  if ((“나는 해커가 되고 싶다” == TRUE) or (“나는 해커다” == TRUE))

                  then 

                        if ((“열정이 있다.” == TRUE) and (“배우고 싶다.”== TRUE))

                        then

                               goto 졸프주제 ;

                        else

                              다른 페이지로 이동 ;

                       endif

                  else

                       다른 페이지로 이동 ;

                  endif

 졸프주제:

                  시스템의 세계에 오신 것 환영합니다 ;

                  다음 주제 중 하나를 수행하시오 ;   

 

주제 1. EXT4, F2FS, XFS에서의 fsync() 동작 및 성능  분석

  • fsync()는 파일시스템의 dirty block을 디스크로 플러시 하는 함수이다. 리눅스 시스템 컬중 가장 중요하고 시간이 많이  소요되는 연산이다. fsync()는 입출력 스케쥴링, 파일 시스템 저널링등 모든 분야에 다 걸쳐있다. 본 프로젝트에서는  ext4, f2fs, xfs 파일 시스템의 fsync() 알고리즘을 분석 비교 한다. 그리고, 4KByte 임의 쓰기 실험을 통해 장단점을 비교 분석해 보기로 한다. 분석은 성능과함께 입출력 트레이스를 출력한다. 리눅스 커널의 심도있는 이해를 위한 매우 좋은 주제이다.
  • 프로젝트 제출물 : 최종 보고서, 발표자료
  • 자격 요건 : 자료구조, 운영체제, C (리눅스 커널 사전지식 불필요)

주제 2. F2FS 파일 시스템의 세그멘트 클리닝 분석 및 개선

  •  F2FS는 플래시 전용으로 개발된 로그기반 파일 시스템이다. 현재 화웨이사의 안드로이드 스마트폰인  P9, 구글 NEXUS 9 태블릿등에 탑재되어 시판되고 있다. 로그기반 파일 시스템은 무효화된 블럭을 소거하는 비용이 매우 높은 것으로 알려져있다. 본 프로젝트에서는 F2FS의 GC 알고리즘을 분석하고, 블록을 효율적으로 분리하는 알고리즘을 개발한다.
  • 프로젝트 완성도 : 최종 보고서, 발표 자료
  • 자격 요건 : 자료구조, 운영체제, C (리눅스 커널 사전지식 불필요)

주제 3. 안드로이드를 위한 리눅스 메모리 매니저 분석 및 개선

  • 리눅스 운영체제의 메모리 할당기는 안드로이드에는 적합하지 않은것으로 알려져있다. 때문에 많은 내부 파편화가 발생하고 메모리가 낭비되는 것으로 알려져 있다.파편화란, 메모리 내의 빈공간이나 자료가 여러 개의 조각으로 나뉘는 현상을 말한다. 데이터의 크기가 다양하기 때문에 발생하는 현상으로, 파편화가 심할 경우 성능 저하가 발생하고, 여유 공간이 충분히 있어도 할당이 실패하는 현상이 발생할 수도 있다.  본 주제에서는 리눅스의 메모리 할당기 작동을 심도있게 분석하고, 안드로이드 상에서 물리메모리가 할당되는 과정을 살펴본다. 본 프로젝트는 리눅스 운영체제의 메모리 매니저의 장단점을 분석하고, 메모리 할당, 해제, 파편화 등을 분석하는 것을 목표로 한다. 리눅스의 메모리 할당 기법을 심도있게 파악하는 매우 좋은 기회이다.
  • 프로젝트 완성도 : 최종 보고서, 발표 자료, 소스코드, 메모리 분석 결과 등
  • 자격 요건 : 자료구조, 운영체제, C (리눅스 커널 사전지식 불필요)

주제 4. SQLite용 저널모드 분석 및 개선

  • SQLite는 안드로이드, 아이폰, 타이젠, 파이어폭스등 다양한 모바일 기기에서 공통적으로 사용되는 오픈소스 임베디드 데이타베이스이다. 오픈소스 장점으로 인해 광범위하게 사용되고 있다. SQLite는 비효율적인 저널링 동작으로 인해 과도한 입출력을 발생시킨다. 스마트폰 업계에서는 SQLite의 입출력 작동을 효율화 시키는 것을 매우 중요한 주제로 삼고 있다. 본 주제에서는 SQLite의 저널 모드에 대해 학습하고, 가능한 개선 방법을 모색하도록 한다.
  • 주 : 안드로이드 디바이스 지급
  • 프로젝트 완성도 : 최종 보고서, 발표 자료, 소스코드, SQLite 성능 개선 방안 등
  • 자격 요건 : 자료구조, 운영체제, C (안드로이드 사전지식 불필요)

주제 5. SSD 시뮬레이터 개발

  • 플래시 기반의 SSD는 현대 저장장치기술의 핵심이다. 새로운 저장장치 알고리즘을 개발함에 있어서 새로운 SSD기술을 효율적으로 개발하기 위해서는 하드웨어 개발 이전에 시뮬레이터를 통해서 개발된 기술의 유효성을 검증하는 것이 필수이다. 본 과제에서는 한양대학교에서 개발하여 현재 널리 사용되고 있는 오픈소스 시뮬레이터인 VSSIM 을 개선한다. VSSIM은 오픈 소스 기반  SSD 이뮬레이터이다. SSD의 채널/웨이등을 변경할 수 있고, 이와더불어 다양한 SSD의 매핑 알고리즘과 Garbage Collection 알고리즘을 적용할 수 있다. 이를 다음과 같이 개선한다. 본 주제에서는 SSD용 시뮬레이터 VSSIM에 대해서 학습하고, 다양한 개선점을 모색한다.
    • 최신 qemu로 포팅
    • 다중 쓰레드 지원
    • PCIe 지원
  • 주 : 오픈소스 활동
  • 프로젝트 완성도 : 최종 보고서, 발표 자료, 소스코드, 알고리즘, 성능 개선 방향 등
  • 자격 요건 : 자료구조, 운영체제, C, 핀토스 사전지식 필요

주제 6. MongoDB 분석및 개선

  • mongdb는 현재 다양한 웹사이트에서 사용되는 효율적인 데이타베이스 이다.  블로그, 게임아이템 저장을 위해서 사용되는 가장 대중적인 자료구조이다. 몽고 DB의 핵심인 LSM tree가 어떤것인지 살펴보고 그의 동작을 분석해본다. LSM tree 가 많이 사용되는 Redis, Cassendra등의 성능을 분석한다.
  • 프로젝트 완성도 : 최종 보고서, 발표 자료등
  • 자격 요건 : 자료구조, 운영체제, C (안드로이드 사전지식 불필요)

[/fusion_text][/fullwidth]