Designing distributed applications with mobile code paradigms
ICSE '97 Proceedings of the 19th international conference on Software engineering
StratOSphere: mobile processing of distributed objects in Java
MobiCom '98 Proceedings of the 4th annual ACM/IEEE international conference on Mobile computing and networking
Principles of distributed database systems (2nd ed.)
Principles of distributed database systems (2nd ed.)
Automatic node selection for high performance applications on networks
Proceedings of the seventh ACM SIGPLAN symposium on Principles and practice of parallel programming
A performance evaluation of the mobile agent paradigm
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Mobile Agents
Programming and Deploying Java Mobile Agents Aglets
Programming and Deploying Java Mobile Agents Aglets
TRAVELER: A Mobile Agent Based Infrastructure for Wide Area Parallel Computing
ASAMA '99 Proceedings of the First International Symposium on Agent Systems and Applications Third International Symposium on Mobile Agents
Utility Driven Mobile-Agent Scheduling
Utility Driven Mobile-Agent Scheduling
Mobile Agent Programming in Ajanta
ICDCS '99 Proceedings of the 19th IEEE International Conference on Distributed Computing Systems
Compiler Scheduling of Mobile Agents for Minimizing Overheads
ICDCS '03 Proceedings of the 23rd International Conference on Distributed Computing Systems
Decentralizing execution of composite web services
OOPSLA '04 Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
A decentralized execution model for inter-organizational workflows
Distributed and Parallel Databases
Using multi-agent systems and consensus methods for information retrieval in internet
International Journal of Intelligent Information and Database Systems
A novel strategy for multi-resource load balancing in agent-based systems
International Journal of Intelligent Information and Database Systems
Expert Systems with Applications: An International Journal
Hi-index | 0.00 |
Code migration in light of distributed data intensive computing poses interesting compilation issues. In this work, we first define a small extension to the aglet model to allow data distribution. In our aglet program, data is distributed over the network using annotations (this is similar to High Performance Fortran (HPF) where the programmer specifies data distributions through annotations). We analyze the program using the annotations and use the 'owner computes' rule to determine where a given computation should take place. The compiler then schedules the aglet through the network and also determines the data it should carry during its migration. Determining efficient schedule of the aglet and which data to carry during migration poses interesting issues.We propose two strategies to optimize the aglet schedule. The first strategy called Take All Live Data: (TALD) attempts to carry all the live definitions of variables from a given node when visited. The second strategy Take Only Needed Data (TOND) attempts to carry only those definitions whose uses are in the destination node. The goal of the first strategy is to minimize the number of migrations which are expensive due to high serialization overheads The second strategy aims to minimize bandwidth consumption during a migration. This could significantly reduce the communication overhead due to minimal amount of data carried during each migration. We have implemented both the strategies in the Jikes compiler from IBM. We have evaluated it on a distributed database application and show benefits of both the strategies on large and small databases. The results show that strategies generated by our compiler analysis reduce the overheads and improve execution time.