Graduation Project

<2014>

iOS 디바이스의 성능 측정 (이종원, 김남우) [최종보고서] [발표자료] [MobiBench for iOS]

  • 이번 프로젝트는 안드로이드 기반의 벤치마크 툴 ‘MobiBench’를 iOS버전으로의 개발하는 것이다. 이 벤치마크 툴은 Database의 입출력 성능에 대한 측정과 File IO의 입출력 성능을 측정하는 것이다. 단순히 입출력뿐만 아니라 Database의 경우 저널모드와 transaction의 크기 에 변화를 주는 기능 넣어 주었고 File IO의 경우 File size, IO size, fsync, fnocache기능을 주어 각 기능별 성능 결과에 대해서도 분석해 보았다. 기존의 벤치마크 툴에서는 시도해 보지 않았다는 점에서 차별성을 확보하였다. 이에 따라, 디바이스 입출력 성능측정의 원리를 정확히 이해하고 iOS프로그램 개발 능력을 함양하여 하나의 벤치마크 툴을 완성하는 것을 최종 목적으로 한다.

Improvement Issues for I/O Traffic using Mobibench and SQLite (박준환, 김정열) [최종보고서] [발표자료]

  • Android I/O Stack의 Behavior는 아직 최적화 되지 않았다는 것과 관련하여 DBMS인 SQLite의 구조에 대해 분석해보고, 현재 DB에서 사용되는 방식을 알아본다. 디바이스의 성능을 측정하기 위한 벤치마킹 툴의 하나로 Mobibench를 사용하고 있는데, 벤치마킹 툴로서 현실적인 성능 측정을 반영하지 못한다는 문제를 해결하기 위해서 실험을 진행하여, 개선안을 제시한다.

안드로이드 스마트폰의 F2FS GC 성능 개선 (천승용, 양홍민) [최종보고서] [발표자료]

  • F2FS는 LFS(Log-structured File System)로서, 로그를 순차적으로 기록하기 위해 주기적으로 GC(Garbage Collection)를 실행하며 free segment를 확보해 주어야 한다. 기존의 GC는 일정한 주기마다 실행조건을 체크한 뒤 실행되는데, 대부분의 안드로이드 스마트폰은 화면이 꺼질 경우 배터리를 절약하기 위해 suspend 모드에 들어가 대부분의 스레드가 freeze 상태에 놓이게 된다. 이 때 GC 스레드 역시 suspend되어 동작을 멈추기 때문에 heavy I/O 상황에서 파일 시스템에 write가 일어난 뒤에 즉시 screen off가 반복적으로 나타나는 경우에는 GC가 적절하게 수행될 시간이 충분하지 못해 free segment 확보에 어려움이 발생할 것으로 예상된다. 또 이로 인해 disk utilization이 높아지는 경우에는 LFS로 데이터를 기록하지 않고 SSR로 데이터를 기록하게 되어 파일시스템의 성능에 영향을 끼친다. 따라서 이러한 현상을 개선하기 위한 알고리즘을 개발하는 것을 목적으로 한다.

eMMC 전력 측정을 위한 안드로이드 포팅 및 lmp92064 칩 동작 확인 (김현기, 김민식) [최종보고서] [발표자료1] [발표자료2]

  • 사용자들이 스마트 디바이스를 사용하며 느끼는 불편 중 가장 큰 요소 중 하나로 배터리 소모가 자리잡고 있다. 이를 해결하기 위해 스마트 디바이스 제조업체들은 하드웨어 성능을 높이고 소프트웨어 최적화를 위한 연구를 진행하고 있다. 오늘날 스마트 디바이스들은 다양한 하드웨어와 소프트웨어가 결합되어 복잡하게 구성되어 있다. 이러한 부분 중 소프트웨어의 특정 부분을 변경하였을 때 하드웨어의 전력소모가 어떻게 변하는지 측정하는 일이 필요하다. 현재 목표는 smdk5410보드의 sd카드에 boot loader와 kernel, Ramdisk를 올리고 전력을 측정하고자 하는 eMMC에 안드로이드 이미지를 올려 lmp92064 전력 측정 칩을 이용해 파일시스템 별 소비 전력을 분석해 보는 것이 목적이다.

MobiBench Version up (이승권, 이남훈) [최종보고서] [발표자료]

  • 연구실에서 개발한 MobiBnech(모비벤치)는 Android System 상에서 특정한 IO를 임의로 발생시킨 후 해당 기기의 성능을 측정하는 어플리케이션이다. 현재 많은 사용자가 자신의 기기에 대한 성능을 측정하기 위해 사용하고 있으며, 더 많은 사용자들에게 편리하고 신뢰성 있는 벤치마킹 툴을 제공하기 위해 개선을 진행하게 되었다 한정된 환경에서의 Rank 등록뿐 만 아니라 다양한 Setting 값을 통한 성능의 차이를 보기 위해 Rank 등록의 제한을 푸는 것이 필요하다.

안드로이드 기반 스마트 폰의 입출력 시스템 성능 분석 (이의동, 손한근) [최종보고서] [발표자료_손한근] [발표자료1_이의동] [발표자료2_이의동] [발표자료3_이의동]

  • F2FS 파일시스템과 LS-MVBT DB 기술이 보여준 성능 향상이 다양한 기기에 적용할 수 있는지 그리고 두 기술을 같이 적용했을 때의 성능 변화는 어떻게 나타나는지를 분석한다. 이것은 향후 플래시 메모리를 사용한 댜앙한 안드로이드 기반 모바일 기기의 IO 성능을 최적화하기 위한 두 기술의 적용 가능성을 확인하는 한편, 분석을 통해서 위 기술들의 개선 가능성을 찾기 위해서이다. 따라서 이 실험은 측정한 실험결과와 함께 그 원인을 분석하는 것을 목적으로 한다.

MobiBench와 다른 benchmark의 비교분석 (송종근) [최종보고서]

스마트폰의 데이터베이스 사용 패턴 분석 (이창훈, 정석봉) [최종보고서] [발표자료1] [발표자료2]

  • 안드로이드 플랫폼에서의 SQLite 성능과 관련된 수많은 연구가 진행되고 있다. 우리는 실험을 위해 임의적으로 발생시키는 I/O나 Database 동작이 아닌 실제로 안드로이드 기반 스마트폰을 사용하며 발생하는 db, journal, wal 파일의 동기화 빈도와 파일 크기 변화량을 모두 수집하여 조금 더 실제 사용 패턴에 가까운 Database 사용 경향을 알아볼 수 있도록 하는 것을 목표로 하였다. 우리는 7일간의 실제 Database 사용 기록을 직접 수집하여 이를 분석하였다. 실험을 위해 임의적으로 발생시키는 I/O나 Database 동작 대신 실제로 안드로이드 기반 스마트폰을 사용하며 발생하는 db, journal, wal 파일의 동기화 빈도와 파일 크기 변화량을 수집하여 조금 더 실제 사용 패턴에 가까운 Database 사용 경향을 알아볼 수 있도록 하는 것에 초점을 두었다.