Trends of SW Platforms for Heterogeneous Multi-core systems and Open Source Community Activities -...

37
Trends of SW Platforms for Heterogeneous Multi- core systems and Open Source Community Activities Seung-hwa Song

Transcript of Trends of SW Platforms for Heterogeneous Multi-core systems and Open Source Community Activities -...

Page 1: Trends of SW Platforms for Heterogeneous Multi-core systems and  Open Source Community Activities - ISET2014

Trends of SW Platforms for Heterogeneous Multi-core systems and

Open Source Community Activities

Seung-hwa Song

Page 2: Trends of SW Platforms for Heterogeneous Multi-core systems and  Open Source Community Activities - ISET2014

Trends of SW technologies for Heterogeneous Multi-core systems

Research and Efforts to overcome Issues about H.S

Open source community activities

Page 3: Trends of SW Platforms for Heterogeneous Multi-core systems and  Open Source Community Activities - ISET2014

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

Page 4: Trends of SW Platforms for Heterogeneous Multi-core systems and  Open Source Community Activities - ISET2014

Why has the Multi-core Era Arrived?

Performance per watt and power consumption of three kinds of processors

Page 5: Trends of SW Platforms for Heterogeneous Multi-core systems and  Open Source Community Activities - ISET2014

Classification of Multi Processor

SMP(Symmetric Multi Processor) - Homogeneous architecture

AMP(Asymmetric Multi Processor) - Heterogeneous architecture

Page 6: Trends of SW Platforms for Heterogeneous Multi-core systems and  Open Source Community Activities - ISET2014

- Each processor can access a common memory map- Any task can be allocated to any given processor

SMP (homogeneous architecture)

Page 7: Trends of SW Platforms for Heterogeneous Multi-core systems and  Open Source Community Activities - ISET2014

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.

Page 8: Trends of SW Platforms for Heterogeneous Multi-core systems and  Open Source Community Activities - ISET2014

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

Page 9: Trends of SW Platforms for Heterogeneous Multi-core systems and  Open Source Community Activities - ISET2014

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

Page 10: Trends of SW Platforms for Heterogeneous Multi-core systems and  Open Source Community Activities - ISET2014

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

Page 11: Trends of SW Platforms for Heterogeneous Multi-core systems and  Open Source Community Activities - ISET2014

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

Page 12: Trends of SW Platforms for Heterogeneous Multi-core systems and  Open Source Community Activities - ISET2014

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

Page 13: Trends of SW Platforms for Heterogeneous Multi-core systems and  Open Source Community Activities - ISET2014

Overview of MPSoC solutionsVarious mobile application processors

Page 14: Trends of SW Platforms for Heterogeneous Multi-core systems and  Open Source Community Activities - ISET2014

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

Page 15: Trends of SW Platforms for Heterogeneous Multi-core systems and  Open Source Community Activities - ISET2014

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)

Page 16: Trends of SW Platforms for Heterogeneous Multi-core systems and  Open Source Community Activities - ISET2014

HSA FoundationsHSA creates an improved processor design that exposes the benefits and capabilities of mainstream programmable computer elements. Each part works together seamlessly.

Page 17: Trends of SW Platforms for Heterogeneous Multi-core systems and  Open Source Community Activities - ISET2014
Page 18: Trends of SW Platforms for Heterogeneous Multi-core systems and  Open Source Community Activities - ISET2014

Commercial Solutions for parallel computing

AMD - Accelerated Parallel Processing SDK(AMD cores)

Intel - parallel studio(Intel cores)

Nvidia - CUDA(Nvidia GPU)

Page 19: Trends of SW Platforms for Heterogeneous Multi-core systems and  Open Source Community Activities - ISET2014

Open projects for parallel computing

OpenMP(Only CPU)

OpenACC(CPU, GPU)

OpenCL(Various processors)

Page 20: Trends of SW Platforms for Heterogeneous Multi-core systems and  Open Source Community Activities - ISET2014

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

Page 21: Trends of SW Platforms for Heterogeneous Multi-core systems and  Open Source Community Activities - ISET2014

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.

Page 22: Trends of SW Platforms for Heterogeneous Multi-core systems and  Open Source Community Activities - ISET2014

Introduction to OpenCL

HOST

ProcessingElement

Compute UnitOpenCL device

Page 23: Trends of SW Platforms for Heterogeneous Multi-core systems and  Open Source Community Activities - ISET2014

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

Page 24: Trends of SW Platforms for Heterogeneous Multi-core systems and  Open Source Community Activities - ISET2014

Other projects using OpenCL

Page 25: Trends of SW Platforms for Heterogeneous Multi-core systems and  Open Source Community Activities - ISET2014

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.

Page 26: Trends of SW Platforms for Heterogeneous Multi-core systems and  Open Source Community Activities - ISET2014

Activities of ETRI

Page 27: Trends of SW Platforms for Heterogeneous Multi-core systems and  Open Source Community Activities - ISET2014

R&D road map

Page 28: Trends of SW Platforms for Heterogeneous Multi-core systems and  Open Source Community Activities - ISET2014

- 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

Page 29: Trends of SW Platforms for Heterogeneous Multi-core systems and  Open Source Community Activities - ISET2014

Advanced OS kernel with high-efficient load balancing scheduler

Page 30: Trends of SW Platforms for Heterogeneous Multi-core systems and  Open Source Community Activities - ISET2014

CPU-GPU load balancing enhancement

Page 31: Trends of SW Platforms for Heterogeneous Multi-core systems and  Open Source Community Activities - ISET2014

High efficient energy OS and energy consumption monitoring technology

Page 32: Trends of SW Platforms for Heterogeneous Multi-core systems and  Open Source Community Activities - ISET2014

The Role of OpenSEEDDistribution of open source developed by research institutes

http://opensw-seed.org

Page 33: Trends of SW Platforms for Heterogeneous Multi-core systems and  Open Source Community Activities - ISET2014

Role of OpenSEED

OpenCV ocl(OpenCL) module test

Page 34: Trends of SW Platforms for Heterogeneous Multi-core systems and  Open Source Community Activities - ISET2014

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.

Page 35: Trends of SW Platforms for Heterogeneous Multi-core systems and  Open Source Community Activities - ISET2014

Thank you

You can download this presentation file athttp://sshlab.blogspot.com

Page 36: Trends of SW Platforms for Heterogeneous Multi-core systems and  Open Source Community Activities - ISET2014

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