Dan Reed is Microsoft's Director of Scalable/Multi-Core Systems Research and head of the recently formed Universal Parallel Computing Research Centers (UPCRC): one at the University of California at Berkeley (UC-Berkeley) and a second at the University of Illinois at Urbana-Champaign (UIUC). Since we've been focusing a bit recently on the Concurrency and Parallelism Software Revolution we figured Dan would be another great technical guru to talk to about Multi/Many-Core's impact on the future of general purpose computing. The angle of this conversation focuses attention primarily on the server-side parallelism problem which is distinct from the client problem (as addressed by Burton Smith here) but part of the same wide-angle general purpose solution to the complex (and arguably fractal) general problem that spans microblips in DRAM to massive data centers.Certainly the computation Cloud of the future must not only be scalable and highly performant, but also adaptive and homeostatic in how it reacts to frequent perturbation. What are some of the challenges on the server side with respect to concurrent processing and massive scalability? Clustered server computing environments have traditionally been very good at parallel computation (compared to the general purpose client) so what's Dan and Microsoft working on to ensure our Cloud scales to ManyCore? Is machine learning being incorporated into clustered computing software adaptation and evolution?Dan has a very interesting biography:
Minh wrote:awesome video!
JoshRoss wrote:What is this dry-ah thing? Or at the very least, how do you spell it?
Charles wrote: JoshRoss wrote: What is this dry-ah thing? Or at the very least, how do you spell it? "Dryad is an infrastructure which allows a programmer to use the resources of a computer cluster or a data center for running data-parallel programs. A Dryad programmer can use thousands of machines, each of them with multiple processors or cores, without knowing anything about concurrent programming."
JoshRoss wrote: What is this dry-ah thing? Or at the very least, how do you spell it?
staceyw wrote: Charles wrote: JoshRoss wrote: What is this dry-ah thing? Or at the very least, how do you spell it? "Dryad is an infrastructure which allows a programmer to use the resources of a computer cluster or a data center for running data-parallel programs. A Dryad programmer can use thousands of machines, each of them with multiple processors or cores, without knowing anything about concurrent programming." Andrew Birrell is involved in that project - it must be good. He also has an Automatic Mutual Exclusion (AME) project for alternative to explicit locks that looks interesting.
Charles wrote: JoshRoss wrote: What is this dry-ah thing? Or at the very least, how do you spell it? "Dryad is an infrastructure which allows a programmer to use the resources of a computer cluster or a data center for running data-parallel programs. A Dryad programmer can use thousands of machines, each of them with multiple processors or cores, without knowing anything about concurrent programming."
Charles wrote: staceyw wrote: Charles wrote: JoshRoss wrote: What is this dry-ah thing? Or at the very least, how do you spell it? "Dryad is an infrastructure which allows a programmer to use the resources of a computer cluster or a data center for running data-parallel programs. A Dryad programmer can use thousands of machines, each of them with multiple processors or cores, without knowing anything about concurrent programming." Andrew Birrell is involved in that project - it must be good. He also has an Automatic Mutual Exclusion (AME) project for alternative to explicit locks that looks interesting.I sense a Going Deep with Andrew in future...C
staceyw wrote: Charles wrote: JoshRoss wrote: What is this dry-ah thing? Or at the very least, how do you spell it? "Dryad is an infrastructure which allows a programmer to use the resources of a computer cluster or a data center for running data-parallel programs. A Dryad programmer can use thousands of machines, each of them with multiple processors or cores, without knowing anything about concurrent programming." Andrew Birrell is involved in that project - it must be good. He also has an Automatic Mutual Exclusion (AME) project for alternative to explicit locks that looks interesting.
staceyw wrote: Charles wrote: staceyw wrote: Charles wrote: JoshRoss wrote: What is this dry-ah thing? Or at the very least, how do you spell it? "Dryad is an infrastructure which allows a programmer to use the resources of a computer cluster or a data center for running data-parallel programs. A Dryad programmer can use thousands of machines, each of them with multiple processors or cores, without knowing anything about concurrent programming." Andrew Birrell is involved in that project - it must be good. He also has an Automatic Mutual Exclusion (AME) project for alternative to explicit locks that looks interesting.I sense a Going Deep with Andrew in future...CThat would be awesome Charles!!I have been big fan ever sense his "Programming Threads in C#" paper. The first, and best, paper on managed threads and locks (granted I have not got Joe Duffy's book yet).Hmmm. That gives me a crazy dream. How about a panel talk on Concurrency futures with Joe Duffy, Andrew Birrell, Don Box, Dan Reed, and George Chrysanthakopoulos. Don tossed in for salt
Charles wrote: staceyw wrote: Charles wrote: JoshRoss wrote: What is this dry-ah thing? Or at the very least, how do you spell it? "Dryad is an infrastructure which allows a programmer to use the resources of a computer cluster or a data center for running data-parallel programs. A Dryad programmer can use thousands of machines, each of them with multiple processors or cores, without knowing anything about concurrent programming." Andrew Birrell is involved in that project - it must be good. He also has an Automatic Mutual Exclusion (AME) project for alternative to explicit locks that looks interesting.I sense a Going Deep with Andrew in future...C