36
Architectural Principles for Networked Solid State Storage Access – Part 2

Architectural Principles for Networked Solid State Storage ... · – Real time analytics – Enables data centric and hybrid computing – Scalable memory pools for in memory applications

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Architectural Principles for Networked Solid State Storage ... · – Real time analytics – Enables data centric and hybrid computing – Scalable memory pools for in memory applications

Architectural Principles for Networked Solid State Storage Access – Part 2

Page 2: Architectural Principles for Networked Solid State Storage ... · – Real time analytics – Enables data centric and hybrid computing – Scalable memory pools for in memory applications

© 2017 Storage Networking Industry Association. All Rights Reserved.

Today’s Presenters

2

J Metz SNIA Board of Directors

R&D Engineer Cisco

Doug Voigt Chair, NVM Programming Model,

SNIA Technical Council Distinguished Technologist, HPE

Page 3: Architectural Principles for Networked Solid State Storage ... · – Real time analytics – Enables data centric and hybrid computing – Scalable memory pools for in memory applications

© 2017 Storage Networking Industry Association. All Rights Reserved.

SNIA at a glance

3

160 unique member

companies

3,500 active contributing

members

50,000 IT end users & storage

pros worldwide

Learn more: snia.org/technical @SNIA

Page 4: Architectural Principles for Networked Solid State Storage ... · – Real time analytics – Enables data centric and hybrid computing – Scalable memory pools for in memory applications

© 2017 Storage Networking Industry Association. All Rights Reserved.

SNIA Legal Notice

  The material contained in this presentation is copyrighted by the SNIA unless otherwise noted.

  Member companies and individual members may use this material in presentations and literature under the following conditions:

  Any slide or slides used must be reproduced in their entirety without modification   The SNIA must be acknowledged as the source of any material used in the body of any document containing material

from these presentations.   This presentation is a project of the SNIA.   Neither the author nor the presenter is an attorney and nothing in this presentation is intended

to be, or should be construed as legal advice or an opinion of counsel. If you need legal advice or a legal opinion please contact your attorney.

  The information presented herein represents the author's personal opinion and current understanding of the relevant issues involved. The author, the presenter, and the SNIA do not assume any responsibility or liability for damages arising out of any reliance on or use of this information. NO WARRANTIES, EXPRESS OR IMPLIED. USE AT YOUR OWN RISK.

4

Page 5: Architectural Principles for Networked Solid State Storage ... · – Real time analytics – Enables data centric and hybrid computing – Scalable memory pools for in memory applications

© 2017 Storage Networking Industry Association. All Rights Reserved.

Focus on Principles

  Technical and market dynamics are creating complexity   Permutations of technologies and positioning   Intricacies of new technology integration

  Foundational principles have not changed   Application views of memory and storage   The role of data access time (latency) in system architecture

  Principles transcend details   This presentation uses principles to guide detailed analysis   This presentation does not report benchmark results

  On-demand webcast: Architectural Principles for Networked Solid State Storage Access – Part 1 https://www.brighttalk.com/webcast/663/203821

5

Page 6: Architectural Principles for Networked Solid State Storage ... · – Real time analytics – Enables data centric and hybrid computing – Scalable memory pools for in memory applications

© 2017 Storage Networking Industry Association. All Rights Reserved.

Times are changing

  Storage access times are shrinking   Emerging persistent memory (PM) technologies   Faster than flash

  Interconnects are getting faster   Bandwidth   Latency

  Creating challenges for software   Software stacks are starting to dominate latency   Trigger for a fundamental architecture shift

6

Page 7: Architectural Principles for Networked Solid State Storage ... · – Real time analytics – Enables data centric and hybrid computing – Scalable memory pools for in memory applications

© 2017 Storage Networking Industry Association. All Rights Reserved.

Principles we will cover today

  Application views of Persistent Memory technology   Why latency determines application view   Latency budget analysis   Latency and system scale

7

Page 8: Architectural Principles for Networked Solid State Storage ... · – Real time analytics – Enables data centric and hybrid computing – Scalable memory pools for in memory applications

© 2017 Storage Networking Industry Association. All Rights Reserved.

Definitions

  IO – protocol used to access storage   Poll – repeated reading of IO state to detect completion   Context Switch – allow other processes to use a core   Load/Store (Ld/St) – CPU instructions that access memory   Non-Uniform Memory Access (NUMA) – describes a memory system that exhibits a significant range of latencies due to underlying technology or scale

8

Page 9: Architectural Principles for Networked Solid State Storage ... · – Real time analytics – Enables data centric and hybrid computing – Scalable memory pools for in memory applications

Application View

Page 10: Architectural Principles for Networked Solid State Storage ... · – Real time analytics – Enables data centric and hybrid computing – Scalable memory pools for in memory applications

© 2017 Storage Networking Industry Association. All Rights Reserved.

Recap of Part 1: IO vs Ld/St

  IO   Data is read or written using RAM buffers   Software has control over how to wait (context switch or poll)   Status is explicitly checked by software

Ld/St   Data is loaded into or stored from processor registers   Software is forced by processor to wait for data during instruction   No status checking – errors generate exceptions

10

Page 11: Architectural Principles for Networked Solid State Storage ... · – Real time analytics – Enables data centric and hybrid computing – Scalable memory pools for in memory applications

© 2017 Storage Networking Industry Association. All Rights Reserved.

Application vs technology views

11

Flash or HDD

Application Sees Technology Is

Disk Driver IO

Ld/St Processor Instructions Persistent Memory

Page 12: Architectural Principles for Networked Solid State Storage ... · – Real time analytics – Enables data centric and hybrid computing – Scalable memory pools for in memory applications

© 2017 Storage Networking Industry Association. All Rights Reserved.

IO dur- ing flush

Application vs technology views

12

Flash or HDD

Application Sees Technology Is

Disk Driver IO

Ld/St Processor Instructions

RAM Disk Driver

Persistent Memory

Page 13: Architectural Principles for Networked Solid State Storage ... · – Real time analytics – Enables data centric and hybrid computing – Scalable memory pools for in memory applications

© 2017 Storage Networking Industry Association. All Rights Reserved.

Latency Thresholds Cause Disruption

13

Late

ncy

(Log

)

200 nS

2 uS

HDD SATA SSD

NVMe Flash

Persistent Memory

Context Switch

NUMA

Min, Max Latencies For Example Technologies

IO

Ld/St

Page 14: Architectural Principles for Networked Solid State Storage ... · – Real time analytics – Enables data centric and hybrid computing – Scalable memory pools for in memory applications

© 2017 Storage Networking Industry Association. All Rights Reserved.

Persistent Memory – Purist Definition

  Does not require (long term) power to retain its contents   Can be accessed using Ld/St/Mov instructions   Without too much loss of processor throughput

When is it OK to force the CPU memory access pipeline to wait for a storage or memory access to complete?

  May pause a thread in the middle of executing an instruction   May block reads and writes to all core

14

Persistent Memory

Page 15: Architectural Principles for Networked Solid State Storage ... · – Real time analytics – Enables data centric and hybrid computing – Scalable memory pools for in memory applications

© 2017 Storage Networking Industry Association. All Rights Reserved.

Pipeline Stall Wastes Processor Throughput

  Each core’s instruction pipeline has a limited number of stages (5 shown here)

  If a memory access (column M, time t6) takes longer than the pipeline is designed for, it stalls (t7-t9) so processing power is wasted.

  If this happens a lot the processor can grind to a halt

15

1 2 1 3 2 1 4 3 2 1 5 4 3 2 1 6 5 4 3 2 6 5 4 3

7 6 5 4 3 8 7 6 5 4

6 5 4 3 6 5 4 3

Pipeline Stage F D E M W

t1

t2 t3 t4 t5 t6 t7

t10 t11

t8 t9

Inst

ruct

ions

num

bere

d 1-

8

Page 16: Architectural Principles for Networked Solid State Storage ... · – Real time analytics – Enables data centric and hybrid computing – Scalable memory pools for in memory applications

© 2017 Storage Networking Industry Association. All Rights Reserved.

Memory Pipeline Interference

16

Cor

e 1

Cor

e 4

Cor

e 2

Cor

e 3

Memory Controller

Queue

Persistent Memory

Persistent Memory

DRAM

DRAM

  Requests from all cores intermingle

  PM requests can delay DRAM requests

  DIMMs have pipelines too   Increase concurrency but

may also increase latency

  High memory latency can have domino effect across cores

NUMA Systems are designed to mitigate these effects for bounded memory latencies

Page 17: Architectural Principles for Networked Solid State Storage ... · – Real time analytics – Enables data centric and hybrid computing – Scalable memory pools for in memory applications

© 2017 Storage Networking Industry Association. All Rights Reserved.

Why latency determines application view

Pro Con Acceptable Latency

Ld/St Lowest overhead Stalls pipelines if slow NUMA

Poll Moderate overhead Consumes one thread < ~2 uS

Context Switch High overhead Free while blocked > ~2 uS

17

  The acceptable upper bound of NUMA latency depends on processor architecture and application instruction mix   The acceptable upper bound for polling depends on processor specific context switch time

Page 18: Architectural Principles for Networked Solid State Storage ... · – Real time analytics – Enables data centric and hybrid computing – Scalable memory pools for in memory applications

© 2017 Storage Networking Industry Association. All Rights Reserved.

Latency Thresholds Cause Disruption

18

Late

ncy

(Log

)

200 nS

2 uS

HDD SATA SSD

NVMe Flash

Persistent Memory

Context Switch

NUMA

Min, Max Latencies For Example Technologies

IO

Ld/St

Page 19: Architectural Principles for Networked Solid State Storage ... · – Real time analytics – Enables data centric and hybrid computing – Scalable memory pools for in memory applications

Latency Budgets

Page 20: Architectural Principles for Networked Solid State Storage ... · – Real time analytics – Enables data centric and hybrid computing – Scalable memory pools for in memory applications

© 2017 Storage Networking Industry Association. All Rights Reserved.

Latency budget building blocks

  Interconnect hops   Media   Host   Queueing - throughput

20

Page 21: Architectural Principles for Networked Solid State Storage ... · – Real time analytics – Enables data centric and hybrid computing – Scalable memory pools for in memory applications

© 2017 Storage Networking Industry Association. All Rights Reserved.

Serial Interconnect Hop Latency

  Considerations   Speed of Light: .3 m/nS. (e.g. 2m = 7 nS) + 10-100nS for SERDES pair   Data Transfer: Xmit bit rate * (Headers + Payload) * Encoding Derating   Port: SERDES + 0-100 nS   Switching, Routing: 0-∞

  “Typical” switch latency examples PCIe: >= 20 nS

  IB: >= 90 nS   Ethernet: >= 300 nS

  1 Interconnect hop = 2*Ports(>= 10 nS per pair) + <#Switches>*Switch(>=20 nS) + distance/.3m/ns(or more)

21

Page 22: Architectural Principles for Networked Solid State Storage ... · – Real time analytics – Enables data centric and hybrid computing – Scalable memory pools for in memory applications

© 2017 Storage Networking Industry Association. All Rights Reserved.

Media Latency

  Considerations   Command/Response HW: 10-1000 nS   Driver Software, Interrupt Response: 0-20 uS   Translation/Virtualization: 0-100 uS   Seek/Select/Enable: 10 nS (DRAM), 10+ uS (Flash), 1+ mS (HDD)   Data Transfer: Media bit rate * (Headers + Payload) * Encoding

  “Typical” Examples (single threaded)   20 nS DRAM   70 uS Flash   1 mS HDD

22

Page 23: Architectural Principles for Networked Solid State Storage ... · – Real time analytics – Enables data centric and hybrid computing – Scalable memory pools for in memory applications

© 2017 Storage Networking Industry Association. All Rights Reserved.

Hosts and Queues

  Host Considerations PCIe: Treat as additional hops for modular RNIC/HBAs

  Driver Software: 1 – 50 uS

  Queue Considerations   Latency = 1/(Service Rate – Arrival Rate)

23

Queue Ser-vice Arrivals wait time

Max Service Rate (IOPs)

Arrival Rate

Late

ncy

Page 24: Architectural Principles for Networked Solid State Storage ... · – Real time analytics – Enables data centric and hybrid computing – Scalable memory pools for in memory applications

© 2017 Storage Networking Industry Association. All Rights Reserved.

Latency budget templates

  Examples provided   IO   RDMA and Remote Persistence   Scale out memory

  Numerical disclaimer:   Template latency examples are from the building block slides above.   The main purpose is to enable engineers to determine where their

networked PM implementations fall in the latency disruption chart.   Constant innovation and tuning in components and systems

continues to drive latency down. 24

Page 25: Architectural Principles for Networked Solid State Storage ... · – Real time analytics – Enables data centric and hybrid computing – Scalable memory pools for in memory applications

© 2017 Storage Networking Industry Association. All Rights Reserved.

Device

Network Adapter

Latency template for IO

25

CPU

RAM Media

CPU

RAM

PCIe Network Adapter Network

Application Read();

1.  Application sets up buffer, command 2.  Application sends command to SSD RAM 3.  SSD SW processes IO 4.  SSD accesses media, RAM data buffer (read) 5.  SSD Sends data, response 6.  Application receives response

PCIe

12

34

56

Page 26: Architectural Principles for Networked Solid State Storage ... · – Real time analytics – Enables data centric and hybrid computing – Scalable memory pools for in memory applications

© 2017 Storage Networking Industry Association. All Rights Reserved.

IO latency budget in uS*

26

Host Network Device (SSD)

1 50 1.2 - 1.6

2 .1-.3

3 100

4 1.1 - 1.3

5 see above

6 see above

Totals 50 1.2 - 1.6 100 152

•  1K data at 1 Gby •  1 Switch

•  Moderate load •  All units in uS

*Rough Approximations

Page 27: Architectural Principles for Networked Solid State Storage ... · – Real time analytics – Enables data centric and hybrid computing – Scalable memory pools for in memory applications

© 2017 Storage Networking Industry Association. All Rights Reserved.

Network Adapter

Latency template for RDMA write to PM

27

CPU

RAM

NVDIMM SSD/HDD

PCIe CPU

RAM

PCIe Network Adapter Network

Application flush(…);

For more on RDMA see: https://www.brighttalk.com/webcast/663/185909

1.  Application establishes RDMA connection during mMap 2.  Application executes 1 or more RDMA writes during flush 3.  Application executes RDMA send to force remote flush 4.  Application receives response from remote flush

1

2

34

Page 28: Architectural Principles for Networked Solid State Storage ... · – Real time analytics – Enables data centric and hybrid computing – Scalable memory pools for in memory applications

© 2017 Storage Networking Industry Association. All Rights Reserved.

RDMA Write to PM budget in uS*

28

Host Network Device (PM)

Device (CPU)

1 NA NA NA

2 10 1.1 - 1.3 2

3 20 .1 - .3 above 20

4 above .1 - .3 above

Totals 30 1.3 - 1.9 2 20 54

•  1K data at 1 Gby •  1 Switch

•  Single RDMA write •  All units in uS

*Rough Approximations

Page 29: Architectural Principles for Networked Solid State Storage ... · – Real time analytics – Enables data centric and hybrid computing – Scalable memory pools for in memory applications

© 2017 Storage Networking Industry Association. All Rights Reserved.

Gen-Z: A New Data Access Technology

29

Accelerators

FPGA GPU GPU

–  Provides end-to-end secure connectivity from node level to rack scale

–  Supports unmodified OS for SW compatibility

–  Graduated implementation from simple, low cost to highly capable and robust

–  Leverages high-volume IEEE physical layers and broad, deep industry ecosystem

–  Real time analytics –  Enables data centric and hybrid computing

–  Scalable memory pools for in memory applications

–  Abstracts media interface from SoC to unlock new media innovation

Secure Compatible Economical

Compute

SoC SoCMemory Memory

FPGA

High Bandwidth

Low Latency

–  Memory Semantics – simple Reads and Writes

–  From tens to several hundred GB/s of bandwidth

–  Sub-100 ns load-to-use memory latency

Advanced Workloads

& Technologies

Memory Memory

I/O

RackScale

PooledMemoryNetwork Storage

Gen-ZDirectAttach,Switched,orFabricTopology

© Gen-Z Consortium 2016 10/11/2016

Page 30: Architectural Principles for Networked Solid State Storage ... · – Real time analytics – Enables data centric and hybrid computing – Scalable memory pools for in memory applications

© 2017 Storage Networking Industry Association. All Rights Reserved.

Latency Template for Scale Out Memory e.g. Gen-Z

30

CPU

RAM

Mem Ctlr Memory Fabric

Application St reg,mem

For more on RDMA see: https://www.brighttalk.com/webcast/663/185909

CPU

PM

Mem Ctlr

1.  Application uses St instruction to write to remote memory

1

Page 31: Architectural Principles for Networked Solid State Storage ... · – Real time analytics – Enables data centric and hybrid computing – Scalable memory pools for in memory applications

© 2017 Storage Networking Industry Association. All Rights Reserved.

Scale out memory budget in uS*

31

Host Network NVDIMM

1 .01 .2 .1

Per St Total .01 .2 .1

16 Lines .16 3.2 1.6 5

•  64 By cache line per St at 1 Gby •  1 Switch •  Consider using mov or put/get

•  16 St’s for 1K •  All units in uS

*Rough Approximations

Page 32: Architectural Principles for Networked Solid State Storage ... · – Real time analytics – Enables data centric and hybrid computing – Scalable memory pools for in memory applications

© 2017 Storage Networking Industry Association. All Rights Reserved.

Latency contributors due to system scale

  Transmission Distance   Realistically communication between

adjacent racks requires about 5 meters of optical cable.

  This takes 17 nS.

  Switch/Router hops   Switches appear at blade, chassis and

rack levels. Each contributes 100-300 nS latency totaling .5-1.5 uS

32

Page 33: Architectural Principles for Networked Solid State Storage ... · – Real time analytics – Enables data centric and hybrid computing – Scalable memory pools for in memory applications

© 2017 Storage Networking Industry Association. All Rights Reserved.

Adding it all up

Ld/St Inhibitors   networks   > rack scale memory fabric   media technology mismatch

  High Ld/St Latency Pain depends on workload

  PM access size   PM access mix   Flush

33

Page 34: Architectural Principles for Networked Solid State Storage ... · – Real time analytics – Enables data centric and hybrid computing – Scalable memory pools for in memory applications

© 2017 Storage Networking Industry Association. All Rights Reserved.

Other Helpful Resources

  On-demand Webcasts:   Architectural Principles for Networked Solid State Storage Access – Part 1

https://www.brighttalk.com/webcast/663/203821   Everything You Wanted to Know about Storage But Were too Proud to Ask: Part

Teal – Buffers, Queues & Caches https://www.brighttalk.com/webcast/663/241275

  Storage Performance Benchmarking: Solution Under Test https://www.brighttalk.com/webcast/663/164335

  SNIA NVM Programming Model: http://www.snia.org/sites/default/files/technical_work/final/NVMProgrammingModel_v1.1.pdf

  SNIA PM White Papers: https://www.snia.org/education/whitepapers

  SNIA PM White Papers: https://www.snia.org/education/whitepapers

34

Page 35: Architectural Principles for Networked Solid State Storage ... · – Real time analytics – Enables data centric and hybrid computing – Scalable memory pools for in memory applications

© 2017 Storage Networking Industry Association. All Rights Reserved.

After This Webcast

  Please rate this webcast and provide us with feedback   This webcast and a PDF of the slides will be posted to the SNIA

Ethernet Storage Forum (ESF) website and available on-demand www.snia.org/forums/esf/knowledge/webcasts

  A full Q&A from this webcast, including answers to questions we couldn't get to today, will be posted to the SNIA-ESF blog: sniaesfblog.org

  Follow us on Twitter @SNIAESF

35

Page 36: Architectural Principles for Networked Solid State Storage ... · – Real time analytics – Enables data centric and hybrid computing – Scalable memory pools for in memory applications

Thank you!

© 2017 Storage Networking Industry Association. All Rights Reserved.