Esempio n. 1
0
    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()
Esempio n. 2
0
    # testing activities
    # this test aims at characterizing the CPU
    testing = 1
    dynamics_plot_online = 0
    if testing == 1:
        sleepTimeSequence = [
            0.001, 0.005, 0.01, 0.02, 0.03, 0.08, 0.1, 0.15, 0.2, 0.3, 0.4, 0.5
        ]
        cpuSequence = [
            0.1, 0.8, 0.30, 0.70, 0.40, 0.10, 0.20, 0.60, 0.20, 0.70
        ]
        #cpuSequence = [ 0.80]
        #sleepTimeSequence = [0.001,  0.02]
        sleepTimeSequence = [cpu_model(x) for x in cpuSequence]
        stepPeriod = 4
        monitor = MonitorThread(0, 0.1)
        actuator = openLoopActuator(monitor,
                                    len(sleepTimeSequence) * stepPeriod, 0,
                                    dynamics_plot_online)
        monitor.start()
        actuator.run_sequence(sleepTimeSequence)

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

        with open('feed_forward_data', 'w') as outfile:
            json.dump(dynamics, outfile)
    else:
        with open('feed_forward_data', 'r') as outfile: