Example #1
0
            print("CPU target load out of the range [0,1]")
            sys.exit(1)
        if options['duration'] < 0:
            print("Invalid duration")
            sys.exit(1)
        if options['plot'] != 0 and options['plot'] != 1:
            print("plot can be enabled 1 or disabled 0")
            sys.exit(1)
        if options['cpu_core'] >= multiprocessing.cpu_count():
            print("You have only %d cores on your machine" %
                  (multiprocessing.cpu_count()))
            sys.exit(1)

    monitor = MonitorThread(options['cpu_core'], 0.1)
    monitor.start()

    control = ControllerThread(0.1)
    control.start()
    control.setCpuTarget(options['cpuLoad'])

    actuator = closedLoopActuator(control, monitor, options['duration'],
                                  options['cpu_core'], options['cpuLoad'],
                                  options['plot'])
    actuator.run()
    actuator.close()

    monitor.running = 0
    control.running = 0
    monitor.join()
    control.join()
Example #2
0
if __name__ == "__main__":
   
    ######################################################
    #             PID TEST                               # 
    ######################################################
    # testing activities
    # this test aims at characterizing the CPU
    testing = 1
    dynamics_plot_online = 0
    if testing == 1:
        cpuSequence = [0.8, 0.1, 0.30, 0.70, 0.40, 0.10, 0.20, 0.60, 0.20, 0.70]
        #cpuSequence = [0.8, 0.1]
        stepPeriod = 4

        control = ControllerThread(0.1)
        monitor = MonitorThread(0, 0.1)
        actuator = closedLoopActuator(control, monitor, len(cpuSequence) * stepPeriod, 0, 1, dynamics_plot_online)

        monitor.start()
        control.start()
        actuator.run_sequence(cpuSequence)
        
        actuator.close()
        monitor.running = 0
        control.running = 0
        dynamics =  monitor.getDynamics()
       
        monitor.join()
        control.join()
        
Example #3
0
    ######################################################
    #             PID TEST                               #
    ######################################################
    # testing activities
    # this test aims at characterizing the CPU
    testing = 1
    dynamics_plot_online = 0
    if testing == 1:
        cpuSequence = [
            0.8, 0.1, 0.30, 0.70, 0.40, 0.10, 0.20, 0.60, 0.20, 0.70
        ]
        #cpuSequence = [0.8, 0.1]
        stepPeriod = 4

        control = ControllerThread(0.1)
        monitor = MonitorThread(0, 0.1)
        actuator = closedLoopActuator(control, monitor,
                                      len(cpuSequence) * stepPeriod, 0, 1,
                                      dynamics_plot_online)

        monitor.start()
        control.start()
        actuator.run_sequence(cpuSequence)

        actuator.close()
        monitor.running = 0
        control.running = 0
        dynamics = monitor.getDynamics()

        monitor.join()
        if options["cpuLoad"] < 0 or options["cpuLoad"] > 1:
            print "CPU target load out of the range [0,1]"
            sys.exit(1)
        if options["duration"] < 0:
            print "Invalid duration"
            sys.exit(1)
        if options["plot"] != 0 and options["plot"] != 1:
            print "plot can be enabled 1 or disabled 0"
            sys.exit(1)
        if options["cpu_core"] >= multiprocessing.cpu_count():
            print "You have only %d cores on your machine" % (multiprocessing.cpu_count())
            sys.exit(1)

    monitor = MonitorThread(options["cpu_core"], 0.1)
    monitor.start()

    control = ControllerThread(0.1)
    control.start()
    control.setCpuTarget(options["cpuLoad"])

    actuator = closedLoopActuator(
        control, monitor, options["duration"], options["cpu_core"], options["cpuLoad"], options["plot"]
    )
    actuator.run()
    actuator.close()

    monitor.running = 0
    control.running = 0
    monitor.join()
    control.join()
        sys.exit(1)
    else:
        if options['cpuLoad'] < 0 or options['cpuLoad'] > 1: 
            print "CPU target load out of the range [0,1]"
            sys.exit(1)
        if options['duration'] < 0: 
            print "Invalid duration"
            sys.exit(1)
        if options['plot'] != 0 and options['plot'] != 1: 
            print "plot can be enabled 1 or disabled 0"
            sys.exit(1)
        if options['cpu_core'] >= multiprocessing.cpu_count(): 
            print "You have only %d cores on your machine" % (multiprocessing.cpu_count())
            sys.exit(1)
    
    monitor = MonitorThread(options['cpu_core'], 0.1)
    monitor.start()

    control = ControllerThread(0.1)
    control.start()
    control.setCpuTarget(options['cpuLoad'])

    actuator = closedLoopActuator(control, monitor, options['duration'], options['cpu_core'], options['cpuLoad'], options['plot'])
    actuator.run()
    actuator.close()

    monitor.running = 0;
    control.running = 0;
    monitor.join()
    control.join()