![Solidigm CSAL + Alibaba Cloud](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbKLkCA%2FbtsBioY47Em%2F1q5W5zTfcYOedzbTJGo8k0%2Fimg.png)
Alibaba ECS D2C의 HDD to QLC SSD의 전환 과정
HDD가 가지고 있던 문제들
Alibaba’s D2C instance family is equipped with high-capacity and high-throughput local SATA HDDs
However, there exist two challenges in upgrading this instance family with HDDs:
(1) the capacity scaling challenge and (2) the challenge in performance per terabyte (TB)
이렇게 두 가지를 언급하고 있다.
In recent years, the compute (e.g. core counts) and IO interfaces are keeping up with the growth in data, but HDDs’ performance per TB drops as indicated by the declining Perf/TB and Perf/ vCPU lines as we scale from smaller instance size to larger size with the D2C family offerings (see Figure 1a and 1b). This means HDDs turn out to be a bottleneck at the system level, leading to under-utilization of server resources. We call it “the challenge in performance per TB”.
그래서 QLC SSD가 HDD의 대안이라고 생각하고 봤더니 실제로는 아니였다고 한다.
HDD의 대안이 될 수 없었던 QLC SSD
To solve these challenges, high-density low-cost QLC NANDs seemed to be a no-brainer solution. However, when we tried it, it didn’t work. For some workloads, the QLC media even performed worse than HDDs
이유는 아래 4가지가 있다.
1. 성능 문제 : SSD 또한 Density가 늘어나면 성능이 하락한다.
much like HDDs, NAND SSDs’ write performance per TB decreases with storage density going up
![](https://blog.kakaocdn.net/dn/Q5i1P/btsBik3tlbv/jEziE1Ff0lWIOm7x6RGDsk/img.png)
2. 수명 문제 : QLC를 쓰면 SSD의 수명이 현저하게 줄어든다.
the available Program/Erase cycles decline with higher density NAND. This reduces the endurance/effective lifetime of a QLC SSD significantly as depicted in Figure 2b
![](https://blog.kakaocdn.net/dn/uMsiX/btsBmSK7ya8/K8Unp3dlcgYdF8VPUhRKDK/img.png)
3. Write Amplification (WAF)문제
NAND SSDs use larger internal storage unit (i.e. indirection unit, or IU) to reduce the DRAM BOM cost. For example, a standard 4TB 4K IU SSD needs 4GB of DRAM to hold the direct logical to physical (L2P) lookup table.
큰 용량의 SSD는 L2P table 크기가 커질수밖에없다. DRAM 사용량을 그대로 하려면 Granularity를 늘릴수밖에없는데 그러면 write amplification가 증가한다.
![](https://blog.kakaocdn.net/dn/c8TnMa/btsBjbStO7E/y9BpicoekzbD5zHPa0xHe1/img.png)
4. Multi-tenancy 사용시의 fragmentation 증가 문제
Fourthly, and also the primary reason, is the fragmentation due to multi-tenancy (i.e. multiple tenants sharing a single large SSD)
여러 유저가 사용할때 fragmentation이 커진다. 그러면 각 tenant가 나눠서 SSD를 사용하는거라 SSD가 가지고 있는 full 성능을 쓰지 못하기도한다.
![](https://blog.kakaocdn.net/dn/bV6UCY/btsBjBDlS8y/qd70QVPYDqifgZKJ8AJmH1/img.png)
For example, if 8 tenants share a single D5-P5316 16TB QLC SSD, each tenant will have a 2TB virtual disk technically. However, when these 8 tenants simultaneously write to the SSD with different velocities and data lifetime, the SSD, which delivers 3000MiB/s sequential write bandwidth, is fragmented so much that defragmentation makes the write bandwidth drop down to 400MiB/s. Each tenant, therefore, gets 50MiB/s of bandwidth.
This is 20% of the bandwidth for a tenant in the D2C case where each tenant is allocated one physical 2TB HDD which delivers 250MiB/s sequential write performance.
5. Traditional Cache 구조의 문제
Traditional caches can help high-density NAND media to mitigate performance per TB and endurance issues for high- temporal-locality workloads. For example, a high-performance, high-endurance SCM tier can absorb frequently updated writes without sending them to the QLC NAND tier. However, the design of a traditional set-associative cache is not suitable for SSDs with large IU size.
write-heavy workload에서는 Set-associative cache가 large size SSD에 적합하지 않다
그리고 전통적인 캐시 형태에서는 Sequential Workload는 Cache가 fragmented 되면서 Random workload 로 변경될 수 있다는 문제가 있다.
라고 한다. 이 부분은 완전히 이해하지는 못했다.
그래서 CSAL이 제안 되었다.
1. CSAL은 SLC (혹은 Optane) SSD를 사용해서 Write를 Sequentialize 해서 QLC performance를 보완했다.
2. CSAL은 캐시 티어의 많은 write 양을 할 수 있게 함으로써 QLC 수명 단축을 보완했다.
3. CSAL을 통해서 Buffering한 write를 함에 따라, QLC 수명을 예측할 수 있게 했다.
또한, ZNS를 사용해서 extra costs of capacity over-provision and DRAM for internal Flash Translation Layer (FTL) within generic SSDs 를 줄였다고 한다.
CSAL의 아키텍처
아키텍처에 따른 실제 동작은 아래와 같이 정의 되어 있다.
- CSAL is a generic SPDK block device (bdev) that supports NVMeOF and iSCSI targets naturally.
- Application Reads/Writes go through the SPDK generic bdev layer first, and then go into CSAL bdev.
- The CSAL bdev layer is a virtualized FTL device that will shape a random workload into a sequential workload by leveraging the Persistent Write Buffer and the L2P table.
- a. FTL will record user write IOs to Persistent Write Buffer as FIFO logs on the Intel Optane SSD, and the L2P table is then updated to point to the Intel Optane LBA.
- When the cache free capacity reaches a certain threshold, FTL background compaction process will kick in to:
- Read FIFO logs from the Intel Optane SSD
- Evict invalid logs
- Merge and write valid logs as large sequential IOs to the QLC SSD
- Update the L2P table to point to the QLC LBA.
- Data is written to the QLC and Intel Optane SSDs via the standard SPDK bdev again.
- A FTL device is similar to an SSD device, and defrag- mentation is designed to do housekeeping jobs to maintain the free space for new writes.
실제 성능 측정에 사용한 하드웨어 스펙
4K random workload에서 CSAL (Optane + QLC) vs QLC 성능 측정 결과
4K Write Performance zipf random workload 에서 CSAL vs TLC vs QLC 성능 측정 결과
ZNS 사용했을때와 아닐때의 Write Amplification 차이
실제 Alibaba D2C -> D3C 서버 운용 예상
TCO는 비슷한가 정확하게는 모르겠다. SSD 쓴게 훨씬 비싸보이긴하는데 (Optane도 엄청 비싸니..) 2개로 쪼갤 수 있으니 싸다고 주장하고싶은것인지 궁금하다.
딱히 가격에 대한 말은 별로 없는걸 보면 그냥 이렇게도 사용하고 있다라는걸 보여주고싶은것일지도 모르겠다.
해당 서버의 Workload 성능
HDD -> CSAL (SLC + QLC 조합) 으로 변경함에 따라서 HDFS workload의 성능 처리는 더 좋아진것으로 보인다.
참고 자료
A Media-Aware Cloud Storage Acceleration Layer (CSAL) Cache Solution with Intel® Optane™ SSDs for Alibaba ECS Local Disk D3C
This whitepaper intends to explain in detail how Alibaba has been able to achieve 2x improvement in both performance and density by using Cloud Storage Acceleration Layer (CSAL) with high-density flash media.
www.intel.com
'관심 분야 센싱 > 스토리지' 카테고리의 다른 글
[번역] 노션이 데이터 레이크를 구축하고 확장한 방법 (0) | 2024.08.10 |
---|---|
Lustre 파일 시스템 - 1. Overview 및 특징 (2) | 2024.07.22 |
Nearline HDD (0) | 2023.12.31 |
Solidigm CSAL이란 (1) | 2023.12.02 |
개발 및 IT 관련 포스팅을 작성 하는 블로그입니다.
IT 기술 및 개인 개발에 대한 내용을 작성하는 블로그입니다. 많은 분들과 소통하며 의견을 나누고 싶습니다.