Search

link to homepage

Institute for Advanced Simulation (IAS)

Navigation and service


Example Simulation run

This section gives a simple example for a job prediction simulation run with JuFo. The input LML file including the scheduler configuration is listed along with a documentation of the simulation's results.

The entire configuration and input data for JuFo is provided by a single LML file. This file is parsed in order to read the simulation's configuration and to run the simulation on given jobs, reservations and nodes. Afterwards, the output LML file is generated by extending the input data by attributes holding the predicted dispatch and completion time as well as used compute resources.

Listing of the LML input file:
<lml:lgui>
<objects>
<object id="j000001" name="job1" type="job"/>
<object id="j000002" name="job2" type="job"/>
<object id="j000003" name="job3" type="job"/>
<object id="node1" name="theNode" type="node"/>
<object id="sys" type="system"/>
<object id="sched" name="scheduler" type="scheduler"/>
</objects>
<information>
<info oid="j000001" type="short">
<data key="queuedate" value="07/12/12-14:00:00"/>
<data key="dispatchdate" value="07/12/12-14:59:00"/>
<data key="state" value="Running"/>
<data key="nummachines" value="1"/>
<data key="taskspernode" value="2"/>
<data key="totalcores" value="2"/>
<data key="wall" value="65"/>
<data key="nodelist" value="(1-1(4-5))"/>
</info>
<info oid="j000002" type="short">
<data key="queuedate" value="07/12/12-14:00:00"/>
<data key="state" value="Idle"/>
<data key="nummachines" value="1"/>
<data key="taskspernode" value="4"/>
<data key="totalcores" value="4"/>
<data key="wall" value="20"/>
</info>
<info oid="j000003" type="short">
<data key="queuedate" value="07/12/12-14:30:00"/>
<data key="state" value="Idle"/>
<data key="nummachines" value="1"/>
<data key="taskspernode" value="3"/>
<data key="totalcores" value="3"/>
<data key="wall" value="4"/>
</info>
<info oid="node1" type="short">
<data key="ncores" value="5"/>
</info>
<info oid="sched" type="short">
<data key="system_sysprio" value="-DATEqueuedate"/>
<data key="system_state" value="NodeState"/>
<data key="scheduling_algorithm" value="Backfilling"/>
</info>
<info oid="sys" type="short">
<data key="system_time" value="07/12/12-15:00:00"/>
</info>
</information>
</lml:lgui>


The input example is also available from the source bundle at /data/simpleExample.xml, so that the simulation can be run with the command

> ./install/Forecast -i data/simpleExample.xml -o simpleExample_out.xml

This LML file specifies three jobs scheduled on one compute node, which has five processors. The current system time of the simulated parallel computer, which also defines the start date of the simulation, is given by the system time attribute of the sys object. This object can be used to provide any information about the simulated system architecture. So far merely the system time attribute is interpreted. The first job is dispatched before the current system time and is already running on processors four and five, which is declared in the nodelist attribute. The other jobs are waiting. While job2 requires four processors for 20 seconds, job3 requests three processors for only four seconds. The nummachines attribute defines the number of requested compute nodes. Since there is only one node in this example, this attribute is set to 1 for all jobs. Finally, the sched object comprises overall parameters affecting the simulation algorithm. Here it defines to prioritise jobs by their queue dates and it chooses to use the resource manager NodeState and Backfilling as scheduling algorithm. This input data is sufficient for running JuFo. Considering the given configuration job1 is assumed to finish after five seconds. Since job2 gains a higher priority than job3, the simulation tries to insert job2 at first. As only three of four required processors are available at the beginning, a reservation is searched. The requested compute resources become available as soon as job1 is completed. Thus, job2 is dispatched after five seconds. This leads to a backfill window of three processors available from the start till second five, which allows for backfilling job3.

Schedule diagram for simulation exampleSchedule diagram for simulation example
Copyright: http://hdl.handle.net/2128/4703


Servicemeu

Homepage