Location
CEWIT200
Event Description

Seth Copen Goldstein
Carnegie Mellon
Time: Friday, April 5th, 2013, 2:30 pm
Location: CEWIT 200

The new convergence of parallel and distributed systems

Concurrent systems can be divided into four basic catagories:

  • Embedded-physical distributed systems (e.g., claytronics, sensor networks)
  • Geographically distributed systems (e.g., the power grid, the Internet)
  • Cloud computing systems (e.g., google clusters, etc.)
  • Parallel systems (centralized, synchronized, big-iron)

The apparent differences between these systems have led to significantly different approaches to solving the notoriously hard problem of programming them. Traditional proposed solutions have focused on specific features of each type of system. Recent advances in the underlying hardware have reduced the differences, from the programmers standpoint, between these systems making robustness, fault tolerance, and scaling equally important for all these systems.

 

In this talk I will describe Meld, a declarative, implicitly parallel programming language which holds the promise of supporting all four classes of concurrent systems. Its semantics lead to concise and efficient concurrent programs. Furthermore, it lends itself to machine-supported proofs about program properties. We have already shown that Meld is appropriate for the first two classes of systems and are currently extending it to the latter two using concepts from coordination languages.

Biography:
Dr. Seth Copen Goldstein received his Ph.D. in Computer Science at the University of California at Berkeley in 1997. In 1994 he completed his M.S. in Computer Science at the same institution. His undergraduate work was undertaken at Princeton University in the Department of Electrical Engineering and Computer Science. Currently Dr. Goldstein is an Associate Professor in the School of Computer Science at Carnegie Mellon University. Seth has started two companies in the areas of object-oriented programming tools and social media.

His research focuses broadly on ensembles: large collections of interacting agents. In the area of reconfigurable computing he investigated how to compile high-level programming languages directly into configurations which could harness the large ensemble of gates for computing. Later work involved ensembles of molecules in the area of molecular electronics. This research investigated how to design, manufacture, and use molecular-scale devices for computing. It included research in the areas of circuits, architectures, languages, and compilers. Currently, his main focus is on realizing Claytronics, a form of programmable matter. Programmable matter is an ensemble of computing elements which can be programmed to work together to produce changes in the physical properties of the ensemble. He has worked in the areas of object-oriented programming, networking, parallel computing, compilers, reconfigurable computing, molecular electronics, programmable matter, robotics, and novel architectures.