A Scalable Runtime for the ECOSCALE Heterogeneous Exascale Hardware Platform
Paul Harvey Konstantin Bakanov, Ivor Spence, Dimitrios S. Nikolopoulos
Exascale Hardware Platform Paul Harvey Konstantin Bakanov, Ivor - - PowerPoint PPT Presentation
A Scalable Runtime for the ECOSCALE Heterogeneous Exascale Hardware Platform Paul Harvey Konstantin Bakanov, Ivor Spence, Dimitrios S. Nikolopoulos Looking To Discuss and Share Ideas No implementation No results Just design!
Paul Harvey Konstantin Bakanov, Ivor Spence, Dimitrios S. Nikolopoulos
200 400 600 800 1000 1200 America China Europe Japan
Millions
Exascale Spendin (£)
http://www.exascale.org/bdec/sites/www.exascale.org.bdec/files/3-BDEC2015-ishikawa.pdf http://www.hpcwire.com/2016/02/12/obama-budget-reveals-new-elements-exascale-program/ http://www.scientific-computing.com/news/news_story.php?news_id=2732 http://www.exascale.org/mediawiki/images/b/b8/Talk25-zjin.pdf
http://science.energy.gov/~/media/ascr/ascac/pdf/reports/Exascale_subcommittee_report.pdf
http://science.energy.gov/~/media/ascr/ascac/pdf/reports/Exascale_subcommittee_report.pdf
FFT BitCoin Matrix Mul
Platform Time (ns) W Energy/Step (nJ) Obtained By HD 4400 (GPU) 3.13 15 46.9 Measurement GTX 960 (GPU) 0.163 120 19.56 Measurement Quadro K4200 (GPU) 0.204 105 21.42 Measurement GTX Titan (GPU) 0.0389 375 14.61 Extrapolation Virtex 7 (FPGA) 0.315 24.4 7.69 Measurement
Platform Time (ns) W Energy/Step (nJ) Obtained By HD 4400 (GPU) 3.13 15 46.9 Measurement GTX 960 (GPU) 0.163 120 19.56 Measurement Quadro K4200 (GPU) 0.204 105 21.42 Measurement GTX Titan (GPU) 0.0389 375 14.61 Extrapolation Virtex 7 (FPGA) 0.315 24.4 7.69 Measurement
Compute Node Worker Node Unimem CPU FPGA RAM
CPU FPGA GPU MEMORY MEMORY MEMORY Application Host Device CPU FPGA GPU kernel kernel kernel
Data Data Data
CPU FPGA GPU MEMORY MEMORY MEMORY Application Host Device CPU FPGA GPU kernel kernel kernel
Data Data Data
CPU FPGA GPU MEMORY MEMORY MEMORY Application Host Device
Data
CPU FPGA GPU kernel kernel kernel
Data Data
1. Enables scheduler to dynamically go after performance or power
1. Better scaling across multiple compute devices 2. Enables kernels to run where a single device has insufficient resources
Compute Node Worker Node Unimem CPU FPGA RAM kernel Worker Software Device
Data
+
power vs. Performance
CPU FPGA GPU MEMORY MEMORY MEMORY Application Host CPU FPGA GPU kernel kernel kernel
Data Data DataDevice
Compute Node Worker Node Unimem CPU FPGA RAM kernel Worker Software Device
Data
+
power vs. Performance
CPU FPGA GPU MEMORY MEMORY MEMORY Application Host CPU FPGA GPU kernel kernel kernel
Data Data DataDevice
kernel Worker Software Device
Data
+
power vs. Performance
CPU FPGA GPU MEMORY MEMORY MEMORY Application Host CPU FPGA GPU kernel kernel kernel
Data Data DataDevice
kernel kernel kernel Library
1 2 3 4 6 7 8 5 1 2 3 4 6 7 8 1 4 6 7 8 5 Logical Aggregated FPGA Aggregated CPU Worker
kernel Controller: Partition computation and data
Controller: Schedule across workers Worker: Schedule across local devices RUNTIME 1 2 3 4 Controller Worker: Report results and/or errors to controller
OS
OCL Runtime
Ecoscale runtime 1 2 3 4
FPGA Driver
Application
Unimem Driver
MPI/GASnet
Compute Node Worker Node Unimem CPU FPGA RAM
OS
OCL RuntimeEcoscale runtime 1
2 3 4
FPGA DriverApplication
Unimem DriverMPI/GAS net
OS
OCL RuntimeEcoscale runtime 1
2 3 4
FPGA DriverApplication
Unimem DriverMPI/GAS net
OS
OCL RuntimeEcoscale runtime 1
2 3 4
FPGA DriverApplication
Unimem DriverMPI/GAS net
OS
OCL RuntimeEcoscale runtime 1
2 3 4
FPGA DriverApplication
Unimem DriverMPI/GAS net
Compute Node Worker Node Unimem CPU FPGA RAM
OS
OCL RuntimeEcoscale runtime 1
2 3 4
FPGA DriverApplication
Unimem DriverMPI/GAS net
OS
OCL RuntimeEcoscale runtime 1
2 3 4
FPGA DriverApplication
Unimem DriverMPI/GAS net
OS
OCL RuntimeEcoscale runtime 1
2 3 4
FPGA DriverApplication
Unimem DriverMPI/GAS net
OS
OCL RuntimeEcoscale runtime 1
2 3 4
FPGA DriverApplication
Unimem DriverMPI/GAS net
Compute Node Worker Node Unimem CPU FPGA RAM Controller
OS
OCL RuntimeEcoscale runtime 1
2 3 4
FPGA DriverApplication
Unimem DriverMPI/GAS net
OS
OCL RuntimeEcoscale runtime 1
2 3 4
FPGA DriverApplication
Unimem DriverMPI/GAS net
OS
OCL RuntimeEcoscale runtime 1
2 3 4
FPGA DriverApplication
Unimem DriverMPI/GAS net
OS
OCL RuntimeEcoscale runtime 1
2 3 4
FPGA DriverApplication
Unimem DriverMPI/GAS net
Compute Node Worker Node Unimem CPU FPGA RAM Slave Slave Slave Controller
OS
OCL RuntimeEcoscale runtime 1
2 3 4
FPGA DriverApplication
Unimem DriverMPI/GAS net
OS
OCL RuntimeEcoscale runtime 1
2 3 4
FPGA DriverApplication
Unimem DriverMPI/GAS net
OS
OCL RuntimeEcoscale runtime 1
2 3 4
FPGA DriverApplication
Unimem DriverMPI/GAS net
OS
OCL RuntimeEcoscale runtime 1
2 3 4
FPGA DriverApplication
Unimem DriverMPI/GAS net
Compute Node Worker Node Unimem CPU FPGA RAM
OS
OCL RuntimeEcoscale runtime 1
2 3 4
FPGA DriverApplication
Unimem DriverMPI/GAS net
OS
OCL RuntimeEcoscale runtime 1
2 3 4
FPGA DriverApplication
Unimem DriverMPI/GAS net
OS
OCL RuntimeEcoscale runtime 1
2 3 4
FPGA DriverApplication
Unimem DriverMPI/GAS net
OS
OCL RuntimeEcoscale runtime 1
2 3 4
FPGA DriverApplication
Unimem DriverMPI/GAS net
Compute Node Worker Node Unimem CPU FPGA RAM
OS
OCL RuntimeEcoscale runtime 1
2 3 4
FPGA DriverApplication
Unimem DriverMPI/GAS net
OS
OCL RuntimeEcoscale runtime 1
2 3 4
FPGA DriverApplication
Unimem DriverMPI/GAS net
OS
OCL RuntimeEcoscale runtime 1
2 3 4
FPGA DriverApplication
Unimem DriverMPI/GAS net
OS
OCL RuntimeEcoscale runtime 1
2 3 4
FPGA DriverApplication
Unimem DriverMPI/GAS net
Compute Node Worker Node Unimem CPU FPGA RAM Controller Slave Slave Slave Slave (Backup)
OS
OCL RuntimeEcoscale runtime 1
2 3 4
FPGA DriverApplication
Unimem DriverMPI/GAS net
OS
OCL RuntimeEcoscale runtime 1
2 3 4
FPGA DriverApplication
Unimem DriverMPI/GAS net
OS
OCL RuntimeEcoscale runtime 1
2 3 4
FPGA DriverApplication
Unimem DriverMPI/GAS net
OS
OCL RuntimeEcoscale runtime 1
2 3 4
FPGA DriverApplication
Unimem DriverMPI/GAS net
Compute Node Worker Node Unimem CPU FPGA RAM Controller Slave (Backup) Slave Slave Accounting Log
C B A Data Data Data
OS
OCL RuntimeEcoscale runtime 1
2 3 4
FPGA DriverApplication
Unimem DriverMPI/GAS net
OS
OCL RuntimeEcoscale runtime 1
2 3 4
FPGA DriverApplication
Unimem DriverMPI/GAS net
OS
OCL RuntimeEcoscale runtime 1
2 3 4
FPGA DriverApplication
Unimem DriverMPI/GAS net
OS
OCL RuntimeEcoscale runtime 1
2 3 4
FPGA DriverApplication
Unimem DriverMPI/GAS net
Compute Node Worker Node Unimem CPU FPGA RAM Controller Slave (Backup) Slave Slave Accounting Log
C B A Data Data Data
OS
OCL RuntimeEcoscale runtime 1
2 3 4
FPGA DriverApplication
Unimem DriverMPI/GAS net
OS
OCL RuntimeEcoscale runtime 1
2 3 4
FPGA DriverApplication
Unimem DriverMPI/GAS net
OS
OCL RuntimeEcoscale runtime 1
2 3 4
FPGA DriverApplication
Unimem DriverMPI/GAS net
OS
OCL RuntimeEcoscale runtime 1
2 3 4
FPGA DriverApplication
Unimem DriverMPI/GAS net
Compute Node Worker Node Unimem CPU FPGA RAM Controller Slave (backup) Slave Slave Accounting Log
C B A Data Data Data
OS
OCL RuntimeEcoscale runtime 1
2 3 4
FPGA DriverApplication
Unimem DriverMPI/GAS net
OS
OCL RuntimeEcoscale runtime 1
2 3 4
FPGA DriverApplication
Unimem DriverMPI/GAS net
OS
OCL RuntimeEcoscale runtime 1
2 3 4
FPGA DriverApplication
Unimem DriverMPI/GAS net
OS
OCL RuntimeEcoscale runtime 1
2 3 4
FPGA DriverApplication
Unimem DriverMPI/GAS net
Compute Node Worker Node Unimem CPU FPGA RAM Controller Slave (backup) Slave Slave Accounting Log
C B A Data Data Data
OS
OCL RuntimeEcoscale runtime 1
2 3 4
FPGA DriverApplication
Unimem DriverMPI/GAS net
OS
OCL RuntimeEcoscale runtime 1
2 3 4
FPGA DriverApplication
Unimem DriverMPI/GAS net
OS
OCL RuntimeEcoscale runtime 1
2 3 4
FPGA DriverApplication
Unimem DriverMPI/GAS net
OS
OCL RuntimeEcoscale runtime 1
2 3 4
FPGA DriverApplication
Unimem DriverMPI/GAS net
Compute Node Worker Node Unimem CPU FPGA RAM Controller Slave (backup) Slave Slave Accounting Log
C B A Data Data Data
OS
OCL RuntimeEcoscale runtime 1
2 3 4
FPGA DriverApplication
Unimem DriverMPI/GAS net
OS
OCL RuntimeEcoscale runtime 1
2 3 4
FPGA DriverApplication
Unimem DriverMPI/GAS net
OS
OCL RuntimeEcoscale runtime 1
2 3 4
FPGA DriverApplication
Unimem DriverMPI/GAS net
OS
OCL RuntimeEcoscale runtime 1
2 3 4
FPGA DriverApplication
Unimem DriverMPI/GAS net
Compute Node Worker Node Unimem CPU FPGA RAM DEAD Slave (backup) Slave Slave Accounting Log
C B A Data Data Data
OS
OCL RuntimeEcoscale runtime 1
2 3 4
FPGA DriverApplication
Unimem DriverMPI/GAS net
OS
OCL RuntimeEcoscale runtime 1
2 3 4
FPGA DriverApplication
Unimem DriverMPI/GAS net
OS
OCL RuntimeEcoscale runtime 1
2 3 4
FPGA DriverApplication
Unimem DriverMPI/GAS net
OS
OCL RuntimeEcoscale runtime 1
2 3 4
FPGA DriverApplication
Unimem DriverMPI/GAS net
Compute Node Worker Node Unimem CPU FPGA RAM DEAD Controller Slave (backup) Slave Accounting Log
C B A Data Data Data
http://science.energy.gov/~/media/ascr/ascac/pdf/reports/Exascale_subcommittee_report.pdf
@jhebus Paul-Harvey.org