246 deview 2013 신기빈

54
SSD 제대로 알고 쓰자 신기빈 차장 / 성능엔지니어링lab NAVER Labs

Upload: naver-d2

Post on 13-Jan-2015

1.852 views

Category:

Documents


3 download

DESCRIPTION

 

TRANSCRIPT

Page 1: 246 deview 2013 신기빈

SSD 제대로 알고 쓰자

신기빈 차장 / 성능엔지니어링lab NAVER Labs

Page 2: 246 deview 2013 신기빈

CONTENTS 1. 왜 SSD인가?����������� ������������������  

2. Cache Workload����������� ������������������  

3. SSD 특성 분석����������� ������������������  

4. Squall에 적용 결과

5. 결론

Page 3: 246 deview 2013 신기빈

1. 왜 SSD인가?

Page 4: 246 deview 2013 신기빈

1. 왜 SSD인가?

개인용 SSD 가격 변화

Page 5: 246 deview 2013 신기빈

1. 왜 SSD인가?

SSHD : Solid State Hybrid Drive

Page 6: 246 deview 2013 신기빈

1. 왜 SSD인가?

Hybrid Cache

Page 7: 246 deview 2013 신기빈

2. Cache Workload

Page 8: 246 deview 2013 신기빈

2. Cache Workload

Video 서비스에서 Arcus로 가는 3일치 요청 내용을 분석

Page 9: 246 deview 2013 신기빈

2. Cache Workload

Cache 특성

Page 10: 246 deview 2013 신기빈

2. Cache Workload

Cache 특성 : Zipf-like Distribution

전체 Access 횟수 N

순위

번째 많이 요청된 항목의 요청수

(Key 갯수)

Page 11: 246 deview 2013 신기빈

2. Cache Workload

Cache 특성 : CDF

80th : 6.31% 90th : 25.1%

90th : 0.14% 95th : 0.9%

측정값

Page 12: 246 deview 2013 신기빈

2. Cache Workload

결론 전체를 Memory에 Cache하지 않아도 대부분은 Memory에서 Hit될 것이고 일부만 SSD를 access하게 될 것이다.

Page 13: 246 deview 2013 신기빈

2. Cache Workload

QoS ( Quality of Service )

요청의 90%는 2ms내에 응답이 가지만

9%는 100ms가 걸리고 1%는 수초가 걸린다면?

Retry? 장애감지?

Page 14: 246 deview 2013 신기빈

3. SSD 특성 분석

Page 15: 246 deview 2013 신기빈

3. SSD 특성 분석

Controller

NAND Chip

DRAM

Page 16: 246 deview 2013 신기빈

3. SSD 특성 분석

NAND Chip

Capacitor

Page 17: 246 deview 2013 신기빈

3. SSD 특성 분석

http://www.computer.org/csdl/trans/tc/2011/01/ttc2011010080-abs.html

Page 18: 246 deview 2013 신기빈

3. SSD 특성 분석

DRAM Cache

Mapping Table

Controller

FLASH

READ 1,2,3,4

변환 7,1,4,9

Page 19: 246 deview 2013 신기빈

3. SSD 특성 분석

DRAM Cache

Mapping Table

Controller

FLASH

Write 1,2,3,4

변환

5,6,7,8 (log struct)

Cache

기록

Page 20: 246 deview 2013 신기빈

3. SSD 특성 분석

사용중인 Page

지울 Page

빈 Page

Garbage Collection

Page 21: 246 deview 2013 신기빈

3. SSD 특성 분석

일반적인 소비자에게 공개되는 SSD의 metric들

Seq. Read MB/s

Seq. Write MB/s

Rand. Read IOPS

Rand. Write IOPS

A 540 520 109K 90K B 500 400 60K 11K C 540 460 100K 86K D 550 520 50K 80K E 550 530 100K 95K

Page 22: 246 deview 2013 신기빈

3. SSD 특성 분석

Benchmark Site?

4K Q64 Random Read, tom’s HARDWARE

Page 23: 246 deview 2013 신기빈

3. SSD 특성 분석

SSD사용을 위한 Tip

1.  AHCI 켜기

2.  TRIM(discard) 켜기

3.  휴지통 사용안하기

4.  조각 모음 사용안하기

5.  Windows Search 사용안하기

6.  noatime 옵션 주기

7.  noop scheduler 사용.

Page 24: 246 deview 2013 신기빈

3. SSD 특성 분석

SSD Benchmark Tool

Page 25: 246 deview 2013 신기빈

3. SSD 특성 분석

Mapping Size

A제품. 5.2 Random Write IOPS

ncq

late

ncy

(us)

Page 26: 246 deview 2013 신기빈

3. SSD 특성 분석

Mapping Size

9. Alignment에 따른 성능 변화

A 제품

Page 27: 246 deview 2013 신기빈

3. SSD 특성 분석

Mapping Size

LBA Phy. Addr.

0 ~ 7 356

8 ~ 15 723

16 ~ 23 13

24 ~ 31 517

1 LBA = 1 sector = 512byte

LBA [12 ~ 19] (4KB) Write 하면? 1. Read LBA 8 ~ 15 2. Write LBA [8 ~ 11][12 ~ 15] 3. Read LBA 16 ~ 23 4. Write LBA [16 ~ 19][20 ~ 23]

LBA [12 ~ 15] (2KB) Write 하면? 1. Read LBA 8 ~ 15 2. Write LBA [8 ~ 11][12 ~ 15]

Page 28: 246 deview 2013 신기빈

3. SSD 특성 분석

Mapping Size : 결론

IO는 Mapping Size단위의 배수로 할 것.

Align을 맞출 것

Page 29: 246 deview 2013 신기빈

3. SSD 특성 분석

Mapping Size : 확인해 봐야할 것

SSD의 Mapping Size Disk Partition 시작위치 File System Block Size

Page 30: 246 deview 2013 신기빈

3. SSD 특성 분석

Over Provisioning

A제품. (250GB) 10.1 Avg. Latency

Written GB(*10)

Avg.

Lat

ency

(us)

Page 31: 246 deview 2013 신기빈

3. SSD 특성 분석

Over Provisioning

B제품. (480GB) 10.1 Avg. Latency

Written GB(*10)

Avg.

Lat

ency

(us)

Page 32: 246 deview 2013 신기빈

3. SSD 특성 분석

Over Provisioning

0

2

4

6

8

10

12

14

16

100% 90% 80%

Max

Avg

. Lat

ency

(ms)

Disk Usage

SSD_A

SSD_B

SSD_C

Write Perf. SSD_A SSD_B SSD_C Seq. 520MB/s 400MB/s 460 MB/s

Rand. 90K IOPS 11K IOPS 86K IOPS 4K Rand. NCQ=32

333 MB/s 85.3K IOPS

263 MB/s 67.3K IOPS

321 MB/s 82.2K IOPS

Page 33: 246 deview 2013 신기빈

3. SSD 특성 분석

Over Provisioning

A 제품 B 제품

Page 34: 246 deview 2013 신기빈

3. SSD 특성 분석

Over Provisioning

D제품. (250GB) 10.1 Avg. Latency

Written GB(*10)

Avg.

Lat

ency

(us)

Page 35: 246 deview 2013 신기빈

3. SSD 특성 분석

Endurance

0

2000

4000

6000

8000

10000

12000

14000

16000

18000

80% 90% 100%

Writ

ten

GB

Logical

A제품

D제품

x 1.6 x 1.9 x 1.7

x 3.2

x 4.9

x 16.6

Page 36: 246 deview 2013 신기빈

3. SSD 특성 분석

Hybrid Cache에서 원하는 제품

1.  Write보다 Read 성능이 뛰어날 것

2.  평균 Latency가 조금 높더라도 99.99th Latency가 낮을 것.

3.  GC로 인한 성능 저하가 적을 것.

Page 37: 246 deview 2013 신기빈

3. SSD 특성 분석

5.888

0.611

85.3K

3.506

0.607

67.3K

2.126

0.616

82.2K

7:3 Mix Read Only Rand. Read IOPS

SSD_A SSD_B SSD_C

Rand. Read 99.99th Latency (ms)

Page 38: 246 deview 2013 신기빈

4. Squall에 적용 결과

Page 39: 246 deview 2013 신기빈

4. Squall에 적용 결과

응답 속도 (us)

빈도

Avg. Latency HDD : 5.01 ms SSD_B : 0.546 ms

Page 40: 246 deview 2013 신기빈

4. Squall에 적용 결과

응답 속도 (us)

누적확률

Page 41: 246 deview 2013 신기빈

0.515 0.546

0 0

0.2

0.4

0.6

0.8

1

DRAM SSD_B HDD

Res

p. T

ime

( ms

)

Avg.

4. Squall에 적용 결과

x 1.06

Page 42: 246 deview 2013 신기빈

0.515 0.546 0

1.703

8.981

0 0

1

2

3

4

5

6

7

8

9

10

DRAM SSD_B HDD

Res

p. T

ime

( ms

)

Avg. 99.99th

4. Squall에 적용 결과

x 5.27

Page 43: 246 deview 2013 신기빈

0.515 0.546

5.006

1.703

8.981

1492

0

5

10

15

20

25

30

DRAM SSD_B HDD

Res

p. T

ime

( ms

)

Avg. 99.99th

4. Squall에 적용 결과

x 9.7

x 867

Page 44: 246 deview 2013 신기빈

1.953 0.546 1.965

21.32

8.981

787.6

0

5

10

15

20

25

30

35

40

45

50

SSD_A SSD_B SSD_B

Res

p. T

ime

( ms

)

Avg. 99.99th

4. Squall에 적용 결과

SSD_A SSD_B SSD_C Rand. Read 109 / 91 K 60 / 90 K 100 / 91 K Rand. Write 90 / 85 K 11 / 67 K 86 / 82 K

Page 45: 246 deview 2013 신기빈

4. Squall에 적용 결과

Latency ( ms )

Host 4K Block Read Latency

SSD_A SSD_B SSD_C median 0.977 0.157 0.700

99th 5.2 3.47 3.4 99.99th 9.3 8.14 259

Page 46: 246 deview 2013 신기빈

4. Squall에 적용 결과

결론 잘 선택된 제품의 경우 DRAM을 이용한 것 보다 평균 속도는 비슷하지만 만개중에 한개는 정도는 6배정도, 10만개중에 한개는 7배정도 느리다. 용량은 수십 ~ 수백배 늘릴수 있다.

Page 47: 246 deview 2013 신기빈

5. 결론

Page 48: 246 deview 2013 신기빈

5. 결론

1.  겉으로 표기된 성능을 믿지 말자.

2.  벤치마크 결과도 성능의 일부만을 보여줄 뿐이다.

3.  서버용으로 사용한다면 GC가 일어날 때 성능이 중요하다.

Page 49: 246 deview 2013 신기빈

5. 결론

중요한 성능 지표. Max Read/Write Bandwidth 4K Rand. Read/Write IOPS

Page 50: 246 deview 2013 신기빈

5. 결론

중요한 성능 지표. Max Read/Write Bandwidth 4K Rand. Read/Write IOPS Mapping Size GC가 일어날때 IO 성능 ( IOPS, Latency, Bandwidth ) Mixed Pattern의 IO 성능 자신의 Workload를 정확하게 아는 것.

Page 51: 246 deview 2013 신기빈

Q&A

Page 52: 246 deview 2013 신기빈

THANK YOU

Page 53: 246 deview 2013 신기빈

Data Sheet 1 : Squall 응답 시간 및 처리량

DRAM HDD SSD_B Avg. 0.515 ms 5.006 ms 0.546 ms

Median 0.488 ms 0.237 ms 0.387 ms 99th 1.128 ms 148.6 ms 3.351 ms

99.9th 1.424 ms 778.6 ms 5.196 ms 99.99th 1.703 ms 1492 ms 8.981 ms

99.999th 2.104 ms 2199 ms 13.22 ms Max 204.2 ms 3063 ms 204.9 ms 처리량 84K rps 13K rps 68K rps

Page 54: 246 deview 2013 신기빈

Data Sheet 1 : Squall 응답 시간 및 처리량

SSD_A SSD_B SSD_C Random Read 109 / 91 K 60 / 90 K 100 / 91 K Random Write 90 / 85 K 11 / 67 K 86 / 82 K

Avg. 1.953 ms 0.547 ms 1.965 ms Median 1.530 ms 0.387 ms 0.753 ms

99th 8.402 ms 3.351 ms 7.037 ms 99.9th 12.56 ms 5.196 ms 281.8 ms

99.99th 21.32 ms 8.981 ms 787.6 ms 99.999th 28.05 ms 13.22 ms 1317 ms

Max 203.5 ms 204.9 ms 1677 ms 처리량 22K rps 68K rps 26K rps