• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
246 deview 2013 신기빈
 

246 deview 2013 신기빈

on

  • 1,622 views

 

Statistics

Views

Total Views
1,622
Views on SlideShare
660
Embed Views
962

Actions

Likes
2
Downloads
32
Comments
0

7 Embeds 962

http://deview.kr 909
http://play.daumcorp.com 43
http://dev.deview.kr 4
http://local.deview.kr 2
http://geekple.com 2
http://deview.admin.nhn.com 1
http://blog.naver.com 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    246 deview 2013 신기빈 246 deview 2013 신기빈 Presentation Transcript

    • SSD 제대로 알고 쓰자 신기빈 차장 / 성능엔지니어링lab NAVER Labs
    • CONTENTS 1. 왜 SSD인가?
    •    2. Cache Workload
    •    3. SSD 특성 분석
    •    4. Squall에 적용 결과 5. 결론
    • 1. 왜 SSD인가?
    • 1. 왜 SSD인가? 개인용 SSD 가격 변화
    • 1. 왜 SSD인가? SSHD : Solid State Hybrid Drive
    • 1. 왜 SSD인가? Hybrid Cache
    • 2. Cache Workload
    • 2. Cache Workload Video 서비스에서 Arcus로 가는 3일치 요청 내용을 분석
    • 2. Cache Workload Cache 특성
    • 2. Cache Workload Cache 특성 : Zipf-like Distribution 전체 Access 횟수 N 순위 (Key 갯수) 번째 많이 요청된 항목의 요청수
    • 2. Cache Workload Cache 특성 : CDF 80th : 6.31% 90th : 25.1% 90th : 0.14% 95th : 0.9% 측정값
    • 2. Cache Workload 결론 전체를 Memory에 Cache하지 않아도 대부분은 Memory 에서 Hit될 것이고 일부만 SSD를 access하게 될 것이다.
    • 2. Cache Workload QoS ( Quality of Service ) 요청의 90%는 2ms내에 응답이 가지만 9%는 100ms가 걸리고 1%는 수초가 걸린다면? Retry? 장애감지?
    • 3. SSD 특성 분석
    • 3. SSD 특성 분석 NAND Chip Controller DRAM
    • 3. SSD 특성 분석 NAND Chip Capacitor
    • 3. SSD 특성 분석 http://www.computer.org/csdl/trans/tc/2011/01/ttc2011010080-abs.html
    • 3. SSD 특성 분석 FLASH Mapping Table 7,1,4,9 변환 READ 1,2,3,4 Controller DRAM Cache
    • 3. SSD 특성 분석 FLASH Mapping Table 변환 Write 1,2,3,4 기록 Controller Cache DRAM Cache 5,6,7,8 (log struct)
    • 3. SSD 특성 분석 Garbage Collection 사용중인 Page 지울 Page 빈 Page
    • 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
    • 3. SSD 특성 분석 Benchmark Site? 4K Q64 Random Read, tom’s HARDWARE
    • 3. SSD 특성 분석 SSD사용을 위한 Tip 1.  AHCI 켜기 2.  TRIM(discard) 켜기 3.  휴지통 사용안하기 4.  조각 모음 사용안하기 5.  Windows Search 사용안하기 6.  noatime 옵션 주기 7.  noop scheduler 사용.
    • 3. SSD 특성 분석 SSD Benchmark Tool
    • 3. SSD 특성 분석 Mapping Size A제품. latency (us) 5.2 Random Write IOPS ncq
    • 3. SSD 특성 분석 Mapping Size A 제품 9. Alignment에 따른 성능 변화
    • 3. SSD 특성 분석 Mapping Size LBA Phy. Addr. 0~7 356 8 ~ 15 13 24 ~ 31 517 1. Read LBA 8 ~ 15 2. Write LBA [8 ~ 11][12 ~ 15] 723 16 ~ 23 LBA [12 ~ 15] (2KB) Write 하면? 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]
    • 3. SSD 특성 분석 Mapping Size : 결론 IO는 Mapping Size단위의 배수로 할 것. Align을 맞출 것
    • 3. SSD 특성 분석 Mapping Size : 확인해 봐야할 것 SSD의 Mapping Size Disk Partition 시작위치 File System Block Size
    • 3. SSD 특성 분석 Over Provisioning A제품. (250GB) Avg. Latency(us) 10.1 Avg. Latency Written GB(*10)
    • 3. SSD 특성 분석 Avg. Latency(us) Over Provisioning B제품. (480GB) 10.1 Avg. Latency Written GB(*10)
    • 3. SSD 특성 분석 Over Provisioning 16 Max Avg. Latency(ms) 14 12 10 SSD_A 8 SSD_B 6 SSD_C 4 2 0 100% 90% 80% Disk Usage Write Perf. SSD_A SSD_B SSD_C Seq. 520MB/s 400MB/s 460 MB/s Rand. 90K IOPS 11K IOPS 86K IOPS 333 MB/s 85.3K IOPS 263 MB/s 67.3K IOPS 321 MB/s 82.2K IOPS 4K Rand. NCQ=32
    • 3. SSD 특성 분석 Over Provisioning A 제품 B 제품
    • 3. SSD 특성 분석 Avg. Latency(us) Over Provisioning D제품. (250GB) 10.1 Avg. Latency Written GB(*10)
    • 3. SSD 특성 분석 Endurance 18000 x 16.6 16000 14000 Written GB 12000 10000 Logical A제품 8000 D제품 6000 x 4.9 4000 2000 x 3.2 x 1.6 x 1.9 x 1.7 0 80% 90% 100%
    • 3. SSD 특성 분석 Hybrid Cache에서 원하는 제품 1.  Write보다 Read 성능이 뛰어날 것 2.  평균 Latency가 조금 높더라도 99.99th Latency가 낮을 것. 3.  GC로 인한 성능 저하가 적을 것.
    • 3. SSD 특성 분석 5.888 85.3K 82.2K 67.3K 3.506 SSD_A SSD_B SSD_C 2.126 0.611 7:3 Mix 0.607 0.616 Read Only Rand. Read 99.99th Latency (ms) Rand. Read IOPS
    • 4. Squall에 적용 결과
    • 4. Squall에 적용 결과 Avg. Latency 빈도 HDD : 5.01 ms SSD_B : 0.546 ms 응답 속도 (us)
    • 누적확률 4. Squall에 적용 결과 응답 속도 (us)
    • 4. Squall에 적용 결과 1 Resp. Time ( ms ) 0.8 x 1.06 0.6 0.515 0.546 Avg. 0.4 0.2 0 0 DRAM SSD_B HDD
    • 4. Squall에 적용 결과 10 x 5.27 9 8.981 8 Resp. Time ( ms ) 7 6 Avg. 5 99.99th 4 3 2 1.703 1 0.515 0.546 0 0 0 DRAM SSD_B HDD
    • 4. Squall에 적용 결과 30 x 867 25 Resp. Time ( ms ) 1492 20 Avg. 15 99.99th 10 8.981 x 9.7 5 5.006 0.515 1.703 0.546 0 DRAM SSD_B HDD
    • 4. Squall에 적용 결과 50 787.6 Resp. Time ( ms ) 45 40 35 30 Avg. 25 20 99.99th 21.32 15 10 5 8.981 1.953 1.965 0.546 0 SSD_A SSD_B SSD_B 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
    • 4. Squall에 적용 결과 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 Latency ( ms )
    • 4. Squall에 적용 결과 결론 잘 선택된 제품의 경우 DRAM을 이용한 것 보다 평균 속도는 비슷하지만 만개중에 한개는 정도는 6배정도, 10만개중에 한개는 7배정도 느리다. 용량은 수십 ~ 수백배 늘릴수 있다.
    • 5. 결론
    • 5. 결론 1.  겉으로 표기된 성능을 믿지 말자. 2.  벤치마크 결과도 성능의 일부만을 보여줄 뿐이다. 3.  서버용으로 사용한다면 GC가 일어날 때 성능이 중요하다.
    • 5. 결론 중요한 성능 지표. Max Read/Write Bandwidth 4K Rand. Read/Write IOPS
    • 5. 결론 중요한 성능 지표. Max Read/Write Bandwidth 4K Rand. Read/Write IOPS Mapping Size GC가 일어날때 IO 성능 ( IOPS, Latency, Bandwidth ) Mixed Pattern의 IO 성능 자신의 Workload를 정확하게 아는 것.
    • Q&A
    • THANK YOU
    • 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 처리량
    • 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 처리량