M i c r
- k
e r n e l s i n t h e E r a
- f
D a t a
- C
e n t r i c C
- m
p u t i n g
Martjn Děcký martjn.decky@huawei.com
February 2018
M i c r o k e r n e l s i n t h e E r a o f D - - PowerPoint PPT Presentation
M i c r o k e r n e l s i n t h e E r a o f D a t a - C e n t r i c C o m p u t i n g Martjn Dck martjn.decky@huawei.com February 2018 Who Am I Passionate programmer and operatjng systems enthusiast
February 2018
Martjn Děcký, FOSDEM 2018, February 3rd 2018 Microkernels in the Era of Data-Centric Computjng 2
Martjn Děcký, FOSDEM 2018, February 3rd 2018 Microkernels in the Era of Data-Centric Computjng 3
3
Martjn Děcký, FOSDEM 2018, February 3rd 2018 Microkernels in the Era of Data-Centric Computjng 4
Martjn Děcký, FOSDEM 2018, February 3rd 2018 Microkernels in the Era of Data-Centric Computjng 5
4 8 16 32 64 128 256 512 1024 2048 4096 200 400 600 800 1000 1200 Quick Sort Radix Sort Thousands of items Instructjons / item
Martjn Děcký, FOSDEM 2018, February 3rd 2018 Microkernels in the Era of Data-Centric Computjng 6
4 8 16 32 64 128 256 512 1024 2048 4096 200 400 600 800 1000 1200 1400 1600 1800 2000 Quick Sort Radix Sort Thousands of items Clock cycles / item
Martjn Děcký, FOSDEM 2018, February 3rd 2018 Microkernels in the Era of Data-Centric Computjng 7
4 8 16 32 64 128 256 512 1024 2048 4096 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 Quick Sort Radix Sort Thousands of items Cache misses / item
Martjn Děcký, FOSDEM 2018, February 3rd 2018 Microkernels in the Era of Data-Centric Computjng 8
Martjn Děcký, FOSDEM 2018, February 3rd 2018 Microkernels in the Era of Data-Centric Computjng 9
Martjn Děcký, FOSDEM 2018, February 3rd 2018 Microkernels in the Era of Data-Centric Computjng 10
Martjn Děcký, FOSDEM 2018, February 3rd 2018 Microkernels in the Era of Data-Centric Computjng 11
Martjn Děcký, FOSDEM 2018, February 3rd 2018 Microkernels in the Era of Data-Centric Computjng 12
Data Control Status ALU Input peripheral Output peripheral RAM Controller
Martjn Děcký, FOSDEM 2018, February 3rd 2018 Microkernels in the Era of Data-Centric Computjng 13
No longer necessary to keep the distjnctjon between RAM and storage (peripherals)
Single-level memory (universal memory) See also the talk by Liam Proven (The circuit less traveled), Janson, Sat 13:00
Many technologies in development
Magnetoresistjve random-access memory (MRAM) Racetrack memory Ferroelectric random-access memory (FRAM) Phase-change memory (PCM) Nano-RAM (Nanotube RAM)
Martjn Děcký, FOSDEM 2018, February 3rd 2018 Microkernels in the Era of Data-Centric Computjng 14
Spatjal locality in general GPUs processing graphics data locally
CPUs are fast, but also power-hungry CPUs can only process the data already fetched from the memory/storage
Martjn Děcký, FOSDEM 2018, February 3rd 2018 Microkernels in the Era of Data-Centric Computjng 15
[1] Gu B., Yoon A. S., Bae D.-H., Jo I., Lee J., Yoon J., Kang J.-U., Kwon M., Yoon C., Cho S., Jeong J., Chang D.: Biscuit: A Framework for Near-Data Processing of Big Data Workloads, in Proceedings of 43rd Annual Internatjonal Symposium
2016
Martjn Děcký, FOSDEM 2018, February 3rd 2018 Microkernels in the Era of Data-Centric Computjng 16
[2] Kim S., Oh H., Park C., Cho S., Lee S.- W.: Fast, Energy Effjcient Scan inside Flash Memory SSDs, in Proceedings of 37th Internatjonal Conference on Very Large Data Bases (VLDB), VLDB Endowment, 2011
Martjn Děcký, FOSDEM 2018, February 3rd 2018 Microkernels in the Era of Data-Centric Computjng 17
Martjn Děcký, FOSDEM 2018, February 3rd 2018 Microkernels in the Era of Data-Centric Computjng 18
memory matrix row decoder
⁞
control logic Sense amps
.........
address data Y-gatjng
.........
Y RAS CAS WE
Martjn Děcký, FOSDEM 2018, February 3rd 2018 Microkernels in the Era of Data-Centric Computjng 19
memory matrix row decoder
⁞
control logic Sense amps
.........
address data Filtering / Computjng
.........
RAS CAS WE
Martjn Děcký, FOSDEM 2018, February 3rd 2018 Microkernels in the Era of Data-Centric Computjng 20
Martjn Děcký, FOSDEM 2018, February 3rd 2018 Microkernels in the Era of Data-Centric Computjng 21
Hanyang University (Seoul), Embedded and Network Computjng Lab
ONFI NAND fmash controller with ECC engine PCI-e NVMe host interface with scatuer-gather DMA engine
ARMv7 Flash Translatjon Layer, page caching, greedy garbage collectjon
Martjn Děcký, FOSDEM 2018, February 3rd 2018 Microkernels in the Era of Data-Centric Computjng 22
NDP module deployment
Statjc natjve code so far, moving to safe byte-code (eBPF)
NDP datasets
Safety boundaries for the NDP modules (for multjtenancy, etc.)
NDP Read / Write
Extensions of the standard NVMe Read / Write commands NDP module executed on each block, transforms/fjlters data
NDP Transform
Arbitrary data transformatjons (in-place copying, etc.) Flow-based computatjonal model
Martjn Děcký, FOSDEM 2018, February 3rd 2018 Microkernels in the Era of Data-Centric Computjng 23
QEMU model of the OpenSSD hardware (for running the OpenSSD fjrmware on ARMv7) Connected to a second host QEMU/KVM (as a regular PCI-e NVMe storage device)
Real-world applicatjon proof-of-concept
Custom storage engine for MySQL with operator push-down Ceph operator push-down Key-value store Generic fjle system acceleratjon
Stjll a very much work-in-progress
Preliminary results quite promising
Martjn Děcký, FOSDEM 2018, February 3rd 2018 Microkernels in the Era of Data-Centric Computjng 24
Martjn Děcký, FOSDEM 2018, February 3rd 2018 Microkernels in the Era of Data-Centric Computjng 25
Running the computatjon dynamically where it is the most effjcient Not necessarily moving the data to the central processing unit
The CPU is the orchestrator
Within the box of your machine (desktop, laptop, smartphone) Outside your machine (edge cloud, fog, cloud, data center)
Difgerent ISAs Fully programmable, partjally programmable, fjxed-functjon
Martjn Děcký, FOSDEM 2018, February 3rd 2018 Microkernels in the Era of Data-Centric Computjng 26
fjle system driver server CPU microkernel applicatjon applicatjon applicatjon
privileged mode unprivileged mode memory mgmt scheduler IPC
naming server locatjon server device driver server device driver server device driver server fjle system driver server fjle system driver server device multjplexer fjle system multjplexer network stack security server ...
Martjn Děcký, FOSDEM 2018, February 3rd 2018 Microkernels in the Era of Data-Centric Computjng 27
fjle system driver server
Primary CPU
microkernel
distributed applicatjon distributed applicatjon distributed applicatjon
privileged mode unprivileged mode
memory mgmt scheduler IPC
naming server locatjon server device driver server device driver server device driver server fjle system driver server fjle system driver server device multjplexer fjle system multjplexer network stack security server ...
SSD CPU NIC CPU GPU
microkernel
memory mgmt scheduler IPC
microkernel
memory mgmt scheduler IPC
microkernel
memory mgmt scheduler IPC
... ... compositor
distributed applicatjon
Martjn Děcký, FOSDEM 2018, February 3rd 2018 Microkernels in the Era of Data-Centric Computjng 28
Communicatjng between multjple (heterogeneous) computjng cores is just a difgerent transport Message passing as the least common denominator
– But also memory coherency emulatjon is possible
Composing an applicatjon from multjple components Missing piece: Framework for automatjc workload migratjon
Martjn Děcký, FOSDEM 2018, February 3rd 2018 Microkernels in the Era of Data-Centric Computjng 29
Martjn Děcký, FOSDEM 2018, February 3rd 2018 Microkernels in the Era of Data-Centric Computjng 30
Martjn Děcký, FOSDEM 2018, February 3rd 2018 Microkernels in the Era of Data-Centric Computjng 31
Martjn Děcký, FOSDEM 2018, February 3rd 2018 Microkernels in the Era of Data-Centric Computjng 32
Martjn Děcký, FOSDEM 2018, February 3rd 2018 Microkernels in the Era of Data-Centric Computjng 33
Martjn Děcký, FOSDEM 2018, February 3rd 2018 Microkernels in the Era of Data-Centric Computjng 34