advanced science
& engineering
no title
banner

General Purpose Programming of Many-Core Devices and Systems : Why is parallel programming so hard?

By Steven Ericsson-Zenith

This presentation discusses problems and solutions to the general purpose programming problem on highly parallel systems. Prepared for the Gelato Many-Core Workshop in Shanghai, March 28th 2008.

{ Immediacy }

Abstract

General Purpose Programming of Many-Core Devices

This talk will highlight general purpose programming of many-core devices and many-core systems.

General purpose programming of parallel machines is hard because the engineering models and languages we use distract the programmer from the task at hand: the functional composition of applications. I will discuss the process oriented programming model that is the basis of my work and also provide some historical anecdotes from my experience with Occam and the Transputer.

Parallel programming requires the use of formal methods to manage the complexities involved. The rules of programming with concurrency are well-known, they have been known for decades, and they resolve the traditional challenges. They simply must be followed. We can remove this burden from the programmer by providing tools and systems built on rigorous foundations.

I will also discuss the Carnap programming language and framework and the open source project that is implementing a compiler for that language for many-core platforms.

Further details of these technologies can be found on the web at Process-Interaction-Models.info and Carnap.info

Copyright © 2008, Steven Ericsson-Zenith (All Rights Reserved)

Institute for Advanced Science & Engineering

A 501(c)3 nonprofit organization incorporated in California.

format: memeio/xsl/xhtml.

this page generated by memeio Thursday, March 27th 2008 3:50 p.m. -08:00