Over a million developers have joined DZone.

Heterogeneous Computing Is Here, Now

DZone's Guide to

Heterogeneous Computing Is Here, Now

· Cloud Zone
Free Resource

Are you joining the containers revolution? Start leveraging container management using Platform9's ultimate guide to Kubernetes deployment.

Interoperability? Sure, but how closely do you want those systems coupled?

Put another way: what kind of arch-system do you want? a network -- or a single new computer?

If your ultimate desideratum is an effectively single computer -- a single computing agent -- then you'll need to unify your systems at a deeper level, with a lower-level architecture (than, say, EAI). The parts won't be computers, from the point of view of the arch-machine, but rather computational units.

The 'system-of-systems computer' dream usually takes two forms: reductive, which requires atomization and reassembly; and non-reductive, which accepts existing structures (like any matter-agnostic integration), but integrates these structures fully (like mitochondria in cells, eventually). The reductive form, composed of identical units, is as old as Pythagoras (and probably won't climax until the thing/information distinction falls apart, quantum computing notwithstanding); the non-reductive, comprising heterogeneous units, is far more thermodynamically plausible -- but, in non-organic systems, still struggles to penetrate deeper than the level of 'networking'.

The crudest practical benefit of heterogenous computing is: the annihilation of Moore's Law. Sweet enough, if you're really into transistors, and getting a little annoyed at c and k and G.

But heterogeneous computing's bigger promise has no technical blinders. And the requisite technologies, abstraction layers, and manufacturing techniques are coming together right now.

Witness the birth of a new standard: Earlier this year, AMD re-branded their Fusion System Architecture as 'Heterogenous Systems Architecture (HSA)' -- an open platform standard whose goal is to enable developers to write for heterogeneous computing systems, without having to worry about each of the units' internals. In other words: there is now a developing standard for legitimately low-level architecture that weds many computers as (non-reductively) one. (Next to HSA, says AMD CTO Joe Macri, straight-up OpenCL still looks like a network, not an arch-computer.) The full, open specification should be available in the second half of 2012.

Witness, further, the conference circuit. Until very recently, concentrated work on heterogeneous computing had been presented mainly at conferences on high-performance computing -- fascinating for the computer scientist and computer engineer, but still a little head-in-the-circuits for practical-minded software developers.

Enter AMD. Last year, AMD hosted the first 'Fusion' developer conference, named after their highly successful CPU-GPU coupling. Another Fusion conference is coming this year -- AMD is calling it 'the epicenter of heterogenous computing' -- and the session catalog, which just went online, offers an excellent snapshot of heterogeneous computing's state-of-the-art, from the software developer's craft-style point of view.

Here are just a few session titles:

  • Hadoop and GPU Compute
  • Aparapi: OpenCL GPU and Multi-Core CPU Heterogeneous Computing for Java
  • Interaction Continuum : Touch Through Gesture
  • Global Illumination Using Ray-Bundle Tracing
  • GPGPU Algorithms: How Heterogenous Systems Architecture Can Be Leveraged to Optimize Such Algorithms in Video Games
  • Efficient Clustering for Amorphous "Big Data" Streams
  • On Heterogeneous Parallel Computations: GPU vs APU
  • Harnessing GPU Compute with C++ AMP
  • GPU Acceleration in Chrome
  • Fabric Engine: High-Performance Computing for Dynamic Languages

The full session catalog is available here (including abstracts!). (Note that a substantial ($200) early registration discount is still available until May 20.) Updates are pushed through the AMD Developer Central newsletter.

The Fusion conference presentations don't presuppose any deep familiarity with the concept of heterogenous computing, from either engineering of development perspectives. But here are a few resources to get you up to speed:

Exciting times, to understate the point again. Consider attending the conference to keep up to speed, and then maybe follow the Heterogeneous Systems Architecture open standard, especially when the spec is released later this year.

Using Containers? Read our Kubernetes Comparison eBook to learn the positives and negatives of Kubernetes, Mesos, Docker Swarm and EC2 Container Services.


Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}