trends of sw platforms for heterogeneous multi-core systems and open source community activities -...
TRANSCRIPT
Trends of SW Platforms for Heterogeneous Multi-core systems and
Open Source Community Activities
Seung-hwa Song
Trends of SW technologies for Heterogeneous Multi-core systems
Research and Efforts to overcome Issues about H.S
Open source community activities
Why has the Multi-core Era Arrived?
Limitations of Moore’s Law (Performance Issue)
Performance-oriented design is not the main market needs today.Performance per Watt is the main requirement. (Energy Issue)
Lower power consumption of computers is becoming more and more important
Why has the Multi-core Era Arrived?
Performance per watt and power consumption of three kinds of processors
Classification of Multi Processor
SMP(Symmetric Multi Processor) - Homogeneous architecture
AMP(Asymmetric Multi Processor) - Heterogeneous architecture
- Each processor can access a common memory map- Any task can be allocated to any given processor
SMP (homogeneous architecture)
ASMP system (heterogeneous architecture)- Each processor has different structures for specialized purposes.-Each system consists of a master processor and slave processors. The
slave processors communicate with the master processor.- Some (slave) processors cannot access the common memory map and
some are designated only a special role instead.- Programmers should understand (the unique) tasks on/of/ each processor
and consider(try to create an) efficient communication mechanism.
Comparisons betweenHomogeneous and Heterogeneous Computing
Symmetric, Same cores(Usually CPUs)
Assymmetric, Different cores (CPUs, GPUs, DSPs and accelerators)
operation is guaranteed to be same at each core operation cannot be supposed to be same at each core
easy to off load tasks more complicated to off load tasks
good compatibility less compatibilityspecialized for specific tasks
Overview of MPSoC solutionsLucent Daytona(2000)- First MPSoC- Application : wireless communication router- Symmetric- A common memory map
C-5 network Processor(2001)- Application : Network packet processor- Asymmetric
Overview of MPSoC solutionsTexas Instruments OMAP architecture (2004)- Application : cell phone processor- ARM9 (master) and TMS320C55x DSP
(slave)- Asymmetric
Texas Instruments’ Davinci- Application : multimedia processor- ARM Cortex-A8, ARM M3, DSP, codec
accelerator
ARM MPcore- main applications(networking, file I/O, UI)- control slave cores
Video codec accelerators- Video compression
Data bus
DSP- Image processing
Today, most embedded system processors are heterogeneous.Even though ASMP is specialized for designer’s goal, higher performance is
always required.Recent MPSoC architecture integrates both SMP and ASMP structures.
Overview of MPSoC solutions
Overview of MPSoC solutions
AMD’s APU(Accelerated Processing Unit) Llano(2011)First CPU-GPU fused processor
Intel’s sandy bridge processor
CPU-GPU fused processing unit
Overview of MPSoC solutionsVarious mobile application processors
Software Issues with Heterogeneous SystemsOffloading - Task offloading is a main goal of multi core system - In heterogeneous system, task offloading is not easy
Data sharing - Overhead of data transferring via memory bus is important issue - The results from each processing unit should be integrated - the number of memory copy should be minimized.
Programmability - S/W development productivity is important
Software Issues with Heterogeneous Systems, Continued
How can programmers develop S/W for each different processor easily? (Usability)
How can we move code from a system to other systems? (Portability)
HSA FoundationsHSA creates an improved processor design that exposes the benefits and capabilities of mainstream programmable computer elements. Each part works together seamlessly.
Commercial Solutions for parallel computing
AMD - Accelerated Parallel Processing SDK(AMD cores)
Intel - parallel studio(Intel cores)
Nvidia - CUDA(Nvidia GPU)
Open projects for parallel computing
OpenMP(Only CPU)
OpenACC(CPU, GPU)
OpenCL(Various processors)
Introduction to OpenCL
Open Computing Language (OpenCL) is a framework for writing programs that execute across heterogeneous platforms consisting of CPUs, GPUs, DSPs, FPGAs and other processors. (Source: Wikipedia)
OpenCL is an open standard maintained by the Khronos Group.
Programming model executable across various types of processors
Introduction to OpenCL
the abstract concept of the modern high-level programming language is abandoned in OpenCL
OpenCL provides an abstract programming model for heterogeneous hardware so that programmers are able to control processor resources more flexibly
While Nvidia’s CUDA is a solution to maximize use of only GPUs, the goal of OpenCL is to utilize any available processor resources
But main use of OpenCL is focused on GPUs currently.
Introduction to OpenCL
HOST
ProcessingElement
Compute UnitOpenCL device
OpenCL compliant processors
Vendors supporting OpenCL :AMD, Intel, Apple, Qualcomm, Imagination Technologies, STMicroelectronics, IBM, Samsung, NVIDIA
http://www.khronos.org/conformance/adopters/conformant-products#opencl
Other projects using OpenCL
Activities of ETRI
The Industrial S/W platform technology for heterogeneous systems was weak.
OS, platforms and software libraries for heterogeneous multi core systems are becoming more and more important.
Activities of ETRI
R&D road map
- Advanced OS kernel- CPU-GPU load balancing enhancement- IDE tool supporting S/W development based on heterogeneous multi-core- Power consumption measurement of multi-core processor
Research by ETRI
Advanced OS kernel with high-efficient load balancing scheduler
CPU-GPU load balancing enhancement
High efficient energy OS and energy consumption monitoring technology
The Role of OpenSEEDDistribution of open source developed by research institutes
http://opensw-seed.org
Role of OpenSEED
OpenCV ocl(OpenCL) module test
Conclusion
The heterogeneous system era has already arrived.
Open projects and organizations are supporting the SW platform standard for heterogeneous systems.
Software platforms and its advances are essential because heterogenous systems are sophisticated.
New technologies should be distributed to contribute to the industry based on heterogeneous systems.
Thank you
You can download this presentation file athttp://sshlab.blogspot.com
References
OpenSEED
http://opensw-seed.org/
http://www.slideshare.net/manglamjaiswal1/multicore-processor-technology
http://www.slideshare.net/AMD/amd-isscc-keynote
The world’s first combination of low-power CPU and advanced GPU integrated into a single embedded device.
http://www.amd.com/Documents/49282_G-Series_platform_brief.pdf
http://ieeexplore.ieee.org/xpl/login.jsp?tp=&arnumber=6031577&url=http%3A%2F%2Fieeexplore.ieee.org%2Fxpls%2Fabs_all.jsp%3Farnumber%3D6031577
AMD HSA : http://developer.amd.com/resources/heterogeneous-computing/what-is-heterogeneous-system-architecture-hsa/
HAS Foundation : http://hsafoundation.com/
Khronos OpenCL : http://www.khronos.org/opencl/
Khronos Web CL : http://www.khronos.org/webcl/