|
|
 |
News
Colloquia
Network-transparent distributed programming in Mozart: principles, practice, and protocols
Peter van Roy
Catholic University, Belgium
Thursday, November 10, 2005
JEC 3117 - 4:00 p.m. to 5:00 p.m.
Refreshments at 3:30 p.m.
Abstract:
Distributed programming is usually considered difficult; and it is
indeed difficult with mainstream languages. We show how to greatly
simplify distributed programming by starting with an appropriate
language, Oz, and distributing it with network transparency. In the
network-transparency approach, a program can be distributed over many
nodes without changing its source code. The semantics of the program's
execution does not depend on how the program is distributed. This can
work well because the Oz language clearly distinguishes between
stateless (immutable), stateful (mutable), and single assignment
entities. We then choose a distributed protocol to implement each
language entity. By choosing the protocol wisely, we can obtain an
efficient and predictable network behavior. For example, objects are an
example of a stateful entity. They can be distributed in several ways:
as stationary objects (the usual RMI style), as cached (mobile) objects,
or as invalidation-based objects. Functions are an example of a stateless
entity. They can simply be copied between nodes, using either an eager
or a lazy protocol. The Oz language also supports dataflow and
asynchronous execution. Since distributed systems are subject to partial
failure (part of the system fails but the rest keeps running), we support
fault detection in the language. This lets us build fault-tolerance
abstractions (such as a transactional replicated object store) without
leaving the language. We also support open distributed computing, in
which independent computations can connect with each other. I will
conclude the talk with our plans for future work: factoring the distributed
protocols out of the implementation, making the system reflective (allowing
routing to be done at the Oz level), making the language and implementation
capability secure, and combining structured overlay networks (which grew
from peer-to-peer systems) with concurrent components. We have realized
these ideas in the Mozart Programming System, which is available at
http://www.mozart-oz.org under an Open Source license. We welcome new users
and developers for the ongoing work on Mozart.
Bio:
Peter Van Roy is professor in the Department of Computing Science and
Engineering at the Universit?é catholique de Louvain in Louvain-la-Neuve,
Belgium. He received an Engineering degree from the Vrije Universiteit Brussel
in 1983, a Ph.D. in Computer Science from UC Berkeley in 1990, and a
Habilitation ?à Diriger des Recherches from the Universit?é Paris VII in 1996.
His research interests started in logic programming and Prolog compilation and
then migrated to network-transparent distributed programming, with a continued
interest in programming language design and implementation. He has written a
comprehensive textbook on computer programming with his colleague Seif Haridi
that is published by MIT Press. His current interests include programming
language concepts, teaching programming, and distributed programming with
structured overlay networks and concurrent components.
Hosted by: Carlos Varela (x6912)
For more information:
Mozart Programming System
Last updated: September 30, 2005
|
 |
|
|