Information Technology Reference
In-Depth Information
be configured independently to optimize the usage of node specific resources.
Task Services keep a known remote node list (multi-master topology) and
load balancing is implemented using static round-robin.
c. Shared storage system. The Data model is extremely simple, using just
one entity (Document). Thus the natural choice was using MongoDB [23], a
Document-oriented database — which has great performance, scalability and
flexibility with low level of complexity [26,16]. Furthermore, MongoDB has
a specification called GridFS for storing and retrieving files, making easier
working with large input/output distributed data files.
d. Programming language. The glue language is Python. It is multi-platform
and has stable bindings to ZeroMQ, MongoDB and direct JSON handling
functions. Additionally, C was used to provide GridFS functionality for For-
tran as required by the case study (section 4).
«protocol»
TCP/IP
«device»
«device»
«device»
Master Node
Slave Node
Shared Storage
Task Service
MongoDB
Application
«protocol»
IPC
«protocol»
IPC
Worker
Task Service
«protocol»
IPC
«protocol»
TCP/IP
«protocol»
TCP/IP
Worker
Fig. 3. Deployment diagram of the presented strategy
3.1 Execution Flow
The proposed strategy is fulfilled by the described architecture allowing to run
several distributed instances of a Task using a simple schema, shown as a UML
sequence diagram in Figure 4. The execution flow starts with the initial set up
of the workstation cluster: on each node a Task Service and a set of Workers are
created and configured. At least one node running a Document Service instance is
required. A node is chosen as the current master (CM) and runs the Application
that controls the Task execution flow.
The Application main uses a Task Handler instance to create a new Task, con-
taining all necessary information to execute the target code — executable, number
of executions, parameters, input/output data or environment variables. This ap-
plication starts a Task execution using the Task Handler interface, which commu-
nicates using message passing to the Task Service. The later distributes all Task
instances over the available local or remote Workers. After each Worker runs the
 
Search WWH ::




Custom Search