[haizea-commit] r791 - branches/1.1/tests

haizea-commit at mailman.cs.uchicago.edu haizea-commit at mailman.cs.uchicago.edu
Mon Jan 25 14:37:26 CST 2010


Author: borja
Date: 2010-01-25 14:37:26 -0600 (Mon, 25 Jan 2010)
New Revision: 791

Added:
   branches/1.1/tests/deadline10-1.lwf
   branches/1.1/tests/deadline10-10.lwf
   branches/1.1/tests/deadline10-11.lwf
   branches/1.1/tests/deadline10-12.lwf
   branches/1.1/tests/deadline10-2.lwf
   branches/1.1/tests/deadline10-3.lwf
   branches/1.1/tests/deadline10-4.lwf
   branches/1.1/tests/deadline10-5.lwf
   branches/1.1/tests/deadline10-6.lwf
   branches/1.1/tests/deadline10-7.lwf
   branches/1.1/tests/deadline10-8.lwf
   branches/1.1/tests/deadline10-9.lwf
   branches/1.1/tests/deadline11-1.lwf
   branches/1.1/tests/deadline11-2.lwf
   branches/1.1/tests/deadline12.lwf
   branches/1.1/tests/deadline13.lwf
   branches/1.1/tests/deadline14.lwf
   branches/1.1/tests/deadline15.lwf
   branches/1.1/tests/deadline16.lwf
   branches/1.1/tests/gen_deadline10_lwfs.py
   branches/1.1/tests/prematureend_in_start.lwf
   branches/1.1/tests/test_deadline_nosusp.py
Modified:
   branches/1.1/tests/base_config_simulator.conf
   branches/1.1/tests/test_deadline.py
   branches/1.1/tests/test_simul_notransfers.py
   branches/1.1/tests/test_simul_pricing.py
Log:
- Added several deadline unit tests
- Added test for corner case of premature end coinciding with real end

Modified: branches/1.1/tests/base_config_simulator.conf
===================================================================
--- branches/1.1/tests/base_config_simulator.conf	2010-01-25 18:39:44 UTC (rev 790)
+++ branches/1.1/tests/base_config_simulator.conf	2010-01-25 20:37:26 UTC (rev 791)
@@ -46,4 +46,4 @@
 
 [accounting]
 datafile: /var/tmp/haizea/results.dat
-probes: ar best-effort immediate cpu-utilization deadline price
\ No newline at end of file
+probes: ar best-effort immediate cpu-utilization deadline price lease-extras
\ No newline at end of file

Added: branches/1.1/tests/deadline10-1.lwf
===================================================================
--- branches/1.1/tests/deadline10-1.lwf	                        (rev 0)
+++ branches/1.1/tests/deadline10-1.lwf	2010-01-25 20:37:26 UTC (rev 791)
@@ -0,0 +1,83 @@
+<?xml version="1.0"?>
+<lease-workload name="deadline10">
+  <description>
+  
+First lease ends prematurely.
+Second and third lease end prematurely.
+Second and third lease start at 00:15:00.00 and 00:20:00.00
+
+  </description>
+
+  <site>
+    <resource-types names="CPU Memory"/>
+    <nodes>
+      <node-set numnodes="4">
+        <res type="CPU" amount="100"/>
+        <res type="Memory" amount="1024"/>
+      </node-set>
+    </nodes>
+  </site>
+  <lease-requests>
+
+    <lease-request arrival="00:00:00.00">
+<realduration time="01:30:00.00"/>
+
+      <lease id="1" preemptible="true">
+        <nodes>
+          <node-set numnodes="4">
+            <res amount="100" type="CPU"/>
+            <res amount="1024" type="Memory"/>
+          </node-set>
+        </nodes>
+        <start>
+          <exact time="00:30:00.00"/>
+        </start>
+        <duration time="02:00:00.00"/>
+        <deadline time="10:00:00.00"/>
+        <software>
+          <disk-image id="foobar1.img" size="1024"/>
+        </software>
+      </lease>
+    </lease-request>
+    <lease-request arrival="00:15:00.00">
+<realduration time="00:10:00.00"/>
+
+      <lease id="2" preemptible="true">
+        <nodes>
+          <node-set numnodes="4">
+            <res amount="100" type="CPU"/>
+            <res amount="1024" type="Memory"/>
+          </node-set>
+        </nodes>
+        <start>
+          <exact time="01:00:00.00"/>
+        </start>
+        <duration time="00:15:00.00"/>
+        <deadline time="01:15:00.00"/>
+        <software>
+          <disk-image id="foobar1.img" size="1024"/>
+        </software>
+      </lease>
+    </lease-request>
+    <lease-request arrival="00:20:00.00">
+<realduration time="00:10:00.00"/>
+
+      <lease id="3" preemptible="true">
+        <nodes>
+          <node-set numnodes="4">
+            <res amount="100" type="CPU"/>
+            <res amount="1024" type="Memory"/>
+          </node-set>
+        </nodes>
+        <start>
+          <exact time="02:00:00.00"/>
+        </start>
+        <duration time="00:15:00.00"/>
+        <deadline time="02:15:00.00"/>
+        <software>
+          <disk-image id="foobar1.img" size="1024"/>
+        </software>
+      </lease>
+    </lease-request>
+  </lease-requests>
+</lease-workload>

Added: branches/1.1/tests/deadline10-10.lwf
===================================================================
--- branches/1.1/tests/deadline10-10.lwf	                        (rev 0)
+++ branches/1.1/tests/deadline10-10.lwf	2010-01-25 20:37:26 UTC (rev 791)
@@ -0,0 +1,80 @@
+<?xml version="1.0"?>
+<lease-workload name="deadline10">
+  <description>
+  
+First lease does not end prematurely.
+Second and third lease do not end prematurely.
+Second and third lease start at 00:15:00.00 and 00:20:00.00
+
+  </description>
+
+  <site>
+    <resource-types names="CPU Memory"/>
+    <nodes>
+      <node-set numnodes="4">
+        <res type="CPU" amount="100"/>
+        <res type="Memory" amount="1024"/>
+      </node-set>
+    </nodes>
+  </site>
+  <lease-requests>
+
+    <lease-request arrival="00:00:00.00">
+
+      <lease id="1" preemptible="true">
+        <nodes>
+          <node-set numnodes="4">
+            <res amount="100" type="CPU"/>
+            <res amount="1024" type="Memory"/>
+          </node-set>
+        </nodes>
+        <start>
+          <exact time="00:30:00.00"/>
+        </start>
+        <duration time="02:00:00.00"/>
+        <deadline time="10:00:00.00"/>
+        <software>
+          <disk-image id="foobar1.img" size="1024"/>
+        </software>
+      </lease>
+    </lease-request>
+    <lease-request arrival="00:15:00.00">
+
+      <lease id="2" preemptible="true">
+        <nodes>
+          <node-set numnodes="4">
+            <res amount="100" type="CPU"/>
+            <res amount="1024" type="Memory"/>
+          </node-set>
+        </nodes>
+        <start>
+          <exact time="01:00:00.00"/>
+        </start>
+        <duration time="00:15:00.00"/>
+        <deadline time="01:15:00.00"/>
+        <software>
+          <disk-image id="foobar1.img" size="1024"/>
+        </software>
+      </lease>
+    </lease-request>
+    <lease-request arrival="00:20:00.00">
+
+      <lease id="3" preemptible="true">
+        <nodes>
+          <node-set numnodes="4">
+            <res amount="100" type="CPU"/>
+            <res amount="1024" type="Memory"/>
+          </node-set>
+        </nodes>
+        <start>
+          <exact time="02:00:00.00"/>
+        </start>
+        <duration time="00:15:00.00"/>
+        <deadline time="02:15:00.00"/>
+        <software>
+          <disk-image id="foobar1.img" size="1024"/>
+        </software>
+      </lease>
+    </lease-request>
+  </lease-requests>
+</lease-workload>

Added: branches/1.1/tests/deadline10-11.lwf
===================================================================
--- branches/1.1/tests/deadline10-11.lwf	                        (rev 0)
+++ branches/1.1/tests/deadline10-11.lwf	2010-01-25 20:37:26 UTC (rev 791)
@@ -0,0 +1,80 @@
+<?xml version="1.0"?>
+<lease-workload name="deadline10">
+  <description>
+  
+First lease does not end prematurely.
+Second and third lease do not end prematurely.
+Second and third lease start at 00:40:00.00 and 00:45:00.00
+
+  </description>
+
+  <site>
+    <resource-types names="CPU Memory"/>
+    <nodes>
+      <node-set numnodes="4">
+        <res type="CPU" amount="100"/>
+        <res type="Memory" amount="1024"/>
+      </node-set>
+    </nodes>
+  </site>
+  <lease-requests>
+
+    <lease-request arrival="00:00:00.00">
+
+      <lease id="1" preemptible="true">
+        <nodes>
+          <node-set numnodes="4">
+            <res amount="100" type="CPU"/>
+            <res amount="1024" type="Memory"/>
+          </node-set>
+        </nodes>
+        <start>
+          <exact time="00:30:00.00"/>
+        </start>
+        <duration time="02:00:00.00"/>
+        <deadline time="10:00:00.00"/>
+        <software>
+          <disk-image id="foobar1.img" size="1024"/>
+        </software>
+      </lease>
+    </lease-request>
+    <lease-request arrival="00:40:00.00">
+
+      <lease id="2" preemptible="true">
+        <nodes>
+          <node-set numnodes="4">
+            <res amount="100" type="CPU"/>
+            <res amount="1024" type="Memory"/>
+          </node-set>
+        </nodes>
+        <start>
+          <exact time="01:00:00.00"/>
+        </start>
+        <duration time="00:15:00.00"/>
+        <deadline time="01:15:00.00"/>
+        <software>
+          <disk-image id="foobar1.img" size="1024"/>
+        </software>
+      </lease>
+    </lease-request>
+    <lease-request arrival="00:45:00.00">
+
+      <lease id="3" preemptible="true">
+        <nodes>
+          <node-set numnodes="4">
+            <res amount="100" type="CPU"/>
+            <res amount="1024" type="Memory"/>
+          </node-set>
+        </nodes>
+        <start>
+          <exact time="02:00:00.00"/>
+        </start>
+        <duration time="00:15:00.00"/>
+        <deadline time="02:15:00.00"/>
+        <software>
+          <disk-image id="foobar1.img" size="1024"/>
+        </software>
+      </lease>
+    </lease-request>
+  </lease-requests>
+</lease-workload>

Added: branches/1.1/tests/deadline10-12.lwf
===================================================================
--- branches/1.1/tests/deadline10-12.lwf	                        (rev 0)
+++ branches/1.1/tests/deadline10-12.lwf	2010-01-25 20:37:26 UTC (rev 791)
@@ -0,0 +1,80 @@
+<?xml version="1.0"?>
+<lease-workload name="deadline10">
+  <description>
+  
+First lease does not end prematurely.
+Second and third lease do not end prematurely.
+Second and third lease start at 00:45:00.00 and 01:45:00.00
+
+  </description>
+
+  <site>
+    <resource-types names="CPU Memory"/>
+    <nodes>
+      <node-set numnodes="4">
+        <res type="CPU" amount="100"/>
+        <res type="Memory" amount="1024"/>
+      </node-set>
+    </nodes>
+  </site>
+  <lease-requests>
+
+    <lease-request arrival="00:00:00.00">
+
+      <lease id="1" preemptible="true">
+        <nodes>
+          <node-set numnodes="4">
+            <res amount="100" type="CPU"/>
+            <res amount="1024" type="Memory"/>
+          </node-set>
+        </nodes>
+        <start>
+          <exact time="00:30:00.00"/>
+        </start>
+        <duration time="02:00:00.00"/>
+        <deadline time="10:00:00.00"/>
+        <software>
+          <disk-image id="foobar1.img" size="1024"/>
+        </software>
+      </lease>
+    </lease-request>
+    <lease-request arrival="00:45:00.00">
+
+      <lease id="2" preemptible="true">
+        <nodes>
+          <node-set numnodes="4">
+            <res amount="100" type="CPU"/>
+            <res amount="1024" type="Memory"/>
+          </node-set>
+        </nodes>
+        <start>
+          <exact time="01:00:00.00"/>
+        </start>
+        <duration time="00:15:00.00"/>
+        <deadline time="01:15:00.00"/>
+        <software>
+          <disk-image id="foobar1.img" size="1024"/>
+        </software>
+      </lease>
+    </lease-request>
+    <lease-request arrival="01:45:00.00">
+
+      <lease id="3" preemptible="true">
+        <nodes>
+          <node-set numnodes="4">
+            <res amount="100" type="CPU"/>
+            <res amount="1024" type="Memory"/>
+          </node-set>
+        </nodes>
+        <start>
+          <exact time="02:00:00.00"/>
+        </start>
+        <duration time="00:15:00.00"/>
+        <deadline time="02:15:00.00"/>
+        <software>
+          <disk-image id="foobar1.img" size="1024"/>
+        </software>
+      </lease>
+    </lease-request>
+  </lease-requests>
+</lease-workload>

Added: branches/1.1/tests/deadline10-2.lwf
===================================================================
--- branches/1.1/tests/deadline10-2.lwf	                        (rev 0)
+++ branches/1.1/tests/deadline10-2.lwf	2010-01-25 20:37:26 UTC (rev 791)
@@ -0,0 +1,83 @@
+<?xml version="1.0"?>
+<lease-workload name="deadline10">
+  <description>
+  
+First lease ends prematurely.
+Second and third lease end prematurely.
+Second and third lease start at 00:40:00.00 and 00:45:00.00
+
+  </description>
+
+  <site>
+    <resource-types names="CPU Memory"/>
+    <nodes>
+      <node-set numnodes="4">
+        <res type="CPU" amount="100"/>
+        <res type="Memory" amount="1024"/>
+      </node-set>
+    </nodes>
+  </site>
+  <lease-requests>
+
+    <lease-request arrival="00:00:00.00">
+<realduration time="01:30:00.00"/>
+
+      <lease id="1" preemptible="true">
+        <nodes>
+          <node-set numnodes="4">
+            <res amount="100" type="CPU"/>
+            <res amount="1024" type="Memory"/>
+          </node-set>
+        </nodes>
+        <start>
+          <exact time="00:30:00.00"/>
+        </start>
+        <duration time="02:00:00.00"/>
+        <deadline time="10:00:00.00"/>
+        <software>
+          <disk-image id="foobar1.img" size="1024"/>
+        </software>
+      </lease>
+    </lease-request>
+    <lease-request arrival="00:40:00.00">
+<realduration time="00:10:00.00"/>
+
+      <lease id="2" preemptible="true">
+        <nodes>
+          <node-set numnodes="4">
+            <res amount="100" type="CPU"/>
+            <res amount="1024" type="Memory"/>
+          </node-set>
+        </nodes>
+        <start>
+          <exact time="01:00:00.00"/>
+        </start>
+        <duration time="00:15:00.00"/>
+        <deadline time="01:15:00.00"/>
+        <software>
+          <disk-image id="foobar1.img" size="1024"/>
+        </software>
+      </lease>
+    </lease-request>
+    <lease-request arrival="00:45:00.00">
+<realduration time="00:10:00.00"/>
+
+      <lease id="3" preemptible="true">
+        <nodes>
+          <node-set numnodes="4">
+            <res amount="100" type="CPU"/>
+            <res amount="1024" type="Memory"/>
+          </node-set>
+        </nodes>
+        <start>
+          <exact time="02:00:00.00"/>
+        </start>
+        <duration time="00:15:00.00"/>
+        <deadline time="02:15:00.00"/>
+        <software>
+          <disk-image id="foobar1.img" size="1024"/>
+        </software>
+      </lease>
+    </lease-request>
+  </lease-requests>
+</lease-workload>

Added: branches/1.1/tests/deadline10-3.lwf
===================================================================
--- branches/1.1/tests/deadline10-3.lwf	                        (rev 0)
+++ branches/1.1/tests/deadline10-3.lwf	2010-01-25 20:37:26 UTC (rev 791)
@@ -0,0 +1,83 @@
+<?xml version="1.0"?>
+<lease-workload name="deadline10">
+  <description>
+  
+First lease ends prematurely.
+Second and third lease end prematurely.
+Second and third lease start at 00:45:00.00 and 01:45:00.00
+
+  </description>
+
+  <site>
+    <resource-types names="CPU Memory"/>
+    <nodes>
+      <node-set numnodes="4">
+        <res type="CPU" amount="100"/>
+        <res type="Memory" amount="1024"/>
+      </node-set>
+    </nodes>
+  </site>
+  <lease-requests>
+
+    <lease-request arrival="00:00:00.00">
+<realduration time="01:30:00.00"/>
+
+      <lease id="1" preemptible="true">
+        <nodes>
+          <node-set numnodes="4">
+            <res amount="100" type="CPU"/>
+            <res amount="1024" type="Memory"/>
+          </node-set>
+        </nodes>
+        <start>
+          <exact time="00:30:00.00"/>
+        </start>
+        <duration time="02:00:00.00"/>
+        <deadline time="10:00:00.00"/>
+        <software>
+          <disk-image id="foobar1.img" size="1024"/>
+        </software>
+      </lease>
+    </lease-request>
+    <lease-request arrival="00:45:00.00">
+<realduration time="00:10:00.00"/>
+
+      <lease id="2" preemptible="true">
+        <nodes>
+          <node-set numnodes="4">
+            <res amount="100" type="CPU"/>
+            <res amount="1024" type="Memory"/>
+          </node-set>
+        </nodes>
+        <start>
+          <exact time="01:00:00.00"/>
+        </start>
+        <duration time="00:15:00.00"/>
+        <deadline time="01:15:00.00"/>
+        <software>
+          <disk-image id="foobar1.img" size="1024"/>
+        </software>
+      </lease>
+    </lease-request>
+    <lease-request arrival="01:45:00.00">
+<realduration time="00:10:00.00"/>
+
+      <lease id="3" preemptible="true">
+        <nodes>
+          <node-set numnodes="4">
+            <res amount="100" type="CPU"/>
+            <res amount="1024" type="Memory"/>
+          </node-set>
+        </nodes>
+        <start>
+          <exact time="02:00:00.00"/>
+        </start>
+        <duration time="00:15:00.00"/>
+        <deadline time="02:15:00.00"/>
+        <software>
+          <disk-image id="foobar1.img" size="1024"/>
+        </software>
+      </lease>
+    </lease-request>
+  </lease-requests>
+</lease-workload>

Added: branches/1.1/tests/deadline10-4.lwf
===================================================================
--- branches/1.1/tests/deadline10-4.lwf	                        (rev 0)
+++ branches/1.1/tests/deadline10-4.lwf	2010-01-25 20:37:26 UTC (rev 791)
@@ -0,0 +1,81 @@
+<?xml version="1.0"?>
+<lease-workload name="deadline10">
+  <description>
+  
+First lease ends prematurely.
+Second and third lease do not end prematurely.
+Second and third lease start at 00:15:00.00 and 00:20:00.00
+
+  </description>
+
+  <site>
+    <resource-types names="CPU Memory"/>
+    <nodes>
+      <node-set numnodes="4">
+        <res type="CPU" amount="100"/>
+        <res type="Memory" amount="1024"/>
+      </node-set>
+    </nodes>
+  </site>
+  <lease-requests>
+
+    <lease-request arrival="00:00:00.00">
+<realduration time="01:30:00.00"/>
+
+      <lease id="1" preemptible="true">
+        <nodes>
+          <node-set numnodes="4">
+            <res amount="100" type="CPU"/>
+            <res amount="1024" type="Memory"/>
+          </node-set>
+        </nodes>
+        <start>
+          <exact time="00:30:00.00"/>
+        </start>
+        <duration time="02:00:00.00"/>
+        <deadline time="10:00:00.00"/>
+        <software>
+          <disk-image id="foobar1.img" size="1024"/>
+        </software>
+      </lease>
+    </lease-request>
+    <lease-request arrival="00:15:00.00">
+
+      <lease id="2" preemptible="true">
+        <nodes>
+          <node-set numnodes="4">
+            <res amount="100" type="CPU"/>
+            <res amount="1024" type="Memory"/>
+          </node-set>
+        </nodes>
+        <start>
+          <exact time="01:00:00.00"/>
+        </start>
+        <duration time="00:15:00.00"/>
+        <deadline time="01:15:00.00"/>
+        <software>
+          <disk-image id="foobar1.img" size="1024"/>
+        </software>
+      </lease>
+    </lease-request>
+    <lease-request arrival="00:20:00.00">
+
+      <lease id="3" preemptible="true">
+        <nodes>
+          <node-set numnodes="4">
+            <res amount="100" type="CPU"/>
+            <res amount="1024" type="Memory"/>
+          </node-set>
+        </nodes>
+        <start>
+          <exact time="02:00:00.00"/>
+        </start>
+        <duration time="00:15:00.00"/>
+        <deadline time="02:15:00.00"/>
+        <software>
+          <disk-image id="foobar1.img" size="1024"/>
+        </software>
+      </lease>
+    </lease-request>
+  </lease-requests>
+</lease-workload>

Added: branches/1.1/tests/deadline10-5.lwf
===================================================================
--- branches/1.1/tests/deadline10-5.lwf	                        (rev 0)
+++ branches/1.1/tests/deadline10-5.lwf	2010-01-25 20:37:26 UTC (rev 791)
@@ -0,0 +1,81 @@
+<?xml version="1.0"?>
+<lease-workload name="deadline10">
+  <description>
+  
+First lease ends prematurely.
+Second and third lease do not end prematurely.
+Second and third lease start at 00:40:00.00 and 00:45:00.00
+
+  </description>
+
+  <site>
+    <resource-types names="CPU Memory"/>
+    <nodes>
+      <node-set numnodes="4">
+        <res type="CPU" amount="100"/>
+        <res type="Memory" amount="1024"/>
+      </node-set>
+    </nodes>
+  </site>
+  <lease-requests>
+
+    <lease-request arrival="00:00:00.00">
+<realduration time="01:30:00.00"/>
+
+      <lease id="1" preemptible="true">
+        <nodes>
+          <node-set numnodes="4">
+            <res amount="100" type="CPU"/>
+            <res amount="1024" type="Memory"/>
+          </node-set>
+        </nodes>
+        <start>
+          <exact time="00:30:00.00"/>
+        </start>
+        <duration time="02:00:00.00"/>
+        <deadline time="10:00:00.00"/>
+        <software>
+          <disk-image id="foobar1.img" size="1024"/>
+        </software>
+      </lease>
+    </lease-request>
+    <lease-request arrival="00:40:00.00">
+
+      <lease id="2" preemptible="true">
+        <nodes>
+          <node-set numnodes="4">
+            <res amount="100" type="CPU"/>
+            <res amount="1024" type="Memory"/>
+          </node-set>
+        </nodes>
+        <start>
+          <exact time="01:00:00.00"/>
+        </start>
+        <duration time="00:15:00.00"/>
+        <deadline time="01:15:00.00"/>
+        <software>
+          <disk-image id="foobar1.img" size="1024"/>
+        </software>
+      </lease>
+    </lease-request>
+    <lease-request arrival="00:45:00.00">
+
+      <lease id="3" preemptible="true">
+        <nodes>
+          <node-set numnodes="4">
+            <res amount="100" type="CPU"/>
+            <res amount="1024" type="Memory"/>
+          </node-set>
+        </nodes>
+        <start>
+          <exact time="02:00:00.00"/>
+        </start>
+        <duration time="00:15:00.00"/>
+        <deadline time="02:15:00.00"/>
+        <software>
+          <disk-image id="foobar1.img" size="1024"/>
+        </software>
+      </lease>
+    </lease-request>
+  </lease-requests>
+</lease-workload>

Added: branches/1.1/tests/deadline10-6.lwf
===================================================================
--- branches/1.1/tests/deadline10-6.lwf	                        (rev 0)
+++ branches/1.1/tests/deadline10-6.lwf	2010-01-25 20:37:26 UTC (rev 791)
@@ -0,0 +1,81 @@
+<?xml version="1.0"?>
+<lease-workload name="deadline10">
+  <description>
+  
+First lease ends prematurely.
+Second and third lease do not end prematurely.
+Second and third lease start at 00:45:00.00 and 01:45:00.00
+
+  </description>
+
+  <site>
+    <resource-types names="CPU Memory"/>
+    <nodes>
+      <node-set numnodes="4">
+        <res type="CPU" amount="100"/>
+        <res type="Memory" amount="1024"/>
+      </node-set>
+    </nodes>
+  </site>
+  <lease-requests>
+
+    <lease-request arrival="00:00:00.00">
+<realduration time="01:30:00.00"/>
+
+      <lease id="1" preemptible="true">
+        <nodes>
+          <node-set numnodes="4">
+            <res amount="100" type="CPU"/>
+            <res amount="1024" type="Memory"/>
+          </node-set>
+        </nodes>
+        <start>
+          <exact time="00:30:00.00"/>
+        </start>
+        <duration time="02:00:00.00"/>
+        <deadline time="10:00:00.00"/>
+        <software>
+          <disk-image id="foobar1.img" size="1024"/>
+        </software>
+      </lease>
+    </lease-request>
+    <lease-request arrival="00:45:00.00">
+
+      <lease id="2" preemptible="true">
+        <nodes>
+          <node-set numnodes="4">
+            <res amount="100" type="CPU"/>
+            <res amount="1024" type="Memory"/>
+          </node-set>
+        </nodes>
+        <start>
+          <exact time="01:00:00.00"/>
+        </start>
+        <duration time="00:15:00.00"/>
+        <deadline time="01:15:00.00"/>
+        <software>
+          <disk-image id="foobar1.img" size="1024"/>
+        </software>
+      </lease>
+    </lease-request>
+    <lease-request arrival="01:45:00.00">
+
+      <lease id="3" preemptible="true">
+        <nodes>
+          <node-set numnodes="4">
+            <res amount="100" type="CPU"/>
+            <res amount="1024" type="Memory"/>
+          </node-set>
+        </nodes>
+        <start>
+          <exact time="02:00:00.00"/>
+        </start>
+        <duration time="00:15:00.00"/>
+        <deadline time="02:15:00.00"/>
+        <software>
+          <disk-image id="foobar1.img" size="1024"/>
+        </software>
+      </lease>
+    </lease-request>
+  </lease-requests>
+</lease-workload>

Added: branches/1.1/tests/deadline10-7.lwf
===================================================================
--- branches/1.1/tests/deadline10-7.lwf	                        (rev 0)
+++ branches/1.1/tests/deadline10-7.lwf	2010-01-25 20:37:26 UTC (rev 791)
@@ -0,0 +1,82 @@
+<?xml version="1.0"?>
+<lease-workload name="deadline10">
+  <description>
+  
+First lease does not end prematurely.
+Second and third lease end prematurely.
+Second and third lease start at 00:15:00.00 and 00:20:00.00
+
+  </description>
+
+  <site>
+    <resource-types names="CPU Memory"/>
+    <nodes>
+      <node-set numnodes="4">
+        <res type="CPU" amount="100"/>
+        <res type="Memory" amount="1024"/>
+      </node-set>
+    </nodes>
+  </site>
+  <lease-requests>
+
+    <lease-request arrival="00:00:00.00">
+
+      <lease id="1" preemptible="true">
+        <nodes>
+          <node-set numnodes="4">
+            <res amount="100" type="CPU"/>
+            <res amount="1024" type="Memory"/>
+          </node-set>
+        </nodes>
+        <start>
+          <exact time="00:30:00.00"/>
+        </start>
+        <duration time="02:00:00.00"/>
+        <deadline time="10:00:00.00"/>
+        <software>
+          <disk-image id="foobar1.img" size="1024"/>
+        </software>
+      </lease>
+    </lease-request>
+    <lease-request arrival="00:15:00.00">
+<realduration time="00:10:00.00"/>
+
+      <lease id="2" preemptible="true">
+        <nodes>
+          <node-set numnodes="4">
+            <res amount="100" type="CPU"/>
+            <res amount="1024" type="Memory"/>
+          </node-set>
+        </nodes>
+        <start>
+          <exact time="01:00:00.00"/>
+        </start>
+        <duration time="00:15:00.00"/>
+        <deadline time="01:15:00.00"/>
+        <software>
+          <disk-image id="foobar1.img" size="1024"/>
+        </software>
+      </lease>
+    </lease-request>
+    <lease-request arrival="00:20:00.00">
+<realduration time="00:10:00.00"/>
+
+      <lease id="3" preemptible="true">
+        <nodes>
+          <node-set numnodes="4">
+            <res amount="100" type="CPU"/>
+            <res amount="1024" type="Memory"/>
+          </node-set>
+        </nodes>
+        <start>
+          <exact time="02:00:00.00"/>
+        </start>
+        <duration time="00:15:00.00"/>
+        <deadline time="02:15:00.00"/>
+        <software>
+          <disk-image id="foobar1.img" size="1024"/>
+        </software>
+      </lease>
+    </lease-request>
+  </lease-requests>
+</lease-workload>

Added: branches/1.1/tests/deadline10-8.lwf
===================================================================
--- branches/1.1/tests/deadline10-8.lwf	                        (rev 0)
+++ branches/1.1/tests/deadline10-8.lwf	2010-01-25 20:37:26 UTC (rev 791)
@@ -0,0 +1,82 @@
+<?xml version="1.0"?>
+<lease-workload name="deadline10">
+  <description>
+  
+First lease does not end prematurely.
+Second and third lease end prematurely.
+Second and third lease start at 00:40:00.00 and 00:45:00.00
+
+  </description>
+
+  <site>
+    <resource-types names="CPU Memory"/>
+    <nodes>
+      <node-set numnodes="4">
+        <res type="CPU" amount="100"/>
+        <res type="Memory" amount="1024"/>
+      </node-set>
+    </nodes>
+  </site>
+  <lease-requests>
+
+    <lease-request arrival="00:00:00.00">
+
+      <lease id="1" preemptible="true">
+        <nodes>
+          <node-set numnodes="4">
+            <res amount="100" type="CPU"/>
+            <res amount="1024" type="Memory"/>
+          </node-set>
+        </nodes>
+        <start>
+          <exact time="00:30:00.00"/>
+        </start>
+        <duration time="02:00:00.00"/>
+        <deadline time="10:00:00.00"/>
+        <software>
+          <disk-image id="foobar1.img" size="1024"/>
+        </software>
+      </lease>
+    </lease-request>
+    <lease-request arrival="00:40:00.00">
+<realduration time="00:10:00.00"/>
+
+      <lease id="2" preemptible="true">
+        <nodes>
+          <node-set numnodes="4">
+            <res amount="100" type="CPU"/>
+            <res amount="1024" type="Memory"/>
+          </node-set>
+        </nodes>
+        <start>
+          <exact time="01:00:00.00"/>
+        </start>
+        <duration time="00:15:00.00"/>
+        <deadline time="01:15:00.00"/>
+        <software>
+          <disk-image id="foobar1.img" size="1024"/>
+        </software>
+      </lease>
+    </lease-request>
+    <lease-request arrival="00:45:00.00">
+<realduration time="00:10:00.00"/>
+
+      <lease id="3" preemptible="true">
+        <nodes>
+          <node-set numnodes="4">
+            <res amount="100" type="CPU"/>
+            <res amount="1024" type="Memory"/>
+          </node-set>
+        </nodes>
+        <start>
+          <exact time="02:00:00.00"/>
+        </start>
+        <duration time="00:15:00.00"/>
+        <deadline time="02:15:00.00"/>
+        <software>
+          <disk-image id="foobar1.img" size="1024"/>
+        </software>
+      </lease>
+    </lease-request>
+  </lease-requests>
+</lease-workload>

Added: branches/1.1/tests/deadline10-9.lwf
===================================================================
--- branches/1.1/tests/deadline10-9.lwf	                        (rev 0)
+++ branches/1.1/tests/deadline10-9.lwf	2010-01-25 20:37:26 UTC (rev 791)
@@ -0,0 +1,82 @@
+<?xml version="1.0"?>
+<lease-workload name="deadline10">
+  <description>
+  
+First lease does not end prematurely.
+Second and third lease end prematurely.
+Second and third lease start at 00:45:00.00 and 01:45:00.00
+
+  </description>
+
+  <site>
+    <resource-types names="CPU Memory"/>
+    <nodes>
+      <node-set numnodes="4">
+        <res type="CPU" amount="100"/>
+        <res type="Memory" amount="1024"/>
+      </node-set>
+    </nodes>
+  </site>
+  <lease-requests>
+
+    <lease-request arrival="00:00:00.00">
+
+      <lease id="1" preemptible="true">
+        <nodes>
+          <node-set numnodes="4">
+            <res amount="100" type="CPU"/>
+            <res amount="1024" type="Memory"/>
+          </node-set>
+        </nodes>
+        <start>
+          <exact time="00:30:00.00"/>
+        </start>
+        <duration time="02:00:00.00"/>
+        <deadline time="10:00:00.00"/>
+        <software>
+          <disk-image id="foobar1.img" size="1024"/>
+        </software>
+      </lease>
+    </lease-request>
+    <lease-request arrival="00:45:00.00">
+<realduration time="00:10:00.00"/>
+
+      <lease id="2" preemptible="true">
+        <nodes>
+          <node-set numnodes="4">
+            <res amount="100" type="CPU"/>
+            <res amount="1024" type="Memory"/>
+          </node-set>
+        </nodes>
+        <start>
+          <exact time="01:00:00.00"/>
+        </start>
+        <duration time="00:15:00.00"/>
+        <deadline time="01:15:00.00"/>
+        <software>
+          <disk-image id="foobar1.img" size="1024"/>
+        </software>
+      </lease>
+    </lease-request>
+    <lease-request arrival="01:45:00.00">
+<realduration time="00:10:00.00"/>
+
+      <lease id="3" preemptible="true">
+        <nodes>
+          <node-set numnodes="4">
+            <res amount="100" type="CPU"/>
+            <res amount="1024" type="Memory"/>
+          </node-set>
+        </nodes>
+        <start>
+          <exact time="02:00:00.00"/>
+        </start>
+        <duration time="00:15:00.00"/>
+        <deadline time="02:15:00.00"/>
+        <software>
+          <disk-image id="foobar1.img" size="1024"/>
+        </software>
+      </lease>
+    </lease-request>
+  </lease-requests>
+</lease-workload>

Added: branches/1.1/tests/deadline11-1.lwf
===================================================================
--- branches/1.1/tests/deadline11-1.lwf	                        (rev 0)
+++ branches/1.1/tests/deadline11-1.lwf	2010-01-25 20:37:26 UTC (rev 791)
@@ -0,0 +1,77 @@
+<?xml version="1.0"?>
+<lease-workload name="deadline10">
+  <description>
+  
+First lease ends prematurely.
+Second and third lease end prematurely.
+Second and third lease start at 00:15:00.00 and 00:20:00.00
+
+  </description>
+
+  <site>
+    <resource-types names="CPU Memory"/>
+    <nodes>
+      <node-set numnodes="4">
+        <res type="CPU" amount="100"/>
+        <res type="Memory" amount="1024"/>
+      </node-set>
+    </nodes>
+  </site>
+  <lease-requests>
+
+    <lease-request arrival="00:00:00.00">
+      <lease id="1" preemptible="true">
+        <nodes>
+          <node-set numnodes="3">
+            <res amount="100" type="CPU"/>
+            <res amount="1024" type="Memory"/>
+          </node-set>
+        </nodes>
+        <start>
+          <exact time="00:30:00.00"/>
+        </start>
+        <duration time="02:00:00.00"/>
+        <deadline time="10:00:00.00"/>
+        <software>
+          <disk-image id="foobar1.img" size="1024"/>
+        </software>
+      </lease>
+    </lease-request>
+    <lease-request arrival="00:15:00.00">
+      <lease id="2" preemptible="true">
+        <nodes>
+          <node-set numnodes="2">
+            <res amount="100" type="CPU"/>
+            <res amount="1024" type="Memory"/>
+          </node-set>
+        </nodes>
+        <start>
+          <exact time="01:00:00.00"/>
+        </start>
+        <duration time="00:30:00.00"/>
+        <deadline time="01:30:00.00"/>
+        <software>
+          <disk-image id="foobar1.img" size="1024"/>
+        </software>
+      </lease>
+    </lease-request>
+    <lease-request arrival="00:20:00.00">
+      <lease id="3" preemptible="true">
+        <nodes>
+          <node-set numnodes="2">
+            <res amount="100" type="CPU"/>
+            <res amount="1024" type="Memory"/>
+          </node-set>
+        </nodes>
+        <start>
+          <exact time="01:15:00.00"/>
+        </start>
+        <duration time="00:30:00.00"/>
+        <deadline time="01:45:00.00"/>
+        <software>
+          <disk-image id="foobar1.img" size="1024"/>
+        </software>
+      </lease>
+    </lease-request>
+  </lease-requests>
+</lease-workload>

Added: branches/1.1/tests/deadline11-2.lwf
===================================================================
--- branches/1.1/tests/deadline11-2.lwf	                        (rev 0)
+++ branches/1.1/tests/deadline11-2.lwf	2010-01-25 20:37:26 UTC (rev 791)
@@ -0,0 +1,77 @@
+<?xml version="1.0"?>
+<lease-workload name="deadline10">
+  <description>
+  
+First lease ends prematurely.
+Second and third lease end prematurely.
+Second and third lease start at 00:15:00.00 and 00:20:00.00
+
+  </description>
+
+  <site>
+    <resource-types names="CPU Memory"/>
+    <nodes>
+      <node-set numnodes="4">
+        <res type="CPU" amount="100"/>
+        <res type="Memory" amount="1024"/>
+      </node-set>
+    </nodes>
+  </site>
+  <lease-requests>
+
+    <lease-request arrival="00:00:00.00">
+      <lease id="1" preemptible="true">
+        <nodes>
+          <node-set numnodes="3">
+            <res amount="100" type="CPU"/>
+            <res amount="1024" type="Memory"/>
+          </node-set>
+        </nodes>
+        <start>
+          <exact time="00:30:00.00"/>
+        </start>
+        <duration time="02:00:00.00"/>
+        <deadline time="10:00:00.00"/>
+        <software>
+          <disk-image id="foobar1.img" size="1024"/>
+        </software>
+      </lease>
+    </lease-request>
+    <lease-request arrival="00:40:00.00">
+      <lease id="2" preemptible="true">
+        <nodes>
+          <node-set numnodes="2">
+            <res amount="100" type="CPU"/>
+            <res amount="1024" type="Memory"/>
+          </node-set>
+        </nodes>
+        <start>
+          <exact time="01:00:00.00"/>
+        </start>
+        <duration time="00:30:00.00"/>
+        <deadline time="01:30:00.00"/>
+        <software>
+          <disk-image id="foobar1.img" size="1024"/>
+        </software>
+      </lease>
+    </lease-request>
+    <lease-request arrival="00:45:00.00">
+      <lease id="3" preemptible="true">
+        <nodes>
+          <node-set numnodes="2">
+            <res amount="100" type="CPU"/>
+            <res amount="1024" type="Memory"/>
+          </node-set>
+        </nodes>
+        <start>
+          <exact time="01:15:00.00"/>
+        </start>
+        <duration time="00:30:00.00"/>
+        <deadline time="01:45:00.00"/>
+        <software>
+          <disk-image id="foobar1.img" size="1024"/>
+        </software>
+      </lease>
+    </lease-request>
+  </lease-requests>
+</lease-workload>

Added: branches/1.1/tests/deadline12.lwf
===================================================================
--- branches/1.1/tests/deadline12.lwf	                        (rev 0)
+++ branches/1.1/tests/deadline12.lwf	2010-01-25 20:37:26 UTC (rev 791)
@@ -0,0 +1,185 @@
+<?xml version="1.0"?>
+<lease-workload name="deadline10">
+  <description>
+  
+First lease ends prematurely.
+Second and third lease end prematurely.
+Second and third lease start at 00:15:00.00 and 00:20:00.00
+
+  </description>
+
+  <site>
+    <resource-types names="CPU Memory"/>
+    <nodes>
+      <node-set numnodes="5">
+        <res type="CPU" amount="100"/>
+        <res type="Memory" amount="1024"/>
+      </node-set>
+    </nodes>
+  </site>
+  <lease-requests>
+
+    <lease-request arrival="00:00:00.00">
+      <lease id="1" preemptible="true">
+        <nodes>
+          <node-set numnodes="1">
+            <res amount="100" type="CPU"/>
+            <res amount="1024" type="Memory"/>
+          </node-set>
+        </nodes>
+        <start>
+          <exact time="00:30:00.00"/>
+        </start>
+        <duration time="00:30:00.00"/>
+        <deadline time="03:00:00.00"/>
+        <software>
+          <disk-image id="foobar1.img" size="1024"/>
+        </software>
+      </lease>
+    </lease-request>
+    <lease-request arrival="00:00:00.00">
+      <lease id="2" preemptible="true">
+        <nodes>
+          <node-set numnodes="1">
+            <res amount="100" type="CPU"/>
+            <res amount="1024" type="Memory"/>
+          </node-set>
+        </nodes>
+        <start>
+          <exact time="00:15:00.00"/>
+        </start>
+        <duration time="00:30:00.00"/>
+        <deadline time="00:45:00.00"/>
+        <software>
+          <disk-image id="foobar1.img" size="1024"/>
+        </software>
+      </lease>
+    </lease-request>
+    <lease-request arrival="00:00:00.00">
+      <lease id="3" preemptible="true">
+        <nodes>
+          <node-set numnodes="2">
+            <res amount="100" type="CPU"/>
+            <res amount="1024" type="Memory"/>
+          </node-set>
+        </nodes>
+        <start>
+          <exact time="00:15:00.00"/>
+        </start>
+        <duration time="00:30:00.00"/>
+        <deadline time="00:45:00.00"/>
+        <software>
+          <disk-image id="foobar1.img" size="1024"/>
+        </software>
+      </lease>
+    </lease-request>
+    <lease-request arrival="00:00:00.00">
+      <lease id="4" preemptible="true">
+        <nodes>
+          <node-set numnodes="1">
+            <res amount="100" type="CPU"/>
+            <res amount="1024" type="Memory"/>
+          </node-set>
+        </nodes>
+        <start>
+          <exact time="00:30:00.00"/>
+        </start>
+        <duration time="01:00:00.00"/>
+        <deadline time="10:00:00.00"/>
+        <software>
+          <disk-image id="foobar1.img" size="1024"/>
+        </software>
+      </lease>
+    </lease-request>    
+    <lease-request arrival="00:00:00.00">
+      <lease id="5" preemptible="true">
+        <nodes>
+          <node-set numnodes="2">
+            <res amount="100" type="CPU"/>
+            <res amount="1024" type="Memory"/>
+          </node-set>
+        </nodes>
+        <start>
+          <exact time="00:45:00.00"/>
+        </start>
+        <duration time="00:15:00.00"/>
+        <deadline time="01:00:00.00"/>
+        <software>
+          <disk-image id="foobar1.img" size="1024"/>
+        </software>
+      </lease>
+    </lease-request>      
+    <lease-request arrival="00:00:00.00">
+      <lease id="6" preemptible="true">
+        <nodes>
+          <node-set numnodes="1">
+            <res amount="100" type="CPU"/>
+            <res amount="1024" type="Memory"/>
+          </node-set>
+        </nodes>
+        <start>
+          <exact time="00:45:00.00"/>
+        </start>
+        <duration time="01:00:00.00"/>
+        <deadline time="10:00:00.00"/>
+        <software>
+          <disk-image id="foobar1.img" size="1024"/>
+        </software>
+      </lease>
+    </lease-request>     
+    <lease-request arrival="00:00:00.00">
+      <lease id="7" preemptible="true">
+        <nodes>
+          <node-set numnodes="3">
+            <res amount="100" type="CPU"/>
+            <res amount="1024" type="Memory"/>
+          </node-set>
+        </nodes>
+        <start>
+          <exact time="01:00:00.00"/>
+        </start>
+        <duration time="00:30:00.00"/>
+        <deadline time="01:45:00.00"/>
+        <software>
+          <disk-image id="foobar1.img" size="1024"/>
+        </software>
+      </lease>
+    </lease-request>
+    <lease-request arrival="00:00:00.00">
+      <lease id="8" preemptible="true">
+        <nodes>
+          <node-set numnodes="1">
+            <res amount="100" type="CPU"/>
+            <res amount="1024" type="Memory"/>
+          </node-set>
+        </nodes>
+        <start>
+          <exact time="10:00:00.00"/>
+        </start>
+        <duration time="00:15:00.00"/>
+        <deadline time="20:00:00.00"/>
+        <software>
+          <disk-image id="foobar1.img" size="1024"/>
+        </software>
+      </lease>
+    </lease-request>
+    <lease-request arrival="00:20:00.00">
+      <lease id="9" preemptible="true">
+        <nodes>
+          <node-set numnodes="1">
+            <res amount="100" type="CPU"/>
+            <res amount="1024" type="Memory"/>
+          </node-set>
+        </nodes>
+        <start>
+          <exact time="00:30:00.00"/>
+        </start>
+        <duration time="00:15:00.00"/>
+        <deadline time="01:15:00.00"/>
+        <software>
+          <disk-image id="foobar1.img" size="1024"/>
+        </software>
+      </lease>
+    </lease-request>          
+  </lease-requests>
+</lease-workload>

Added: branches/1.1/tests/deadline13.lwf
===================================================================
--- branches/1.1/tests/deadline13.lwf	                        (rev 0)
+++ branches/1.1/tests/deadline13.lwf	2010-01-25 20:37:26 UTC (rev 791)
@@ -0,0 +1,78 @@
+<?xml version="1.0"?>
+<lease-workload name="deadline10">
+  <description>
+  
+First lease does not end prematurely.
+Second and third lease end prematurely.
+Second and third lease start at 00:15:00.00 and 00:20:00.00
+
+  </description>
+
+  <site>
+    <resource-types names="CPU Memory"/>
+    <nodes>
+      <node-set numnodes="4">
+        <res type="CPU" amount="100"/>
+        <res type="Memory" amount="1024"/>
+      </node-set>
+    </nodes>
+  </site>
+  <lease-requests>
+
+    <lease-request arrival="00:00:00.00">
+
+      <lease id="1" preemptible="true">
+        <nodes>
+          <node-set numnodes="4">
+            <res amount="100" type="CPU"/>
+            <res amount="1024" type="Memory"/>
+          </node-set>
+        </nodes>
+        <start>
+          <exact time="00:30:00.00"/>
+        </start>
+        <duration time="02:00:00.00"/>
+        <deadline time="10:00:00.00"/>
+        <software>
+          <disk-image id="foobar1.img" size="1024"/>
+        </software>
+      </lease>
+    </lease-request>
+    <lease-request arrival="00:35:00.00">
+      <lease id="2" preemptible="true">
+        <nodes>
+          <node-set numnodes="4">
+            <res amount="100" type="CPU"/>
+            <res amount="1024" type="Memory"/>
+          </node-set>
+        </nodes>
+        <start>
+          <exact time="00:45:00.00"/>
+        </start>
+        <duration time="00:15:00.00"/>
+        <deadline time="01:00:00.00"/>
+        <software>
+          <disk-image id="foobar1.img" size="1024"/>
+        </software>
+      </lease>
+    </lease-request>
+    <lease-request arrival="00:40:00.00">
+      <lease id="3" preemptible="true">
+        <nodes>
+          <node-set numnodes="4">
+            <res amount="100" type="CPU"/>
+            <res amount="1024" type="Memory"/>
+          </node-set>
+        </nodes>
+        <start>
+          <exact time="01:15:00.00"/>
+        </start>
+        <duration time="00:15:00.00"/>
+        <deadline time="02:00:00.00"/>
+        <software>
+          <disk-image id="foobar1.img" size="1024"/>
+        </software>
+      </lease>
+    </lease-request>
+  </lease-requests>
+</lease-workload>

Added: branches/1.1/tests/deadline14.lwf
===================================================================
--- branches/1.1/tests/deadline14.lwf	                        (rev 0)
+++ branches/1.1/tests/deadline14.lwf	2010-01-25 20:37:26 UTC (rev 791)
@@ -0,0 +1,79 @@
+<?xml version="1.0"?>
+<lease-workload name="deadline10">
+  <description>
+  
+First lease does not end prematurely.
+Second and third lease end prematurely.
+Second and third lease start at 00:15:00.00 and 00:20:00.00
+
+  </description>
+
+  <site>
+    <resource-types names="CPU Memory"/>
+    <nodes>
+      <node-set numnodes="4">
+        <res type="CPU" amount="100"/>
+        <res type="Memory" amount="1024"/>
+      </node-set>
+    </nodes>
+  </site>
+  <lease-requests>
+
+    <lease-request arrival="00:00:00.00">
+<realduration time="01:00:00.00"/>
+
+      <lease id="1" preemptible="true">
+        <nodes>
+          <node-set numnodes="4">
+            <res amount="100" type="CPU"/>
+            <res amount="1024" type="Memory"/>
+          </node-set>
+        </nodes>
+        <start>
+          <exact time="00:30:00.00"/>
+        </start>
+        <duration time="02:00:00.00"/>
+        <deadline time="10:00:00.00"/>
+        <software>
+          <disk-image id="foobar1.img" size="1024"/>
+        </software>
+      </lease>
+    </lease-request>
+    <lease-request arrival="00:15:00.00">
+      <lease id="2" preemptible="true">
+        <nodes>
+          <node-set numnodes="4">
+            <res amount="100" type="CPU"/>
+            <res amount="1024" type="Memory"/>
+          </node-set>
+        </nodes>
+        <start>
+          <exact time="00:45:00.00"/>
+        </start>
+        <duration time="00:15:00.00"/>
+        <deadline time="01:00:00.00"/>
+        <software>
+          <disk-image id="foobar1.img" size="1024"/>
+        </software>
+      </lease>
+    </lease-request>
+    <lease-request arrival="00:20:00.00">
+      <lease id="3" preemptible="true">
+        <nodes>
+          <node-set numnodes="4">
+            <res amount="100" type="CPU"/>
+            <res amount="1024" type="Memory"/>
+          </node-set>
+        </nodes>
+        <start>
+          <exact time="01:15:00.00"/>
+        </start>
+        <duration time="00:15:00.00"/>
+        <deadline time="02:00:00.00"/>
+        <software>
+          <disk-image id="foobar1.img" size="1024"/>
+        </software>
+      </lease>
+    </lease-request>
+  </lease-requests>
+</lease-workload>

Added: branches/1.1/tests/deadline15.lwf
===================================================================
--- branches/1.1/tests/deadline15.lwf	                        (rev 0)
+++ branches/1.1/tests/deadline15.lwf	2010-01-25 20:37:26 UTC (rev 791)
@@ -0,0 +1,95 @@
+<?xml version="1.0"?>
+<lease-workload name="deadline10">
+  <description>
+  
+First lease does not end prematurely.
+Second and third lease end prematurely.
+Second and third lease start at 00:15:00.00 and 00:20:00.00
+
+  </description>
+
+  <site>
+    <resource-types names="CPU Memory"/>
+    <nodes>
+      <node-set numnodes="4">
+        <res type="CPU" amount="100"/>
+        <res type="Memory" amount="1024"/>
+      </node-set>
+    </nodes>
+  </site>
+  <lease-requests>
+
+    <lease-request arrival="00:00:00.00">
+      <lease id="1" preemptible="true">
+        <nodes>
+          <node-set numnodes="2">
+            <res amount="100" type="CPU"/>
+            <res amount="1024" type="Memory"/>
+          </node-set>
+        </nodes>
+        <start>
+          <exact time="00:30:00.00"/>
+        </start>
+        <duration time="01:00:00.00"/>
+        <deadline time="10:00:00.00"/>
+        <software>
+          <disk-image id="foobar1.img" size="1024"/>
+        </software>
+      </lease>
+    </lease-request>
+    <lease-request arrival="00:15:00.00">
+      <lease id="2" preemptible="true">
+        <nodes>
+          <node-set numnodes="2">
+            <res amount="100" type="CPU"/>
+            <res amount="1024" type="Memory"/>
+          </node-set>
+        </nodes>
+        <start>
+          <exact time="00:30:00.00"/>
+        </start>
+        <duration time="01:00:00.00"/>
+        <deadline time="04:00:00.00"/>
+        <software>
+          <disk-image id="foobar1.img" size="1024"/>
+        </software>
+      </lease>
+    </lease-request>
+    <lease-request arrival="00:00:00.00">
+      <lease id="3" preemptible="true">
+        <nodes>
+          <node-set numnodes="4">
+            <res amount="100" type="CPU"/>
+            <res amount="1024" type="Memory"/>
+          </node-set>
+        </nodes>
+        <start>
+          <exact time="01:30:00.00"/>
+        </start>
+        <duration time="03:30:00.00"/>
+        <deadline time="05:00:00.00"/>
+        <software>
+          <disk-image id="foobar1.img" size="1024"/>
+        </software>
+      </lease>
+    </lease-request>
+    <lease-request arrival="00:20:00.00">
+      <lease id="4" preemptible="true">
+        <nodes>
+          <node-set numnodes="4">
+            <res amount="100" type="CPU"/>
+            <res amount="1024" type="Memory"/>
+          </node-set>
+        </nodes>
+        <start>
+          <exact time="01:00:00.00"/>
+        </start>
+        <duration time="00:15:00.00"/>
+        <deadline time="01:15:00.00"/>
+        <software>
+          <disk-image id="foobar1.img" size="1024"/>
+        </software>
+      </lease>
+    </lease-request>
+  </lease-requests>
+</lease-workload>

Added: branches/1.1/tests/deadline16.lwf
===================================================================
--- branches/1.1/tests/deadline16.lwf	                        (rev 0)
+++ branches/1.1/tests/deadline16.lwf	2010-01-25 20:37:26 UTC (rev 791)
@@ -0,0 +1,133 @@
+<?xml version="1.0"?>
+<lease-workload name="deadline10">
+  <description>
+  
+First lease does not end prematurely.
+Second and third lease end prematurely.
+Second and third lease start at 00:15:00.00 and 00:20:00.00
+
+  </description>
+
+  <site>
+    <resource-types names="CPU Memory"/>
+    <nodes>
+      <node-set numnodes="4">
+        <res type="CPU" amount="100"/>
+        <res type="Memory" amount="1024"/>
+      </node-set>
+    </nodes>
+  </site>
+  <lease-requests>
+
+    <lease-request arrival="00:00:00.00">
+<realduration time="00:30:00.00"/>
+
+      <lease id="1" preemptible="true">
+        <nodes>
+          <node-set numnodes="4">
+            <res amount="100" type="CPU"/>
+            <res amount="1024" type="Memory"/>
+          </node-set>
+        </nodes>
+        <start>
+          <exact time="00:30:00.00"/>
+        </start>
+        <duration time="04:30:00.00"/>
+        <deadline time="05:00:00.00"/>
+        <software>
+          <disk-image id="foobar1.img" size="1024"/>
+        </software>
+      </lease>
+    </lease-request>
+    <lease-request arrival="00:00:00.00">
+      <lease id="2" preemptible="true">
+        <nodes>
+          <node-set numnodes="4">
+            <res amount="100" type="CPU"/>
+            <res amount="1024" type="Memory"/>
+          </node-set>
+        </nodes>
+        <start>
+          <exact time="05:00:00.00"/>
+        </start>
+        <duration time="01:00:00.00"/>
+        <deadline time="06:00:00.00"/>
+        <software>
+          <disk-image id="foobar1.img" size="1024"/>
+        </software>
+      </lease>
+    </lease-request>
+    <lease-request arrival="00:00:00.00">
+      <lease id="3" preemptible="true">
+        <nodes>
+          <node-set numnodes="2">
+            <res amount="100" type="CPU"/>
+            <res amount="1024" type="Memory"/>
+          </node-set>
+        </nodes>
+        <start>
+          <exact time="00:30:00.00"/>
+        </start>
+        <duration time="04:00:00.00"/>
+        <deadline time="10:00:00.00"/>
+        <software>
+          <disk-image id="foobar1.img" size="1024"/>
+        </software>
+      </lease>
+    </lease-request>
+    <lease-request arrival="00:00:00.00">
+      <lease id="4" preemptible="true">
+        <nodes>
+          <node-set numnodes="2">
+            <res amount="100" type="CPU"/>
+            <res amount="1024" type="Memory"/>
+          </node-set>
+        </nodes>
+        <start>
+          <exact time="00:30:00.00"/>
+        </start>
+        <duration time="02:00:00.00"/>
+        <deadline time="10:00:00.00"/>
+        <software>
+          <disk-image id="foobar1.img" size="1024"/>
+        </software>
+      </lease>
+    </lease-request>
+    <lease-request arrival="00:00:00.00">
+      <lease id="5" preemptible="true">
+        <nodes>
+          <node-set numnodes="2">
+            <res amount="100" type="CPU"/>
+            <res amount="1024" type="Memory"/>
+          </node-set>
+        </nodes>
+        <start>
+          <exact time="00:30:00.00"/>
+        </start>
+        <duration time="03:00:00.00"/>
+        <deadline time="20:00:00.00"/>
+        <software>
+          <disk-image id="foobar1.img" size="1024"/>
+        </software>
+      </lease>
+    </lease-request>
+    <lease-request arrival="00:00:00.00">
+      <lease id="6" preemptible="true">
+        <nodes>
+          <node-set numnodes="2">
+            <res amount="100" type="CPU"/>
+            <res amount="1024" type="Memory"/>
+          </node-set>
+        </nodes>
+        <start>
+          <exact time="00:30:00.00"/>
+        </start>
+        <duration time="01:00:00.00"/>
+        <deadline time="5:00:00:00.00"/>
+        <software>
+          <disk-image id="foobar1.img" size="1024"/>
+        </software>
+      </lease>
+    </lease-request>
+  </lease-requests>
+</lease-workload>

Added: branches/1.1/tests/gen_deadline10_lwfs.py
===================================================================
--- branches/1.1/tests/gen_deadline10_lwfs.py	                        (rev 0)
+++ branches/1.1/tests/gen_deadline10_lwfs.py	2010-01-25 20:37:26 UTC (rev 791)
@@ -0,0 +1,121 @@
+from mx.DateTime import TimeDelta
+
+A_prematureends = [True, False]
+BC_prematureends = [True, False]
+BC_requesttimes = [(TimeDelta(minutes=15), TimeDelta(minutes=20)),
+                   (TimeDelta(minutes=40), TimeDelta(minutes=45)),
+                   (TimeDelta(minutes=45), TimeDelta(minutes=105))]
+
+numfile = 1
+
+for A_prematureend in A_prematureends:
+    for BC_prematureend in BC_prematureends:
+        for (B_requesttime, C_requesttime) in BC_requesttimes:
+            f = open ("deadline10-%i.lwf" % numfile, "w")
+            
+            print >> f, """<?xml version="1.0"?>
+<lease-workload name="deadline10">
+  <description>
+  """
+
+            if A_prematureend:
+                print >> f, "First lease ends prematurely."
+            else:
+                print >> f, "First lease does not end prematurely."
+
+            if BC_prematureend:
+                print >> f, "Second and third lease end prematurely."
+            else:
+                print >> f, "Second and third lease do not end prematurely."
+
+            print >> f, "Second and third lease start at %s and %s" % (B_requesttime, C_requesttime)
+            
+            print >> f, """
+  </description>
+
+  <site>
+    <resource-types names="CPU Memory"/>
+    <nodes>
+      <node-set numnodes="4">
+        <res type="CPU" amount="100"/>
+        <res type="Memory" amount="1024"/>
+      </node-set>
+    </nodes>
+  </site>
+  <lease-requests>
+
+    <lease-request arrival="00:00:00.00">"""
+            if A_prematureend:
+                 print >> f, """<realduration time="01:30:00.00"/>"""
+                 
+            print >> f, """
+      <lease id="1" preemptible="true">
+        <nodes>
+          <node-set numnodes="4">
+            <res amount="100" type="CPU"/>
+            <res amount="1024" type="Memory"/>
+          </node-set>
+        </nodes>
+        <start>
+          <exact time="00:30:00.00"/>
+        </start>
+        <duration time="02:00:00.00"/>
+        <deadline time="10:00:00.00"/>
+        <software>
+          <disk-image id="foobar1.img" size="1024"/>
+        </software>
+      </lease>
+    </lease-request>
+    <lease-request arrival="%s">""" % B_requesttime
+            if BC_prematureend:
+                 print >> f, """<realduration time="00:10:00.00"/>"""
+                 
+            print >> f, """
+      <lease id="2" preemptible="true">
+        <nodes>
+          <node-set numnodes="4">
+            <res amount="100" type="CPU"/>
+            <res amount="1024" type="Memory"/>
+          </node-set>
+        </nodes>
+        <start>
+          <exact time="01:00:00.00"/>
+        </start>
+        <duration time="00:15:00.00"/>
+        <deadline time="01:15:00.00"/>
+        <software>
+          <disk-image id="foobar1.img" size="1024"/>
+        </software>
+      </lease>
+    </lease-request>
+    <lease-request arrival="%s">""" % C_requesttime
+            if BC_prematureend:
+                 print >> f, """<realduration time="00:10:00.00"/>"""
+                 
+            print >> f, """
+      <lease id="3" preemptible="true">
+        <nodes>
+          <node-set numnodes="4">
+            <res amount="100" type="CPU"/>
+            <res amount="1024" type="Memory"/>
+          </node-set>
+        </nodes>
+        <start>
+          <exact time="02:00:00.00"/>
+        </start>
+        <duration time="00:15:00.00"/>
+        <deadline time="02:15:00.00"/>
+        <software>
+          <disk-image id="foobar1.img" size="1024"/>
+        </software>
+      </lease>
+    </lease-request>
+  </lease-requests>
+</lease-workload>"""
+
+            f.close()
+            print "    def test_deadline10_%i(self):" % numfile
+            print "        self._tracefile_test(\"deadline10-%i.lwf\")" % numfile
+            print "        self._verify_done([1,2,3])"
+            print
+            numfile += 1
\ No newline at end of file

Added: branches/1.1/tests/prematureend_in_start.lwf
===================================================================
--- branches/1.1/tests/prematureend_in_start.lwf	                        (rev 0)
+++ branches/1.1/tests/prematureend_in_start.lwf	2010-01-25 20:37:26 UTC (rev 791)
@@ -0,0 +1,52 @@
+<?xml version="1.0"?>
+<lease-workload name="preemption_prematureend">
+  <description>
+	Same as preempt.lwf, but with premature end time for the best-effort lease.
+  </description>
+
+  <site>
+    <resource-types names="CPU Memory"/>
+    <nodes>
+      <node-set numnodes="4">
+        <res type="CPU" amount="100"/>
+        <res type="Memory" amount="1024"/>
+      </node-set>
+    </nodes>
+  </site>
+    
+  <lease-requests>
+    <lease-request arrival="00:00:00.00">
+      <realduration time="00:29:30.00"/>
+      <lease id="1" preemptible="true">
+        <nodes>
+          <node-set numnodes="1">
+            <res amount="100" type="CPU"/>
+            <res amount="1024" type="Memory"/>
+          </node-set>
+        </nodes>
+        <start/>
+        <duration time="01:00:00.00"/>
+        <software>
+          <disk-image id="foobar1.img" size="1024"/>
+        </software>
+      </lease>
+    </lease-request>
+    <lease-request arrival="00:15:00.00">
+      <lease id="2" preemptible="false">
+        <nodes>
+          <node-set numnodes="4">
+            <res amount="100" type="CPU"/>
+            <res amount="1024" type="Memory"/>
+          </node-set>
+        </nodes>
+        <start>
+          <exact time="00:30:00.00"/>
+        </start>
+        <duration time="00:15:00.00"/>
+        <software>
+          <disk-image id="foobar2.img" size="1024"/>
+        </software>
+      </lease>
+    </lease-request>
+  </lease-requests>
+</lease-workload>

Modified: branches/1.1/tests/test_deadline.py
===================================================================
--- branches/1.1/tests/test_deadline.py	2010-01-25 18:39:44 UTC (rev 790)
+++ branches/1.1/tests/test_deadline.py	2010-01-25 20:37:26 UTC (rev 791)
@@ -5,6 +5,7 @@
     def __init__(self):
         config = BaseTest.load_configfile("base_config_simulator.conf")
         BaseTest.__init__(self, config)
+        self.config.set("scheduling", "mapper", "deadline")
         self.config.set("scheduling", "policy-preemption", "deadline")
         self.config.set("scheduling", "suspension", "all")
             
@@ -42,11 +43,83 @@
         self._verify_done([1,2])          
         self._verify_rejected([3])
                                 
-    def test_deadline9_1(self):
+    def test_deadline9(self):
         self._tracefile_test("deadline9.lwf")
         self._verify_done([1,2,3])
         
-    def test_deadline9_2(self):
-        self.config.set("scheduling", "suspension", "none")        
-        self._tracefile_test("deadline9.lwf")
-        self._verify_done([1,2,3])        
\ No newline at end of file
+    def test_deadline10_1(self):
+        self._tracefile_test("deadline10-1.lwf")
+        self._verify_done([1,2,3])
+
+    def test_deadline10_2(self):
+        self._tracefile_test("deadline10-2.lwf")
+        self._verify_done([1,2,3])
+
+    def test_deadline10_3(self):
+        self._tracefile_test("deadline10-3.lwf")
+        self._verify_done([1,2,3])
+
+    def test_deadline10_4(self):
+        self._tracefile_test("deadline10-4.lwf")
+        self._verify_done([1,2,3])
+
+    def test_deadline10_5(self):
+        self._tracefile_test("deadline10-5.lwf")
+        self._verify_done([1,2,3])
+
+    def test_deadline10_6(self):
+        self._tracefile_test("deadline10-6.lwf")
+        self._verify_done([1,2,3])
+
+    def test_deadline10_7(self):
+        self._tracefile_test("deadline10-7.lwf")
+        self._verify_done([1,2,3])
+
+    def test_deadline10_8(self):
+        self._tracefile_test("deadline10-8.lwf")
+        self._verify_done([1,2,3])
+
+    def test_deadline10_9(self):
+        self._tracefile_test("deadline10-9.lwf")
+        self._verify_done([1,2,3])
+
+    def test_deadline10_10(self):
+        self._tracefile_test("deadline10-10.lwf")
+        self._verify_done([1,2,3])
+
+    def test_deadline10_11(self):
+        self._tracefile_test("deadline10-11.lwf")
+        self._verify_done([1,2,3])
+
+    def test_deadline10_12(self):
+        self._tracefile_test("deadline10-12.lwf")
+        self._verify_done([1,2,3])
+
+    def test_deadline11_1(self):
+        self._tracefile_test("deadline11-1.lwf")
+        self._verify_done([1,2,3])
+
+    def test_deadline11_2(self):
+        self._tracefile_test("deadline11-2.lwf")
+        self._verify_done([1,2,3])
+
+    def test_deadline12(self):
+        self._tracefile_test("deadline12.lwf")
+        self._verify_done([1,2,3,4,5,6,7,8])
+        
+    def test_deadline13(self):
+        self._tracefile_test("deadline13.lwf")
+        self._verify_done([1,2,3])        
+        
+    def test_deadline14(self):
+        self._tracefile_test("deadline14.lwf")
+        self._verify_done([1,2,3])            
+
+    def test_deadline15(self):
+        self._tracefile_test("deadline15.lwf")
+        self._verify_done([1,2,3])            
+        self._verify_rejected([4])
+
+    def test_deadline16(self):
+        self._tracefile_test("deadline16.lwf")
+        self._verify_done([1,2,3,4,5,6])

Added: branches/1.1/tests/test_deadline_nosusp.py
===================================================================
--- branches/1.1/tests/test_deadline_nosusp.py	                        (rev 0)
+++ branches/1.1/tests/test_deadline_nosusp.py	2010-01-25 20:37:26 UTC (rev 791)
@@ -0,0 +1,104 @@
+from common import BaseTest
+from haizea.core.leases import Lease
+
+class TestSimulator(BaseTest):
+    def __init__(self):
+        config = BaseTest.load_configfile("base_config_simulator.conf")
+        BaseTest.__init__(self, config)
+        self.config.set("scheduling", "mapper", "deadline")
+        self.config.set("scheduling", "policy-preemption", "deadline")
+        self.config.set("scheduling", "suspension", "none")
+            
+    def test_deadline1(self):
+        self._tracefile_test("deadline1.lwf")
+        self._verify_done([1,2])          
+        
+    def test_deadline2(self):
+        self._tracefile_test("deadline2.lwf")
+        self._verify_done([1,2])          
+        
+    def test_deadline3(self):
+        self._tracefile_test("deadline3.lwf")
+        self._verify_done([1,2])          
+        
+    def test_deadline4(self):
+        self._tracefile_test("deadline4.lwf")
+        self._verify_done([1])          
+        self._verify_rejected([2])          
+                
+    def test_deadline5(self):
+        self._tracefile_test("deadline5.lwf")
+        self._verify_done([1,2])          
+
+    def test_deadline6(self):
+        self._tracefile_test("deadline6.lwf")
+        self._verify_done([1,2,3])          
+        
+    def test_deadline7(self):
+        self._tracefile_test("deadline7.lwf")
+        self._verify_done([1,2,3])          
+        
+    def test_deadline8(self):
+        self._tracefile_test("deadline8.lwf")
+        self._verify_done([1,2])          
+        self._verify_rejected([3])
+       
+    def test_deadline9(self):
+        self._tracefile_test("deadline9.lwf")
+        self._verify_done([1,2,3])      
+        
+    def test_deadline10_1(self):
+        self._tracefile_test("deadline10-1.lwf")
+        self._verify_done([1,2,3])
+
+    def test_deadline10_2(self):
+        self._tracefile_test("deadline10-2.lwf")
+        self._verify_done([1,2,3])
+
+    def test_deadline10_3(self):
+        self._tracefile_test("deadline10-3.lwf")
+        self._verify_done([1,2,3])
+
+    def test_deadline10_4(self):
+        self._tracefile_test("deadline10-4.lwf")
+        self._verify_done([1,2,3])
+
+    def test_deadline10_5(self):
+        self._tracefile_test("deadline10-5.lwf")
+        self._verify_done([1,2,3])
+
+    def test_deadline10_6(self):
+        self._tracefile_test("deadline10-6.lwf")
+        self._verify_done([1,2,3])
+
+    def test_deadline10_7(self):
+        self._tracefile_test("deadline10-7.lwf")
+        self._verify_done([1,2,3])
+
+    def test_deadline10_8(self):
+        self._tracefile_test("deadline10-8.lwf")
+        self._verify_done([1,2,3])
+
+    def test_deadline10_9(self):
+        self._tracefile_test("deadline10-9.lwf")
+        self._verify_done([1,2,3])
+
+    def test_deadline10_10(self):
+        self._tracefile_test("deadline10-10.lwf")
+        self._verify_done([1,2,3])
+
+    def test_deadline10_11(self):
+        self._tracefile_test("deadline10-11.lwf")
+        self._verify_done([1,2,3])
+
+    def test_deadline10_12(self):
+        self._tracefile_test("deadline10-12.lwf")
+        self._verify_done([1,2,3])
+
+    def test_deadline11_1(self):
+        self._tracefile_test("deadline11-1.lwf")
+        self._verify_done([1,2,3])
+
+    def test_deadline11_2(self):
+        self._tracefile_test("deadline11-2.lwf")
+        self._verify_done([1,2,3])
\ No newline at end of file

Modified: branches/1.1/tests/test_simul_notransfers.py
===================================================================
--- branches/1.1/tests/test_simul_notransfers.py	2010-01-25 18:39:44 UTC (rev 790)
+++ branches/1.1/tests/test_simul_notransfers.py	2010-01-25 20:37:26 UTC (rev 791)
@@ -7,28 +7,39 @@
    
     def test_preemption(self):
         BaseSimulatorTest.test_preemption(self)
+        self._verify_done([1,2]) 
         
     def test_preemption_prematureend(self):
         BaseSimulatorTest.test_preemption_prematureend(self)
-        
+        self._verify_done([1,2]) 
+                
     def test_preemption_prematureend2(self):
         BaseSimulatorTest.test_preemption_prematureend2(self)
+        self._verify_done([1,2]) 
 
     def test_reservation(self):
         BaseSimulatorTest.test_reservation(self)
+        self._verify_done([1,2]) 
         
     def test_reservation_prematureend(self):
         BaseSimulatorTest.test_reservation_prematureend(self)
+        self._verify_done([1,2]) 
         
     def test_migrate(self):
         BaseSimulatorTest.test_migrate(self)
+        self._verify_done([1,3]) 
         
     def test_reuse1(self):
         BaseSimulatorTest.test_reuse1(self)
+        self._verify_done([1,2]) 
         
     def test_reuse2(self):
         BaseSimulatorTest.test_reuse2(self)
+        self._verify_done([1,2,3]) 
         
     def test_wait(self):
         BaseSimulatorTest.test_wait(self)
-          
\ No newline at end of file
+
+    def test_prematureend_in_start(self):
+        self.config.set("scheduling", "override-suspend-time", "30")
+        self._tracefile_test("prematureend_in_start.lwf")          
\ No newline at end of file

Modified: branches/1.1/tests/test_simul_pricing.py
===================================================================
--- branches/1.1/tests/test_simul_pricing.py	2010-01-25 18:39:44 UTC (rev 790)
+++ branches/1.1/tests/test_simul_pricing.py	2010-01-25 20:37:26 UTC (rev 791)
@@ -25,6 +25,7 @@
         self._verify_rejected_by_user([1])
         
     def test_pricing_surcharge(self):
+        self.config.set("scheduling", "mapper", "deadline")
         self.config.set("scheduling", "policy-preemption", "deadline")
         self.config.set("scheduling", "suspension", "all")
         self.config.set("scheduling", "policy-pricing", "constant")



More information about the Haizea-commit mailing list