Memory Expansion and Storage Acceleration with CCIX Technology
Millind Mittal, Fellow, Xilinx Jason Lawley, DC Platform Architect, Xilinx
Memory Expansion and Storage Acceleration with CCIX Technology - - PowerPoint PPT Presentation
Memory Expansion and Storage Acceleration with CCIX Technology Millind Mittal, Fellow, Xilinx Jason Lawley, DC Platform Architect, Xilinx Agenda Brief introduction to CCIX Memory Expansion through CCIX Persistent Memory
Millind Mittal, Fellow, Xilinx Jason Lawley, DC Platform Architect, Xilinx
2
purpose processors
enable seamless expansion of compute and memory resources
perspective
4
Servers, CPU/SoC, Accelerators, OS, IP/NoC, Switch, Memory/SCM, Test & Measurement vendors.
CCIX interface (N1SDP)
announced
completed Sept, 19
5
CCIX and PCIe Transaction Layers
respective packets
virtual channels (VCs) sharing same link
the PCIe overhead PCIe Data Link Layer
the data link layer CCIX/PCIe Physical Layer
Speed Mode) CCIX Protocol Layer
memory read and write flows
for the target transport and non-blocking behavior between two CCIX devices
future
CCIX – Open Standard Memory Expansion and Fine-Grain Data Sharing Model with Accelerators
Coarse grain (producer consumer) Fine Grain
Host Attached Accelerator Attached
System Memory
Data Sharing Data Sharing Model Model PCIe style IOC based model but with high BW and lower latency
1 2
6
Enabling Seamless Expansion of Compute and Memory Resources – Accelerator SoCs are seen as NUMA Socket
7
8
Demonstrated Extended memory through NUMA over CCIX at SC18 KVS Database (Memcached) was enhanced to make use of NUMA expansion model over CCIX Key allocations are done in Host DDR, where as corresponding values were allocated on remote FPGA memory Expansion memory can also be a persistent memory connected over CCIX link
https://www.youtube.com/watch?v=drIu4vlubxE&list=PLRr5 m7hDN9TLI3vuw1OqLbF7YcGi3UO9c&index=9
9
19 Without Persistent Memory With Persistent Memory
10
stacks
WiredTiger Storage Engine (http://source.wiredtiger.com/)
quality, NoSQL, Open Source extensible platform for data management
12
Host FPGA RA
Cache
HA FPGA Memory RA
Cache
HA Host Memory HW Kernels Local Memory
SW overheads
(writes/reads) fully to FPGA with interface to storage
shared FPGA memory
storage class memory which is faster than SSDs
meta-data enabled by CCIX 13
Split File System Operation Distribution Between Host & FPGA
14
Without data compression
Buffer cache (DRAM or PMEM)
In‐memory document
File_read
HA
Host FPGA
Write‐Engine
File_write
FS meta‐data; Permissions,size, inode, ….
Indexed by FileID.offset
Wired Tiger Storage Layer Application Buffer
Block Storage
User Kernel
FS_read thread Write IO Engine
Block Storage
1 2 3 3 5 4 5
Accelerators with RA
2 4 3
With data compression
Buffer cache (DRAM or PMEM)
In‐memory document File_read_uncompress
HA
Host FPGA
Write‐Engine
File_write_compress
FS meta‐data; Permissions,size, inode, ….
Indexed by FileID.offset
Wired Tiger Storage Layer Application Buffer
Block Storage
User Kernel
FS_read thread Write IO Engine
Block Storage
1 2 3 3 5 4 5
Accelerators with RA
2 4 3 3a
Update “size” in WT
Split File System Operation Distribution Between Host & FPGA
FSlib App1 App3 App2 FPGA File System HW Engine for FS_Write FS_Write-with-compression Meta Data User space Kernel Disks FSlib FSlib
FS_Read and Control/Management
HOST FPGA
Meta‐data sharing enabled by CCIX
Meta-data in the FPGA Attached Memory
FSlib App1 App3 App2 FPGA File System HW Engine for FS_Write FS_Write-with-compression Meta Data User space Kernel Disks FSlib FSlib
FS_Read and Control/Management
HOST FPGA
Meta‐data sharing enabled by CCIX
23
for storage and other verticals
https://www.ccixconsortium.com/
You can contact me at millind@Xilinx.com
24