MPI-INF Logo
Campus Event Calendar

Event Entry

What and Who

Ct and Pillar: Building a Foundation for Many-Core Programming

Neal Glew
Intel Corporation
SWS Colloquium

Neal got his PhD in computer science from Cornell University in 2000
before going to work for InterTrust Technologies Corporation. He
shifted to Intel in 2002, where he is today, and worked on Java virtual
machines, typed assembly language, and parallel languages.

Neal was the co-recipient this year of the Most Influential POPL Paper
(10 years later) award, for his POPL'98 paper with Morrisett, Walker,
and Crary, "From System F to Typed Assembly Language."
SWS  
AG Audience
English

Date, Time and Location

Thursday, 3 July 2008
15:00
60 Minutes
E1 5
Rotunda 6th floor
Saarbrücken

Abstract

Seemingly fundamental limitations in hardware manufacturing are
driving an industry-wide move away from speedy but complex single core
processors towards simpler but massively parallel many-core
processors. The job of discovering parallelism (and hence achieving
performance) on these new chips is left to software: that is, the
programmers and their tools. Parallel programming has traditionally
been a specialty area requiring extensive expertise, and
non-deterministic concurrency introduces vast new classes of
exceptionally difficult to eliminate bugs. In short, the job of
programming becomes much harder on many-core processors. In order for
programmers to cope successfully with these challenges, the software
tools used to program many-core processors must take a giant leap
forward. Specifically, programming abstractions and languages must be
designed to allow programmers to easily express parallelism in a way
that is scalable, performant, and most of all, correct. This talk
discusses the problem in more detail, and describes two projects aimed
at supporting this goal. The Pillar implementation language is a
C-like high level compiler target language intended to provide the key
sequential and concurrent constructs needed to efficiently implement
task-parallel languages, while the Ct language is a system for
exploiting the key area of data-parallelism using ideas from
functional programming. Together, these two systems provide a
foundation upon which a wide variety of abstractions and languages for
expressing parallelism can be built.

Contact

Claudia Richter
9325 688
--email hidden
passcode not visible
logged in users only

Claudia Richter, 06/26/2008 10:29 -- Created document.