
Exploring Parallel and Distributed Programming Models in River

River is a parallel and distributed programming environment written in
Python.  The River core interface is based on a few fundamental concepts
that enables the execution of code on multiple virtual machines and
provides a flexible mechanism for communication. These concepts are
supported by the River run-time system, which manages automatic
discovery, connection management, and naming.  While River can be used
directly by an application programmer, the simplicity and elegance of
the River core combined with Python's dynamic typing and concise
notation make it easy to develop a wide range of parallel and
distributed programming models.  In this talk we will look at
programming models we have implemented in River including a new, simple
interface called Trickle and a River implementation of MPI.  We will
also describe the River core and how it is used to develop these
extensions.


