Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge branch 'dvfs'
authoracarpena <alexandra.carpen-amarie@inria.fr>
Mon, 1 Jul 2013 00:36:14 +0000 (17:36 -0700)
committeracarpena <alexandra.carpen-amarie@inria.fr>
Mon, 1 Jul 2013 00:36:14 +0000 (17:36 -0700)
Conflicts:
buildtools/Cmake/MakeExe.cmake
src/include/surf/surf.h
src/surf/simgrid_dtd.c

18 files changed:
1  2 
buildtools/Cmake/DefinePackages.cmake
buildtools/Cmake/MakeExe.cmake
examples/msg/properties/msg_prop.c
include/msg/msg.h
include/simgrid/platf.h
include/simgrid/simix.h
src/include/surf/surf.h
src/msg/msg_host.c
src/simix/smx_host.c
src/simix/smx_host_private.h
src/simix/smx_smurf_private.h
src/simix/smx_user.c
src/surf/cpu_cas01.c
src/surf/simgrid.dtd
src/surf/surf_private.h
src/surf/surf_routing.c
src/surf/surfxml_parse.c
src/surf/workstation.c

Simple merge
@@@ -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)
Simple merge
Simple merge
Simple merge
Simple merge
@@@ -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);
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge