Information Technology Reference
In-Depth Information
intervals; (2) tracking of each agent, which includes checking and
updating each agent's state; (3) a decision-making process for each
agent (e.g., dispatch the train at simulation time t ); (4) adaptive agent
process that allows agents to adapt to different situations (e.g., when
a train arrives at a station, commuter agents need to board or leave
the train); (5) interactions between agents (e.g., communication
between train agents and station agents when the train arrives at the
station, communication between commuter agents and train agents
when the commuter boards the train) and management of tasks and
data flows on the hybrid cloud utilizing the cloud WfMS.
A discussion of the implementation aspects of the architecture and its
performance is presented next.
4.6 Discussion and Lessons Learned
The agent-based simulation is based on three phases: create agents, define
attributes, and run the simulation. To test the scalability of the model,
we evaluated two different setups. The first one uses the ZeroMQ (ZMQ)
technology [13] in our hybrid cloud. ZMQ is a low-latency asynchronous
message-passing library that is used in scalable distributed or concurrent
applications. The second one is a hybrid cloud test bed. The private cloud
component of the hybrid cloud is composed of 64 cores (hyperthreaded) and
a 2.2-GHz processor with 128 GB of memory. On top of this infrastructure,
we deployed 50 VMs, with each VM an Ubuntu 12.04 with 1 core and 4 GB of
memory. The public cloud is composed of 1,000 Amazon EC2 small instances
(1 core with 1 ECU and 1.7 GB of memory).
Scaling of the “create agents” and “define attributes” phases is achieved
through the division of the workload, with each process handling a group
of agents. For example, in a simulation with 7 million commuters running
on an infrastructure containing 1,000 VMs, creation of commuter agents was
split among the VMs in such a way that each VM handled the creation of
7,000 agents.
On the “run simulation” phase, we experienced the execution of the sim-
ulation on a time-based simulation with 1-second intervals and tracking,
checking, and updating of each agent's states. The scale method in this case
delegates each VM to handle a group of agents. When the ZMQ push-pull
method is used, one of the VMs acts as the head node that is in charge of
distributing the tasks to all the worker VMs and controlling the timekeep-
ing process of the simulation. The timekeeping process consists of sending a
message to each worker to inform them of the current simulation time so that
workers can start the simulation of events scheduled for such a given time.
Search WWH ::




Custom Search