SlideShare a Scribd company logo
Mobile App에서
효율적인 storage
접근 방법
장재영
Mobile Solution Development Group
0.
시작하기 전
동기 & 목적
• 앱 개발자들이 flash memory의 I/O 동작을 이해하면 더 빠른 앱을 개발할 수
있을 것이라고 생각했습니다.
• 성능을 측정하고 I/O 동작의 분석을 통해 원인을 설명하는 방식으로 진행됩니
다.
• 최근에 출시된 또는 곧 만나게 될 flash memory를 소개하겠습니다.
• 설명을 위한 도표는 이해를 돕기 위해 간략하게 표현하였고, 이로 인해 다소
과장된 부분이 있을 수 있습니다.
Flash Memory Solution
smart phone
AP
storage
controller
NAND
Flash Memory
HOST

Recommended for you

2010 SW Testing Trend
2010 SW Testing Trend2010 SW Testing Trend
2010 SW Testing Trend

2010년 한국의 SW Testing Trend By STA Consulting Inc.

sw test trendsoftware testingsw testing
TDD
TDDTDD
TDD

About TDD

tdd
When develpment met test(shift left testing)
When develpment met test(shift left testing)When develpment met test(shift left testing)
When develpment met test(shift left testing)

Sharing my thoughts and cases about co-work with test and developemnt. Two big approaches. One is Engineering approach ( 1. Early testing education 2. Test design 3. Test code guide 4. Pair-testing, programming 5. Test-Automation), Second is Strategic activities ( 1. Test Strategy/Plan 2. Test analysis/report) Also, I wanted to mention tester's various career paths. Thank you.

shiftlefttestingsoftware testingpairtesting
용량은 클 수록 더 빠르다
D0 D0 D1 D0 D1 D2 D3
× 4 write
1
2
3
4
1
2
1
x 1 x 2 x 4
SDP DDP QDP
SDP와 DDP 동작 차이
TIME
host
D0 D0
TIME
host
D0
D1
SDP DDP
처리 시간은
거의 같다.
R R
controller
flash
storage
controller
flash
storage
분석 방법
READ WRITE
TIME
device
latency
host latency
device
latency
performance
AP Storage
Analyzer
LBA, size, time
linux layer에 따른 성능
Storage
File System File System에 따라 성능 편차.
Block Layer I/O scheduler에 따라 성능 편차.
Device Layer H/W 사용 여부에 따라 성능 편
차.
Apps ?

Recommended for you

[142] how riot works
[142] how riot works[142] how riot works
[142] how riot works

DEVIEW2015 DAY1. how riot works

Istqb 5-테스트관리-2015-배포
Istqb 5-테스트관리-2015-배포Istqb 5-테스트관리-2015-배포
Istqb 5-테스트관리-2015-배포

ISTQB CTFL v2011 Ch5. Test Management

istqbchungkang college게임qa
Tdd objective c
Tdd objective cTdd objective c
Tdd objective c
1.
App에서 어떻게
I/O 성능을 개선시킬
수 있을까?
Test Scenario
ZIP dummy.zip
dummy folder
압축 시간 측정
기대하는 host behavior
READ WRITEstorage READ WRITE
ZIPhost ZIP
TIME
NG
READ WRITEstorage READ WRITE
ZIPhost ZIP
TIME
Good
압축 앱 성능 test 결과
00:16
00:26
01:20
0
20
40
60
80
100
A B C

Recommended for you

테스트자동화 성공전략
테스트자동화 성공전략테스트자동화 성공전략
테스트자동화 성공전략

자체적으로 작성한 테스트 교육 2장 테스트 자동화에 해당하는 내용으로 단순한 테스트 자동화 툴 사용법 이상으로 자동화 성공을 위한 전략, 사례 등을 포함하고 있습니다.

testautomation success strategy소프트웨어테스팅자동화
스크럼, 이걸 왜 하나요
스크럼, 이걸 왜 하나요스크럼, 이걸 왜 하나요
스크럼, 이걸 왜 하나요

더 자세한 이야기는 홈페이지에서 읽으실 수 있습니다. http://resoneit.blogspot.kr/2012/10/blog-post_30.html

소프트웨어 테스팅
소프트웨어 테스팅소프트웨어 테스팅
소프트웨어 테���팅
소프트웨어 테스팅
A & B 앱 log 분석
storage
kernel
thread1
R
storage
kernel
app B ZIPR
thread2
R
thread3
R
ZIP
ZIP R
R
ZIP R
ZIP R
ZIP R
ZIP
app A
ZIPR ZIPR
2.
Multi-Thread에 더 강한
Command Queue
eMMC version history
eMMC 4.41
eMMC 4.5
eMMC 5.0 eMMC 5.1
0
100
200
300
400
500
2010 2011 2012 2013 2014 2015
MB/s
Command
Queue
flagship model
NCQ (Native Command Queuing)
https://en.wikipedia.org/wiki/Native_Command_Queuing

Recommended for you

클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기
클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기
클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기

클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기 클라우드 & 모바일의 제약사항과 공유자원이 가져오는 한계점을 설명.

cloudmobileapm
MySQL Deep dive with FusionIO
MySQL Deep dive with FusionIOMySQL Deep dive with FusionIO
MySQL Deep dive with FusionIO

MySQL Deep dive with FusionIO

fusioniomysqlssd
안드로이드 Oreo의 변화와 모바일 앱/플랫폼의 적합한 성능 측정 방법
안드로이드 Oreo의 변화와  모바일 앱/플랫폼의 적합한 성능 측정 방법안드로이드 Oreo의 변화와  모바일 앱/플랫폼의 적합한 성능 측정 방법
안드로이드 Oreo의 변화와 모바일 앱/플랫폼의 적합한 성능 측정 방법

안드로이드 Oreo의 변화와 모바일 앱/플랫폼의 적합한 성능 측정 방법에 대한 자료입니다. 단순히 크래시를 넘어 어떠한 성능 매트릭을 수집해야 되는지, 그리고 동작원리에 대한 큰 틀을 설명했습니다.

androidperformanceoreo
Flash memory에서 CQ
HOST
W1 R2 R3 W4 R5 W6
Queue
R2 R3 R5 W1 W4 W6
Reordering
Flash Memory
CQ와 w/o CQ 동작 차이
TIME
queue
host R R
READ
R
READ
CQ
TIME
storage
host R
READ
w/o CQ R
READ
R
READ
READflash
storage
SDP와 QDP에서 CQ 동작 차이
QDP CQ
TIME
storage
host
queueing
SDP CQ
READ
READ
READ
TIME
storage
host
READ
queueing
Thread에 따른 CQ BM 결과
0.0
0.5
1.0
1.5
2.0
1 2 4 8
number of thread
4KB Random Read
0.0
0.5
1.0
1.5
2.0
1 2 4 8
number of thread
4KB Random Write

Recommended for you

Oracle History #8
Oracle History #8Oracle History #8
Oracle History #8

Linux Install for Oracle10g

OPENMARU APM 브로셔
OPENMARU APM 브로셔OPENMARU APM 브로셔
OPENMARU APM 브로셔

OPENMARU APM은 APM에서 제공하는 모니터링 기능 뿐만 아니라 주요 오픈 소스 웹서버나 WAS에 대한 설치/구성/튜닝 할 수 있는 프로비저닝 기능을 함께 제공하는 통합 성능 관리 솔루션입니다.

openmaru apmapmwas 튜닝
FORGIS-SERVER 사용자 교육
FORGIS-SERVER 사용자 교육FORGIS-SERVER 사용자 교육
FORGIS-SERVER 사용자 교육

forgis-server

3.
더 빠른 flash memory
UFS
eMMC & UFS 속도 spec
eMMC 4.41
eMMC 4.5
eMMC 5.0 eMMC 5.1
UFS 2.0
HS-GEAR3
0
100
200
300
400
500
600
2010 2011 2012 2013 2014 2015
MB/s
주요 interface 속도
0 100 200 300 400 500 600
LTE Category 10 DL
IEEE 802.11ac
SD card class 10
eMMC 5.0
USB 3.0
UFS 2.0 HS-GEAR3
MB/s
UFS에서 압축 앱 성능 test
00:16
00:26
01:20
00:09
00:17
00:36
0
20
40
60
80
100
A B C
eMMC UFS

Recommended for you

[231]운영체제 수준에서의 데이터베이스 성능 분석과 최적화
[231]운영체제 수준에서의 데이터베이스 성능 분석과 최적화[231]운영체제 수준에서의 데이터베이스 성능 분석과 최적화
[231]운영체제 수준에서의 데이터베이스 성능 분석과 최적화

운영체제 수준에서의 데이터베이스 성능 분석과 최적화

deview2017
Optane DC Persistent Memory(DCPMM) 성능 테스트
Optane DC Persistent Memory(DCPMM) 성능 테스트Optane DC Persistent Memory(DCPMM) 성능 테스트
Optane DC Persistent Memory(DCPMM) 성능 테스트

DCPMM의 성능을 기존 DRAM과 비교하여 어느 정도 수준으로 활용 가능한지 메모리기반 오픈소스(Apache Spark, Alluxio, Redis)를 활용하여 검증하고, 이를 통해 향후 빅데이터 아키텍처에 ���용가능한지 확인

dcpmmredisalluxio
Android Applications on Galaxy S (장기성)
Android Applications on Galaxy S (장기성)Android Applications on Galaxy S (장기성)
Android Applications on Galaxy S (장기성)

8월 27일 논현동 건설회관에서 열린 'SKT-삼성전자 안드로이드 앱개발 페스티벌 개발자 컨퍼런스'에서 발표된 자료입니다.

skt tac
eMMC는 Half, UFS는 Full
UFS
READ
WRITE
storage READ
WRITE
ZIPhost ZIP
TIME
READ
WRITE
ZIP
READ
WRITE
ZIP
READ WRITEstorage READ WRITE
ZIPhost ZIP
TIME
eMMC
READ READ
ZIP
eMMC는 Half, UFS는 Full
UFS
READ
WRITE
storage READ
WRITE
ZIPhost ZIP
TIME
READ
WRITE
ZIP
READ
WRITE
ZIP
READ WRITEstorage READ WRITE
ZIPhost ZIP
TIME
eMMC
READ READ
ZIP
eMMC, UFS 전송 방식 차이점
UFS
eMMC
TIME
storage
host
TIME
storage
host
D0 D1 D2 D3
UFS, thread에 따른 BM 결과
0.0
2.0
4.0
6.0
8.0
1 4 8
number of thread
4KB Random Read
DDP QDP
0.0
2.0
4.0
6.0
8.0
1 4 8
number of thread
4KB Random Write
DDP QDP

Recommended for you

Chapter5 embedded storage
Chapter5 embedded storage Chapter5 embedded storage
Chapter5 embedded storage

Chapter5 embedded storage

Chapter5 embedded storage
Chapter5 embedded storage Chapter5 embedded storage
Chapter5 embedded storage

Chapter5 embedded storage

Assembly 스터디 1
Assembly 스터디 1Assembly 스터디 1
Assembly 스터디 1

기본적인 어셈블리어 사용법에 대해서 공부합시다 x86

assembly
eMMC, UFS의 CQ 동작 차이점
1. Read
2. Write
3. Delete
4. Read
5. Write
Host request
HOST eMMC
R1 W2
Wait
R4 W5
Delete3
HOST UFS
ALL
empty
4.
C앱이 느린 이유
Flush
C앱 log 분석
READ WRITEstorage
host
TIME
R ZIP W F
READ
R
FLUSH
storage
host
TIME
READ
R ZIP
READ
R ZIP
WRITE
W
app C
latency
READ
Rapp B
Flash memory에서 flush 동작
DATA
RAM
NAND
Flush
RAM
NAND NAND
RAM
Auto Flush
Flush CMD

Recommended for you

[온라인교육시리즈] 글로벌 서비스를 위한 인프라 구축방법(남용현 클라우드 솔루션 아키텍트)
[온라인교육시리즈] 글로벌 서비스를 위한 인프라 구축방법(남용현 클라우드 솔루션 아키텍트)[온라인교육시리즈] 글로벌 서비스를 위한 인프라 구축방법(남용현 클라우드 솔루션 아키텍트)
[온라인교육시리즈] 글로벌 서비스를 위한 인프라 구축방법(남용현 클라우드 솔루션 아키텍트)

글로벌 향 서비스 구축 시, 네이버 클라우드 플랫폼에서 사용할 수 있는 서비스들과 인프라단에서 고려해야 할 사항들에 대해서 자세히 소개해 드립니다 | Let me introduce you in detail the services available on the Naver cloud platform and what the infrastructure needs to consider when building a global service.

네이버클라우드플랫폼ncloud.comncloud
SAP HANA vs Oracle
SAP HANA vs OracleSAP HANA vs Oracle
SAP HANA vs Oracle

Simple report about SAP HANA vs Oracle. It also includes about the history of storages and benefit of in-memory processing.

itsapin memory db
현실적 PWA
현실적 PWA현실적 PWA
현실적 PWA

How to implement cache to improve performance Brief example of sw-precache, sw-toolbox

pwacacheperformance
NAND
RAM
시간적, 공간적 손해
TIME
host W W W
TIME
W F W F W F
storage
host
storage
Flush가 필요한 이유
1. Read
2. Write 0x02
3. Read 0x02
4. Read
5. Write
1. Read
2. Read 0x02
3. Read
4. Write 0x02
5. Write
Reorder
Old data가
읽혀짐
Barrier Command
W W WWF W W F F
RAM
RAM
NAND
RAM
NAND
NAND
W W WWB W W B B
G1 G2 G3
Keep an order
RAM NAND
RAM
SQLite의 write request 빈도
0%
20%
40%
60%
80%
100%
web
surfing
camera facebook contacts file copy hangouts movie
player
image
viewer
music
player
YouTube video
recording
Journal Meta SQLite Normal Data

Recommended for you

OPEN_POWER8_SESSION_20150316
OPEN_POWER8_SESSION_20150316OPEN_POWER8_SESSION_20150316
OPEN_POWER8_SESSION_20150316
Chapter2 ap group11
Chapter2 ap group11Chapter2 ap group11
Chapter2 ap group11

Chapter2 ap group11

Android 성능 지표와 Oreo 의 개선사항
Android 성능 지표와  Oreo 의 개선사항 Android 성능 지표와  Oreo 의 개선사항
Android 성능 지표와 Oreo 의 개선사항

Android Oreo 성능 향상에 대한 소개와 (ref. Google IO 2017) Android 성능의 변천사에 대해서 소개드립닏.

onycomimqaandroid
SQLite의 chunk size 비율
0%
20%
40%
60%
80%
100%
web
surfing
camera facebook contacts file copy hangouts movie
play
image
viewer
music
play
YouTube video
recording
4KB 8KB 12~16KB 20~32KB 36~64KB 68~512KB
5.
앞으로
Ecosystem
Linux Block IO:
Introducing
Multi-queue SSD
Access on Multi-
core Systems
Google’s project ARA
UFS

Recommended for you

[2A1]Line은 어떻게 글로벌 메신저 플랫폼이 되었는가
[2A1]Line은 어떻게 글로벌 메신저 플랫폼이 되었는가[2A1]Line은 어떻게 글로벌 메신저 플랫폼이 되었는가
[2A1]Line은 어떻게 글로벌 메신저 플랫폼이 되었는가

DEVIEW 2014 [2A1]Line은 어떻게 글로벌 메신저 플랫폼이 되었는가

deview
스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS
스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS
스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS

페이스북 그룹인 "실리콘 밸리를 꿈꾸는 판교 사람들"의 7월 테크톡에서 발표한 자료입니다. AWS 기반으로 서비스 운영중인 스타트업들의 로그 시스템 구축에 도움이 될 것입니다.

apachetajoawsbigdata
[211] 인공지능이 인공지능 챗봇을 만든다
[211] 인공지능이 인공지능 챗봇을 만든다[211] 인공지능이 인공지능 챗봇을 만든다
[211] 인공지능이 인공지능 챗봇을 만든다

The document discusses various machine learning clustering algorithms like K-means clustering, DBSCAN, and EM clustering. It also discusses neural network architectures like LSTM, bi-LSTM, and convolutional neural networks. Finally, it presents results from evaluating different chatbot models on various metrics like validation score.

deview2018
마치며
• 가능하면 multi-thread, flush는 필요할 때만.
• Ecosystem이 발전하면 더 빠른 I/O 환경이 구축.
• 효율적인 RAM 사용.
• 4K UHD 영상, VR 촬영으로 더 빠르고 많은 저장 공간 필요.
• 빠른 flash memory를 활용할 수 있는 앱도 있었으면...
Q&A
고맙습니다

More Related Content

Viewers also liked

애자일에대한오해와진실
애자일에대한오해와진실애자일에대한오해와진실
애자일에대한오해와진실
Sangcheol Hwang
 
애자일 테스트 프랙티스와 사례들 (부제: 협업의 힘)
애자일 테스트 프랙티스와 사례들 (부제: 협업의 힘)애자일 테스트 프랙티스와 사례들 (부제: 협업의 힘)
애자일 테스트 프랙티스와 사례들 (부제: 협업의 힘)
SangIn Choung
 
애자일과 애자일 테스트 소개 (테스트기본교육 3장 2절)
애자일과 애자일 테스트 소개 (테스트기본교육 3장 2절)애자일과 애자일 테스트 소개 (테스트기본교육 3장 2절)
애자일과 애자일 테스트 소개 (테스트기본교육 3장 2절)
SangIn Choung
 
2010 SW Testing Trend
2010 SW Testing Trend2010 SW Testing Trend
2010 SW Testing Trend
Murian Song
 
TDD
TDDTDD
When develpment met test(shift left testing)
When develpment met test(shift left testing)When develpment met test(shift left testing)
When develpment met test(shift left testing)
SangIn Choung
 
[142] how riot works
[142] how riot works[142] how riot works
[142] how riot works
NAVER D2
 
Istqb 5-테스트관리-2015-배포
Istqb 5-테스트관리-2015-배포Istqb 5-테스트관리-2015-배포
Istqb 5-테스트관리-2015-배포
Jongwon Lee
 
Tdd objective c
Tdd objective cTdd objective c
Tdd objective c
UA Mobile
 
테스트자동화 성공전략
테스트자동화 성공전략테스트자동화 성공전략
테스트자동화 성공전략
SangIn Choung
 
스크럼, 이걸 왜 하나요
스크럼, 이걸 왜 하나요스크럼, 이걸 왜 하나요
스크럼, 이걸 왜 하나요
Insub Lee
 
소프트웨어 테스팅
소프트웨어 테스팅소프트웨어 테스팅
소프트웨어 테스팅
영기 김
 

Viewers also liked (12)

애자일에대한오해와진실
애자일에대한오해와진실애자일에대한오해와진실
애자일에대한오해와진실
 
애자일 테스트 프랙티스와 사례들 (부제: 협업의 힘)
애자일 테스트 프랙티스와 사례들 (부제: 협업의 힘)애자일 테스트 프랙티스와 사례들 (부제: 협업의 힘)
애자일 테스트 프랙티스와 사례들 (부제: 협업의 힘)
 
애자일과 애자일 테스트 소개 (테스트기본교육 3장 2절)
애자일과 애자일 테스트 소개 (테스트기본교육 3장 2절)애자일과 애자일 테스트 소개 (테스트기본교육 3장 2절)
애자일과 애자일 테스트 소개 (테스트기본교육 3장 2절)
 
2010 SW Testing Trend
2010 SW Testing Trend2010 SW Testing Trend
2010 SW Testing Trend
 
TDD
TDDTDD
TDD
 
When develpment met test(shift left testing)
When develpment met test(shift left testing)When develpment met test(shift left testing)
When develpment met test(shift left testing)
 
[142] how riot works
[142] how riot works[142] how riot works
[142] how riot works
 
Istqb 5-테스트관리-2015-배포
Istqb 5-테스트관리-2015-배포Istqb 5-테스트관리-2015-배포
Istqb 5-테스트관리-2015-배포
 
Tdd objective c
Tdd objective cTdd objective c
Tdd objective c
 
테스트자동화 성공전략
테스트자동화 성공전략테스트자동화 성공전략
테스트자동화 성공전략
 
스크럼, 이걸 왜 하나요
스크럼, 이걸 왜 하나요스크럼, 이걸 왜 하나요
스크럼, 이걸 왜 하나요
 
소프트웨어 테스팅
소프트웨어 테스팅소프트웨어 테스팅
소프트웨어 테스팅
 

Similar to [144]mobile앱에서 효율적인 storage 접근 방법

클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기
클라우드 & 모바일 환경에서 알아야 할 성능 품��� 이야기클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기
클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기
YoungSu Son
 
MySQL Deep dive with FusionIO
MySQL Deep dive with FusionIOMySQL Deep dive with FusionIO
MySQL Deep dive with FusionIO
I Goo Lee
 
안드로이드 Oreo의 변화와 모바일 앱/플랫폼의 적합한 성능 측정 방법
안드로이드 Oreo의 변화와  모바일 앱/플랫폼의 적합한 성능 측정 방법안드로이드 Oreo의 변화와  모바일 앱/플랫폼의 적합한 성능 측정 방법
안드로이드 Oreo의 변화와 모바일 앱/플랫폼의 적합한 성능 측정 방법
YoungSu Son
 
Oracle History #8
Oracle History #8Oracle History #8
Oracle History #8
Kyung Sang Jang
 
OPENMARU APM 브로셔
OPENMARU APM 브로셔OPENMARU APM 브로셔
OPENMARU APM 브로셔
Opennaru, inc.
 
FORGIS-SERVER 사용자 교육
FORGIS-SERVER 사용자 교육FORGIS-SERVER 사용자 교육
FORGIS-SERVER 사용자 교육
ssuserd7017e
 
[231]운영체제 수준에서의 데이터베이스 성능 분석과 최적화
[231]운영체제 수준에서의 데이터베이스 성능 분석과 최적화[231]운영체제 수준에서의 데이터베이스 성능 분석과 최적화
[231]운영체제 수준에서의 데이터베이스 성능 분석과 최적화
NAVER D2
 
Optane DC Persistent Memory(DCPMM) 성능 테스트
Optane DC Persistent Memory(DCPMM) 성능 테스트Optane DC Persistent Memory(DCPMM) 성능 테스트
Optane DC Persistent Memory(DCPMM) 성능 테스트
SANG WON PARK
 
Android Applications on Galaxy S (장기성)
Android Applications on Galaxy S (장기성)Android Applications on Galaxy S (장기성)
Android Applications on Galaxy S (장기성)
ONE store corp. (원스토어 주식회사)
 
Chapter5 embedded storage
Chapter5 embedded storage Chapter5 embedded storage
Chapter5 embedded storage
Hyun Wong Choi
 
Chapter5 embedded storage
Chapter5 embedded storage Chapter5 embedded storage
Chapter5 embedded storage
Hyun Wong Choi
 
Assembly 스터디 1
Assembly 스터디 1Assembly 스터디 1
Assembly 스터디 1
Jinkyoung Kim
 
[온라인교육시리즈] 글로벌 서비스를 위한 인프라 구축방법(남용현 클라우드 솔루션 아키텍트)
[온라인교육시리즈] 글로벌 서비스를 위한 인프라 구축방법(남용현 클라우드 솔루션 아키텍트)[온라인교육시리즈] 글로벌 서비스를 위한 인프라 구축방법(남용현 클라우드 솔루션 아키텍트)
[온라인교육시리즈] 글로벌 서비스를 위한 인프라 구축방법(남용현 클라우드 솔루션 아키텍트)
NAVER CLOUD PLATFORMㅣ네이버 클라우드 플랫폼
 
SAP HANA vs Oracle
SAP HANA vs OracleSAP HANA vs Oracle
SAP HANA vs Oracle
Sang-jun Jung
 
현실적 PWA
현실적 PWA현실적 PWA
현실적 PWA
Jae Sung Park
 
OPEN_POWER8_SESSION_20150316
OPEN_POWER8_SESSION_20150316OPEN_POWER8_SESSION_20150316
OPEN_POWER8_SESSION_20150316
기한 김
 
Chapter2 ap group11
Chapter2 ap group11Chapter2 ap group11
Chapter2 ap group11
Hyun Wong Choi
 
Android 성능 지표와 Oreo 의 개선사항
Android 성능 지표와  Oreo 의 개선사항 Android 성능 지표와  Oreo 의 개선사항
Android 성능 지표와 Oreo 의 개선사항
YoungSu Son
 
[2A1]Line은 어떻게 글로벌 메신저 플랫폼이 되었는가
[2A1]Line은 어떻게 글로벌 메신저 플랫폼이 되었는가[2A1]Line은 어떻게 글로벌 메신저 플랫폼이 되었는가
[2A1]Line은 어떻게 글로벌 메신저 플랫폼이 되었는가
NAVER D2
 
스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS
스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS
스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS
Matthew (정재화)
 

Similar to [144]mobile앱에서 효율적인 storage 접근 방법 (20)

클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기
클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기
클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기
 
MySQL Deep dive with FusionIO
MySQL Deep dive with FusionIOMySQL Deep dive with FusionIO
MySQL Deep dive with FusionIO
 
안드로이드 Oreo의 변화와 모바일 앱/플랫폼의 적합한 성능 측정 방법
안드로이드 Oreo의 변화와  모바일 앱/플랫폼의 적합한 성능 측정 방법안드로이드 Oreo의 변화와  모바일 앱/플랫폼의 적합한 성능 측정 방법
안드로이드 Oreo의 변화와 모바일 앱/플랫폼의 적합한 성능 측정 방법
 
Oracle History #8
Oracle History #8Oracle History #8
Oracle History #8
 
OPENMARU APM 브로셔
OPENMARU APM 브로셔OPENMARU APM 브로셔
OPENMARU APM 브로셔
 
FORGIS-SERVER 사용자 교육
FORGIS-SERVER 사용자 교육FORGIS-SERVER 사용자 교육
FORGIS-SERVER 사용자 교육
 
[231]운영체제 수준에서의 데이터베이스 성능 분석과 최적화
[231]운영체제 수준에서의 데이터베이스 성능 분석과 최적화[231]운영체제 수준에서의 데이터베이스 성능 분석과 최적화
[231]운영체제 수준에서의 데이터베이스 성능 분석과 최적화
 
Optane DC Persistent Memory(DCPMM) 성능 테스트
Optane DC Persistent Memory(DCPMM) 성능 테스트Optane DC Persistent Memory(DCPMM) 성능 테스트
Optane DC Persistent Memory(DCPMM) 성능 테스트
 
Android Applications on Galaxy S (장기성)
Android Applications on Galaxy S (장기성)Android Applications on Galaxy S (장기성)
Android Applications on Galaxy S (장기성)
 
Chapter5 embedded storage
Chapter5 embedded storage Chapter5 embedded storage
Chapter5 embedded storage
 
Chapter5 embedded storage
Chapter5 embedded storage Chapter5 embedded storage
Chapter5 embedded storage
 
Assembly 스터디 1
Assembly 스터디 1Assembly 스터디 1
Assembly 스터디 1
 
[온라인교육시리즈] 글로벌 서비스를 위한 인프라 구축방법(남용현 클라우드 솔루션 아키텍트)
[온라인교육시리즈] 글로벌 서비스를 위한 인프라 구축방법(남용현 클라우드 솔루션 아키텍트)[온라인교육시리즈] 글로벌 서비스를 위한 인프라 구축방법(남용현 클라우드 솔루션 아키텍트)
[온라인교육시리즈] 글로벌 서비스를 위한 인프라 구축방법(남용현 클라우드 솔루션 아키텍트)
 
SAP HANA vs Oracle
SAP HANA vs OracleSAP HANA vs Oracle
SAP HANA vs Oracle
 
현실적 PWA
현실적 PWA현실적 PWA
현실적 PWA
 
OPEN_POWER8_SESSION_20150316
OPEN_POWER8_SESSION_20150316OPEN_POWER8_SESSION_20150316
OPEN_POWER8_SESSION_20150316
 
Chapter2 ap group11
Chapter2 ap group11Chapter2 ap group11
Chapter2 ap group11
 
Android 성능 지표와 Oreo 의 개선사항
Android 성능 지표와  Oreo 의 개선사항 Android 성능 지표와  Oreo 의 개선사항
Android 성능 지표와 Oreo 의 개선사항
 
[2A1]Line은 어떻게 글로벌 메신저 플랫폼이 되었는가
[2A1]Line은 어떻게 글로벌 메신저 플랫폼이 되었는가[2A1]Line은 어떻게 글로벌 메신저 플랫폼이 되었는가
[2A1]Line은 어떻게 글로벌 메신저 플랫폼이 되었는가
 
스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS
스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS
스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS
 

More from NAVER D2

[211] 인공지능이 인공지능 챗봇을 만든다
[211] 인공지능이 인공지능 챗봇을 만든다[211] 인공지능이 인공지능 챗봇을 만든다
[211] 인공지능이 인공지능 챗봇을 만든다
NAVER D2
 
[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...
[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...
[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...
NAVER D2
 
[215] Druid로 쉽고 빠르게 데이터 분석하기
[215] Druid로 쉽고 빠르게 데이터 분석하기[215] Druid로 쉽고 빠르게 데이터 분석하기
[215] Druid로 쉽고 빠르게 데이터 분석하기
NAVER D2
 
[245]Papago Internals: 모델분석과 응용기술 개발
[245]Papago Internals: 모델분석과 응용기술 개발[245]Papago Internals: 모델분석과 응용기술 개발
[245]Papago Internals: 모델분석과 응용기술 개발
NAVER D2
 
[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈
[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈
[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈
NAVER D2
 
[235]Wikipedia-scale Q&A
[235]Wikipedia-scale Q&A[235]Wikipedia-scale Q&A
[235]Wikipedia-scale Q&A
NAVER D2
 
[244]로봇이 현실 세계에 대해 학습하도록 만들기
[244]로봇이 현실 세계에 대해 학습하도록 만들기[244]로봇이 현실 세계에 대해 학습하도록 만들기
[244]로봇이 현실 세계에 대해 학습하도록 만들기
NAVER D2
 
[243] Deep Learning to help student’s Deep Learning
[243] Deep Learning to help student’s Deep Learning[243] Deep Learning to help student’s Deep Learning
[243] Deep Learning to help student’s Deep Learning
NAVER D2
 
[234]Fast & Accurate Data Annotation Pipeline for AI applications
[234]Fast & Accurate Data Annotation Pipeline for AI applications[234]Fast & Accurate Data Annotation Pipeline for AI applications
[234]Fast & Accurate Data Annotation Pipeline for AI applications
NAVER D2
 
Old version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing
Old version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load BalancingOld version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing
Old version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing
NAVER D2
 
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지
NAVER D2
 
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기
NAVER D2
 
[224]네이버 검색과 개인화
[224]네이버 검색과 개인화[224]네이버 검색과 개인화
[224]네이버 검색과 개인화
NAVER D2
 
[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)
[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)
[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)
NAVER D2
 
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기
NAVER D2
 
[213] Fashion Visual Search
[213] Fashion Visual Search[213] Fashion Visual Search
[213] Fashion Visual Search
NAVER D2
 
[232] TensorRT를 활용한 딥러닝 Inference 최적화
[232] TensorRT를 활용한 딥러닝 Inference 최적화[232] TensorRT를 활용한 딥러닝 Inference 최적화
[232] TensorRT를 활용한 딥러닝 Inference 최적화
NAVER D2
 
[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지
[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지
[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지
NAVER D2
 
[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터
[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터
[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터
NAVER D2
 
[223]기계독해 QA: 검색인가, NLP인가?
[223]기계독해 QA: 검색인가, NLP인가?[223]기계독해 QA: 검색인가, NLP인가?
[223]기계독해 QA: 검색인가, NLP인가?
NAVER D2
 

More from NAVER D2 (20)

[211] 인공지능이 인공지능 챗봇을 만든다
[211] 인공지능이 인공지능 챗봇을 만든다[211] 인공지능이 인공지능 챗봇을 만든다
[211] 인공지능이 인공지능 챗봇을 만든다
 
[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...
[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...
[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...
 
[215] Druid로 쉽고 빠르게 데이터 분석하기
[215] Druid로 쉽고 빠르게 데이터 분석하기[215] Druid로 쉽고 빠르게 데이터 분석하기
[215] Druid로 쉽고 빠르게 데이터 분석하기
 
[245]Papago Internals: 모델분석과 응용기술 개발
[245]Papago Internals: 모델분석과 응용기술 개발[245]Papago Internals: 모델분석과 응용기술 개발
[245]Papago Internals: 모델분석과 응용기술 개발
 
[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈
[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈
[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈
 
[235]Wikipedia-scale Q&A
[235]Wikipedia-scale Q&A[235]Wikipedia-scale Q&A
[235]Wikipedia-scale Q&A
 
[244]로봇이 현실 세계에 대해 학습하도록 만들기
[244]로봇이 현실 세계에 대해 학습하도록 만들기[244]로봇이 현실 세계에 대해 학습하도록 만들기
[244]로봇이 현실 세계에 대해 학습하도록 만들기
 
[243] Deep Learning to help student’s Deep Learning
[243] Deep Learning to help student’s Deep Learning[243] Deep Learning to help student’s Deep Learning
[243] Deep Learning to help student’s Deep Learning
 
[234]Fast & Accurate Data Annotation Pipeline for AI applications
[234]Fast & Accurate Data Annotation Pipeline for AI applications[234]Fast & Accurate Data Annotation Pipeline for AI applications
[234]Fast & Accurate Data Annotation Pipeline for AI applications
 
Old version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing
Old version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load BalancingOld version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing
Old version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing
 
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지
 
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기
 
[224]네이버 검색과 개인화
[224]네이버 검색과 개인화[224]네이버 검색과 개인화
[224]네이버 검색과 개인화
 
[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)
[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)
[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)
 
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기
 
[213] Fashion Visual Search
[213] Fashion Visual Search[213] Fashion Visual Search
[213] Fashion Visual Search
 
[232] TensorRT를 활용한 딥러닝 Inference 최적화
[232] TensorRT를 활용한 딥러닝 Inference 최적화[232] TensorRT를 활용한 딥러닝 Inference 최적화
[232] TensorRT를 활용한 딥러닝 Inference 최적화
 
[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지
[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지
[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지
 
[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터
[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터
[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터
 
[223]기계독해 QA: 검색인가, NLP인가?
[223]기계독해 QA: 검색인가, NLP인가?[223]기계독해 QA: 검색인가, NLP인가?
[223]기계독해 QA: 검색인가, NLP인가?
 

[144]mobile앱에서 효율적인 storage 접근 방법

  • 1. Mobile App에서 효율적인 storage 접근 방법 장재영 Mobile Solution Development Group
  • 3. 동기 & 목적 • 앱 개발자들이 flash memory의 I/O 동작을 이해하면 더 빠른 앱을 개발할 수 있을 것이라고 생각했습니다. • 성능을 측정하고 I/O 동작의 분석을 통해 원인을 설명하는 방식으로 진행됩니 다. • 최근에 출시된 또는 곧 만나게 될 flash memory를 소개하겠습니다. • 설명을 위한 도표는 이해를 돕기 위해 간략하게 표현하였고, 이로 인해 다소 과장된 부분이 있을 수 있습니다.
  • 4. Flash Memory Solution smart phone AP storage controller NAND Flash Memory HOST
  • 5. 용량은 클 수록 더 빠르다 D0 D0 D1 D0 D1 D2 D3 × 4 write 1 2 3 4 1 2 1 x 1 x 2 x 4 SDP DDP QDP
  • 6. SDP와 DDP 동작 차이 TIME host D0 D0 TIME host D0 D1 SDP DDP 처리 시간은 거의 같다. R R controller flash storage controller flash storage
  • 7. 분석 방법 READ WRITE TIME device latency host latency device latency performance AP Storage Analyzer LBA, size, time
  • 8. linux layer에 따른 성능 Storage File System File System에 따라 성능 편차. Block Layer I/O scheduler에 따라 성능 편차. Device Layer H/W 사용 여부에 따라 성능 편 차. Apps ?
  • 9. 1. App에서 어떻게 I/O 성능을 개선시킬 수 있을까?
  • 10. Test Scenario ZIP dummy.zip dummy folder 압축 시간 측정
  • 11. 기대하는 host behavior READ WRITEstorage READ WRITE ZIPhost ZIP TIME NG READ WRITEstorage READ WRITE ZIPhost ZIP TIME Good
  • 12. 압축 앱 성능 test 결과 00:16 00:26 01:20 0 20 40 60 80 100 A B C
  • 13. A & B 앱 log 분석 storage kernel thread1 R storage kernel app B ZIPR thread2 R thread3 R ZIP ZIP R R ZIP R ZIP R ZIP R ZIP app A ZIPR ZIPR
  • 15. eMMC version history eMMC 4.41 eMMC 4.5 eMMC 5.0 eMMC 5.1 0 100 200 300 400 500 2010 2011 2012 2013 2014 2015 MB/s Command Queue flagship model
  • 16. NCQ (Native Command Queuing) https://en.wikipedia.org/wiki/Native_Command_Queuing
  • 17. Flash memory에서 CQ HOST W1 R2 R3 W4 R5 W6 Queue R2 R3 R5 W1 W4 W6 Reordering Flash Memory
  • 18. CQ와 w/o CQ 동작 차이 TIME queue host R R READ R READ CQ TIME storage host R READ w/o CQ R READ R READ READflash storage
  • 19. SDP와 QDP에서 CQ 동작 차이 QDP CQ TIME storage host queueing SDP CQ READ READ READ TIME storage host READ queueing
  • 20. Thread에 따른 CQ BM 결과 0.0 0.5 1.0 1.5 2.0 1 2 4 8 number of thread 4KB Random Read 0.0 0.5 1.0 1.5 2.0 1 2 4 8 number of thread 4KB Random Write
  • 21. 3. 더 빠른 flash memory UFS
  • 22. eMMC & UFS 속도 spec eMMC 4.41 eMMC 4.5 eMMC 5.0 eMMC 5.1 UFS 2.0 HS-GEAR3 0 100 200 300 400 500 600 2010 2011 2012 2013 2014 2015 MB/s
  • 23. 주요 interface 속도 0 100 200 300 400 500 600 LTE Category 10 DL IEEE 802.11ac SD card class 10 eMMC 5.0 USB 3.0 UFS 2.0 HS-GEAR3 MB/s
  • 24. UFS에서 압축 앱 성능 test 00:16 00:26 01:20 00:09 00:17 00:36 0 20 40 60 80 100 A B C eMMC UFS
  • 25. eMMC는 Half, UFS는 Full UFS READ WRITE storage READ WRITE ZIPhost ZIP TIME READ WRITE ZIP READ WRITE ZIP READ WRITEstorage READ WRITE ZIPhost ZIP TIME eMMC READ READ ZIP
  • 26. eMMC는 Half, UFS는 Full UFS READ WRITE storage READ WRITE ZIPhost ZIP TIME READ WRITE ZIP READ WRITE ZIP READ WRITEstorage READ WRITE ZIPhost ZIP TIME eMMC READ READ ZIP
  • 27. eMMC, UFS 전송 방식 차이점 UFS eMMC TIME storage host TIME storage host D0 D1 D2 D3
  • 28. UFS, thread에 따른 BM 결과 0.0 2.0 4.0 6.0 8.0 1 4 8 number of thread 4KB Random Read DDP QDP 0.0 2.0 4.0 6.0 8.0 1 4 8 number of thread 4KB Random Write DDP QDP
  • 29. eMMC, UFS의 CQ 동작 차이점 1. Read 2. Write 3. Delete 4. Read 5. Write Host request HOST eMMC R1 W2 Wait R4 W5 Delete3 HOST UFS ALL empty
  • 31. C앱 log 분석 READ WRITEstorage host TIME R ZIP W F READ R FLUSH storage host TIME READ R ZIP READ R ZIP WRITE W app C latency READ Rapp B
  • 32. Flash memory에서 flush 동작 DATA RAM NAND Flush RAM NAND NAND RAM Auto Flush Flush CMD
  • 33. NAND RAM 시간적, 공간적 손해 TIME host W W W TIME W F W F W F storage host storage
  • 34. Flush가 필요한 이유 1. Read 2. Write 0x02 3. Read 0x02 4. Read 5. Write 1. Read 2. Read 0x02 3. Read 4. Write 0x02 5. Write Reorder Old data가 읽혀짐
  • 35. Barrier Command W W WWF W W F F RAM RAM NAND RAM NAND NAND W W WWB W W B B G1 G2 G3 Keep an order RAM NAND RAM
  • 36. SQLite의 write request 빈도 0% 20% 40% 60% 80% 100% web surfing camera facebook contacts file copy hangouts movie player image viewer music player YouTube video recording Journal Meta SQLite Normal Data
  • 37. SQLite의 chunk size 비율 0% 20% 40% 60% 80% 100% web surfing camera facebook contacts file copy hangouts movie play image viewer music play YouTube video recording 4KB 8KB 12~16KB 20~32KB 36~64KB 68~512KB
  • 39. Ecosystem Linux Block IO: Introducing Multi-queue SSD Access on Multi- core Systems
  • 41. 마치며 • 가능하면 multi-thread, flush는 필요할 때만. • Ecosystem이 발전하면 더 빠른 I/O 환경이 구축. • 효율적인 RAM 사용. • 4K UHD 영상, VR 촬영으로 더 빠르고 많은 저장 공간 필요. • 빠른 flash memory를 활용할 수 있는 앱도 있었으면...
  • 42. Q&A