UWB and UW Seal Distributed Systems Laboratory
(DSL)
Computing and Software Systems       University of Washington, Bothell   
Faculty:
Munehiro Fukuda
Student Research:
CSS499 Undergraduate Research
CSS600 Individual Research
Student Achievements
Research Topics:
MASS
Sensor Cloud Integration
AgentTeamwork
M++
Resources:
Shared Space
Publications
MASS Manual
AgentTeamwork (Int'l Journal of Applied Intelligence)
M++ Manual
Related Courses:
CSS430: Operating Systems
CSS432: Network Design
CSS434: Parallel & Distributed Computing
CSS533: Distributed Computing
CSS534: Parallel Programming

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:

  1. 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.

  2. 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.

  3. 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.

  4. 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