RALF 3 - Software for Embedded High Performance Architectures Ivica Crnkovic Chalmers University of Technology & Mälardalen University Software for Competitiveness ‐ Big Data and Other Frontiers Stockholm, Nov 14 2017
Ralf 3 and the Society Challenge: Processing big amount of data in real‐time
Improved performance on dedicated HW platforms Muticore Camera CPU Sensors FPGA GPU Sonar Performance = f(FPGA, MCPU, GPU) Response time = g(FPGA, MCPU, GPU) Energy Consumption = j(FPGA, MCPU, GPU) and… Performance = f(FPGA, MCPU, GPU, SA ) Response time = g(FPGA, MCPU, GPU, SA ) Energy Consumption = j(FPGA, MCPU, GPU, SA ) SA = Software architecture
Goal Muticore Camera CPU Sensors FPGA GPU Sonar Improve the (software) system performance by utilizing computing capabilities of the underlying HW platform
Components and software deployment Software components Code Allocation mapping Code synthesis Vision N x CPU Visualiza- FPGA 3D-sensor System Sensors tion and Sonar actuators M x GPU ...
1) Component specifications in heterogeneous systems Software components Code EFPs Time: ... Memory: ... Allocation Models Energy: ... mapping HW model System EFPs Code n x CPU FPGA synthesis Performance: ... Timing: ... m x GPU Vision • Metamodels for SW and HW with hardware and software partitioning and n x CPU Visualiza- FPGA 3D-sensor System components allocations. Sensors tion and Sonar actuators • m x GPU Model‐level analysis methods for timing properties and resource usage information. ...
2) Semi-automated allocation of components to hardware Software components Code EFPs Time: ... Memory: ... Allocation Models Energy: ... mapping HW model System EFPs Code n x CPU FPGA synthesis Performance: ... Timing: ... m x GPU Vision n x CPU Visualiza- FPGA 3D-sensor System Sensors tion and • Allocation optimization methods, targeting different aspects of the problem and Sonar actuators m x GPU using different optimization techniques. ...
3) Adaptive data structures and algorithms for massive computations on heterogeneous systems Software components Code EFPs Time: ... Memory: ... Allocation Models Energy: ... mapping HW model System EFPs Code n x CPU FPGA synthesis Performance: ... Timing: ... m x GPU Vision n x CPU Visualiza- FPGA 3D-sensor System Sensors tion and Sonar • actuators Optimized synthesis adjusted to a specific computation platform m x GPU ...
4): Modeling and analysis of extra-functional properties in heterogenous systems Software components Code EFPs Time: ... Memory: ... Allocation Models Energy: ... mapping HW model System EFPs Code n x CPU FPGA synthesis Performance: ... Timing: ... m x GPU Vision n x CPU Visualiza- FPGA 3D-sensor System Sensors tion and Sonar actuators • An algorithm for estimating the Worst‐Case Execution Time (WCET) for thread‐ m x GPU ... parallel programs with shared memory and locks
5)The demonstrator Software components Code EFPs Time: ... Memory: ... Allocation Models Energy: ... mapping HW model System EFPs Code n x CPU FPGA synthesis Performance: ... Timing: ... m x GPU Vision n x CPU Visualiza- FPGA 3D-sensor System Sensors tion and Sonar actuators m x GPU ...
Demonstrators Software components Code EFPs Sensors Time: ... Allocation Memory: ... Models mapping Sensors Energy: ... HW model Code System EFPs synthesis N x CPU FPGA Performance: ... Timing: ... M x GPU Vision N x CPU Visualiza- FPGA 3D-sensor System Sensors tion and Sonar actuators M x GPU ... Demonstrator II Demonstrator I Microvawe Mamacell with Underwater robot with a visual system and massive parallel computation heterogeneous platforms
The research results Visualization Software components Multcore Code using CPU/GPU CPU/GPU Code HPC parallelization Foundations EFPs ‐‐‐‐‐‐‐ Time: ... WCET for Allocation Memory: ... HW/SW Models mapping Parallel Energy: ... MCDA execution HW model Code (GPU) System EFPs synthesis N x CPU Performance: ... FPGA Timing: ... MDE . Code M x GPU generation CPU/GPU FPGA ‐Object Vision recognition N x CPU Visualiza- FPGA 3D-sensor programming System Sensors tion and Sonar actuators M x GPU GPU – scattering ... computation
Demonstrators Software components Code EFPs Sensors Time: ... Allocation Memory: ... Models mapping Sensors Energy: ... HW model Code System EFPs synthesis N x CPU FPGA Performance: ... Timing: ... M x GPU Vision N x CPU Visualiza- FPGA 3D-sensor System Sensors tion and Sonar actuators M x GPU ... Demonstrator I Demonstrator II Underwater robot with a visual system and Microwave mammography with heterogeneous platforms massive parallel computation
Demonstrator I – Platform development USB1 USB2 GE0 (RJ45) GE1 (RJ45) FE1 (RJ45) USB0 FE0 (RJ45) Quad (4) Core UNIBAP 2x USB-Serial USB PHY 2x GE PHY 2x FE PHY FE-Switch x86_64 – 64 bit CPU GIMME3+ (2.0 GHz) Up to 16 GB APU 2x ARM Cortex-A9 DDR3 Card edge CPU 12 Mgate ZynQ 7020 connector ECC GPU PS >256 MB (PCIe x16) PL FPGA 500 MHz DDR2 Power FPGA fabric supplies 2 Gpixel/s ECC Encryption 160 GFLOPS DSP MEM1 MEM0 microSD QSPI fl ash 1Gb DDR3 2Gb DDR3 Gimme I Gimme 2 Gimme 3
Recommend
More recommend