<<

Hardware Acceleration for RAID5/6, Deduplication & Security for parallel workloads

Vikas Aggarwal

Storage Developer Conference Bangalore 2017 Team Members

• Venkatesh Bolla • Achyutha Krishna • Anil Reddy

Responsibilities: Storage software acceleration on OCTEON TX. Outline

• RAID 5/6 • Deduplication • Security • Source Storage Applications • OCTEON TX Acceleration blocks • Accelerated Data Flow • Observations Offloading CPU intensive operations

• RAID6 • XOR • Galois Field Multiplication

• Deduplication • Fingerprint Generation • Fingerprint Lookup

• Security • Encryption/Decryption of Data Blocks

Open Source Storage Software Offload Case Studies

RAID DEDUPLICATION SECURITY

MD RAID DM Dedup

DM RAID OpenZFS DM Crypt

btrFS btrFS

OpenDedup MD RAID

• Implements the following: • RAID 0, 1, 5, 6

• MDRAID can offload following to hardware using async_tx Linux offload infrastructure: • memcpy • XOR • Galois Field Arithmetic

• Offload benefits the following RAID variants: • RAID 5, 6 Linux DM-dedup

• Implements the following: • 4KB fingerprint • Fingerprint to LBN(logical block number) lookup • LBN to PBN(physical block number) lookup

• DM Dedup(modified) can offload following to hardware: • Fingerprint (Digest using MD5, SHA1, SHA2) • Fingerprint and LBN lookup.

• Offload benefits the following: • Lookups.

Linux eCryptfs

• In-kernel standalone implementation. • Security gets inherited into incremental backups. • Cryptographic metadata is stored along with encrypted file. • Supports all the Linux cryptographic ciphers. • Utilizes Linux crypto framework • eCryptfs can offload following to hardware • AES CBC • DES3 CBC • AES XTS • Offload benefits: Encryption, Decryption.

Linux MDRAID Offload

RAID Architecture Dmdedup Architecture DmDedup WRITE Offload Data Chunk

Compute HASH

Dup WR Uniq WR Hash->PBN

LBN->PBN LBN->PBN

dmdedup DDF Offload Block dmdedup code code

DISK DmDedup Offload

Sector

Compute LBN

Miss Hit LBN->PBN

dmdedup code DDF Offload Block

DISK

END DATA

Storage Security Offload

Accelerations Integrated

Accelerations Integrated

RAID offload relative CPU savings OCTEON TX %cpu idle

35

30

25

20

15

10

5

0 0 4 8 16 24 OCTEON TX--offload(cpu savings) No. disks/raid6 grp OCTEON TX Dmdedup offload Ingest rate throughput

6

5

4 5xGain

3

2

1

0 0GB 40GB 80GB 160GB 200GB x86_64 OCTEON TX OCTEON TX-offload Dmdedup fio WRITE offload latency OCTEON TX

6

5

4 5xReduction 3

2

1

0 0 40GB 80GB 160GB 200GB x86_64 OCTEON TX OCTEON TX-offload Ecryptfs OCTEON TX %cpu used

100

90

80

70

60

50

40

30

20

10

0 0 1 4 8 16 32 48 OCTEON TX OCTEON TX-offload No. threads Dedup + RAID6,

eCryptFS+RAID6 OCTEONTX OCTEON TX throughput %cpu idle Fio WRITE 90

80

70

60

50

40

30

20

10

0 50GB, 4Tx5GB 50GB, 8Tx2GB 100GB, 16Tx2GB OCTEON TX OCTEON TX-offload Status

• Status of Work – Preliminary performance results. More in future summits.

• Upstream the drivers.

• Other Platforms: • DPDK+SPDK • ODP

Q & A

Vikas Aggarwal [email protected]