|
|
Mission Statement:
The Distributed Systems Laboratory (DSL) has been devoted to
research, development, and practical use of mobile agents. These
agents are programs that can carry their live data with them and
autonomously migrate over network. To execute mobile agents,
each computing node runs a mobile-agent execution engine that
receives agents from other nodes, schedules their execution, and
transfers them to their next destination.
We have developed execution platforms for two types of agents:
(1) cognitive mobile agents and (2) reactive multi-agents. The
former is instantiated as a coarse-grained computing entity such
as a process or a thread, containing intelligence to decide
where to go and what to do, and thereafore working on network
tasks and job coordination. The latter is instantiated as a
fine-graind computation entity such as a user-level thread or a
mobile object, including minimum rules to react to the
computation environment within a huge group of other agents, and
used for multi-agent or entity-based simulations. The following
summarized our agent platforms:
Platforms |
Type |
Features |
UWAgents
| Cognitive mobile agents
| Java-based agents intended for job management in grid computing
|
MASS
| Reactive multi-agents
| Java/C++/Cuda implementations of multi-agent spatial simulation library
|
M++
| Ractive multi-agents
| C++ based self-migrating threads
|
Related to UWAgents, MASS, and M++, our research focus includes the
following four topics:
- Parallelizing Library for
Multi-Agent Spatial Simulation This project originally
started as a part of our sensor-cloud integration project. After
having implemented a Java-based MASS library, we are now
extending it to C++ and Cuda as well as applying it to both
computation- and data-intensive applications such as:
temparature prediction and data provenance.
- Sensor Cloud Integration: (funded by UW Provost
Internationl Grant 2010)
(also in search for further funding opportunities)
This project intends to construct a grid-computing environment
across multi campuses, (particularly UW Bothell and Shizuoka
University, Japan), each provided with sensor network and server
computers, where various types of sensor data will be optimally
forwarded to applications in need for on-the-fly analysis and
mining, which thus requires dynamic program execution over these
campuses.
- AgentTeamwork:
(funded by NSF SCI #0438193, Jan 05 - Dec 07)
This is a mobile-agent-based middleware that benefits remote
computer users who hope to mutually offer their desktop
computing resource to Internet group members while their
computer is left unattended. Key to this grid is the use of
mobile agents. Each agent represents a client user, carries
his/her job request, searches for resources available for the
request, executes the job at suitable computers, and migrates it
to others when the current one has become unavailable for
use. All the features of job migration will be encapsulated in a
user program wrapper that is implemented on a Java layer between
a mobile agent and the corresponding user program. The wrapper
maintains all execution state of the user program, is carried by
the mobile agent upon a job migration, and restores its user
program at a destination. For this purpose, a user program must
be preprocessed with ANTLR to include check-pointing functions
before its execution. These functions periodically save the
execution state of a user program into its corresponding program
wrapper that can be thus smoothly carried by an agent.
- M++ Applications:
(funded by JSPS #11780187, Apr 99 - Mar 01 )
M++ self-migrating threads are C++ compiled objects, capable of
constructing computational networks and autonomously migrating
themselves over a cluster system. The main goal of M++ is to
provide a cluster computing paradigm for multi-agent simulation
that has gained popularity in the areas of artificial life
ecological simulations, and biological modeling. This type of
simulation usually requires autonomous objects, each having its
own goals and behaviors, to interact with each other in a
synthetic world. The M++ self-migrating threads match the
characteristics of such objects in multi-agent simulations, and
can thus describe them with a narrow semantics gap. Fine
granularity and large scalability are two fundamental
characteristics of this type of simulations that require fast
thread context switch and migration. With the scheduling policy
we have designed, M++ manages its threads in pin-downed pages,
so that Myrinet's network interface card can directly access and
transfer those threads without unnecessary coping operations. We
have completed the M++ system, and have programmed applications
with M++ such as ant farm, growing neural network, and remote
planet exploration.
Facilities:
The DSL has dedicated laboratory space within the UW Bothell
Computing & Software Systems (CSS) Program's 11550 square-foot
Center for Integrated Teaching, Learning, and Scholarship (CITLS,
http://depts.washington.edu/csscts/). The DSL includes two
Linux cluster systems: (1) a Myrinet-2000 cluster of eight DELL
machines, each with 2.8GHz Pentium-4 CPU and 512MB memory, and
(2) a Giga Ethernet cluster of 24 DELL computing nodes, each
with 3.2GHz Pentium-4 CPU and 512MB memory. Both the clusters
are connected to a dual-processor NFS server.
All computers within the CITLS are connected to gigabit Ethernet
within the laboratory and via 100Mbps Ethernet to the UWB campus
backbone and the Internet.
Contact:
Mail:
Munehiro Fukuda, Ph.D.
University of Washington, Bothell
Computing and Software Systems, Box 358534
18115 Campus Way N.E.
Bothell, WA 98011-8246
E-mail address:
mfukuda@u.washington.edu
Ph: +1-425-352-3459,
Fax: +1-425-352-5216
|