From: acarpena Date: Mon, 1 Jul 2013 00:36:14 +0000 (-0700) Subject: Merge branch 'dvfs' X-Git-Tag: v3_9_90~203^2~2 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/a3848e5ea6b2305d6059c89705edaccbec356455 Merge branch 'dvfs' Conflicts: buildtools/Cmake/MakeExe.cmake src/include/surf/surf.h src/surf/simgrid_dtd.c --- a3848e5ea6b2305d6059c89705edaccbec356455 diff --cc buildtools/Cmake/MakeExe.cmake index 92c7005e0a,346c93ce7d..c572a08aca --- a/buildtools/Cmake/MakeExe.cmake +++ b/buildtools/Cmake/MakeExe.cmake @@@ -29,41 -52,40 +29,45 @@@ add_subdirectory(${CMAKE_HOME_DIRECTORY add_subdirectory(${CMAKE_HOME_DIRECTORY}/examples/java/suspend) add_subdirectory(${CMAKE_HOME_DIRECTORY}/examples/java/tracing) -add_subdirectory(${CMAKE_HOME_DIRECTORY}/examples/scala) -add_subdirectory(${CMAKE_HOME_DIRECTORY}/examples/scala/masterslave) -add_subdirectory(${CMAKE_HOME_DIRECTORY}/examples/scala/master_slave_bypass) -add_subdirectory(${CMAKE_HOME_DIRECTORY}/examples/scala/master_slave_kill) - -add_subdirectory(${CMAKE_HOME_DIRECTORY}/examples/msg/properties) add_subdirectory(${CMAKE_HOME_DIRECTORY}/examples/msg/actions) -add_subdirectory(${CMAKE_HOME_DIRECTORY}/examples/msg/migration) -add_subdirectory(${CMAKE_HOME_DIRECTORY}/examples/msg/sendrecv) -add_subdirectory(${CMAKE_HOME_DIRECTORY}/examples/msg/chainsend) -add_subdirectory(${CMAKE_HOME_DIRECTORY}/examples/msg/suspend) -add_subdirectory(${CMAKE_HOME_DIRECTORY}/examples/msg/parallel_task) -add_subdirectory(${CMAKE_HOME_DIRECTORY}/examples/msg/priority) -add_subdirectory(${CMAKE_HOME_DIRECTORY}/examples/msg/masterslave) -add_subdirectory(${CMAKE_HOME_DIRECTORY}/examples/msg/icomms) add_subdirectory(${CMAKE_HOME_DIRECTORY}/examples/msg/bittorrent) +add_subdirectory(${CMAKE_HOME_DIRECTORY}/examples/msg/chainsend) add_subdirectory(${CMAKE_HOME_DIRECTORY}/examples/msg/chord) -add_subdirectory(${CMAKE_HOME_DIRECTORY}/examples/msg/kademlia) -add_subdirectory(${CMAKE_HOME_DIRECTORY}/examples/msg/token_ring) -add_subdirectory(${CMAKE_HOME_DIRECTORY}/examples/msg/pmm) -add_subdirectory(${CMAKE_HOME_DIRECTORY}/examples/msg/start_kill_time) - -add_subdirectory(${CMAKE_HOME_DIRECTORY}/examples/msg/io) add_subdirectory(${CMAKE_HOME_DIRECTORY}/examples/msg/cloud) add_subdirectory(${CMAKE_HOME_DIRECTORY}/examples/msg/gpu) -add_subdirectory(${CMAKE_HOME_DIRECTORY}/examples/msg/tracing) -add_subdirectory(${CMAKE_HOME_DIRECTORY}/examples/msg/mc) add_subdirectory(${CMAKE_HOME_DIRECTORY}/examples/msg/gtnets) +add_subdirectory(${CMAKE_HOME_DIRECTORY}/examples/msg/icomms) +add_subdirectory(${CMAKE_HOME_DIRECTORY}/examples/msg/io) +add_subdirectory(${CMAKE_HOME_DIRECTORY}/examples/msg/kademlia) +add_subdirectory(${CMAKE_HOME_DIRECTORY}/examples/msg/masterslave) +add_subdirectory(${CMAKE_HOME_DIRECTORY}/examples/msg/mc) +add_subdirectory(${CMAKE_HOME_DIRECTORY}/examples/msg/migration) add_subdirectory(${CMAKE_HOME_DIRECTORY}/examples/msg/ns3) +add_subdirectory(${CMAKE_HOME_DIRECTORY}/examples/msg/parallel_task) +add_subdirectory(${CMAKE_HOME_DIRECTORY}/examples/msg/pastry) +add_subdirectory(${CMAKE_HOME_DIRECTORY}/examples/msg/pmm) +add_subdirectory(${CMAKE_HOME_DIRECTORY}/examples/msg/priority) +add_subdirectory(${CMAKE_HOME_DIRECTORY}/examples/msg/properties) +add_subdirectory(${CMAKE_HOME_DIRECTORY}/examples/msg/semaphores) +add_subdirectory(${CMAKE_HOME_DIRECTORY}/examples/msg/sendrecv) +add_subdirectory(${CMAKE_HOME_DIRECTORY}/examples/msg/start_kill_time) +add_subdirectory(${CMAKE_HOME_DIRECTORY}/examples/msg/suspend) +add_subdirectory(${CMAKE_HOME_DIRECTORY}/examples/msg/token_ring) +add_subdirectory(${CMAKE_HOME_DIRECTORY}/examples/msg/tracing) + +add_subdirectory(${CMAKE_HOME_DIRECTORY}/examples/scala) +add_subdirectory(${CMAKE_HOME_DIRECTORY}/examples/scala/master_slave_bypass) +add_subdirectory(${CMAKE_HOME_DIRECTORY}/examples/scala/master_slave_kill) +add_subdirectory(${CMAKE_HOME_DIRECTORY}/examples/scala/masterslave) + ++add_subdirectory(${CMAKE_HOME_DIRECTORY}/examples/msg/energy/e1) ++add_subdirectory(${CMAKE_HOME_DIRECTORY}/examples/msg/energy/e2) ++add_subdirectory(${CMAKE_HOME_DIRECTORY}/examples/msg/energy/e3) + add_subdirectory(${CMAKE_HOME_DIRECTORY}/examples/simdag) add_subdirectory(${CMAKE_HOME_DIRECTORY}/examples/simdag/dax) -add_subdirectory(${CMAKE_HOME_DIRECTORY}/examples/simdag/goal) add_subdirectory(${CMAKE_HOME_DIRECTORY}/examples/simdag/dot) +add_subdirectory(${CMAKE_HOME_DIRECTORY}/examples/simdag/goal) add_subdirectory(${CMAKE_HOME_DIRECTORY}/examples/simdag/metaxml) add_subdirectory(${CMAKE_HOME_DIRECTORY}/examples/simdag/properties) add_subdirectory(${CMAKE_HOME_DIRECTORY}/examples/simdag/scheduling) diff --cc src/include/surf/surf.h index 2872f56fee,a9d5330488..e6fd6ff33c --- a/src/include/surf/surf.h +++ b/src/include/surf/surf.h @@@ -193,9 -195,13 +193,14 @@@ typedef struct surf_cpu_model_extension surf_action_t(*execute) (void *cpu, double size); surf_action_t(*sleep) (void *cpu, double duration); e_surf_resource_state_t(*get_state) (void *cpu); + int (*get_core) (void *cpu); double (*get_speed) (void *cpu, double load); double (*get_available_speed) (void *cpu); + double (*get_current_power_peak) (void *cpu); + double (*get_power_peak_at) (void *cpu, int pstate_index); + int (*get_nb_pstates) (void *cpu); + void (*set_power_peak_at) (void *cpu, int pstate_index); + double (*get_consumed_energy) (void *cpu); void (*add_traces) (void); } s_surf_model_extension_cpu_t; @@@ -244,9 -251,14 +249,18 @@@ typedef struct surf_workstation_model_e and create the corresponding action */ surf_action_t(*sleep) (void *workstation, double duration); /**< Make a workstation sleep during a given duration */ e_surf_resource_state_t(*get_state) (void *workstation); /**< Return the CPU state of a workstation */ - double (*get_speed) (void *workstation, double load); /**< Return the speed of a workstation */ + - double (*get_current_power_peak) (void *workstation); - double (*get_power_peak_at) (void *workstation, int pstate_index); - int (*get_nb_pstates) (void *workstation); - void (*set_power_peak_at) (void *workstation, int pstate_index); - double (*get_consumed_energy) (void *workstation); + int (*get_core) (void *workstation); + double (*get_speed) (void *workstation, double load); /**< Return the speed of a workstation */ double (*get_available_speed) (void *workstation); /**< Return tha available speed of a workstation */ ++ ++ double (*get_current_power_peak) (void *workstation); /**< Return the current CPU speed of a workstation */ ++ double (*get_power_peak_at) (void *workstation, int pstate_index); /**< Return the speed of a workstation for a specific pstate, ++ (where higher pstate values represent lower processor speeds) */ ++ int (*get_nb_pstates) (void *workstation); /**< Return the number of pstates defined for a workstation (default is 1) */ ++ void (*set_power_peak_at) (void *workstation, int pstate_index); /**< Set the processor speed of a workstation to the speed associated with the pstate_index pstate */ ++ double (*get_consumed_energy) (void *workstation); /**< Return the total energy consumed by a workstation */ ++ surf_action_t(*communicate) (void *workstation_src, /**< Execute a communication amount between two workstations */ void *workstation_dst, double size, double max_rate);