140 likes | 151 Views
Explore a grid-computing middleware system that dispatches mobile agents, coordinates user jobs, and maintains high availability through dynamic resource allocation and decentralized operations.
E N D
Spring 2005 Prepared ByEnoch Mak Development of Resource/Commander Agents For AgentTeamwork Grid Computing Middleware Funded By
What is AgentTeamwork ? 1. A grid-computing middleware system 2. Dispatch a collection of mobile agents 3. Coordinate user job in decentralized manner 4. No centralized server 5. Maintain high availability 6. Dynamic balancing of resource allocation
Mobile agents Commander Resource Sentinel Bookkeeper Coordinating other agents Allocating resource Monitoring job execution Maintaining snapshots
Snapshot Methods Snapshot Methods GridTCP GridTCP User program wrapper User program wrapper Results Results snapshot snapshot snapshot User A User B FTP Server snapshots snapshots AgentTeamwork System Overview User A’s Process User A’s Process User B’s Process TCP Communication Snapshot Methods GridTCP User program wrapper Sentinel Agent Sentinel Agent Sentinel Agent Commander Agent Resource Agent Resource Agent Commander Agent BookkeeperAgent Bookkeeper Agent
Resource Agent Tasks 1. Access to a central FTP server 2. Download new resource XML files 3. Maintains the XML files in local database 4. Query the local database with the user job requirements 5. Return a list of computing resource to Commander Agent 6. Perform periodic probing the remote computers
Phase 0 Phase 1 Phase 2 Phase 3 Phase 4 Phase 5 • Implement a general eXist database interface class (XCollection) • Able to create/remove collection • Able to retrieve/store/remove/query XML files • Test to download some dummy XML file from the FTP server to the local database server • Understanding and porting previous assistant’s work onto medusa cluster • Reinstall the local database management system (eXist) • Prepare some dummy XML file • Instantiate the eXist database interfacing object in the resource agent • Completing a round-trip communication from commander agent to resource agent • Test the commander and resource agents with the latest version of AgentTeamwork mobile agent execution platform • Test a complete sequence of job execution • Adding periodic remote probing to resource agent • Resource agent able to update the current status of remote computing resource to local database • Deploy the local database in a stand-alone mode • Multiple resource agent can communicate with the database at the same time Implementation Time Schedule
FTP server Commander Agent Resource agent arguments Resource Request Message XPath Query XUpdate Query Resource Agent XCollection (General Database Interface Class) Periodic-probing remote computing node Periodic-probing remote computing node eXist Database List of remote computer’s IP name Results from the remote probing XML files Resource Agent Workflow
XML file XML file XML file XML file XML file Ftp Server Remote FTP Server
Java Virtual Machine Java Virtual Machine Java Virtual Machine Java Virtual Machine Second Application eXist database eXist database Resource Agent TCP Port eXist Database Server Java Virtual Machine Java Virtual Machine Java Virtual Machine Java Virtual Machine First Application First Application Stand-alone Second Application XML:DB API Resource Agent XML:DB API XML:DB API
Backup multiplier B1 S0 , B1 S1 , B0 S1 , B0 B0 Backup S1 S0 , B1 B1 Backup Backup S0 B0 S1 S0 1 Agents that will be spawn 1.5 2 Sentinel 0 Bookkeeper 0 Sentinel 1 Bookkeeper 1 3 Distribution of remote computing node No. of nodes required 2
Remote Probing Results Remote Probing Results Remote Probing Results Remote Probing Results Child Resource Agent Child Resource Agent Child Resource Agent Remote Probing Workflow Resource Agent Main Thread Receive Message Thread Bandwidth Test Server Process Bandwidth Test Scheduler Thread
Remote Probing Results Ready Message Remote Probing Results Remote Probing Results Ready Message Test Request Message Test Request Message Ready Message Test Request Message Child Resource Agent Child Resource Agent Child Resource Agent Remote Probing Bandwidth Test Resource Agent Main Thread Receive Message Thread Bandwidth Test Server Process Bandwidth Test Scheduler Thread
Result Future Work CSS Class • Implement the bandwidth test server with Java • Perform bandwidth test between remote computers • Enhance resource agent to be resumable by bookkeeper agent • The first version of resource agent was developed for the AgentTeamwork project • Commander agent was enhanced in order to cooperate with Resource agent • AgentTeamwork is now able to perform a complete sequence of job execution • CSS 343 Data Structures and Algorithms • - Design resource agent Data structure • CSS 475 Database Systems • - Database design • CSS 430 Operating Systems • - Java Thread programming Conclusion
Questions? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?