예제 #1
0
 def __init__(self):
     Builder.__init__(self, PerfRegulator)
     #option strings
     self.LOOP_PERIOD = 'loopperiod'
     self.QOS_WINDOW_SIZE = 'qoswindowsize'
     self.LOAD_WINDOWSIZE = 'loadwindowsize'
     self.SETPOINT = 'setpoint'
예제 #2
0
 def __init__(self, targetClass=None):
     if not targetClass: targetClass = Experiment
     Builder.__init__(self, targetClass)
     
     #sections
     self.EXPERIMENT = 'Experiment'
     self.SERVICE_MONITOR = 'RequestMonitor'
     self.CLUSTER = 'Cluster'
     self.PREDICTOR = 'Predictor'
     self.PERFREGULATOR = 'PerfRegulator'
     self.POWERMONITOR = 'PowerMonitor'       
     self.APACHE = 'XMLRPCProxy'
     self.CONFIGURATOR = 'Configurator'
     
     #options
     self.TRACE = 'trace'
     self.USE_CONFIGURATOR = 'useconfigurator'
     self.USE_PERFREGULATOR = 'useperfregulator'        
     self.DESCRIPTION = 'description'
     self.PLOT = 'plot'
     self.IP = 'ip'
     self.MAC_ADDR = 'mac'
     self.NETWORK_INTERFACE = 'eth'
     self.WORKGEN_PROGRAM = 'workgenprogram'
     self.WORKGEN_PARAMETERS = 'workgenparameters'
     self.WORKGEN_MIN_EXECUTION_TIME = 'workgenminexectime'
     self.WORKGEN_PATH = 'workgenpath'
     self.WORKGEN_MACHINE = 'workgenmachine'
     self.WORKGEN_INITCMD = 'workgeninitcmd'
예제 #3
0
 def __init__(self):
     Builder.__init__(self, PerfRegulator)
     #option strings        
     self.LOOP_PERIOD = 'loopperiod'
     self.QOS_WINDOW_SIZE = 'qoswindowsize'
     self.LOAD_WINDOWSIZE = 'loadwindowsize'
     self.SETPOINT = 'setpoint'
예제 #4
0
 def __init__(self, sectionName, targetClass=None):
     if not targetClass: targetClass = EnergyModel
     Builder.__init__(self, targetClass)
     self.sectionName = sectionName
     #option strings
     self.BUSY_POWER = 'busypower'
     self.IDLE_POWER = 'idlepower'
     self.PEAK_PERFORMANCE = 'peakperformance'
예제 #5
0
 def __init__(self, sectionName, targetClass=None):
     if not targetClass: targetClass = EnergyModel
     Builder.__init__(self, targetClass)
     self.sectionName = sectionName
     #option strings
     self.BUSY_POWER = 'busypower'
     self.IDLE_POWER = 'idlepower'
     self.PEAK_PERFORMANCE = 'peakperformance'
예제 #6
0
 def __init__(self, targetClass=None):
     if not targetClass: targetClass = Configurator
     Builder.__init__(self, targetClass)
     #option strings        
     self.LOOP_PERIOD = 'loopperiod'
     self.WINDOW_SIZE = 'windowsize'
     self.GAMMA = 'gamma'
     self.ADJUST_GAMMA = 'adjustgamma'
     self.GAMMA_INCR = 'gammaincrease'
     self.GAMMA_DECR = 'gammadecrease'
     self.ADJUST_WINDOW = 'adjustwindow'
예제 #7
0
 def __init__(self, targetClass=None):
     if not targetClass: targetClass = Configurator
     Builder.__init__(self, targetClass)
     #option strings
     self.LOOP_PERIOD = 'loopperiod'
     self.WINDOW_SIZE = 'windowsize'
     self.GAMMA = 'gamma'
     self.ADJUST_GAMMA = 'adjustgamma'
     self.GAMMA_INCR = 'gammaincrease'
     self.GAMMA_DECR = 'gammadecrease'
     self.ADJUST_WINDOW = 'adjustwindow'
예제 #8
0
파일: server.py 프로젝트: gbottari/ESSenCe
 def __init__(self, sectionName, targetClass=None):
     if not targetClass: targetClass = Server
     Builder.__init__(self, targetClass)
     self.sectionName = sectionName
     #option strings        
     self.HOSTNAME = 'hostname'
     self.IP = 'ip'  
     self.FREQS = 'freqs'
     self.MAC_ADDR = 'mac'
     self.NETWORK_INTERFACE = 'eth'
     self.APACHE_PATH = 'apachePath'
     self.DVFSCONTROLLER = 'dvfscontroller'
예제 #9
0
 def __init__(self, sectionName, targetClass=None):
     if not targetClass: targetClass = Server
     Builder.__init__(self, targetClass)
     self.sectionName = sectionName
     #option strings
     self.HOSTNAME = 'hostname'
     self.IP = 'ip'
     self.FREQS = 'freqs'
     self.MAC_ADDR = 'mac'
     self.NETWORK_INTERFACE = 'eth'
     self.APACHE_PATH = 'apachePath'
     self.DVFSCONTROLLER = 'dvfscontroller'
예제 #10
0
    def build(self, cr, *args):
        cluster = Builder.build(self, cr, *args)

        server_sections = cr.getValue(self.sectionName, self.SERVERS, eval)
        for section in server_sections:
            server = ServerBuilder(section).build(cr)
            cluster.join(server)

        return cluster
예제 #11
0
파일: cluster.py 프로젝트: gbottari/ESSenCe
 def build(self, cr, *args):
     cluster = Builder.build(self, cr, *args)
     
     server_sections = cr.getValue(self.sectionName,self.SERVERS, eval)        
     for section in server_sections:            
         server = ServerBuilder(section).build(cr)            
         #assert isinstance(server, Server)
         cluster.join(server)
         
     return cluster
예제 #12
0
    def build(self, cr):
        server = Builder.build(self, cr)

        energyModel = EnergyModelBuilder(self.sectionName).build(cr, server)
        server.energyModel = energyModel
        '''
        This section builds a DVFSController.
        Every server must have a different instance of DVFSController, however each section at the
        configuration file usually represents one single instance (that can be shared among many
        objects).
        Therefore, it's the ServerBuilder that must create and link himself with the DVFSController.
        '''
        deps = [server]
        server.dvfsCont = self.buildObject(cr, 'DVFSController', deps)

        return server
예제 #13
0
파일: server.py 프로젝트: gbottari/ESSenCe
 def build(self, cr):
     server = Builder.build(self, cr)
     
     energyModel = EnergyModelBuilder(self.sectionName).build(cr, server)      
     server.energyModel = energyModel        
     
     '''
     This section builds a DVFSController.
     Every server must have a different instance of DVFSController, however each section at the
     configuration file usually represents one single instance (that can be shared among many
     objects).
     Therefore, it's the ServerBuilder that must create and link himself with the DVFSController.
     '''
     deps = [server]
     server.dvfsCont = self.buildObject(cr, 'DVFSController', deps)
     
     return server
예제 #14
0
 def buildObject(self, cr, sectionName, exp):
     '''
     Automatically fetches the dependencies from the Experiment instance and hands them to the
     conventional method.
     '''
     sections = cr.getValue(sectionName, 'dependencies', eval, required=False)
     
     '''
     Transforms the string list of dependencies into a list of objects that
     represents those dependencies
     '''
     deps = []
     if sections:
         for section in sections:
             attr = '_' + section.lower()
             if hasattr(exp, attr):
                 deps.append(eval('exp.' + attr))        
     
     return Builder.buildObject(self, cr, sectionName, deps)
예제 #15
0
 def __init__(self, targetClass=None):
     if not targetClass: targetClass = LoadBalancer
     Builder.__init__(self, targetClass)
예제 #16
0
 def __init__(self):
     Builder.__init__(self, ResourceMonitor)
     self.PORT = 'port'
     self.HOST = 'host'   
예제 #17
0
 def __init__(self):
     Builder.__init__(self, RequestMonitor)
     #option strings
     self.LOOP_PERIOD = 'loopperiod'
     self.SERVICES = 'buffers'
예제 #18
0
 def __init__(self):
     Builder.__init__(self, ResourceMonitor)
     self.PORT = 'port'
     self.HOST = 'host'
예제 #19
0
파일: filters.py 프로젝트: gbottari/ESSenCe
 def __init__(self, targetClass=None):
     if not targetClass: targetClass = ExpAvg
     Builder.__init__(self, targetClass)
     self.sectionName = 'Predictor'
     #option strings
     self.ALPHA = 'alpha'
예제 #20
0
 def __init__(self):
     Builder.__init__(self, RequestBuffer)
     #option strings
     self.URLS = 'urls'
예제 #21
0
파일: cluster.py 프로젝트: gbottari/ESSenCe
 def __init__(self, targetClass=None):
     if not targetClass: targetClass = Cluster
     Builder.__init__(self, targetClass)        
     #option strings
     self.SERVERS = 'servers'
예제 #22
0
 def __init__(self, targetClass=None):
     if not targetClass: targetClass = DVFSController
     Builder.__init__(self, targetClass)
예제 #23
0
 def __init__(self, targetClass=None):
     if not targetClass: targetClass = Cluster
     Builder.__init__(self, targetClass)
     #option strings
     self.SERVERS = 'servers'
예제 #24
0
 def __init__(self, targetClass=None):
     if not targetClass: targetClass = PowerMonitor
     Builder.__init__(self, targetClass)
     self.sectionName = PowerMonitor.__name__
     # options:
     self.LOOP_PERIOD = 'loopperiod'
예제 #25
0
 def build(self, cr, *args):
     exp = Builder.buildObject(self, cr, 'Experiment', [])
     return exp
예제 #26
0
 def __init__(self, targetClass=None):        
     Builder.__init__(self, Experiment)
예제 #27
0
파일: service.py 프로젝트: gbottari/ESSenCe
 def __init__(self):
     Builder.__init__(self, RequestBuffer)
     #option strings        
     self.URLS = 'urls'
예제 #28
0
파일: filters.py 프로젝트: gbottari/ESSenCe
 def __init__(self, targetClass=None):
     if not targetClass: targetClass = ExpAvg
     Builder.__init__(self, targetClass)
     self.sectionName = 'Predictor'
     #option strings
     self.ALPHA = 'alpha'
예제 #29
0
파일: filters.py 프로젝트: gbottari/ESSenCe
 def __init__(self, targetClass=None):
     if not targetClass: targetClass = KalmanFilter
     Builder.__init__(self, targetClass)
     self.sectionName = 'Predictor'        
예제 #30
0
파일: filters.py 프로젝트: gbottari/ESSenCe
 def __init__(self, targetClass=None):
     if not targetClass: targetClass = KalmanFilter
     Builder.__init__(self, targetClass)
     self.sectionName = 'Predictor'
예제 #31
0
 def __init__(self, targetClass=None):
     if not targetClass: targetClass = LoadBalancer
     Builder.__init__(self, targetClass)
예제 #32
0
 def __init__(self, targetClass=None):
     if not targetClass: targetClass = DVFSController
     Builder.__init__(self, targetClass)
예제 #33
0
 def __init__(self):
     Builder.__init__(self, RequestMonitor)
     #option strings
     self.LOOP_PERIOD = 'loopperiod'
     self.SERVICES = 'buffers'
예제 #34
0
 def __init__(self):
     Builder.__init__(self, XMLRPCProxy)
     #option strings
     self.HOST = 'host'
     self.PORT = 'port'