Friday, 7 March 2014

HSA : Heteregeneous System Architecture Why and What

Posted by Mahesh Doijade
HSA, Heterogeneous System Architecture, HSA : Heterogeneous System Architecture, Why HSA, What is HSA

Why Heterogeneous System Architecture (HSA) :  

    Increasing power consumption is unfavorable across different segments of computing. There is critical need for improved battery life for laptops, tablets, and smartphones. Also, data center computing power and cooling requirements costs continue to increase. On the other side, there is need for improved performance in order to enable enhanced user experiences, to make Human Computer Interaction more natural, and to make devices to manage ever-expanding volumes of data.
    To produce these kind of user experiences, programmer productivity is another essential element that must be delivered. Software developers should be empowered to tap into new capabilities through familiar, powerful programming models.
    Also, it is most critical that software be portable across an enormous range of devices. It is daunting to sustain current trend of re-writing code for an ever enlarging number of different platforms. To overcome this industry needs a different and efficient approach to computer architecture, which solves the issues of power, performance, programmability and portability.

    With the CPUs normally a co-processor is also used for any specialized tasks such as high-end graphics, network etc. The most dominant amongst these is the graphics processing unit (GPU), mainly designed to perform specialized graphics computations in parallel. In recent years, GPUs have become more powerful and more generalized with advent of programming models such as OpenCL and CUDA, allowing them to be applied to general purpose parallel computing tasks with great power to performance factor.
    But CPUs and GPUs have been designed as separate processing elements and do not work together efficiently. Today, an increasing number of mainstream applications require the high performance and power efficiency achievable only through such highly parallel computation. As the current CPUs and GPUs have been designed to be separate processing elements, they do not work together efficiently – and are cumbersome to program. Both has a separate memory space, requiring an application to explicitly copy data from CPU to GPU and then back again.
    Here the working model is that, an application running on the CPU queues work for the GPU using system calls through a device driver stack managed by a completely separate scheduler. This introduces significant dispatch latency, with overhead that makes the process worthwhile only when the application requires a very large amount of parallel computation. Further, if a program running on the GPU wants to directly generate work-items, either for itself or for the CPU, it is impossible today, there has been some support for this since Nvidia Kepler GPU architecture but that is only restricted to these latest architecture with CUDA programming model, not otherwise.
    For leveraging full capabilities of parallel execution units, it is essential for computer system designers to think differently. The designers must re-architect compuing systems to tightly integrate the discrete compute elements on a platform into an evolved central processor while providing a programming path that does not require fundamental changes for software developers. This is main aim of the new HSA design.

What HSA does for all these prevailing issues:

    HSA provides an improved processor design that empowers with the benefits and capabilities of programming just CPUs with different processing elements, making them to work in unison seamlessly. With HSA, applications would be able to create data structures in one unified address space and can initiate work items on the hardware most appropriate for a given task. Sharing data between compute elements is as easy as sending a pointer. Multiple compute tasks can work on the same coherent memory regions, utilizing barriers and atomic memory operations as needed to maintain data synchronization similar to what multi-core CPUs do. These are some of the highlights of HSA, but it is much more than this.
    The HSA Foundation (HSAF) is formed as an open industry standards body to unify the computing industry around a common approach. HSA founding members are: AMD, ARM, Imagination Technologies, MediaTek, Texas Instruments, Samsung Electronics and Qualcomm. And there other lots of supporters from both the academia and industry.

0 comments:

Post a Comment