Top Banner
Copyright © 2016 CNEX Labs | Proprietary and Confidential Multi-Tenant I/O Isolation with Open-Channel SSDs March 13, 2017
15

Multi-Tenant I/O Isolation with Open-Channel SSDs · - Multiple drives in development within SSD vendors - Multiple papers already on Open-Channel SSDs that shows how this interface

Mar 25, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Multi-Tenant I/O Isolation with Open-Channel SSDs · - Multiple drives in development within SSD vendors - Multiple papers already on Open-Channel SSDs that shows how this interface

Copyright © 2016 CNEX Labs | Proprietary and Confidential

Multi-Tenant I/O Isolation with Open-Channel SSDs

• March 13, 2017

Page 2: Multi-Tenant I/O Isolation with Open-Channel SSDs · - Multiple drives in development within SSD vendors - Multiple papers already on Open-Channel SSDs that shows how this interface

Copyright © 2016 CNEX Labs | Proprietary and Confidential

Solid-State Drive

Parallel Units

Flash Translation Layer Channel X

Media Error Handling

Media Retention Management

Me

dia

Co

ntr

olle

rResponsibilities

Host Interface

Channel Y

Solid-State Drives and Non-Volatile Media

2

Read/Write/Erase

Read/Write

Tens of Parallel Units!

Transform R/W/E to R/W

Manage Media Constraints

ECC, RAID, Retention

Read (50-100us)

Write (1-10ms)

Erase (3-15ms)

Page 3: Multi-Tenant I/O Isolation with Open-Channel SSDs · - Multiple drives in development within SSD vendors - Multiple papers already on Open-Channel SSDs that shows how this interface

Copyright © 2016 CNEX Labs | Proprietary and Confidential

Mixed Workloads

3

20% writes makes big impact on read

latency

50% writes can make SSDs as slow as

spinning drives...

Larger outliers on increased writes

0% writes and latency is consistent

Page 4: Multi-Tenant I/O Isolation with Open-Channel SSDs · - Multiple drives in development within SSD vendors - Multiple papers already on Open-Channel SSDs that shows how this interface

Copyright © 2016 CNEX Labs | Proprietary and Confidential

Indirection and Read/Write I/O Interface

Solid-State Drive Pipeline

die2 die3die0 die1

NAND Controller

Reads

Write Buffer

Writes

4

Even if Writes and Reads does not collide from applicationIndirection and loss of information due to the narrow Read/Write I/O interface

Writes decoupled from Reads Data placement +

Buffering = Best Effort

SSD state is hidden due to the narrow I/O Interface

Page 5: Multi-Tenant I/O Isolation with Open-Channel SSDs · - Multiple drives in development within SSD vendors - Multiple papers already on Open-Channel SSDs that shows how this interface

Copyright © 2016 CNEX Labs | Proprietary and Confidential

There is a need for a Storage Interface that provides

▪ I/O Predictability

▪ I/O Isolation

▪Reduce write-amplication by tighter integration

▪Host-controlled data placement and I/O scheduling

5

Page 6: Multi-Tenant I/O Isolation with Open-Channel SSDs · - Multiple drives in development within SSD vendors - Multiple papers already on Open-Channel SSDs that shows how this interface

Copyright © 2016 CNEX Labs | Proprietary and Confidential

Introduction

1. Physical Page Addressing (PPA) for Open-Channel SSDs

2. The LightNVM Subsystem

3. pblk: A host-side Flash Translation Layer for Open-Channel SSDs

4. Demonstrate I/O Predictability and I/O Isolation using this interface

6

Page 7: Multi-Tenant I/O Isolation with Open-Channel SSDs · - Multiple drives in development within SSD vendors - Multiple papers already on Open-Channel SSDs that shows how this interface

Copyright © 2016 CNEX Labs | Proprietary and Confidential

Physical Page Addressing (PPA) Interface

▪Expose geometry- Logical/Physical geometry

- Performance

- Controller functionalities

▪Hierarchical Address Space

- Encode geometry into the address space

▪Vector I/Os

- Read/Write/Erase

7

Up to the SSD vendor

Encode parallel units into the address space

# Channels, # Parallel Units, # Chunk, Chunk Size, Min. Write size, Optimal Write

size, …

LBAXLBA0PU0 PU1 PU2 PU3

Page 8: Multi-Tenant I/O Isolation with Open-Channel SSDs · - Multiple drives in development within SSD vendors - Multiple papers already on Open-Channel SSDs that shows how this interface

Copyright © 2016 CNEX Labs | Proprietary and Confidential

LightNVM Architecture

1. NVMe Device Driver

- Detection of OCSSD

- Implements PPA interface

2. LightNVM Subsystem

- Generic layer

- Core functionality

- Target management (e.g., pblk)

3. High-level I/O Interface

- Block device using pblk

- Application integration with liblightnvmOpen-Channel SSD

NVMe Device Driver

LightNVM Subsystem

pblk

Hardware

Kernel

Space

User

SpaceApplication(s)

File System

PPA Addressing

Sca

lar

Re

ad

/Write

(op

tio

na

l)

Ge

om

etr

y

Ve

cto

red

R/W

/E

(2)

(1)

(3)

8

Page 9: Multi-Tenant I/O Isolation with Open-Channel SSDs · - Multiple drives in development within SSD vendors - Multiple papers already on Open-Channel SSDs that shows how this interface

Copyright © 2016 CNEX Labs | Proprietary and Confidential

Host-side Flash Translation Layer - pblk

▪ Mapping table

- Sector-granularity

▪ Write buffering

- Lockless circular buffer

- Multiple producers

- Single consumer (Write Thread)

▪ Error Handling

- Media write/erase errors

▪ Garbage Collection

- Rewrite blocks

▪ Recovery of metadata

9

Open-Channel SSD

NVMe Device Driver

LightNVM Subsystem

Hardware

Linux

KernelFile System

make_rq make_rq

Write ThreadError Handling

L2P Table

Write Context

Write BufferWrite Entry

Write

LookupCache Hit

Read

Add Entry

GC/Rate-limitingThread

Read Path Write Path

Page 10: Multi-Tenant I/O Isolation with Open-Channel SSDs · - Multiple drives in development within SSD vendors - Multiple papers already on Open-Channel SSDs that shows how this interface

Copyright © 2016 CNEX Labs | Proprietary and Confidential

Benchmarks

▪ CNEX Labs Open-Channel SSD

- NVMe

- PCIe Gen3x8

- 2TB MLC NAND

▪ Geometry

- 16 channels

- 8 PUs per channel (Total: 128 PUs)

▪ Parallel Unit Characteristics

- Read Size: 4K

- Write size: 16K + 64B user OOB

- Chunks: 1.067, Chunk Size: 16MB

▪ Performance:

- Write: Single PU 47MB/s

- Read: Single 108MB/s, 280MB/s (64K)

10

• Limit # Active Parallel Write Units• Predictable Latency• Multi-tenancy using I/O Isolation

Page 11: Multi-Tenant I/O Isolation with Open-Channel SSDs · - Multiple drives in development within SSD vendors - Multiple papers already on Open-Channel SSDs that shows how this interface

Copyright © 2016 CNEX Labs | Proprietary and Confidential

Limit # Active Writers

▪ A priori knowledge of workload. E.g., limit to 400MB/s Write

▪ Limit number of Active PU Writers, and achieve better read latency

11

256K Write QD1256K Read QD16

Single Read and Write Perf.

Mixed Read/Write

Write throughput 400MB/s

Write latency increases, and read latency

reduces

Page 12: Multi-Tenant I/O Isolation with Open-Channel SSDs · - Multiple drives in development within SSD vendors - Multiple papers already on Open-Channel SSDs that shows how this interface

Copyright © 2016 CNEX Labs | Proprietary and Confidential

Predictable Latency

▪ 4K reads during 64K concurrent writes

▪ Consistent low latency at 99.99, 99.999, 99.9999

12

Page 13: Multi-Tenant I/O Isolation with Open-Channel SSDs · - Multiple drives in development within SSD vendors - Multiple papers already on Open-Channel SSDs that shows how this interface

Copyright © 2016 CNEX Labs | Proprietary and Confidential

Multi-Tenant Workloads

13

NVMe SSD

OCSSD

2 Tenants(1W/1R)

4 Tenants(3W/1R)

8 Tenants(7W/1R)

Page 14: Multi-Tenant I/O Isolation with Open-Channel SSDs · - Multiple drives in development within SSD vendors - Multiple papers already on Open-Channel SSDs that shows how this interface

Copyright © 2016 CNEX Labs | Proprietary and Confidential

Conclusion

▪ New interface that provides

- I/O Predictability

- I/O Isolation

- Puts the host in front seat of data placement and I/O scheduling

▪ PPA Specification is open and available for implementors

▪ Active community using OCSSDs both for production and research

- Multiple drives in development within SSD vendors

- Multiple papers already on Open-Channel SSDs that shows how this interface can improve workloads

▪ Fundamental building blocks are available:

- Initial release in Linux kernel 4.4.

- User-space library (liblightnvm) support with Linux kernel 4.11.

- Pblk will be upstream with Linux kernel 4.12.

▪ The right time to dive into Open-Channel SSDs

- More information available at: http://lightnvm.io

14

Page 15: Multi-Tenant I/O Isolation with Open-Channel SSDs · - Multiple drives in development within SSD vendors - Multiple papers already on Open-Channel SSDs that shows how this interface

Copyright © 2016 CNEX Labs | Proprietary and Confidential

CNEX Labs, Inc.

Teaming with NAND Flash manufacturers and industry leaders in storage and networking to deliver the next big

innovation for solid-state-storage.