SPLASH 2011: David Ungar - Self, ManyCore, and Embracing Non-Determinism
- Posted: Nov 17, 2011 at 6:00 AM
- 61,863 Views
- 6 Comments
Loading User Information from Channel 9
Something went wrong getting user information from Channel 9
Loading User Information from MSDN
Something went wrong getting user information from MSDN
Loading Visual Studio Achievements
Something went wrong getting the Visual Studio Achievements
Right click “Save as…”
It's an honor to finally have David on Channel 9, to get to ask him about what inspired the Self project, what he's up to today, and what he thinks are currently the biggest problems in computing. Of course, David has lately been busy working on the concurrency problem—how does one reasonably program 1,000 core machines, anyway? Here's an excerpt from the description of his excellent SPLASH 2011 talk on how to think about and program ManyCore (I was there. Dave is (again) way ahead of his time for sure, and he's working with a great cast including Sam Adams, Doug Kimelman, and Mark Wegman...):
In our Renaissance project at IBM, Brussels, and Portland State, we are investigating what we call "anti-lock," "race-and-repair," or "end-to-end nondeterministic" computing. As part of this effort, we have built a Smalltalk system that runs on the 64-core Tilera chip, and have experimented with dynamic languages atop this system. When we give up synchronization, we of necessity give up determinism. There seems to be a fundamental tradeoff between determinism and performance, just as there once seemed to be a tradeoff between static checking and performance.
The obstacle we shall have to overcome, if we are to successfully program manycore systems, is our cherished assumption that we write programs that always get the exactly right answers. This assumption is deeply embedded in how we think about programming. The folks who build web search engines already understand, but for the rest of us, to quote Firesign Theatre: Everything You Know Is Wrong!
Recently, Channel 9 was invited to attend the great SPLASH conference. What is SPLASH? Systems, Programming, Languages and Applications: Software for Humanity. A big thanks to the SPLASH event organizers for inviting me and my camera to engage some key computer scientists and engineers in geeky, fun conversation! SPLASH is a great event! I learned a ton and met many amazing computer scientists and students.
SPLASH is an annual conference that embraces all aspects of software construction and delivery, and that joins all factions of programming technologies. Since 2010 SPLASH is the umbrella for OOPSLA and Onward! [source=splashcon.org]