Project: MESSENGERS
AND NAVIGATIONAL PROGRAMMING
This project is developing a new programming paradigm,
called Navigational Programming, for
distributed systems based on the principles of autonomously migrating
processes, called Messengers. Each Messenger
is able to migrate among nodes of a local area network using explicit hop
statements, which support strong migration. Unlike mobile agents used for a
variety of services on the Internet, the MESSENGERS system is intended for
general-purpose scientific computing.
Some of the advantages of migrating processes, as compared to stationary
message-passing processes, are highlighted in the following Project Summary.
Participants
Faculty:
PhD
Students:
Recent
PhD/MS Graduates:
- Munehiro Fukuda (University of Washington,
Bothel)
Ph.D. Dissertation: MESSENGERS: A
Distributed Computing System Based on Autonomous Objects (190 pages,
Postscript), 1997
- Fehmina Merchant (IBM, New York)
Ph.D. Dissertation: Load Balancing in Spatial Individual-Based Systems
using Autonomous Objects (143 pages, Postscript), 1998
- Susan
Mabry (Whitworth College, Spokane,
WA)
Ph.D. Dissertation: SimAgents: Migrating Agents for Simulation Models, 1999
- Katherine
Morse (SAIC, San Diego,
CA)
Ph.D. Dissertation: An Adaptive, Distributed Algorithm for Interest Management
(216 pages, Postscript), 2000
M.S. Thesis: Graphical Interface for Paradigm Oriented
Distributed Computing (60 pages, PDF), 2000
- Eugene
Gendelman (Bloomberg, New York,
NY)
Ph.D. Dissertation: Virtual Infrastructure for Mobile Agent Computing
(243 pages, Postscript), 2002
- Hairong Kuang (Yahoo,
Sunnyvale, CA)
Ph.D. Dissertation: Paradigm-Oriented Distributed Computing Using
Mobile Agents (153 pages, Postscript), 2002
- Lei Pan (JPL, Pasadena, CA)
Ph.D. Dissertation
(abstract): Navigational Programming,
2005
- Richard
Utter (NSA, Washington,
D.C.)
Ph.D.
Dissertation: Diactoros:
Full State Migration, (190 pages, PDF), 2006
- Koji
Noguchi (Yahoo, Sunnyvale,
CA)
Ph.D.
Dissertation: Spontaneous Process
Migration with Global Pointers, (160 pages, PDF), 2006
Visiting
Students:
Publications
(Shows how autonomous objects can
navigate in a simulated spatial environment)
(This is similar to the subsequent
article in IEEE COMPUTER (below) -- it presents potential application areas and
surveys related approaches)
(Discusses a specific simulation
application for Toxicology)
(Presents MESSENGERS as a
coordination paradigm for constructing distributed applications)
(Surveys several lines of research
related to aunonmous objects and coordination)
(Presents initial performance
results)
(Illustrates how navigational
programming differs from message-passing and shows the advantages)
(Discusses the mapping problem for
MESSENGERS, that is, mapping of Messengers to logical nodes, logical nodes to
daemon nodes, and daemon nodes to physical nodes. Presents new ways of load
balancing, resource utilization, and granularity control)
(Presents the navigational
calculus and shows how it is used to dynamically compose an application)
- Mobile Network Objects (23 pages,
Postscript), Encyclopedia of Electrical and Electronics Engineering, John
Wiley & Sons, Inc., 1998
(An introductory overview of
mobile agents technologies)
(Octopus is a tool superimposed on
the MESSENGERS environment. It permits individual Messengers to periodically
report information about themselves, e.g., their current position in a
simulated space, which Octopus is able to display in real time for the purposes
of visualization of the ongoing computation)
(8 pages, PDF), Int'l Biomedical
Optics Symposium (BIOS'98), special section on Biomedical Sensing, Imaging and
Tracking Technologoes, San Jose, CA, Jan. 1998
(Discusses a large biomedical application -- the simulation of a cardiovascular
system)
(Presents an approach to automatic
state capture by restricting migration to the top coordination layer as
implemented in the MESSENGERS system)
(Discusses the advantages of
having global virtual time support provided by the system when implementing
individual-based simulations)
(Discusses the implementation of
fully transparent state capture and restoration for the purposes of migration
or local context switch. This is possible even under a fully compiled version
of the MESSENGERS system)
(Presents three specific
algorithms to do load balancing in applications where a group of individuals
(or particles) move autonomously through a simulated environment and perform
some coordinated group movement. Shows performance evaluation of these
algorithms.)
(A more extensive version of the
paper with the same title presented at ICDCS'97 -- see above -- it illustrates
how navigational programming differs from message-passing and shows the advantages
both qualitatively and quantitatively)
(Introduces a special abstract
data type into MESSENGERS. The dynamic structures belonging to a Messenger are
carried automatically whenever the Messenger hops between nodes)
(A new approach to state
capture/restoration of a mobile agent during migration)
(A cluster computing paradigm that
combines navigational autonomy of agents with fine granutality
of threads)
- Efficient Checkpointing
Algorithm for Distributed Systems with Reliable Communication Channels
(2 pages, Postscript), IEEE Symp. on Reliable
Distributed Systems (SRDS'99), Lausanne,
Switzerland,
Oct. 1999
- Bridging Semantics Gaps with Migrating Agents
(6 pages, PDF), Int'l Conf. on Parallel and Distributed Computing Systems
(PDCS'99), Cambridge, MA, Nov. 1999
- PODS: Paradigm-Oriented Distributed Computing
(7 pages, Postscript), 7th IEEE Workshop on Future Trends of Distributed
Computing Systems (FTDCS'99), Cape Town, South Africa, Dec. 1999
- Modeling Cardiovascular Flow with a Migrating
Agent Systems (6 pages, PDF), Int'l Conf. on Health Sciences
Simulation, San Diego,
CA, Jan. 2000
- Paradigm-Oriented Distributed Computing Using
Mobile Agents (9 pages, Postscript), Int'l Conf. on Distributed
Computing Systems (ICDCS-2000), Taipei,
Taiwan,
April 2000
- An Application-Transparent,
Platform-Independent Approach to Rollback-Recovery for Mobile Agent
Systems (8 pages, Postscript), Int'l Conf. on Distributed Computing
Systems (ICDCS-2000), Taipei,
Taiwan,
April 2000
- Superboundary Exchange:
A Technique for Reducing Communication in Distributed Implementations of
Interactive Computations (15 pages, Postscript), Int'l Conf. on
Algorithms and Architectures for Parallel Processing (ICA3PP-2000), Hong Kong, December 2000
- Process Interconnection Structures in
Dynamically Changing Topologies (10 pages, Postscript), Int'l Conf.
on High Performance Computing (HiPC-2000), Bangalore, India,
December 2000
- Distributed Sequential Computing Using Mobile
Code: Moving Computation to Data (8 pages, PDF), Int'l Conf. on
Parallel Processing (ICPP-01), Valencia,
Spain,
September 2001
- Fast File Access for Fast Agents (15 pages,
Postscript), Int'l Conf. on Mobile Agents (MA2001), Atlanta, GA,
Dec. 2001
- MESSENGERS: Distributed Programming Using Mobile
Agents (17 pages, PDF), Transaction of the Society for Design and Process Science
(SDPS), Vol. 5, No. 4, Dec. 2001
- Shared
Variable Programming Beyond Shared Memory: Bridging Distributed Memory
with Mobile Agents (11 pages, PDF), The Sixth International
Conference on Integrated Design and Process Technology (IDPT02),
Pasadena, CA, June 2002
- Communication
Reduction in Iterative Grid-based Computing Using SuperBoundary
Exchange Technique (6 pages, Postscript), The 20th IASTED
International Multi-Conference Applied Informatics (AI-2002), Innsbruck, Austria, February, 2002
- Iterative
Grid-based Computing Using Mobile Agents (9 pages. Postscript),
International Conference on Parallel Processing (ICPP-2002), Vancouver, British
Columbia, Canada,
August, 2002
- Mobile Agents -- The Right Vehicle for
Distributed Sequential Computing (10 pages, PDF), Int'l Conf. on High
Performance Computing (HiPC-2002), Bangalore,
India,
December 2002
- Distributed Parallel Computing Using
Navigational Programming: Orchestrating Computations Around Data (6
pages, PDF), Int'l Conf. on Parallel and Distributed Computing and
Systems (PDCS 2002), Cambridge, MA, November 2002
- Estimation of Multimedia Inorganic
Arsenic Intake in the U.S. Population (25 pages, PDF), Human and
Ecological Risk Assessment, Vol. 8, No. 7, pp. 1697-1721, 2002
- GIDM: Globally-Indexed Distributed Memory (7
pages, Postscript), 9th IEEE Workshop on Future Trends of Distributed
Computing Systems (FTDCS 2003), San Juan, Puerto Rico, May 2003
- Facilitating Agent Navigation Using DSM - High
Level Designs (11 pages, PDF), The Seventh World Conference on Intergrated Design & Process Technology
(IDPT03), Houston, TX, Dec 2003
- A Mobile-Agent-Based PC Grid (9 pages,
Postscript), The 5th Annual International Workshop on Active Middleware
Services (AMS2003), Seattle,
WA, June 2003
- From Distributed Sequential Computing to
Distributed Parallel Computing (8 pages, PDF), The 5th Workshop on
High Performance Scientific and Engineering Computing with Applications
(HPSECA-03), Kaohsiung, Taiwan, ROC, October 2003
- NavP Versus SPMD: Two
Views of Distributed Computation (8 pages, PDF), Int'l Conf. on Parallel
and Distributed Computing and Systems (PDCS 2003), Marina del Ray, CA,
November 2003
- Distributed Sequential Computing (18
pages, PDF), Advanced Parallel and Distributed Computing. Series:
Advances in Computation: Theory and Practice, Vol. 16, (Y. Pan and L.T.
Yang, Eds.), Nova Science Publishers, Inc., New York, 2004
- Distributed Parallel Computing Using
Navigational Programming (37 pages, PDF), International Journal of
Parallel Programming, Vol. 32, No. 1, Feb. 2004
- PODC: Paradigm-Oriented Distributed Computing
(13 pages, PDF), Journal of Parallel and Distributed Computing, No. 65,
2005 (www.sciencedirect.com)
- Incremental Parallelization Using Navigational
Programming: A Case Study (10 pages, PDF), International Conference on Parallel
Processing (ICPP-2005), Oslo,
Norway,
June 2005
- Mobile Pipelines:
Parallelizing Left-Looking Algorithms Using Navigational Programming (12 pages, PDF), 12th IEEE Int'l Conf.
on High Performance Computing (HiPC-2005), Goa, India, December 2005
- Toward Incremental Parallelization, (9
pages PDF), IEICE Trans. Inf. & Syst., Vol. E89-D, No. 2, pp.
390-398, Feb. 2006
- Toward Automatic Data Distribution for Migrating
Computations (8 pages, PDF), Int'l Conf. on Parallel Processing (ICPP
07), Xian, China,
Sept. 2007
- Efficient Global Pointers With Spontaneous
Process Migration (8 pages, PDF), The 16th Euromicro Conference on
Parallel Distributed and Network-based Processing (PDP 2008), Toulouse,
France, February 2008
Technical
Reports
There are two independent versions
of MESSENGERS: MESSENGERS-I, and MESSENGERS-C, where "I" stands for
"interpreted", and "C" stands for "compiled". The
MESSENGERS-C is faster than MESSENGERS-I, but MESSENGERS-I has a Virtual Time
support.
User
Manuals and System Installation for MESSENGERS-C
- MESSENGERS-C
(Version 2.1) User Manual provides a description of the MESSENGERS-C
(Version 2.1) functionality and installation.
- MESSENGERS-C
(Version 1.2.04) User Manual provides a description of the MESSENGERS-C
(Version 1.2.04) functionality and installation (stable version).
- MESSENGERS-C
(Version 1.2.05) User Manual provides a description of the
MESSENGERS-C (Version 1.2.05) functionality and installation
(experimental version).
- Net
Creator User Manual describes tools that can be used to automatically
create a logical network for MESSENGERS-C system
- Graph
Creator User Manual describes yet another, graphical tool that can be
used for logical network creation. The files output by GraphCreator should be used as input to the NetScheduler program, described in the "Net
Creator User Manual"
- The MESSENGERS
software may be obtained free of charge for non-commercial purposes.
User
Manuals and System Installation for MESSENGERS-I
- MSGR01 MESSENGERS
User's Manual
- MSGR02 MESSENGERS
System Library
- MSGR03 MESSENGERS
Daemon Design Book
- MSGR04 MESSENGERS:
Intermediate Code Specification
- MSGR05 MLEX:
The MESSENGERS Assembler
- MSGR06 MESSENGERS-C
Compiler
- The MESSENGERS
software may be obtained free of charge for non-commercial purposes.
Installation instructions are given in MSGR01: MESSENGERS
User's Manual. If you are interested in installing/using MESSENGERS on
your system, please send a message to mfukuda@u.washington.edu to
receive a decryption keyword.