공학석사학위논문 모바일환경에서사용자경험을고려한 I/O 스케줄링기법 2017 년 2 월 서울대학교대학원 컴퓨터공학부 이인혁

Similar documents
저작자표시 - 비영리 - 변경금지 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비영리. 귀하는이저작물을영리목적으로이용할

저작자표시 - 비영리 - 변경금지 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비영리. 귀하는이저작물을영리목적으로이용할

문학석사학위논문 존밀링턴싱과이효석의 세계주의비교 로컬 을중심으로 년 월 서울대학교대학원 협동과정비교문학 이유경

저작자표시 - 비영리 - 변경금지 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비영리. 귀하는이저작물을영리목적으로이용할

법학박사학위논문 실손의료보험연구 2018 년 8 월 서울대학교대학원 법과대학보험법전공 박성민

행정학석사학위논문 공공기관기관장의전문성이 조직의성과에미치는영향 년 월 서울대학교행정대학원 행정학과행정학전공 유진아

저작자표시 - 비영리 - 변경금지 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비영리. 귀하는이저작물을영리목적으로이용할


저작자표시 - 비영리 - 변경금지 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비영리. 귀하는이저작물을영리목적으로이용할

저작자표시 - 비영리 - 변경금지 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비영리. 귀하는이저작물을영리목적으로이용할

저작자표시 - 비영리 - 변경금지 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비영리. 귀하는이저작물을영리목적으로이용할

저작자표시 - 비영리 - 변경금지 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비영리. 귀하는이저작물을영리목적으로이용할

경영학석사학위논문 투자발전경로이론의가설검증 - 한국사례의패널데이타분석 년 8 월 서울대학교대학원 경영학과국제경영학전공 김주형

i

저작자표시 - 비영리 - 변경금지 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비영리. 귀하는이저작물을영리목적으로이용할

저작자표시 - 비영리 - 변경금지 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비영리. 귀하는이저작물을영리목적으로이용할

저작자표시 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 이차적저작물을작성할수있습니다. 이저작물을영리목적으로이용할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니

저작자표시 - 비영리 - 변경금지 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비영리. 귀하는이저작물을영리목적으로이용할

저작자표시 - 비영리 - 변경금지 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비영리. 귀하는이저작물을영리목적으로이용할

저작자표시 - 비영리 - 변경금지 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비영리. 귀하는이저작물을영리목적으로이용할

저작자표시 - 비영리 - 변경금지 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비영리. 귀하는이저작물을영리목적으로이용할

저작자표시 - 비영리 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 이차적저작물을작성할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비영리. 귀하는이저작물

저작자표시 - 비영리 - 변경금지 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비영리. 귀하는이저작물을영리목적으로이용할

저작자표시 - 비영리 - 변경금지 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비영리. 귀하는이저작물을영리목적으로이용할



저작자표시 - 비영리 - 변경금지 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비영리. 귀하는이저작물을영리목적으로이용할

Precipitation prediction of numerical analysis for Mg-Al alloys

저작자표시 - 비영리 - 동일조건변경허락 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 이차적저작물을작성할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비

저작자표시 - 비영리 - 변경금지 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비영리. 귀하는이저작물을영리목적으로이용할

저작자표시 - 비영리 - 변경금지 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비영리. 귀하는이저작물을영리목적으로이용할

저작자표시 - 비영리 - 변경금지 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비영리. 귀하는이저작물을영리목적으로이용할


저작자표시 - 비영리 - 변경금지 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비영리. 귀하는이저작물을영리목적으로이용할

저작자표시 - 동일조건변경허락 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 이차적저작물을작성할수있습니다. 이저작물을영리목적으로이용할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원

저작자표시 - 비영리 - 변경금지 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비영리. 귀하는이저작물을영리목적으로이용할

행정학박사학위논문 목표모호성과조직행태 - 조직몰입, 직무만족, 공직봉사동기에미치는 영향을중심으로 - 년 월 서울대학교대학원 행정학과행정학전공 송성화

교육학석사학위논문 윤리적입장에따른학교상담자의 비밀보장예외판단차이분석 년 월 서울대학교대학원 교육학과교육상담전공 구승영


저작자표시 - 비영리 - 변경금지 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비영리. 귀하는이저작물을영리목적으로이용할

저작자표시 - 비영리 - 동일조건변경허락 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 이차적저작물을작성할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비

저작자표시 - 변경금지 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 이저작물을영리목적으로이용할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 변경금지. 귀



저작자표시 - 비영리 - 변경금지 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비영리. 귀하는이저작물을영리목적으로이용할

농학석사학위논문 폴리페닐렌설파이드복합재료의기계적및열적 특성에영향을미치는유리섬유 환원된 그래핀옥사이드복합보강재에관한연구 The combined effect of glass fiber/reduced graphene oxide reinforcement on the mecha

저작자표시 - 비영리 - 변경금지 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비영리. 귀하는이저작물을영리목적으로이용할

저작자표시 - 비영리 - 변경금지 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비영리. 귀하는이저작물을영리목적으로이용할

저작자표시 - 비영리 - 변경금지 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비영리. 귀하는이저작물을영리목적으로이용할

저작자표시 - 비영리 - 변경금지 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비영리. 귀하는이저작물을영리목적으로이용할


저작자표시 - 비영리 - 변경금지 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비영리. 귀하는이저작물을영리목적으로이용할

치의학석사학위논문 치의학대학원학생의장애환자에 대한인식조사 년 월 서울대학교치의학대학원 치의학과 박상억

행정학석사학위논문 외국인주민생활만족도의 영향요인연구 년 월 서울대학교대학원 행정학과행정학전공 최은영

저작자표시 - 동일조건변경허락 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 이차적저작물을작성할수있습니다. 이저작물을영리목적으로이용할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원


저작자표시 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 이차적저작물을작성할수있습니다. 이저작물을영리목적으로이용할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니

저작자표시 - 비영리 - 변경금지 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비영리. 귀하는이저작물을영리목적으로이용할

05( ) CPLV12-04.hwp

저작자표시 - 비영리 - 변경금지 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비영리. 귀하는이저작물을영리목적으로이용할

저작자표시 - 비영리 - 변경금지 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비영리. 귀하는이저작물을영리목적으로이용할

저작자표시 - 비영리 - 변경금지 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비영리. 귀하는이저작물을영리목적으로이용할


HTML5* Web Development to the next level HTML5 ~= HTML + CSS + JS API

PowerPoint Presentation


이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론

6.24-9년 6월

Microsoft PowerPoint App Fundamentals[Part2].pptx

정책학석사학위논문 서울대학교행정대학원 행정학과정책학전공 이윤규

저작자표시 - 비영리 - 변경금지 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비영리. 귀하는이저작물을영리목적으로이용할

°í¼®ÁÖ Ãâ·Â

<C1A4BAB8C3B3B8AE5FB1E2BBE75FC7CAB1E25F E687770>

NX1000_Ver1.1

저작자표시 - 비영리 - 변경금지 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비영리. 귀하는이저작물을영리목적으로이용할

저작자표시 - 비영리 - 변경금지 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비영리. 귀하는이저작물을영리목적으로이용할

저작자표시 - 비영리 - 변경금지 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비영리. 귀하는이저작물을영리목적으로이용할

교육학석사학위논문 중학교자유학기제를위한 음악과산업 수업설계 및지도방법에대한연구 년 월 서울대학교대학원 협동과정음악교육전공 염우정

Microsoft PowerPoint App Fundamentals[Part1](1.0h).pptx

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

Chapter #01 Subject

±èÇö¿í Ãâ·Â


서현수

저작자표시 - 비영리 - 변경금지 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비영리. 귀하는이저작물을영리목적으로이용할

(Microsoft PowerPoint - AndroG3\306\367\306\303\(ICB\).pptx)

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

정책학석사학위논문 공공기관의고성과인사관리 특성이조직몰입에미치는영향 시장형공기업과정부출연연구기관의비교를중심으로 년 월 서울대학교행정대학원 행정학과정책학전공 안성진

Microsoft PowerPoint App Fundamentals[Part1].pptx

- 코드로읽는리눅스디바이스드라이버 강남용

<4D F736F F F696E74202D20BBE7BABB202D204F DC7C1B7CEBCBCBDBA20BDBAC4C9C1D9B8B528BAF1BCB1C1A12CBCB1C1A1292E707074>

52 l /08

저작자표시 - 비영리 - 변경금지 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비영리. 귀하는이저작물을영리목적으로이용할

슬라이드 1

커알못의 커널 탐방기 이 세상의 모든 커알못을 위해서

공기업정책학석사학위논문 인사운영제도의만족도가팀성과에 미치는영향에관한연구 한국철도공사사례를중심으로 년 월 서울대학교행정대학원 공기업정책학과 이광승

02( ) CSTV16-12.hwp

Microsoft PowerPoint Android-구조.애플리케이션 기초(1.0h).pptx

저작자표시 - 비영리 - 변경금지 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비영리. 귀하는이저작물을영리목적으로이용할

Chapter 4. LISTS

Transcription:

저작자표시 - 비영리 - 변경금지 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비영리. 귀하는이저작물을영리목적으로이용할수없습니다. 변경금지. 귀하는이저작물을개작, 변형또는가공할수없습니다. 귀하는, 이저작물의재이용이나배포의경우, 이저작물에적용된이용허락조건을명확하게나타내어야합니다. 저작권자로부터별도의허가를받으면이러한조건들은적용되지않습니다. 저작권법에따른이용자의권리는위의내용에의하여영향을받지않습니다. 이것은이용허락규약 (Legal Code) 을이해하기쉽게요약한것입니다. Disclaimer

공학석사학위논문 모바일환경에서사용자경험을고려한 I/O 스케줄링기법 2017 년 2 월 서울대학교대학원 컴퓨터공학부 이인혁

모바일환경에서사용자경험을 고려한 I/O 스케줄링기법 지도교수김지홍 이논문을공학석사학위논문으로제출함 2017 년 2 월 서울대학교대학원 컴퓨터공학부 이인혁 이인혁의공학석사학위논문을인준함 2017 년 2 월 위원장 : 이재진 ( 인 ) 부위원장 : 김지홍 ( 인 ) 위원 : 이창건 ( 인 )

요약 스마트폰과같이사용자와직접적으로상호작용하는모바일기기에서는사용자경험에큰영향을미치는반응시간을관리하는것이매우중요하다. 사용자가인지하는반응시간에큰영향을미치는 CPU 수준에서의수행시간에대해서는사용자경험을해치지않도록하는기법들이많이제안되었으나, I/O 수준에서의수행시간에대해서는제대로다루어지지않았다. 예를들어, 전경과후경에 I/O가혼재할경우, 전경응용의시작시간이평균 2.43배증가한다. 이는사용자경험저하에매우큰영향을미치며전경과후경 I/O를구분하지않는현재 I/O 스케줄링기법은안드로이드스마트폰의큰취약점으로존재한다. 본논문에서는사용자경험을고려하여기존 I/O 스케줄링기법을개선하는문제에대해다룬다. I/O가전경과후경으로부터모두발생하는경우에페이지캐시점유경쟁및파일시스템동작이비동기 I/O에의해멈추는예기치않은상황에의한것이라고분석되었다. 전경응용의배타적인페이지캐시접근정책과문제의비동기 I/O 처리우선순위를높게책정하는기법을최신스마트폰인갤럭시 S6에적용하여실험한결과, 응용시작시간과전환시간은각각 51%, 49% 감소하였다. 주요어 : 사용자중심반응시간, 전경응용, I/O 성능최적화, 안드로이드스마트폰. 학번 : 2015-21255 ii

목차 요약 i 목차 iii 그림목차 v 표목차 vi 제 1 장서론 1 1.1 연구배경.................. 1 1.2 연구동기.................. 4 1.3 관련연구.................. 9 1.4 연구기여.................. 11 제 2 장안드로이드모바일기기에서의 I/O 동작 13 2.1 안드로이드플랫폼에서의 I/O............ 13 2.2 리눅스커널 I/O 경로............... 14 2.3 페이지캐시동작과정..............16 제 3 장 I/O 스케줄링최적화기법 18 3.1 전경응용프로세스관리............. 18 3.2 페이지캐시최적화기법............. 29 iii

3.3 전경응용프로세스실행멈춤 I/O......... 21 3.4 I/O 스케줄러최적화기법............. 23 제 4 장실험결과및분석 25 4.1 실험환경.................. 25 4.2 응용시작시간................. 26 4.3 카메라버스트샷................ 28 4.4 동영상촬영.................. 29 제 5 장결론 30 5.1 결론..................... 30 5.2 향후연구................... 31 참고문헌 32 Abstract 33 iv

그림목차 그림 1 구글사진응용시작시간.............. 4 그림 2 카메라버스트샷직후응용전환시간..........6 그림 3 동영상촬영직후응용전환시간............7 그림 4 리눅스커널 I/O 경로................15 그림 5 페이지캐시글로벌락경쟁..............17 그림 6 안드로이드에서전경응용 uid 전달.......... 18 그림 7 uid 기준프로세스리스트.............. 19 그림 8 전경프로세스배타적인페이지캐시접근기법...... 20 그림 9 전경프로세스실행멈춤 I/O 발견........... 21 그림 10 최적화된 CFQ I/O 스케줄러............ 23 그림 11 SOPIA 오픈플랫폼보드............ 25 그림 12 응용시작시간비교............... 26 그림 13 후경프로세스동작시간............. 22 그림 14 총 writeback 대기시간.............. 27 그림 15 카메라버스트샷 fsync() 동작시간......... 28 그림 16 동영상촬영 fsync() 동작시간........... 28 v

표목차 표 1 CFQ I/O 스케줄러에서의 I/O 우선순위.......... 14 표 2 수정된 CFQ I/O 스케줄러에서의 I/O 우선순위....... 22 vi

제 1 장서론 1.1 연구배경 스마트폰과태블릿 PC 와같은모바일기기는가장인기많은 소비전자기기중하나이다. Gartner 조사에따르면 2016 년모바일 기기의판매량이증가하였고, 보유율은 2017 년에도증가할 추세이다 [1]. 모바일기기에서사용자경험에만족을주는가장핵심적인요소는 빠른응답시간이다. 모바일기기에서동작하는대부분의응용 프로그램은사용자들과직접적으로상호작용하기때문에눈에띄는 지연없이응답하는것이매우중요하다. 모바일기기저장장치의 용량증가와엄청난성능향상에도불구하고, 이는아직도사용자 경험을악화시키는주요요인으로여겨진다 [2]. 스마트폰과같은모바일장치의상호작용작용단위는대부분 특정한기능들을가지고있는응용프로그램 ( 이하 응용 ) 들이며, 응용마켓에있는많은종류의응용중에서사용자에게실제 1

사용되는응용은높은사용자경험을가지고있는응용이다. 사용자 경험에는많은요소가존재하지만, 최근모바일응용의사용자 경험에관련된연구결과 [3] 에따르면모바일응용의사용자들은 성능이라는요소를가장중요하게고려하는것으로나타났다. 결국, 모바일장치에서응용의여러가지사용자요청에대한빠른반응은 사용자경험이라는측면에서중요하며, 이러한반응시간에대한 이해와분석이응용설계에매우중요한부분을차지한다고할수 있다. 현재안드로이드스마트폰에서는전체적인시스템성능을위해 멀티태스킹을허용함으로써사용자가응용을종료하지않는이상 후경프로세스는항상실행중인상태에있다. 이는병렬적인실행을 제공한다는점에서높은사용자경험을제공할뿐만아니라높은 시스템성능을제공한다고볼수있으나, 사용자는오직전경응용을 통해스마트폰과상호작용한다는점에서후경프로세스로인한전경 응용의성능저하가있다는측면에서는오히려사용자경험이손상될 수있다. 시스템에많은비동기 I/O 요청이있을경우, 전경 프로세스의파일시스템과페이지캐시의수행시간이급격히 증가하여사용자경험을저하시키는것을실제사용시나리오를통해 2

확인하였다. 응용시작시간은평균 2.35 배증가하였고최악의경우 11.46 배증가한것을확인하였다. 이는사용자경험을매우 저해시키는것이라고판단된다. 이러한문제는소프트웨어와하드웨어기술이고도화될수록더욱 악화될것이라고예상된다. 해상도가높아지고응용의기술이 추가됨에따라응용의크기는점점증가하고있다. 최신구글플레이 스토어에상위차트를점유하는게임들의응용크기는평균 2.46GB 이다. 또한, 최신스마트폰은높은대역폭을갖는 USB Type-C (5Gbps) 과 Wi-Fi 802.11ac (1Gbps) 모듈을갖추고있다. 이때, 전경응용의반응시간은상당히증가할수있다. 또한, 현재 페이지캐시및 I/O 스케줄러정책은반응시간이아닌대역폭을 향상시키는데에최적화되어있으므로전경응용의반응시간 감소를위한최적화가필요하다. 3

응용시작시간 ( 초 ) 1.2 연구동기 안드로이드플랫폼에서는시스템의전체적인성능을높이기위해 후경프로세스의동작을허용한다. 또한, 전경응용의프로세스와 후경프로세스를따로구분하지않고 I/O 를처리하고있다. 따라서, CPU 이용률이높지않은상황에서후경프로세스에의해전경 응용의반응성이저하되는상황이충분히발생할수있다. 아래 2 가지실험을통해후경프로세스에의해유발된 I/O 에의해전경 응용의반응시간이악화되는것을확인할수있다. 6 5 4 3 2 1 0 App Launch Only App Launch with BG I/O 그림 1. 구글사진응용시작시간 4

전경에서구글사진응용이시작되는시나리오에대해서실험을 진행하였다. 그림 1 은전경응용에서만 I/O 작업이발생하고있는 경우 (App Launch Only) 와전경과후경에서모두 I/O 작업이 발생하는경우 (App Launch with BG I/O) 에구글사진응용시작 시간을비교한그래프이다. 전경에서만 I/O 작업이발생하고있는 경우에응용시작시간은 2.41 초이고, 전경과후경의 I/O 작업이 혼재할경우, 응용시작시간은 5.68 초로 2.35 배증가하였다. 이는 전경응용의성능이후경 I/O 작업에의해성능영향을크게받을수 있다는점과안드로이드에서후경프로세스와전경프로세스의 I/O 가공존하는시나리오에대해서전경응용의성능을고려하지 않고있다는것을알수있다. 5

응용전환시간 ( 초 ) 5 4 3 2 1 0 Camera Burst Shot Only Camera Burst Shot with BG I/O 그림 2. 카메라버스트샷직후응용전환시간 전경에서카메라응용의카메라버스트샷모드직후갤러리 응용으로전환하는시나리오에대해서실험을진행하였다. 그림 2 는 전경응용에서만 I/O 작업이발생하고있는경우 (Camera Burst Shot Only) 와전경과후경에서모두 I/O 작업이발생하는경우 (Camera Burst Shot with BG I/O) 에카메라버스트샷모드사용 직후갤러리응용으로의전환시간을비교한그래프이다. 전경에서만 I/O 작업이발생하고있는경우응용전환시간은 0.15 초이고, 전경과후경에서 I/O 작업이동시에발생하고있는경우에는 3.87 초로 24.3 배증가하였다. 6

응용전환시간 ( 초 ) 3.5 3 2.5 2 1.5 1 0.5 0 Camera Recording Only Camera Recording with BG I/O 그림 3. 동영상촬영직후응용전환시간 전경에서카메라응용의동영상촬영직후갤러리응용으로 전환하는시나리오에대해서실험을진행하였다. 그림 2 는전경 응용에서만 I/O 작업이발생하고있는경우 (Camera Recording Only) 와전경과후경에서모두 I/O 작업이발생하는경우 (Camera Recording with BG I/O) 에동영상촬영직후갤러리응용으로의 전환시간을비교한그래프이다. 전경에서만 I/O 작업이발생하고 있는경우응용전환시간은 0.75 초이고, 전경과후경에서 I/O 작업이동시에발생하고있는경우에는 3.25 초로 4.3 배증가하였다. 앞두실험을통해전경응용의 UI 작업이후경 I/O 작업에의해 멈추는시간이극심하게증가할수있다는점과안드로이드에서후경 7

프로세스와전경프로세스의 I/O 가공존하는시나리오에대해서 따로구분없이처리하고있다는점을확인할수있다. 따라서, 프로세스뿐만아니라 I/O 도구분하도록하여모바일기기의 반응성을향상시키는방향으로새로운정책이필요하다는것을 확인할수있다. 대부분의응용에서응용전환시 fsync() 시스템콜을 호출함으로써데이터의불변성을보장한다. fsync() 시스템콜을 호출하게되면해당파일디스크립터에사상되어있는모든 페이지들이저장장치에쓰여지는것을보장해준다. 호출한 프로세스는저장장치연산이모두완료될때까지블록상태로 기다리게된다. fsync() 의처리시간이길어질수록안드로이드의 UI 작업은멈출확률이높아진다. 따라서, 전경과후경프로세스에의해 유발된 I/O 가혼재하는시나리오에서이를구분하여처리함으로써 전경응용의반응시간을감소시킬필요성이있다. 8

1.3 관련연구 모바일기기들은높은휴대성을가진낸드플래시를저장장치로 사용하고있다. 최근스마트폰은 UFS[4] 와높은대역폭을자랑하는 인터페이스를갖춘저장장치가내장되어있음에도불구하고저장 장치는가장많이사용되는몇가지응용주요성능저하요소라는 것을다양한실험을통해보여주었다. 또한, 기존연구들은 스마트폰에서저장장치의처리량을높이기위해리눅스커널 I/O 스택오버헤드를최소화하는최적화기법에초점을맞추고있다. 처리량을높이면전체적인시스템성능은높아지지만모바일 기기에서사용자가느끼는성능은시스템성능인아닌 반응시간이라는점을고려한다면사용자경험을완벽하게반영했다고 보기힘들다. SQLite 는안드로이드의기본데이터베이스관리시스템으로공유 라이브러리형태로제공된다. 또한, SQLite 는따로프로세스를두어 관리하지않는다는쉬운사용성및높은편리성덕분에많은 안드로이드응용개발자들은꾸준히 SQLite 를사용하고있다. 따라서 I/O 를빈번히유발하는모바일응용의전반적인성능은 9

SQLite 에의존적이다 [5]. 최근들어, SQLite 과리눅스커널의 I/O 스택의부조화인이중저널링현상을최적화하는연구가많이 진행되고있다 [6]. 하지만, 이또한전체적인시스템의성능을 고려하였지만사용자와직접적으로상호작용하는전경응용의 반응성을향상시켰다고볼수없다. 최근발표된논문에서는모바일응용에서예기치않은비동기 I/O 에의해다른프로세스혹은 I/O 의실행이멈추는경우에대해 그의존성을조사하였고, CFQ(Completely Fair Queueing) I/O 스케줄러에서비동기 I/O 지만동기 I/O 처럼프로세스의실행을 멈추는 I/O 의우선순위를높여저장장치에먼저전달함으로써 성능을향상시키는내용을담고있다. 하지만전경응용전경 프로세스와후경프로세스를구분하지않고모든프로세스에 적용하였기때문에전경프로세스와후경프로세스가비슷한 시나리오에서동작한다면반응성개선은없다. 따라서, 전경응용의 반응시간만을감소하기위한기법이라고볼수없다. 10

1.4 연구기여 본연구의기여는크게 4 가지로정리할수있다. 첫번째로, 여러가지실사용시나리오실험을통해최신 안드로이드스마트폰정책이전경응용에대한성능최적화가되어 있지않다는점을발견하였다. 따라서전경과후경에서 I/O 가혼재할 경우전경프로세스의성능저하로인해전경응용의반응시간이 증가하여사용자경험을상당히해칠수있다. 응용전환및응용 시작시나리오에대해실험을진행하여이에대한분석및성능 최적화의필요성을찾아내었다. 두번째로, 안드로이드플랫폼과리눅스커널에서전경프로세스와 후경프로세스에서로다른정책을적용하기위해구분하여 관리하도록하였다. 응용설치시에고유한 uid 를할당받는점과각 응용은여러개의액티비티를스택에서관리한다는점에서착안하여 정상액티비티의소유응용이변경될때마다리눅스커널에새로 정의한 sysfs 파일을통하여전달하도록구현하였다. 리눅스 커널에서는프로세스가생성, 종료, uid 변경시점을기준으로 uidindexed 리스트를운영하여전경응용이변경될때빠르게전경 11

프로세스와후경프로세스를구분하도록하였고, 파일시스템및 블록레이어에서이들의 I/O 도구분하도록구현하였다. 세번째로, 기존에우선순위가낮게처리되는비동기 I/O 중전경 프로세스의실행을멈추는페이지가포함된비동기 I/O 의고유한 LBA(Logical Block Address) 를 CFQ I/O 스케줄러전달하여해당 I/O 의우선순위를높여처리하도록구현함으로써전경응용의 write 의처리속도를높여응용전환시간을감소시켰다. 마지막으로, I/O 스케줄러만을수정함으로써 read 에대한 처리속도를높일수없다는한계를실험을통하여입증하였고, 상위 레이어인페이지캐시동작과정을분석하였다. 그결과, 리눅스 커널에서페이지캐시는글로벌락을사용하여관리되어한번에 하나의프로세스만이접근할수있다는점에서착안하여전경 프로세스와후경프로세스가동시에집중적으로페이지캐시에 접근할경우전경프로세스만의배타적인접근만을허용하는정책을 적용함으로써응용시작시간을감소시켰다. 12

제 2 장안드로이드모바일기기에서의 I/O 동작 2.1 안드로이드플랫폼에서의 I/O 안드로이드는가장많이쓰이는모바일플랫폼중하나이다. 안드로이드는많은앱이동시에동작할수있는응용프레임워크를제공한다. 하나의안드로이드응용은독립적인출입포인트와분리된작업으로실행되어야하는액티비티, 서비스, 브로드캐스트리시버, 컨텐트프로바이더등타입의컴포넌트들로이루어져있다. 하나의응용은사용자인터페이스를제공할뿐만아니라, 다른응용의컴포넌트들의요청또는인텐트 [7] 를통한다른응용들로행해지는후경서비스들을제공한다. 최근들어, 안드로이드모바일기기들은단순한멀티태스킹을넘어멀티윈도우모드 [8] 를제공하기시작했다. 멀티윈도우모드는하나의디스플레이를두개로나누어서각각의스크린에서다른작업들을수행할수있도록해준다. 앞서언급한이유들과같이, 안드로이드시스템에서많은수의작업들은언제라도동시에실행될수있다. 마찬가지로, 전경과후경에서많은양의 I/O 들을동시에유발할수 있으며이러한경우전체적인안드로이드시스템성능저하뿐만아니라 전경응용의성능저하로인해사용자경험을해칠수있을가능성이 높다. 13

2.2 리눅스커널 I/O 경로 유저프로세스가읽기시스템콜을호출하게되면먼저페이지캐시를탐색하여최대 128KB 크기의여유페이지들을확보한다. 해당페이지들에유효한데이터를쓰기위하여유저프로세스가직접블록 I/O 를생성하여 plugged list 에삽입하고, 해당 I/O 들이모두완료될때까지 I/O 대기큐에서기다린다. 삽입된블록 I/O 는 plugged list 에서조건에부합하면병합되고 I/O 요청으로만들어져 CFQ I/O 스케줄러에전달된다. CFQ I/O 스케줄러에서는 I/O 요청간의병합그리고표 1 와같이동기, 비동기, 우선순위등을고려하여 I/O 요청을디바이스드라이버에전송한다. 동기 비동기 우선순위 높음 낮음 표 1. CFQ I/O 스케줄러에서의 I/O 우선순위 write() 시스템콜의경우에는페이지캐시에데이터를쓰고바로반환된다. 하지만 O_SYNC 혹은 fsync() 시스템콜을호출할경우, 해당파일디스크립터에속한 dirty 페이지들은직접동기블록 I/O 를생성하게되고, 페이지캐시정책에의해쫓겨난페이지들은 kworker 커널쓰레드에의해비동기블록 I/O 가생성된다. CFQ I/O 스케줄러는프로세스별로큐를두어동일한시간을배분함으로써프로세스별로공평한 I/O 처리시간을제공하고있다. 총 2 종류의큐로동기 I/O 요청을처리하는큐와비동기 I/O 요청을처리하는큐로구분된다. 동기 I/O 를저장하고있는큐는프로세스마다존재하고 14

비동기 I/O 는우선순위별로총 8 개의큐가 CFQ I/O 스케줄러에존재한다. 저널링쓰레드가생성한 I/O 요청들은우선순위가가장높기때문에가장먼저처리된다. 비동기 I/O 요청큐는동기 I/O 요청큐보다우선순위가낮게처리된다. O_SYNC 플르그를사용하여파일을열거나 fsync() 시스템콜을호출할경우, 이미 kworker 커널쓰레드에의해만들어진비동기인 I/O 요청이 I/O 스케줄러에서우선순위가낮게처리되기때문에지연시간이길어지는것을실험분석을통해확인하였다. 그림 4. 리눅스커널 I/O 경로 15

2.3 페이지캐시동작과정 유저프로세스가 read() 시스템콜을호출하게되면먼저페이지캐시에서여유공간을확보한뒤, 유저프로세스가직접블록 I/O 를생성하여 plugged list 에삽입한다. 이때, 바로여유페이지들이확보가되지않으면페이지가쫓겨나거나 writeback 이완료될때까지기다리게된다. 삽입된블록 I/O 는 plugged list 에서병합되고 I/O 요청으로만들어져 CFQ I/O 스케줄러에전달된다. CFQ I/O 스케줄러에서는 I/O 요청간의병합그리고동기, 비동기, 우선순위등을고려하여 I/O 요청을디바이스드라이버에전송한다. write() 시스템콜의경우에는먼저페이지캐시의여유페이지들을확보한뒤, 해당페이지들에유효한데이터를쓰고바로반환된다. 하지만 O_SYNC 혹은 fsync() 시스템콜을호출할경우, 해당파일디스크립터에속한 dirty 페이지들은직접동기블록 I/O 를생성하여 plugged list 에삽입한다. 이때, 유저프로세스는직접생성한동기 I/O 뿐만아니라이전에페이지캐시정책에의해쫓겨난페이지들은 kworker 커널쓰레드에의해비동기블록 I/O 가모두완료될때까지기다린다. CFQ I/O 스케줄러는프로세스별로큐를두어동일한시간을배분함으로써프로세스별로공평한 I/O 처리시간을제공하고있다. 총 2 종류의큐로동기 I/O 요청을처리하는큐와비동기 I/O 요청을처리하는큐로구분된다. 동기 I/O 를저장하고있는큐는프로세스마다존재하고비동기 I/O 는우선순위별로총 8 개의큐가 CFQ I/O 스케줄러에존재한다. 저널링쓰레드가생성한 I/O 요청들은우선순위가가장높기 16

때문에가장먼저처리된다. 비동기 I/O 요청큐는동기 I/O 요청큐보다우선순위가낮게처리된다. O_SYNC 플래그를사용하여파일을열거나 fsync() 시스템콜을호출할경우, 이미 kworker 커널쓰레드에의해만들어진비동기인 I/O 요청이 I/O 스케줄러에서우선순위가낮게처리되기때문에지연시간이길어지는것을실험분석을통해확인하였다. 그림 5 는멀티프로세스환경에서글로벌락으로인한페이지캐시경쟁을보여주고있다. 페이지캐시로부터여유페이지를얻고유효한페이지를삽입할때는글로벌락을사용하기때문에다른프로세스의접근을허용하지않는다. 따라서, 후경프로세스가존재할경우전경프로세스의페이지캐시수행은늦춰지게된다. 그림 5. 페이지캐시글로벌락경쟁 17

제 3 장 I/O 스케줄링최적화기법 3.1 전경응용프로세스관리 그림 6은안드로이드액티비티매니저에서전경응용의 uid를리눅스커널에전달하는과정을보여주고있다. Android에서특정작업수행시액티비티를통해사용자와상호작용을한다. 패키지 (apk 파일 ) 설치시, 응용은고유한 uid를부여받게된다. 응용은액티비티스택에서여러개의액티비티를관리하며맨위의액티비티가현재사용자와직접상호작용하고있는액티비티이다. 따라서맨위액티비티가바뀔때마다해당액티비티가속한응용의 uid가이전 uid와다르다면이를리눅스커널에미리만들어놓은 sysfs 파일을통해알려준다. 그림 6. 안드로이드에서전경응용 uid 전달 18

그림 7은리눅스커널에서관리하는 uid 기준프로세스리스트이다. 프로세스혹은쓰레드가생성, 종료, uid 업데이트시에 uidindexed 프로세스리스트를업데이트해준다. 전경응용이바뀔때마다프로세스트리전체를탐색하는오버헤드는줄이기위해따로관리를하고있다. 안드로이드는응용의첫프로세스는 Zygote 프로세스에의해생성이된다. 하지만다른프로세스와는다르게첫프로세스의 uid는응용의 uid가아닌 root 사용자의 uid이다. 응용시작에필요한몇가지작업이후에첫프로세스의 uid가 setuid() 시스템콜에의해해당응용의 uid로바뀐다. 따라서 uid가바뀌는상황까지고려하여 uid 기준프로세스리스트를관리한다. 그림 7. uid 기준프로세스리스트 19

3.2 페이지캐시최적화기법 그림 8은본논문에서제안하는전경응용프로세스배타적인페이지캐시기법이다. 페이지캐시에접근하기위해서는글로벌락을사용하기때문에멀티쓰레드환경에서전경프로세스 / 쓰레드들만의배타적접근이필요하다. 전경프로세스 / 쓰레드가페이지캐시에유효한페이지를추가할때마다타임스탬프를남긴다. 만약백그라운드프로세스 / 쓰레드가페이지캐시에유효한페이지를추가하려고한다면, 타임스탬프를확인하고 100us 이내이면실행을멈추고, 아니라면계속해서진행한다. 실행을다시시작하여도조건을다시확인하는작업을반복한다. 이는최근에전경프로세스 / 쓰레드가페이지캐시에접근을하였다면머지않은미래에도재접근을할것이라고판단하고이에맞게페이지캐시를운영하는기법이다. root uid를소유하는네트워크나 UI를담당하는쓰레드들은후경프로세스에서제외하였다. 그림 8. 전경프로세스배타적인페이지캐시접근기법 20

3.3 전경응용프로세스실행멈춤 I/O I/O를요청한프로세스혹은쓰레드가해당 I/O가완료될때까지다른작업을하지못하고실행을멈춰야한다면이를동기 I/O라고부른다. 비동기인 I/O는이름에서유추할수있듯이, 해당 I/O를요청한프로세스혹은쓰레드가 I/O 요청을하고완료되기전까지다른작업을수행할수있다. 그림 9는프로세스실행멈춤 I/O를발견하는전체적인개요를그림으로보여주고있다. 동기 I/O는유저프로세스가직접블록 I/O를생성하기때문에트랙킹이가능하다. 하지만비동기인 I/O는유저프로세스가아닌커널쓰레드에의해생성되므로트랙킹이불가능하다. 또한어떤블록 I/O가전경프로세스의실행을멈출지모른다. 그림 9. 전경프로세스실행멈춤 I/O 발견 21

따라서동기 I/O의경우, 전경프로세스가생성하는경우해당 I/O 를 Foreground (FG) I/O로분류하여해당정보를 I/O 요청이만들어질때까지가지고간다. CFQ I/O 스케줄러에서는 FPB I/O를우선순위를가장높게처리한다. 비동기인 I/O의경우어떤 I/O 요청이전경프로세스의실행을멈출지알수없으므로 LBA가업데이트될때마다, 해당 I/O 요청에속한블록 I/O의블록벡터들에 LBA를저장한다. 블록벡터의각멤버는페이지이며페이지들은페이지캐시에서버퍼헤드자료구조로관리한다. 따라서 LBA는버퍼헤드에저장한다. 표 2와같이후에전경프로세스가특정페이지의 writeback을기다리는상황이발생하면해당페이지가포함된비동기 I/O의미리앞에서저장한 LBA 정보를 CFQ I/O 스케줄러에넘겨주고 CFQ I/O 스케줄러는해당 LBA의 I/O 요청을탐색하여가장높은우선순위로요청큐에삽입하게하였다. 또한, 요청큐에서 FG I/O를가장우선순위로디바이스드라이버에전달하게끔구현을하였으며, 요청큐내에서병합으로인해 FG I/O의순서가뒤로밀려나는상황이발생하지않도록구현하였다. 동기 비동기 전경 높음 높음 후경 중간 낮음 표 2. 수정된 CFQ I/O 스케줄러에서의 I/O 우선순위 22

3.4 I/O Scheduler 최적화기법 그림 10은전경프로세스의실행멈춤지연시간을최소화하기위해수정된 CFQ I/O 스케줄러의전체적인동작과정을보여주고있다. 전경프로세스의실행을멈추는 I/O는동기 I/O 요청과비동기인 I/O 모두존재한다. 동기 I/O는블록 I/O 생성시점부터 I/O 스케줄러까지계속해서정보를유지하고, 전경프로세스가특정페이지의 writeback 완료를기다리게되는시점이되면해당페이지가포함된비동기 I/O의 LBA 정보를 I/O 스케줄러에알려주어해당 I/O를요청큐에서우선순위가가장높게삽입하도록함으로써전경응용의반응시간을감소시켰다. 그림 10. 최적화된 CFQ I/O 스케줄러 23

동기 I/O 요청은전경프로세스가직접생성하기때문에 I/O 스케줄러에삽입됨과동시에 FG 요청으로분류되고해당 I/O 요청을소유하고있는 CFQ 큐는 FG CFQ 큐리스트에삽입된다. 모든 CFQ 큐중에서 FG CFQ 큐의우선순위가가장높으며 FG CFQ 큐내에서는 FIFO 방식으로 I/O 요청을요청큐에삽입한다. FG CFQ 큐가더이상존재하지않는상황에서는기존 CFQ I/O 스케줄러방식처럼동기 CFQ 큐의우선순위를비동기 CFQ 큐보다높여요청큐에 I/O 요청을삽입하도록동작한다. 비동기인 I/O 요청은전경프로세스가아닌커널쓰레드에의해생성되기때문에해당 I/O 요청이 FPB I/O로분류되는시점은전경프로세스가어떠한페이지가 writeback이완료되기를기다리는시점에서알수있다. 즉전경프로세스가 wait_on_page_writeback() 에서기다리는상황이오게되면, 해당페이지의버퍼헤드에미리저장한 LBA를페이지캐시와블록레이어를잇는 elv_boost_lba() 함수를통하여 CFQ I/O 스케줄러에전달하고, CFQ I/O 스케줄러에서는 lookup_lba() 함수에서해당 LBA를비동기인 I/O 요청큐에서탐색하고만약찾았다면가장높은우선순위로저장장치에요청을한다. 찾지못하는경우는블록 I/O가아직 plugged list에존재하여 I/O 요청으로생성되지못했거나, 이미요청큐와그아래레이어에서해당 I/O 요청이처리되고있는경우이다. 이러한경우기존방식과마찬가지로해당 I/O 요청이완료될때까지기다린다. 24

제 4 장실험결과및분석 4.1 실험환경 실험은 Android 5.0 Lollipop 이탑재된삼성 Galaxy S6 와동일한스펙을갖는 SOPIA 7420 보드에서수행됐다. 사진썸네일을유저에게보여주기위해응용시작시읽기 I/O 를많이요청하는 Google 사진어플리케이션을대상으로시작시간실험을진행하였다. 많은응용들이특정한작업이끝난뒤, fsync() 시스템콜을호출하여데이터지속성을요구한다. 삼성 Galaxy S6 에서카메라버스트샷및동영상촬영종료후에 fsync() 시스템콜을호출하는현상을발견하였고, 후경에서버퍼쓰기가집중적으로일어날때 UI 가멈추는현상을 발견하였다. 따라서카메라관련실험은 fsync() 수행시간을기준으로 진행하였다. 그림 11. SOPIA 오픈플랫폼보드 25

응용시작시간 ( 초 ) 4.2 응용시작시간 전경에서구글사진응용아이콘을탭함으로써시작하고후경은 4GB 크기의파일을버퍼쓰기를하는시나리오이다. 6 5 4 3 2 1 0 FG Only FG with BG I/O FG with BG I/O ( 기법적용 ) 그림 12. 응용시작시간비교그림 12 는각시나리에서의응용시작시간을비교한그래프이다. 후경에서버퍼쓰기가진행되는경우에전경의응용시작시간이약 2.3 배증가하는것을확인하였다. 기법적용시, 응용시작시간은 135% 감소하였다. 이를시간으로계산하면총 2.9 초감소하여, 전경응용만실행하는시나리오에비해평균약 0.3 초증가하였다. 그림 13 은기법미적용시와적용시후경프로세스의동작시간을그래프로보여주고있다. 전경응용시작시간은 2.9 초감소한것에비해후경프로세스의동작시간은경우 0.98 초감소하였다. 26

writeback 대기시간 ( 초 ) 수행시간 ( 초 ) 34 32 30 28 26 24 22 20 FG with BG I/O FG with BG I/O ( 기법적용 ) 그림 13. 후경프로세스동작시간그림 14 는기법미적용시와적용시전경프로세스의비동기 I/O 완료대기시간을나타낸그래프이다. 1.58 초에서 0.45 초로총 1.13 초감소한것을확인할수있다. 이는감소시간중 49% 를차지한다. 2 1.5 1 0.5 0 FG with bg I/O FG with bg I/O ( 기법적용 ) 그림 14. 총 writeback 대기시간 27

fsync() 수행시간 ( 초 ) 4.2 카메라버스트샷 전경은카메라버스트샷시뮬레이션을진행하였고, 후경에서는 4GB 파일버퍼쓰기를진행하였다. 그림 15 는기법적용 / 미적용시 fsync() 의동작시간을그래프로보여주고있다. 후경에서버퍼쓰기를진행할경우 UI 멈춤의원인인 fsync() 동작시간이평균 24.3 배증가하였다. 기법적용시, 비동기 I/O 요청을빠르게처리하여 4.94% 감소한것을확인하였다. 5 4 3 2 1 0 FG Only FG with BG I/O FG with BG I/O ( 기법적용 ) 그림 15. 카메라버스트샷 fsync() 동작시간전경프로세스가 wait_on_page_writeback() 함수에서해당페이지를포함한 I/O 요청이완료될때기다린시간의총합이다. 기법적용시 fsync() 수행시간감소량만큼비슷하게감소한것을확인할수있었다. 28

fsync() 수행시간 4.3 동영상촬영 전경은동영상촬영시뮬레이션을진행하였고, 후경에서는 4GB 파일 버퍼쓰기를진행하였다. 그림 16 은기법적용 / 미적용시 fsync() 의동작시간을그래프로 보여주고있다. 카메라버스트샷과마찬가지로성능이득의대부분은 전경프로세스의실행을막고있는비동기 I/O 를먼저처리함으로써 얻었다. 기법적용시 49.4% 성능이득을확인하였다. 3.5 3 2.5 2 1.5 1 0.5 0 FG Only FG with BG I/O FG with BG I/O ( 기법적용 ) 그림 16. 동영상촬영 fsync() 동작시간 마찬가지로후경응용의동작시간은미미하게증가하였고, 비동기 I/O 의우선순위를높게처리함으로써전체감소시간중 51% 를 차지하였다. 29

제 5 장결론 5.1 결론 안드로이드에서는현재전경프로세스와후경프로세스를따로구분지어관리하고있지않다. 이는전경응용의반응시간이길어져사용자경험을충분히해칠수실험을통해입증하였다. 또한, 최근모바일기기의하드웨어스펙은급격히발전하고있다. 특히 USB Type-C (5Gbps) 과 Wi-Fi 802.11ac (1Gbps) 모듈을갖추면서후경에서 I/O 작업이집중적으로일어날수있게되었고, 이는사용자경험을해칠수있을가능성이더욱높아져가고있음을의미한다. 본논문에서는모바일환경에서후경에서버퍼쓰기가집중적인상황에서모바일응용의반응시간이급격하게증가하는시나리오에대해전경프로세스와후경프로세스의페이지캐시및 I/O 스케줄링을차별화하는최적화기법을구현하였다. 차별화된 I/O 스케줄링기법을적용함으로써전경응용의프로세스및해당프로세스의실행을멈추는 I/O 를먼저실행되게끔최적화함으로써카메라버스트샷모드직후갤러리응용으로의전환시간은 49.4% 감소하였고, 동영상촬영직후갤러리응용으로의전환시간은 51% 감소하였다. 즉, UI 작업멈춤시간이감소하면서사용자경험을향상시켰다. 또한배타적인페이지캐시기법을적용함으로써구글사진응용시작시간은 135% 감소하였다. 30

5.2 향후연구 본논문에서실험한 Android 는 Android Open Source Project (AOSP) 기반소스코드로오픈소스이며각스마트폰제조사들의최적화기법이배제된최소의기능만을제공하는플랫폼이다. 실제시장에서판매되고있는스마트폰들은훨씬더복잡한안드로이드플랫폼구조와리눅스커널을갖추고있다. 따라서기존에고려하지못한후경프로세스로인해시스템성능뿐만아니라전경응용의성능또한감소할수있다. 시판되는스마트폰에적용함으로써전경응용의반응시간을측정해볼필요성이있다. 또한, 본논문에서전경프로세스의배타적인페이지캐시접근기법에서후경프로세스가잠드는시간은조정적이기보단실험에에의해고정적인값을갖는다. 후경프로세스의성능저하를최소화하기위해잠드는시간을조정적으로가변하게끔기법을수정해야할필요성이있다. Android 6.0 Marshmallow 부터는본격적으로멀티윈도우기능이제공된다. 이러한환경에서는맨위액티비티가여러개가존재하게되므로전경응용이여러개가될수있다. 전경응용이여러개가존재할경우사용자마다체감하는응용우선순위가상황에따라다를것이다. 사용자경험을고려하여전경응용들간의우선순위를책정하여 I/O 스케줄링및페이지캐시기법을차별적으로적용해야할필요성이있다. 31

참고문헌 [1] Gartner Inc, Gartner Says Worldwide Smartphone Sales Grew 39 Percent in First Quarter of 2016, https://www.gartner.com/ newsroom/id/3323017. [2] Kim. H, et al., Revisiting Storage for Smartphones, in Proc. USENIX Conference on File and Storage Technologies, 2012. [3] Carpenter. T, et al., Apigee Survey: Users Reveal Top Frustrations That Lead to Bad Mobile App Reviews, https://apigee.com /about/press-release/apigee-survey-users-reveal-top-frustrations-lead-bad-mobile-app-reviews. [4] Universal Flash Storage (UFS), http: //www. jedec.org/standardsdocuments/focus/ flash/universal-flash-storage-ufs. [5] Jeong. D, et al., I/O Stack Optimization for Smartphones, in Proc. USENIX Annual Technical Conference, 2013. [6] Lee. W, et al., WALDIO: Eliminating the Filesystem Journaling of Journal Anomaly, in Proc. USENIX Annual Technical Conference, 2015. [7] Android Developers, http://developer.android.com. [8] Samsung Electronics, How Do I Use Multi Window Mode (multitasking) on My Samsung Galaxy Note 2?, http://www.samsung.com/us/support/howtoguide/n0000004/8829/62396.. 32

Abstract User-Centric I/O Scheduling for Android Smartphones Inhyuk Yee Dept. of Computer Science & Engineering College of Engineering The Graduate School Seoul National University One of the most important factors in user experience on mobile devices is the user-perceived response time. Numerous techniques have been proposed to improve the user experience in terms of reducing the user-perceived response time at the CPU level, but few such techniques exist at the I/O level. For example, on and Android smartphone, the application launching time can be 2.43 times longer when foreground I/Os and background I/Os are mixed. The current Android I/O scheduling, which does not distinguish between foreground I/Os and background I/Os, can significantly degrade user experience. We propose a user-centric scheduling technique for a Android smartphones which are optimized for completing foreground I/Os early over. 33

Our careful analysis revealed that two factors affected the completion times of foreground I/Os significantly, page cache lock contentions and blockings from asynchronous I/Os from previous background I/Os. Our proposed technique enables foreground I/Os to exclusively access page caches and raises the processing priority of blocking asynchronous I/Os to the highest level when such asynchronous I/Os exist. Our experimental results on Galaxy S6 show that application launching time and application transition time are reduced by 51% and 49%, respectively. keywords : user-perceived response time, foreground application, I/O performance optimization, Android smartphones. Student number : 2015-21255 34