چارچوب شبیه سازی چند عامله در خوشه های کوچک
|کد مقاله||سال انتشار||مقاله انگلیسی||ترجمه فارسی||تعداد کلمات|
|11434||2011||8 صفحه PDF||سفارش دهید||7450 کلمه|
Publisher : Elsevier - Science Direct (الزویر - ساینس دایرکت)
Journal : Engineering Applications of Artificial Intelligence, , Volume 24, Issue 7, October 2011, Pages 1120-1127
In this paper, we explore the benefits and possibilities about the implementation of multi-agents simulation framework on a Hadoop cloud. Scalability, fault-tolerance and failure-recovery have always been a challenge for a distributed systems application developer. The highly efficient fault tolerant nature of Hadoop, flexibility to include more systems on the fly, efficient load balancing and the platform-independent Java are useful features for development of any distributed simulation. In this paper, we propose a framework for agent simulation environment built on Hadoop cloud. Specifically, we show how agents are represented, how agents do their computation and communication, and how agents are mapped to datanodes. Further, we demonstrate that even if some of the systems fail in the distributed setup, Hadoop automatically rebalances the work load on remaining systems and the simulation continues. We present some performance results on this environment for a few example scenarios.
Multi-agent simulation is an important research field in today's scenario and analyzing emergent behaviors in such simulations largely depend on the number of agents involved. More the number of agents involved with detailing of agent decision making and communication, closer is the result obtained to the real world. A classic example would be simulating traffic of a city with millions of human agents and thousands of commuting agents like trains, buses. Due to large number of agents, time taken for such simulations becomes large and so we resort to a distributed computing solution. In simulations involving millions of agents, the running time for each simulation cycle can be of several seconds or even minutes; and when run for a large number of cycles, the total simulation time can be of several hours or days. If some of the machines fail during the run-time, then the entire simulation needs to be restarted. If we can somehow dynamically re-balance the work load on the remaining number of machines and maintain logs of the simulation progress, we can continue the simulation from the point of failure. So, we require a fault-tolerant and failure-resilient framework which is also easily extensible to run on a large number of processors and agents. Hadoop (http://wiki.apache.org/hadoop) is a promising option in this respect. It takes care of non-functional requirements, like scalability, fault-tolerance, load balancing, and the framework developer only needs to develop a layer for agent-based simulation on top of it. If some systems in the distributed environment fail, the simulation does not stop. Hadoop automatically rebalances the work load on remaining systems and continues to run the simulation. Further, Hadoop facilitates dynamic addition of new nodes in a running simulation. In this paper, we present a design of an agent-based simulation framework implemented on Hadoop cloud. Being developed on top of Hadoop, it inherits Hadoop's afore-mentioned advantages.
نتیجه گیری انگلیسی
Cloud computing is a recent advancement in the field of solving larger problems. Multi-agent simulations when scaled up to a large number of agents require a framework to run them. Hadoop provides a novel framework for running applications involving thousands of nodes and petabytes of data. It allows a developer to focus on agent model and their optimization without getting involved in fault-tolerance issues. Extensibility of hardware on which framework is running is made easy by Hadoop, by allowing dynamic addition of new nodes and by allowing heterogeneity between operating systems which the different nodes are running. Therefore, it provides a strong backbone for implementing large scale agent-based simulation framework. Using cached results is a major optimization in the framework. Developing better heuristics for caching results and to determine appropriate cache sites for faster access of the results are some of the challenging tasks and work is going on in this direction. A faster lookup for agents is achieved by indexing them on frequently queried agent attributes.