[haizea-commit] r497 - in trunk/src/haizea/resourcemanager: . frontends

haizea-commit at mailman.cs.uchicago.edu haizea-commit at mailman.cs.uchicago.edu
Mon Sep 15 11:53:14 CDT 2008


Author: borja
Date: 2008-09-15 11:53:14 -0500 (Mon, 15 Sep 2008)
New Revision: 497

Removed:
   trunk/src/haizea/resourcemanager/frontends/base.py
Modified:
   trunk/src/haizea/resourcemanager/frontends/__init__.py
   trunk/src/haizea/resourcemanager/frontends/rpc.py
   trunk/src/haizea/resourcemanager/frontends/tracefile.py
   trunk/src/haizea/resourcemanager/resourcepool.py
   trunk/src/haizea/resourcemanager/scheduler.py
Log:
Misc. code cleaning

Modified: trunk/src/haizea/resourcemanager/frontends/__init__.py
===================================================================
--- trunk/src/haizea/resourcemanager/frontends/__init__.py	2008-09-15 16:52:21 UTC (rev 496)
+++ trunk/src/haizea/resourcemanager/frontends/__init__.py	2008-09-15 16:53:14 UTC (rev 497)
@@ -16,3 +16,12 @@
 # limitations under the License.                                             #
 # -------------------------------------------------------------------------- #
 
+from haizea.common.utils import abstract
+
+class RequestFrontend(object):
+    def __init__(self, rm):
+        self.rm = rm
+    
+    def get_accumulated_requests(self): abstract()
+    
+    def exists_more_requests(self): abstract()
\ No newline at end of file

Deleted: trunk/src/haizea/resourcemanager/frontends/base.py
===================================================================
--- trunk/src/haizea/resourcemanager/frontends/base.py	2008-09-15 16:52:21 UTC (rev 496)
+++ trunk/src/haizea/resourcemanager/frontends/base.py	2008-09-15 16:53:14 UTC (rev 497)
@@ -1,27 +0,0 @@
-# -------------------------------------------------------------------------- #
-# Copyright 2006-2008, University of Chicago                                 #
-# Copyright 2008, Distributed Systems Architecture Group, Universidad        #
-# Complutense de Madrid (dsa-research.org)                                   #
-#                                                                            #
-# Licensed under the Apache License, Version 2.0 (the "License"); you may    #
-# not use this file except in compliance with the License. You may obtain    #
-# a copy of the License at                                                   #
-#                                                                            #
-# http://www.apache.org/licenses/LICENSE-2.0                                 #
-#                                                                            #
-# Unless required by applicable law or agreed to in writing, software        #
-# distributed under the License is distributed on an "AS IS" BASIS,          #
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.   #
-# See the License for the specific language governing permissions and        #
-# limitations under the License.                                             #
-# -------------------------------------------------------------------------- #
-
-from haizea.common.utils import abstract
-
-class RequestFrontend(object):
-    def __init__(self, rm):
-        self.rm = rm
-    
-    def getAccumulatedRequests(self): abstract()
-    
-    def existsMoreRequests(self): abstract()
\ No newline at end of file

Modified: trunk/src/haizea/resourcemanager/frontends/rpc.py
===================================================================
--- trunk/src/haizea/resourcemanager/frontends/rpc.py	2008-09-15 16:52:21 UTC (rev 496)
+++ trunk/src/haizea/resourcemanager/frontends/rpc.py	2008-09-15 16:53:14 UTC (rev 497)
@@ -17,16 +17,16 @@
 # -------------------------------------------------------------------------- #
 import haizea.common.constants as constants
 from haizea.resourcemanager.datastruct import ARLease, BestEffortLease, ImmediateLease, ResourceTuple
-from haizea.resourcemanager.frontends.base import RequestFrontend
+from haizea.resourcemanager.frontends import RequestFrontend
 from haizea.common.utils import round_datetime
 from mx.DateTime import DateTimeDelta, TimeDelta, ISO
 import logging
 
-HAIZEA_START_NOW = "now"
-HAIZEA_START_BESTEFFORT = "best_effort"
-HAIZEA_DURATION_UNLIMITED = "unlimited"
+class RPCFrontend(RequestFrontend):
+    HAIZEA_START_NOW = "now"
+    HAIZEA_START_BESTEFFORT = "best_effort"
+    HAIZEA_DURATION_UNLIMITED = "unlimited"
 
-class RPCFrontend(RequestFrontend):
     def __init__(self, rm):
         self.rm = rm
         self.logger = logging.getLogger("RPCREQ")
@@ -34,12 +34,12 @@
         config = self.rm.config
         self.rm.rpc_server.register_rpc(self.create_lease)
 
-    def getAccumulatedRequests(self):
+    def get_accumulated_requests(self):
         acc = self.accumulated
         self.accumulated = []
         return acc
     
-    def existsMoreRequests(self): 
+    def exists_more_requests(self): 
         return True
             
     def create_lease(self, start, duration, preemptible, numnodes, cpu, mem, vmimage, vmimagesize):

Modified: trunk/src/haizea/resourcemanager/frontends/tracefile.py
===================================================================
--- trunk/src/haizea/resourcemanager/frontends/tracefile.py	2008-09-15 16:52:21 UTC (rev 496)
+++ trunk/src/haizea/resourcemanager/frontends/tracefile.py	2008-09-15 16:53:14 UTC (rev 497)
@@ -17,7 +17,7 @@
 # -------------------------------------------------------------------------- #
 
 import haizea.common.constants as constants
-from haizea.resourcemanager.frontends.base import RequestFrontend
+from haizea.resourcemanager.frontends import RequestFrontend
 import haizea.traces.readers as tracereaders
 from haizea.resourcemanager.datastruct import ARLease, BestEffortLease 
 import operator
@@ -73,7 +73,7 @@
         self.logger.info("Loaded workload with %i requests (%i best-effort + %i AR)" % (num_besteffort+num_ar, num_besteffort, num_ar))
         
         
-    def getAccumulatedRequests(self):
+    def get_accumulated_requests(self):
         # When reading from a trace file, there are no
         # "accumulated requests". Rather, we just take whatever
         # requests are in the trace up to the current time
@@ -83,11 +83,11 @@
         self.requests = [r for r in self.requests if r.submit_time > time]   
         return nowreq              
 
-    def existsPendingReq(self):
+    def exists_more_requests(self):
         return len(self.requests) != 0
 
-    def getNextReqTime(self):
-        if self.existsPendingReq():
+    def get_next_request_time(self):
+        if self.exists_more_requests():
             return self.requests[0].submit_time
         else:
             return None
\ No newline at end of file

Modified: trunk/src/haizea/resourcemanager/resourcepool.py
===================================================================
--- trunk/src/haizea/resourcemanager/resourcepool.py	2008-09-15 16:52:21 UTC (rev 496)
+++ trunk/src/haizea/resourcemanager/resourcepool.py	2008-09-15 16:53:14 UTC (rev 497)
@@ -94,12 +94,6 @@
         verify_suspend_action.from_rr(rr)
         self.vm.verify_suspend(verify_suspend_action)
     
-    # TODO
-    # The following should be implemented to handle asynchronous
-    # notifications of a suspend completing.
-    #def suspendDone(self, lease, rr):
-    #    pass
-    
     def resume_vms(self, lease, rr):
         # Remove memory image files
         for vnode in rr.vnodes:
@@ -119,18 +113,6 @@
         verify_resume_action = actions.VMEnactmentConfirmResumeAction()
         verify_resume_action.from_rr(rr)
         self.vm.verify_resume(verify_resume_action)    
-        
-    # TODO
-    # The following should be implemented to handle asynchronous
-    # notifications of a resume completing.
-    #def resumeDone(self, lease, rr):
-    #    pass
-
-    # TODO
-    # The following should be implemented to handle asynchronous
-    # notifications of a VM ending
-    #def notify_vm_done(self, lease, rr):
-    #    pass
     
     def get_nodes(self):
         return self.nodes

Modified: trunk/src/haizea/resourcemanager/scheduler.py
===================================================================
--- trunk/src/haizea/resourcemanager/scheduler.py	2008-09-15 16:52:21 UTC (rev 496)
+++ trunk/src/haizea/resourcemanager/scheduler.py	2008-09-15 16:53:14 UTC (rev 497)
@@ -32,7 +32,7 @@
 
 import haizea.resourcemanager.datastruct as ds
 import haizea.common.constants as constants
-from haizea.common.utils import round_datetime_delta, estimate_transfer_time
+from haizea.common.utils import round_datetime_delta, round_datetime, estimate_transfer_time
 from haizea.resourcemanager.slottable import SlotTable, SlotFittingException
 from haizea.resourcemanager.deployment.unmanaged import UnmanagedDeployment
 from haizea.resourcemanager.deployment.predeployed import PredeployedImagesDeployment
@@ -604,7 +604,7 @@
                     changepoints[-1][1] = nodes[:]
         else:
             if not canmigrate:
-                vmrr, susprr = lease.get_last_vmrr()
+                vmrr = lease.get_last_vmrr()
                 curnodes = set(vmrr.nodes.values())
             else:
                 curnodes=None
@@ -1322,7 +1322,7 @@
         self.logger.debug("LEASE-%i Start of handleEndVM" % l.id)
         self.logger.vdebug("LEASE-%i Before:" % l.id)
         l.print_contents()
-        now_time = self.rm.clock.get_time()
+        now_time = round_datetime(self.rm.clock.get_time())
         diff = now_time - rr.start
         l.duration.accumulate_duration(diff)
         rr.state = ResourceReservation.STATE_DONE



More information about the Haizea-commit mailing list