Company
LOGO
Development of Resource/Commander Agents
For AgentTeamwork Grid Computing Middleware
Funded By
Prepared By Enoch Mak
Spring 2005
What is AgentTeamwork ?
1. A grid-computing middleware system1. A grid-computing middleware system
2. Dispatch a collection of mobile agents 2. Dispatch a collection of mobile agents
3. Coordinate user job in decentralized manner3. Coordinate user job in decentralized manner
4. No centralized server 4. No centralized server
5. Maintain high availability 5. Maintain high availability
6. Dynamic balancing of resource allocation 6. Dynamic balancing of resource allocation
Mobile agents
Commander Resource Sentinel Bookkeeper
Coordinating other agents
Allocating resource
Monitoring job
execution
Maintaining snapshots
AgentTeamwork System Overview
FTPServer
UserA
UserB
UserB
snapshotsnapshot
snapshots snapshots
User program wrapper
SnapshotMethods
GridTCP
User program wrapper
SnapshotMethods
GridTCP
User program wrapper
SnapshotMethods
GridTCP
snapshot
User A’sProcess
User A’sProcess
User B’sProcess
TCPCommunication
Commander Agent
Commander Agent
Sentinel Agent
Sentinel Agent
Resource Agent
Sentinel Agent
Resource Agent
Bookkeeper Agent
BookkeeperAgent
ResultsResults
Resource Agent Tasks
1. Access to a central FTP server1. Access to a central FTP server
2. Download new resource XML files 2. Download new resource XML files
3. Maintains the XML files in local database3. Maintains the XML files in local database
4. Query the local database with the user job requirements 4. Query the local database with the user job requirements
5. Return a list of computing resource to Commander Agent 5. Return a list of computing resource to Commander Agent
6. Perform periodic probing the remote computers 6. Perform periodic probing the remote computers
Implementation Time Schedule
Phase 0Phase 0
1. Understanding and porting previous
assistant’s work onto medusa cluster
2. Reinstall the local database
management system (eXist)
3. Prepare some dummy XML file
1. Implement a general eXist database
interface class (XCollection)
2. Able to create/remove collection
3. Able to retrieve/store/remove/query
XML files
4. Test to download some dummy XML
file from the FTP server to the local
database server
eXist Database
XCollection (General Database
Interface Class)
Resource Agent Workflow
Commander Agent
FTP server
Resource Agent
Periodic-probing remote
computing node
XML files
Resource agent
arguments
Resource Request Message
XPath Query
List of remote
computer’s IP name
Results from the remote probing
XUpdate QueryPeriodic-probing
remote computing node
eXist Database Server
Java Virtual Machine
eXist database
Resource Agent
XML:DB API
First Application
TCP Port
Java Virtual Machine
eXist database
Java Virtual Machine
First Application
Java Virtual Machine
Java Virtual Machine
Second Application
Java Virtual Machine
Java Virtual Machine
Stand-alone
XML:DB API XML:DB API
Distribution of remote computing node
No. of nodes required
2
Backup multiplier
1
1.5
2
3
Agents that will be spawn
Sentinel0
Bookkeeper 0
Sentinel1
Bookkeeper1
Remote Probing Workflow
Resource Agent
Main Thread
Receive Message Thread
Bandwidth Test Scheduler Thread
Bandwidth Test Server Process
Child Resource
Agent
Child Resource
Agent
Child Resource
Agent
Remote Probing Results
Remote Probing Results
Remote Probing Results
Remote Probing Results
Remote Probing Bandwidth Test
Resource Agent
Main Thread
Receive Message Thread
Bandwidth Test Server Process
Child Resource
Agent
Child Resource
Agent
Child Resource
Agent
Remote Probing Results
Remote Probing Results
Remote Probing Results
Bandwidth Test Scheduler Thread
Test Request Message
Test Request Message
Test Request Message
Ready Message
Ready Message
Ready Message
Conclusion
ResultResult
1. The first version of resource agent was
developed for the AgentTeamwork project
2. Commander agent was enhanced in order to
cooperate with Resource agent
3. AgentTeamwork is now able to perform a
complete sequence of job execution
Top Related