Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge pull request #17 from mpoquet/master
authorMartin Quinson <martin.quinson@loria.fr>
Tue, 14 Jul 2015 19:54:24 +0000 (21:54 +0200)
committerMartin Quinson <martin.quinson@loria.fr>
Tue, 14 Jul 2015 19:54:24 +0000 (21:54 +0200)
Candidate patch to issue #15

317 files changed:
.gitignore
CMakeLists.txt
ChangeLog
NEWS
buildtools/Cmake/AddTests.cmake
buildtools/Cmake/CompleteInFiles.cmake
buildtools/Cmake/DefinePackages.cmake
buildtools/Cmake/Flags.cmake
buildtools/Cmake/GenerateDoc.cmake
buildtools/Cmake/MakeLib.cmake
buildtools/Cmake/Modules/FindGFortran.cmake
buildtools/Cmake/Modules/FindLibunwind.cmake
buildtools/Cmake/PrintArgs.cmake
buildtools/Cmake/src/internal_config.h.in
buildtools/Cmake/test_prog/prog_printf_null.c [deleted file]
buildtools/Cmake/test_prog/prog_stacksetup.c
buildtools/jenkins/build.sh [new file with mode: 0755]
buildtools/jenkins/run.bat [deleted file]
buildtools/jenkins/run_DynamicAnalysis.sh
buildtools/jenkins/runmingw.sh [deleted file]
buildtools/pipol/Experimental_bindings.sh [deleted file]
buildtools/pipol/MemCheck.sh [deleted file]
buildtools/pipol/Nightly_memCheck.sh [deleted file]
buildtools/pipol/Nightly_simgrid.sh [deleted file]
buildtools/pipol/cmake.pl [deleted file]
buildtools/pipol/deploy.sh [deleted file]
buildtools/pipol/install_gtnets.sh [deleted file]
buildtools/pipol/install_ns3.sh [deleted file]
buildtools/pipol/pre-simgrid.sh [deleted file]
buildtools/pipol/rc.debian [deleted file]
buildtools/pipol/rc.fedora [deleted file]
buildtools/pipol/rc.mac [deleted file]
buildtools/pipol/rc.ubuntu [deleted file]
buildtools/pipol/rc.windows [deleted file]
buildtools/pipol/ruby.pl [deleted file]
doc/Doxyfile.in
doc/doxygen/options.doc
doc/doxygen/platform.doc
examples/java/cloud/migration/migration.tesh
examples/java/master_slave_bypass/Slave.java
examples/java/master_slave_kill/Slave.java
examples/java/surfCpuModel/surf_cpu_model.tesh
examples/msg/actions/CMakeLists.txt
examples/msg/actions/actions_io.txt [new file with mode: 0644]
examples/msg/actions/storage_actions.c [new file with mode: 0644]
examples/msg/actions/storage_deployment.xml [new file with mode: 0644]
examples/msg/chainsend/chainsend.c
examples/msg/chord/chord.tesh
examples/msg/chord/chord_crosstraffic.tesh
examples/msg/cloud/master_worker_vm.tesh
examples/msg/cloud/simple_vm.tesh
examples/msg/cloud/two_tasks_vm.tesh
examples/msg/gtnets/gtnets-dogbone-gtnets.tesh
examples/msg/gtnets/gtnets-dogbone-lv08.tesh
examples/msg/gtnets/gtnets-onelink-gtnets.tesh
examples/msg/gtnets/gtnets-onelink-lv08.tesh
examples/msg/gtnets/gtnets-waxman.tesh
examples/msg/gtnets/gtnets.c
examples/msg/gtnets/tracing-gtnets-dogbone-gtnets.tesh
examples/msg/gtnets/tracing-gtnets-dogbone-lv08.tesh
examples/msg/gtnets/tracing-gtnets-onelink-gtnets.tesh
examples/msg/gtnets/tracing-gtnets-onelink-lv08.tesh
examples/msg/gtnets/tracing-gtnets-waxman.tesh
examples/msg/icomms/peer.c
examples/msg/icomms/peer2.c
examples/msg/icomms/peer3.c
examples/msg/masterslave/masterslave_cas01_im.tesh
examples/msg/masterslave/masterslave_cpu_ti_crosstraffic.tesh
examples/msg/masterslave/masterslave_failure.c
examples/msg/masterslave/masterslave_failure.tesh
examples/msg/masterslave/masterslave_failure_crosstraffic.tesh
examples/msg/masterslave/masterslave_forwarder.c
examples/msg/masterslave/masterslave_mailbox.c
examples/msg/masterslave/masterslave_multicore.tesh
examples/msg/ns3/ns3.c
examples/msg/ns3/ns3.tesh
examples/msg/parallel_task/parallel_task.c
examples/msg/parallel_task/parallel_task.tesh
examples/msg/parallel_task/test_ptask.c
examples/msg/pastry/pastry_crosstraffic.tesh
examples/msg/sendrecv/sendrecv.c
examples/msg/sendrecv/sendrecv_CLM03.tesh
examples/msg/sendrecv/sendrecv_Reno.tesh
examples/msg/sendrecv/sendrecv_Vegas.tesh
examples/platforms/config.xml
examples/simdag/dax/simple_dax_with_cycle.tesh
examples/simdag/dax/smalldax.tesh
examples/simdag/dot/test_simdag_dotload.tesh
examples/simdag/io/sd_io.c
examples/simdag/properties/test_prop.tesh
examples/simdag/scheduling/test_minmin.tesh
examples/simdag/sd_comm_throttling.c
examples/simdag/test_simdag.tesh
examples/simdag/test_simdag2.tesh
examples/simdag/test_simdag_avail.tesh
examples/simdag/test_simdag_comm_throttling.tesh
examples/simdag/test_simdag_fail.tesh
examples/simdag/test_simdag_seq_access.tesh
examples/simdag/test_simdag_tracing.tesh
examples/simdag/test_simdag_typed_tasks.tesh
examples/smpi/energy/energy.tesh
examples/smpi/energy/f77/energy.tesh
examples/smpi/energy/f90/energy.tesh
examples/smpi/mc/non_deterministic.tesh
examples/smpi/mc/only_send_deterministic.tesh
examples/smpi/replay/replay.c
examples/smpi/replay/smpi_replay.tesh
examples/smpi/replay_multiple/replay_multiple.c
examples/smpi/smpi_msg_masterslave/masterslave_mailbox_smpi.c
examples/smpi/tracing/smpi_traced.tesh
include/simgrid/simix.h
include/smpi/mpif.h.in
include/smpi/smpi.h
include/surf/surf_routing.h
include/xbt/base.h [new file with mode: 0644]
include/xbt/dynar.h
include/xbt/function_types.h
include/xbt/misc.h
include/xbt/replay.h
src/bindings/java/org/simgrid/NativeLib.java
src/bindings/java/org/simgrid/msg/RngStream.java
src/bindings/java/org/simgrid/msg/Storage.java
src/bindings/java/org/simgrid/msg/Task.java
src/bindings/lua/lua_platf.c
src/include/simgrid/platf_interface.h
src/include/surf/surf.h
src/instr/instr_config.c
src/instr/instr_paje_trace.c
src/instr/instr_private.h
src/instr/jedule/jedule_sd_binding.c
src/mc/AddressSpace.hpp
src/mc/ModelChecker.hpp
src/mc/PageStore.hpp
src/mc/RegionSnapshot.hpp
src/mc/mc_base.h
src/mc/mc_client.h
src/mc/mc_comm_pattern.h
src/mc/mc_dwarf.cpp
src/mc/mc_dwarf_attrnames.cpp [new file with mode: 0644]
src/mc/mc_dwarf_attrnames.h [deleted file]
src/mc/mc_dwarf_tagnames.cpp [new file with mode: 0644]
src/mc/mc_dwarf_tagnames.h [deleted file]
src/mc/mc_forward.h
src/mc/mc_hash.hpp
src/mc/mc_ignore.h
src/mc/mc_liveness.h
src/mc/mc_location.h
src/mc/mc_member.cpp
src/mc/mc_memory_map.h
src/mc/mc_mmalloc.h
src/mc/mc_mmu.h
src/mc/mc_object_info.cpp
src/mc/mc_object_info.h
src/mc/mc_private.h
src/mc/mc_process.cpp
src/mc/mc_process.h
src/mc/mc_protocol.h
src/mc/mc_record.h
src/mc/mc_replay.h
src/mc/mc_request.h
src/mc/mc_safety.h
src/mc/mc_server.h
src/mc/mc_smx.h
src/mc/mc_snapshot.h
src/mc/mc_state.h
src/mc/mc_unw.h
src/mc/mcer_ignore.h
src/msg/msg_actions.c
src/msg/msg_global.c
src/msg/msg_host.c
src/msg/msg_io.c
src/msg/msg_mailbox.c
src/msg/msg_private.h
src/msg/msg_process.c
src/portable.h
src/simdag/sd_global.c
src/simdag/sd_task.c
src/simdag/sd_workstation.c
src/simgrid/sg_config.c
src/simix/smx_context_boost.cpp
src/simix/smx_environment.c
src/simix/smx_global.c
src/simix/smx_host.c
src/simix/smx_host_private.h
src/simix/smx_io.c
src/simix/smx_network.c
src/simix/smx_private.h
src/simix/smx_process.c
src/simix/smx_process_private.h
src/simix/smx_synchro.c
src/simix/smx_vm.c
src/smpi/smpi_base.c
src/smpi/smpi_bench.c
src/smpi/smpi_global.c
src/smpi/smpi_group.c
src/smpi/smpi_replay.c
src/surf/cpu_interface.hpp
src/surf/host_clm03.cpp [moved from src/surf/workstation_clm03.cpp with 56% similarity]
src/surf/host_clm03.hpp [moved from src/surf/workstation_clm03.hpp with 55% similarity]
src/surf/host_interface.cpp [moved from src/surf/workstation_interface.cpp with 71% similarity]
src/surf/host_interface.hpp [moved from src/surf/workstation_interface.hpp with 63% similarity]
src/surf/host_ptask_L07.cpp [moved from src/surf/workstation_ptask_L07.cpp with 79% similarity]
src/surf/host_ptask_L07.hpp [moved from src/surf/workstation_ptask_L07.hpp with 76% similarity]
src/surf/network_interface.hpp
src/surf/surf_c_bindings.cpp
src/surf/surf_interface.cpp
src/surf/surf_interface.hpp
src/surf/surf_routing.cpp
src/surf/vm_hl13.cpp [moved from src/surf/vm_workstation_hl13.cpp with 75% similarity]
src/surf/vm_hl13.hpp [moved from src/surf/vm_workstation_hl13.hpp with 61% similarity]
src/surf/vm_interface.cpp [new file with mode: 0644]
src/surf/vm_interface.hpp [new file with mode: 0644]
src/surf/vm_workstation_interface.cpp [deleted file]
src/surf/vm_workstation_interface.hpp [deleted file]
src/xbt/backtrace_linux.c
src/xbt/dict.c
src/xbt/log.c
src/xbt/mallocator_private.h
src/xbt/win32_ucontext.c
src/xbt/xbt_os_thread.c
src/xbt/xbt_os_time.c
src/xbt/xbt_replay.c
teshsuite/bug-17132/bug-17132.tesh
teshsuite/msg/host_on_off/CMakeLists.txt
teshsuite/msg/host_on_off/host_on_off.c
teshsuite/msg/host_on_off/host_on_off_recv.c [new file with mode: 0644]
teshsuite/msg/host_on_off/host_on_off_recv.tesh [new file with mode: 0644]
teshsuite/msg/host_on_off/host_on_off_wait.c [new file with mode: 0644]
teshsuite/msg/host_on_off/host_on_off_wait.tesh [new file with mode: 0644]
teshsuite/msg/host_on_off_processes/host_on_off_processes.c
teshsuite/msg/host_on_off_processes/host_on_off_processes.tesh
teshsuite/msg/process/process.c
teshsuite/msg/process_join/process_join.c
teshsuite/msg/task_destroy_cancel/task_destroy_cancel.c
teshsuite/msg/trace/trace.tesh
teshsuite/simdag/availability/availability_test.tesh
teshsuite/simdag/basic/basic0.tesh
teshsuite/simdag/basic/basic1.tesh
teshsuite/simdag/basic/basic2.tesh
teshsuite/simdag/basic/basic3.tesh
teshsuite/simdag/basic/basic4.tesh
teshsuite/simdag/basic/basic5.tesh
teshsuite/simdag/basic/basic6.tesh
teshsuite/simdag/incomplete/incomplete.tesh
teshsuite/simdag/network/mxn/test_intra_all2all.tesh
teshsuite/simdag/network/mxn/test_intra_independent_comm.tesh
teshsuite/simdag/network/mxn/test_intra_scatter.tesh
teshsuite/simdag/network/p2p/test_latency1.tesh
teshsuite/simdag/network/p2p/test_latency2.tesh
teshsuite/simdag/network/p2p/test_latency3.tesh
teshsuite/simdag/network/p2p/test_latency_bound.tesh
teshsuite/simdag/network/test_reinit_costs.tesh
teshsuite/simdag/partask/test_comp_only_par.tesh
teshsuite/simdag/partask/test_comp_only_seq.tesh
teshsuite/simdag/platforms/basic_link_test.tesh
teshsuite/simdag/platforms/basic_parsing_test.tesh
teshsuite/simdag/platforms/basic_parsing_test_bypass.tesh
teshsuite/simdag/platforms/basic_parsing_test_sym_full.tesh
teshsuite/simdag/platforms/bogus_disk_attachment.tesh
teshsuite/simdag/platforms/bogus_missing_gateway.tesh
teshsuite/simdag/platforms/bogus_two_hosts_asymetric.tesh
teshsuite/simdag/platforms/flatifier.tesh
teshsuite/simdag/platforms/get_full_link.tesh
teshsuite/simdag/platforms/properties.xml
teshsuite/smpi/allgather/allgather_coll.tesh
teshsuite/smpi/allgatherv/allgatherv_coll.tesh
teshsuite/smpi/allreduce/allreduce_coll.tesh
teshsuite/smpi/allreduce/allreduce_coll_large.tesh
teshsuite/smpi/alltoall/alltoall_coll.tesh
teshsuite/smpi/alltoallv/alltoallv_coll.tesh
teshsuite/smpi/barrier/barrier_coll.tesh
teshsuite/smpi/bcast/bcast.tesh
teshsuite/smpi/bcast/bcast_coll.tesh
teshsuite/smpi/gather/gather_coll.tesh
teshsuite/smpi/hvector/hvector.tesh
teshsuite/smpi/indexed/indexed.tesh
teshsuite/smpi/isp/umpire/any_src-can-deadlock10.tesh
teshsuite/smpi/isp/umpire/any_src-can-deadlock4.tesh
teshsuite/smpi/isp/umpire/any_src-can-deadlock5.tesh
teshsuite/smpi/isp/umpire/any_src-can-deadlock6.tesh
teshsuite/smpi/isp/umpire/any_src-wait-deadlock.tesh
teshsuite/smpi/isp/umpire/any_src-waitall-deadlock2.tesh
teshsuite/smpi/isp/umpire/any_src-waitall-deadlock3.tesh
teshsuite/smpi/isp/umpire/any_src-waitany-deadlock.tesh
teshsuite/smpi/isp/umpire/any_src-waitany-deadlock2.tesh
teshsuite/smpi/isp/umpire/basic-deadlock-comm_create.tesh
teshsuite/smpi/isp/umpire/basic-deadlock-comm_dup.tesh
teshsuite/smpi/isp/umpire/basic-deadlock-comm_split.tesh
teshsuite/smpi/isp/umpire/basic-deadlock.tesh
teshsuite/smpi/isp/umpire/bcast-deadlock.tesh
teshsuite/smpi/isp/umpire/collective-misorder-allreduce.tesh
teshsuite/smpi/isp/umpire/collective-misorder.tesh
teshsuite/smpi/isp/umpire/complex-deadlock.tesh
teshsuite/smpi/isp/umpire/deadlock-config.tesh
teshsuite/smpi/isp/umpire/finalize-deadlock.tesh
teshsuite/smpi/isp/umpire/irecv-deadlock.tesh
teshsuite/smpi/isp/umpire/no-error.tesh
teshsuite/smpi/isp/umpire/no-error2.tesh
teshsuite/smpi/isp/umpire/no-error3-any_src.tesh
teshsuite/smpi/isp/umpire/no-error3.tesh
teshsuite/smpi/mpich3-test/CMakeLists.txt
teshsuite/smpi/mpich3-test/coll/CMakeLists.txt
teshsuite/smpi/mpich3-test/perf/sendrecvl.c
teshsuite/smpi/pingpong/TI_output.tesh
teshsuite/smpi/pingpong/pt2pt.tesh
teshsuite/smpi/reduce/reduce.tesh
teshsuite/smpi/reduce/reduce_coll.tesh
teshsuite/smpi/reduce/reduce_scatter_coll.tesh
teshsuite/smpi/scatter/scatter_coll.tesh
teshsuite/smpi/shared/shared.tesh
teshsuite/smpi/struct/struct.tesh
teshsuite/smpi/vector/vector.tesh
teshsuite/surf/surf_usage/surf_usage.tesh
teshsuite/surf/surf_usage/surf_usage2.c
tools/CMakeLists.txt
tools/generate-dwarf-functions [new file with mode: 0755]
tools/generate.sh [deleted file]

index ccf5ab7..367a41b 100644 (file)
@@ -970,6 +970,8 @@ teshsuite/msg/task_destroy_cancel/task_destroy_cancel
 teshsuite/msg/pid/pid
 teshsuite/msg/get_sender/get_sender
 teshsuite/msg/trace/test_trace_integration
+teshsuite/msg/host_on_off/host_on_off_recv
+teshsuite/msg/host_on_off/host_on_off_wait
 teshsuite/simix/check_defaults/check_defaults
 teshsuite/simix/stack_overflow/stack_overflow
 teshsuite/simdag/availability/availability_test
@@ -1050,6 +1052,7 @@ examples/java/surfPlugin/java_surf_plugin_compiled
 /CMakeCache.txt
 teshsuite/mc/dwarf/dwarf
 teshsuite/mc/dwarf_expression/dwarf-expression
+teshsuite/mc/replay/random_bug
 examples/smpi/mc/smpi_bugged1
 examples/smpi/mc/smpi_bugged1_liveness
 examples/smpi/mc/smpi_bugged2
index d783249..e7311c7 100644 (file)
@@ -15,7 +15,7 @@ if (APPLE) #MAC
   set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
 endif()
 
-if (NOT DEFINED enable_smpi OR enable_smpi) # smpi is enabled by default
+if ((NOT DEFINED enable_smpi OR enable_smpi) AND NOT APPLE) # smpi is enabled by default
   # Call enable_language(Fortran) in order to load the build rules for
   # this language, needed by teshsuite/smpi/mpich-test/.  Use
   # CMAKE_FORCE_Fortran_COMPILER to bypass checks for a working
index 310c4af..eb433d7 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -82,6 +82,9 @@ SimGrid (3.12) NOT RELEASED; urgency=low
     - New property: watt_off to denote the disipation when the host is off
     - New functions getWattMinAt and getWattMaxAt to retrieve the
       dissipation of pstates that we are not currently at.
+  * Massive rename s/workstation/host/
+    - That's intrusive, but that's good for the project consistency. Sorry. 
+    - Change config option "workstation/model" into "host/model"
  XBT
   * New functions
    - Add a xbt_heap_update function, to avoid costly xbt_heap_remove+xbt_heap_insert use 
diff --git a/NEWS b/NEWS
index 99a0696..7010f28 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -6,6 +6,8 @@ __   _____ _ __ ___(_) ___  _ __   |___ / / |___ \
 
 (to complete)
 
+ * Surf internal cleanup: rename workstation into host.
+   Option "workstation/model" now reads "host/model"
                     _               _____  _ _
 __   _____ _ __ ___(_) ___  _ __   |___ / / / |
 \ \ / / _ \ '__/ __| |/ _ \| '_ \    |_ \ | | |
index ed72672..25c59bb 100644 (file)
@@ -197,6 +197,8 @@ IF(NOT enable_memcheck)
   # BEGIN TESH TESTS
   ADD_TESH_FACTORIES(tesh-msg-get-sender         "thread;ucontext;raw" --setenv srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite/msg/get_sender --cd ${CMAKE_BINARY_DIR}/teshsuite/msg/get_sender ${CMAKE_HOME_DIRECTORY}/teshsuite/msg/get_sender/get_sender.tesh)
   ADD_TESH_FACTORIES(tesh-msg-host-on-off        "thread;ucontext;raw" --setenv srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite/msg/host_on_off --cd ${CMAKE_BINARY_DIR}/teshsuite/msg/host_on_off ${CMAKE_HOME_DIRECTORY}/teshsuite/msg/host_on_off/host_on_off.tesh)
+  ADD_TESH_FACTORIES(tesh-msg-host-on-off-wait    "thread;ucontext;raw" --setenv srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite/msg/host_on_off --cd ${CMAKE_BINARY_DIR}/teshsuite/msg/host_on_off ${CMAKE_HOME_DIRECTORY}/teshsuite/msg/host_on_off/host_on_off_wait.tesh)
+  ADD_TESH_FACTORIES(tesh-msg-host-on-off-recv    "thread;ucontext;raw" --setenv srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite/msg/host_on_off --cd ${CMAKE_BINARY_DIR}/teshsuite/msg/host_on_off ${CMAKE_HOME_DIRECTORY}/teshsuite/msg/host_on_off/host_on_off_recv.tesh)
   ADD_TESH_FACTORIES(tesh-msg-host-on-off-processes "thread;ucontext;raw" --setenv srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite/msg/host_on_off_processes --cd ${CMAKE_BINARY_DIR}/teshsuite/msg/host_on_off_processes ${CMAKE_HOME_DIRECTORY}/teshsuite/msg/host_on_off_processes/host_on_off_processes.tesh)
   ADD_TESH_FACTORIES(tesh-msg-pid                "thread;ucontext;raw" --setenv srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite/msg/pid --cd ${CMAKE_BINARY_DIR}/teshsuite/msg/pid ${CMAKE_HOME_DIRECTORY}/teshsuite/msg/pid/pid.tesh)
   ADD_TESH_FACTORIES(tesh-msg-process            "thread;ucontext;raw" --setenv srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite/msg/process --cd ${CMAKE_BINARY_DIR}/teshsuite/msg/process ${CMAKE_HOME_DIRECTORY}/teshsuite/msg/process/process.tesh)
@@ -466,7 +468,7 @@ IF(NOT enable_memcheck)
       ADD_TESH(smpi-replay-multiple      --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/smpi/replay_multiple --cd ${CMAKE_BINARY_DIR}/examples/smpi/replay_multiple ${CMAKE_HOME_DIRECTORY}/examples/smpi/replay_multiple/replay_multiple.tesh)
     ENDIF()
     ADD_TESH(smpi-tracing-ptp                  --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/smpi --cd ${CMAKE_BINARY_DIR}/examples/smpi ${CMAKE_HOME_DIRECTORY}/examples/smpi/tracing/smpi_traced.tesh)
-    ADD_TESH(smpi-replay                       --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/smpi --cd ${CMAKE_BINARY_DIR}/examples/smpi ${CMAKE_HOME_DIRECTORY}/examples/smpi/replay/smpi_replay.tesh)
+    ADD_TESH(smpi-replay-simple                --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/smpi --cd ${CMAKE_BINARY_DIR}/examples/smpi ${CMAKE_HOME_DIRECTORY}/examples/smpi/replay/smpi_replay.tesh)
     IF(HAVE_MC)
       ADD_TESH(smpi-mc-only-send-determinism                  --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/smpi/mc --cd ${CMAKE_BINARY_DIR}/examples/smpi/mc ${CMAKE_HOME_DIRECTORY}/examples/smpi/mc/only_send_deterministic.tesh)
     ENDIF()
index ba8db2b..df8b11b 100644 (file)
@@ -109,7 +109,7 @@ endif()
 # intrusive 1.35.0
 # lambda 1.28.0
 # signals2 1.39.0
-find_package(Boost 1.42 REQUIRED)
+find_package(Boost 1.42 COMPONENTS context)
 if(Boost_FOUND)
   include_directories(${Boost_INCLUDE_DIRS})
 else()
@@ -120,6 +120,19 @@ else()
   endif()
 endif()
 
+if(Boost_FOUND AND Boost_CONTEXT_FOUND)
+  # We should use feature detection for this instead:
+  if (Boost_VERSION LESS 105600)
+    message("Found Boost.Context API v1")
+    set(HAVE_BOOST_CONTEXT 1)
+  else()
+    message("Found Boost.Context API v2")
+    set(HAVE_BOOST_CONTEXT 2)
+  endif()
+else()
+  set(HAVE_BOOST_CONTEXT 0)
+endif()
+
 # Checks for header libraries functions.
 CHECK_LIBRARY_EXISTS(dl      dlopen                  "" HAVE_DLOPEN_IN_LIBDL)
 CHECK_LIBRARY_EXISTS(execinfo backtrace              "" HAVE_BACKTRACE_IN_LIBEXECINFO)
@@ -131,7 +144,7 @@ CHECK_LIBRARY_EXISTS(pthread pthread_mutex_timedlock "" HAVE_MUTEX_TIMEDLOCK_LIB
 CHECK_LIBRARY_EXISTS(rt      clock_gettime           "" HAVE_POSIX_GETTIME)
 
 if(CMAKE_SYSTEM_NAME MATCHES "Darwin")
-  set(CMAKE_REQUIRED_DEFINITIONS "-D_XOPEN_SOURCE")
+  set(CMAKE_REQUIRED_DEFINITIONS "-D_XOPEN_SOURCE=700 -D_DARWIN_C_SOURCE")
 endif()
 
 CHECK_INCLUDE_FILES("time.h;sys/time.h" TIME_WITH_SYS_TIME)
@@ -205,6 +218,7 @@ else()
   SET(HAVE_MMALLOC 0)
 endif()
 
+
 if(WIN32) #THOSE FILES ARE FUNCTIONS ARE NOT DETECTED BUT THEY SHOULD...
   set(HAVE_UCONTEXT_H 1)
   set(HAVE_MAKECONTEXT 1)
@@ -253,7 +267,15 @@ endif()
 
 if(enable_smpi)
   include(FindGFortran)
+  #really checks for objdump for privatization
+  find_package(BinUtils QUIET)
   SET(HAVE_SMPI 1)
+
+  if( NOT "${CMAKE_OBJDUMP}" MATCHES "CMAKE_OBJDUMP-NOTFOUND" AND HAVE_MMAP)
+    SET(HAVE_PRIVATIZATION 1)
+  else()
+    SET(HAVE_PRIVATIZATION 0)
+  endif()
 endif()
 
 #--------------------------------------------------------------------------------------------------
@@ -437,88 +459,38 @@ if(pthread)
   endif()
 endif()
 
-# AC_CHECK_MCSC(mcsc=yes, mcsc=no)
-set(mcsc_flags "")
+# This is needed for ucontext on MacOS X:
 if(CMAKE_SYSTEM_NAME MATCHES "Darwin")
-  set(mcsc_flags -D_XOPEN_SOURCE)
+  add_definitions(-D_XOPEN_SOURCE=700 -D_DARWIN_C_SOURCE)
 endif()
 
 if(WIN32)
-  if(ARCH_32_BITS)
-    set(mcsc_flags -D_XBT_WIN32 -D_I_X86_ -I${CMAKE_HOME_DIRECTORY}/src/include -I${CMAKE_HOME_DIRECTORY}/src/xbt)
-  else()
-    set(mcsc_flags -D_XBT_WIN32 -D_AMD64_ -I${CMAKE_HOME_DIRECTORY}/src/include -I${CMAKE_HOME_DIRECTORY}/src/xbt)
-  endif()
-endif()
-
-IF(CMAKE_CROSSCOMPILING)
-  IF(WIN32)
-    set(windows_context "yes")
-    set(IS_WINDOWS 1)
-  ENDIF()
-ELSE()
-  file(REMOVE "${CMAKE_BINARY_DIR}/testprog*")
-  file(REMOVE ${CMAKE_BINARY_DIR}/conftestval)
-  set(MCSC_buildcmd ${CMAKE_C_COMPILER} ${CMAKE_HOME_DIRECTORY}/buildtools/Cmake/test_prog/prog_AC_CHECK_MCSC.c ${mcsc_flags} -o testprog)
-  execute_process(COMMAND ${MCSC_buildcmd}
-  WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/
-  OUTPUT_VARIABLE COMPILE_mcsc_VAR ERROR_VARIABLE COMPILE_mcsc_VAR)
-
-  if(NOT COMPILE_mcsc_VAR)
-    message(STATUS "prog_AC_CHECK_MCSC.c is compilable")
-    execute_process(COMMAND ./testprog
-    WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/
-    OUTPUT_VARIABLE var_compil)
-  else()
-    message(STATUS "prog_AC_CHECK_MCSC.c is not compilable. \nBuild command: ${MCSC_buildcmd}\nOutput\n${COMPILE_mcsc_VAR}")
-  endif()
-  file(REMOVE "${CMAKE_BINARY_DIR}/testprog*")
-
-  if(EXISTS "${CMAKE_BINARY_DIR}/conftestval")
-    file(READ "${CMAKE_BINARY_DIR}/conftestval" mcsc)
-    STRING(REPLACE "\n" "" mcsc "${mcsc}")
-    if(mcsc)
-      set(mcsc "yes")
-      set(HAVE_UCONTEXT_H 1)
-    else()
-      set(mcsc "no")
-    endif()
-  else()
-    set(mcsc "no")
-  endif()
-
-  message(STATUS "mcsc: ${mcsc}")
-ENDIF()
-
-if(mcsc MATCHES "no" AND pthread)
-  if(HAVE_WINDOWS_H)
-    set(windows_context "yes")
-    set(IS_WINDOWS 1)
-  elseif(HAVE_WINDOWS_H)
-    message(FATAL_ERROR "no appropriate backend found")
-  endif()
-endif()
-
-#Only windows
-
-if(WIN32)
-  if(NOT HAVE_WINDOWS_H)
-    message(FATAL_ERROR "no appropriate backend found windows")
-  endif()
-endif()
-
-if(windows_context MATCHES "yes")
-  message(STATUS "Context change to windows")
+  # We always provide our own implementation of ucontext on Windows.
+  try_compile(HAVE_UCONTEXT
+    ${CMAKE_BINARY_DIR}
+    ${CMAKE_HOME_DIRECTORY}/buildtools/Cmake/test_prog/prog_AC_CHECK_MCSC.c
+    COMPILE_DEFINITIONS _XBT_WIN32
+    INCLUDE_DIRECTORIES
+      ${CMAKE_HOME_DIRECTORY}/src/include
+      ${CMAKE_HOME_DIRECTORY}/src/xbt
+  )
+else()
+  # We always provide our own implementation of ucontext on Windows.
+  try_compile(HAVE_UCONTEXT
+    ${CMAKE_BINARY_DIR}
+    ${CMAKE_HOME_DIRECTORY}/buildtools/Cmake/test_prog/prog_AC_CHECK_MCSC.c)
 endif()
 
 #If can have both context
 
-if(mcsc)
+if(HAVE_UCONTEXT)
   set(CONTEXT_UCONTEXT 1)
+  message("-- Support for ucontext factory")
 endif()
 
 if(pthread)
   set(CONTEXT_THREADS 1)
+  message("-- Support for thread context factory")
 endif()
 
 ###############
@@ -586,7 +558,7 @@ set(makecontext_CPPFLAGS_2 "")
 if(HAVE_MAKECONTEXT OR WIN32)
   set(makecontext_CPPFLAGS "-DTEST_makecontext")
   if(CMAKE_SYSTEM_NAME MATCHES "Darwin")
-    set(makecontext_CPPFLAGS_2 "-D_XOPEN_SOURCE")
+    set(makecontext_CPPFLAGS_2 "-D_XOPEN_SOURCE=700")
   endif()
 
   if(WIN32)
@@ -661,23 +633,6 @@ endif()
 
 #AC_PROG_MAKE_SET
 
-if(CMAKE_CROSSCOMPILING)
-  set(RUN_PRINTF_NULL_VAR "cross")
-  set(COMPILE_PRINTF_NULL_VAR "cross")
-else()
-  #AC_PRINTF_NULL FIXME: this is too ancient to survive!
-  try_run(RUN_PRINTF_NULL_VAR COMPILE_PRINTF_NULL_VAR
-    ${CMAKE_BINARY_DIR}
-    ${CMAKE_HOME_DIRECTORY}/buildtools/Cmake/test_prog/prog_printf_null.c
-    )
-endif()
-
-if(RUN_PRINTF_NULL_VAR MATCHES "FAILED_TO_RUN")
-  SET(PRINTF_NULL_WORKING "0")
-else()
-  SET(PRINTF_NULL_WORKING "1")
-endif()
-
 #AC_CHECK_VA_COPY
 
 set(diff_va "va_copy((d),(s))"
index 15f9676..8f95a15 100644 (file)
@@ -88,11 +88,11 @@ set(EXTRA_DIST
   src/surf/surf_routing_vivaldi.hpp
   src/surf/surfxml_parse.c
   src/surf/trace_mgr_private.h
-  src/surf/vm_workstation_hl13.hpp
-  src/surf/vm_workstation_interface.hpp
-  src/surf/workstation_clm03.hpp
-  src/surf/workstation_interface.hpp
-  src/surf/workstation_ptask_L07.hpp
+  src/surf/vm_hl13.hpp
+  src/surf/vm_interface.hpp
+  src/surf/host_clm03.hpp
+  src/surf/host_interface.hpp
+  src/surf/host_ptask_L07.hpp
   src/win32/config.h
   src/xbt/automaton/automaton_lexer.yy.c
   src/xbt/automaton/parserPromela.lex
@@ -353,11 +353,11 @@ set(SURF_SRC
   src/surf/surfxml_parse.c
   src/surf/surfxml_parseplatf.c
   src/surf/trace_mgr.c
-  src/surf/vm_workstation_hl13.cpp
-  src/surf/vm_workstation_interface.cpp
-  src/surf/workstation_clm03.cpp
-  src/surf/workstation_interface.cpp
-  src/surf/workstation_ptask_L07.cpp
+  src/surf/vm_hl13.cpp
+  src/surf/vm_interface.cpp
+  src/surf/host_clm03.cpp
+  src/surf/host_interface.cpp
+  src/surf/host_ptask_L07.cpp
   src/xbt/xbt_sg_stubs.c
   )
 
@@ -628,9 +628,9 @@ set(MC_SRC
   src/mc/mc_compare.cpp
   src/mc/mc_diff.cpp
   src/mc/mc_dwarf.cpp
-  src/mc/mc_dwarf_attrnames.h
+  src/mc/mc_dwarf_attrnames.cpp
   src/mc/mc_dwarf_expression.cpp
-  src/mc/mc_dwarf_tagnames.h
+  src/mc/mc_dwarf_tagnames.cpp
   src/mc/mc_hash.hpp
   src/mc/mc_hash.cpp
   src/mc/mc_ignore.cpp
@@ -698,6 +698,7 @@ set(headers_to_install
   include/xbt/RngStream.h
   include/xbt/asserts.h
   include/xbt/automaton.h
+  include/xbt/base.h
   include/xbt/config.h
   include/xbt/cunit.h
   include/xbt/dict.h
@@ -1222,7 +1223,6 @@ set(CMAKE_SOURCE_FILES
   buildtools/Cmake/test_prog/prog_gnu_dynlinker.c
   buildtools/Cmake/test_prog/prog_gtnets.cpp
   buildtools/Cmake/test_prog/prog_mutex_timedlock.c
-  buildtools/Cmake/test_prog/prog_printf_null.c
   buildtools/Cmake/test_prog/prog_sem_init.c
   buildtools/Cmake/test_prog/prog_sem_open.c
   buildtools/Cmake/test_prog/prog_sem_timedwait.c
index e51d603..3fe0a43 100644 (file)
@@ -126,7 +126,7 @@ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${optCFLAGS}")
 
 # Try to make Mac a bit more complient to open source standards
 if(CMAKE_SYSTEM_NAME MATCHES "Darwin")
-  set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_XOPEN_SOURCE")
+  set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_XOPEN_SOURCE=700 -D_DARWIN_C_SOURCE")
 endif()
 
 set(TESH_OPTION "")
index 36fd526..1cbc2b9 100644 (file)
@@ -60,7 +60,6 @@ if(DOXYGEN_FOUND)
   ADD_CUSTOM_COMMAND(TARGET doc
     COMMAND ${FIG2DEV_PATH}/fig2dev -Lmap ${CMAKE_HOME_DIRECTORY}/doc/shared/fig/simgrid_modules.fig | perl -pe 's/imagemap/simgrid_modules/g'| perl -pe 's/<IMG/<IMG style=border:0px/g' | ${CMAKE_HOME_DIRECTORY}/tools/doxygen/fig2dev_postprocessor.pl > ${CMAKE_HOME_DIRECTORY}/doc/simgrid_modules.map
     COMMAND pwd
-    COMMAND ${CMAKE_COMMAND} -E tar czf html/msg-tuto-src.tgz msg-tuto-src/
     COMMAND ${CMAKE_COMMAND} -E echo "XX Run doxygen"
     COMMAND ${DOXYGEN_EXECUTABLE} Doxyfile
     COMMAND ${CMAKE_COMMAND} -E echo "XX Generate the index files"
index fc2aa83..838739c 100644 (file)
@@ -33,7 +33,9 @@ endif()
 # Compute the dependencies of SimGrid
 #####################################
 set(SIMGRID_DEP "-lm")
-set(SIMGRID_DEP "${SIMGRID_DEP} ${Boost_CONTEXT_LIBRARY}")
+if (HAVE_BOOST_CONTEXT)
+  set(SIMGRID_DEP "${SIMGRID_DEP} ${Boost_CONTEXT_LIBRARY}")
+endif()
 
 if(${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD"
     AND NOT ${CMAKE_SYSTEM_VERSION} VERSION_LESS 10.0
@@ -56,10 +58,9 @@ else()
   set(SIMGRID_DEP "${SIMGRID_DEP} -lstdc++")
 endif()
 
-if(pthread)
-  if(${CONTEXT_THREADS})
-    SET(SIMGRID_DEP "${SIMGRID_DEP} -pthread")
-  endif()
+if(pthread AND ${CONTEXT_THREADS} AND NOT APPLE)
+  # Clang on recent Mac OS X is not happy about -pthread.
+  SET(SIMGRID_DEP "${SIMGRID_DEP} -pthread")
 endif()
 
 if(HAVE_LUA)
index dfd141a..1369d64 100644 (file)
@@ -13,7 +13,7 @@ mark_as_advanced(GFORTRAN_EXE)
 
 message(STATUS "Looking for bin gfortran")
 set(SMPI_FORTRAN 0)
-if(NOT WIN32)
+if(NOT WIN32 AND NOT APPLE)
   if(GFORTRAN_EXE)
     message(STATUS "Found gfortran: ${GFORTRAN_EXE}")
     set(SMPI_FORTRAN 1)
@@ -21,7 +21,7 @@ if(NOT WIN32)
     message(STATUS "Looking for bin gfortran - not found")
   endif()
 else()
-  message(STATUS "SMPI Fortran is disabled on Windows platforms. Please contact the SimGrid team if you need it.")
+  message(STATUS "SMPI Fortran is disabled on Windows and MacOS platforms. Please contact the SimGrid team if you need it.")
 endif()
 
 if(NOT SMPI_FORTRAN)
index 03bbed9..aadb692 100644 (file)
@@ -5,27 +5,30 @@ if(PROCESSOR_x86_64)
     $ENV{SIMGRID_LIBUNWIND_LIBRARY_PATH}
     $ENV{LD_LIBRARY_PATH}
     $ENV{LIBUNWIND_LIBRARY_PATH}
-    PATH_SUFFIXES lib/ GnuWin32/lib
+    PATH_SUFFIXES lib/ GnuWin32/lib lib/system
     PATHS
     /opt
     /opt/local
     /opt/csw
     /sw
     /usr)
-else()
+endif()
+
+if(NOT PATH_LIBUNWIND_LIB)
   find_library(PATH_LIBUNWIND_LIB
     NAMES unwind
     HINTS
     $ENV{SIMGRID_LIBUNWIND_LIBRARY_PATH}
     $ENV{LD_LIBRARY_PATH}
     $ENV{LIBUNWIND_LIBRARY_PATH}
-    PATH_SUFFIXES lib/ GnuWin32/lib
+    PATH_SUFFIXES lib/ GnuWin32/lib lib/system
     PATHS
     /opt
     /opt/local
     /opt/csw
     /sw
-    /usr)
+    /usr
+    /usr/lib/)
 endif()
 
 find_path(PATH_LIBUNWIND_H "libunwind.h"
index e4ed2e8..928da8f 100644 (file)
@@ -10,12 +10,11 @@ if(enable_print_message)
   message("need_vasprintf ..............: ${simgrid_need_vasprintf}")
   message("PREFER_PORTABLE_SNPRINTF ....: ${PREFER_PORTABLE_SNPRINTF}")
   message("HAVE_VA_COPY ................: ${HAVE_VA_COPY}")
-  message("PRINTF_NULL_WORKING .........: ${PRINTF_NULL_WORKING}")
   message("")
   message("\#define pth_skaddr_makecontext(skaddr,sksize) (${makecontext_addr})")
   message("\#define pth_sksize_makecontext(skaddr,sksize) (${makecontext_size})")
   message("\#define __VA_COPY_USE          ${__VA_COPY_USE}")
-  message("mcsc ........................: ${mcsc}")
+  message("HAVE_UCONTEXT ...............: ${HAVE_UCONTEXT}")
   message("")
   message("HAVE_PTHREAD_CREATE .........: ${pthread}")
   message("HAVE_SEM_INIT ...............: ${HAVE_SEM_INIT_LIB}")
@@ -62,6 +61,7 @@ if(enable_print_message)
   message("HAVE_ASPRINTF ...............: ${HAVE_ASPRINTF}")
   message("HAVE_VASPRINTF ..............: ${HAVE_VASPRINTF}")
   message("HAVE_MMAP ...................: ${HAVE_MMAP}")
+  message("HAVE_PRIVATIZATION ..........: ${HAVE_PRIVATIZATION}")
   message("HAVE_PROCESS_VM_READV .......: ${HAVE_PROCESS_VM_READV}")
   message("HAVE_THREAD_LOCAL_STORAGE ...: ${HAVE_THREAD_LOCAL_STORAGE}")
   message("HAVE_MMALLOC ................: ${HAVE_MMALLOC}")
index 3612538..e05ec9c 100644 (file)
 /* Indicates that we have SMPI FORTRAN support */
 #cmakedefine  SMPI_FORTRAN @SMPI_FORTRAN@
 
+/* We have mmap and objdump to handle privatization */
+#cmakedefine HAVE_PRIVATIZATION @HAVE_PRIVATIZATION@
+
 /* Indicates that we have NS3 support */
 #cmakedefine HAVE_NS3 @HAVE_NS3@
 
 /* "enable replacement (v)snprintf if system (v)snprintf is broken" */
 #cmakedefine PREFER_PORTABLE_SNPRINTF @PREFER_PORTABLE_SNPRINTF@
 
-/* Indicates whether printf("%s",NULL) works */
-#cmakedefine PRINTF_NULL_WORKING @PRINTF_NULL_WORKING@
-
 /* define for stack growth */
 #cmakedefine PTH_STACKGROWTH @PTH_STACKGROWTH@
 
diff --git a/buildtools/Cmake/test_prog/prog_printf_null.c b/buildtools/Cmake/test_prog/prog_printf_null.c
deleted file mode 100644 (file)
index 10eb15e..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-/* Copyright (c) 2010, 2014. The SimGrid Team.
- * All rights reserved.                                                     */
-
-/* This program is free software; you can redistribute it and/or modify it
- * under the terms of the license (GNU LGPL) which comes with this package. */
-
-#include <stdio.h>
-printf("%s", NULL);
index 8039927..5c67482 100644 (file)
@@ -5,7 +5,7 @@
  * under the terms of the license (GNU LGPL) which comes with this package. */
 
 #if defined OSX
-#define _XOPEN_SOURCE
+#define _XOPEN_SOURCE 700
 #endif
 
 #ifdef _XBT_WIN32
diff --git a/buildtools/jenkins/build.sh b/buildtools/jenkins/build.sh
new file mode 100755 (executable)
index 0000000..7226a67
--- /dev/null
@@ -0,0 +1,94 @@
+#!/bin/sh
+
+set -e
+
+build_mode="$1"
+
+echo "Build mode $build_mode on $(uname -np)" >&2
+
+# usage: die status message...
+die () {
+  local status=${1:-1}
+  shift
+  [ $# -gt 0 ] || set -- "Error - Halting"
+  echo "$@" >&2
+  exit $status
+}
+
+# Get an ON/OFF string from a command:
+onoff() {
+  if "$@" > /dev/null ; then
+    echo ON
+  else
+    echo OFF
+  fi
+}
+
+ulimit -c 0
+
+if [ -d $WORKSPACE/build ]
+then
+  rm -rf $WORKSPACE/build
+fi
+mkdir $WORKSPACE/build
+cd $WORKSPACE/build
+
+cmake -Denable_documentation=OFF $WORKSPACE
+make dist
+tar xzf `cat VERSION`.tar.gz
+cd `cat VERSION`
+
+case "$build_mode" in
+  "Debug")
+  ;;
+
+  "ModelChecker")
+  ;;
+
+  "DynamicAnalysis")
+  ;;
+
+  *)
+  die 1 "Unknown build_mode $build_mode"
+  ;;
+esac
+
+cmake -Denable_debug=ON -Denable_documentation=OFF -Denable_coverage=OFF \
+  -Denable_model-checking=$(onoff test "$build_mode" = "ModelChecker") \
+  -Denable_compile_optimization=$(onoff test "$build_mode" = "Debug") \
+  -Denable_smpi_MPICH3_testsuite=$(onoff test "$build_mode" != "DynamicAnalysis") \
+  -Denable_lua=$(onoff test "$build_mode" != "DynamicAnalysis") \
+  -Denable_mallocators=$(onoff test "$build_mode" != "DynamicAnalysis") \
+  -Denable_memcheck=$(onoff test "$build_mode" = "DynamicAnalysis") \
+  -Denable_compile_warnings=ON -Denable_smpi=ON -Denable_lib_static=OFF \
+  -Denable_latency_bound_tracking=OFF -Denable_gtnets=OFF -Denable_jedule=OFF \
+  -Denable_tracing=ON -Denable_java=ON
+make
+
+cd $WORKSPACE/build
+cd `cat VERSION`
+
+TRES=0
+
+ctest -T test --no-compress-output || true
+if [ -f Testing/TAG ] ; then
+   xsltproc $WORKSPACE/buildtools/jenkins/ctest2junit.xsl Testing/`head -n 1 < Testing/TAG`/Test.xml > CTestResults.xml
+   mv CTestResults.xml $WORKSPACE
+fi
+
+if [ "$build_mode" = "DynamicAnalysis" ]
+then
+  ctest -D ContinuousStart
+  ctest -D ContinuousConfigure
+  ctest -D ContinuousBuild
+  ctest -D ContinuousMemCheck
+  ctest -D ContinuousSubmit
+fi
+
+ctest -D ContinuousStart
+ctest -D ContinuousConfigure
+ctest -D ContinuousBuild
+ctest -D ContinuousTest
+ctest -D ContinuousSubmit
+
+rm -rf `cat VERSION`
diff --git a/buildtools/jenkins/run.bat b/buildtools/jenkins/run.bat
deleted file mode 100755 (executable)
index 16c8cd6..0000000
+++ /dev/null
@@ -1 +0,0 @@
-c:\mingw\msys\1.0\bin\sh -login .\buildtools\jenkins\runmingw.sh %1 %2
index 0c4070e..3a65693 100755 (executable)
@@ -1,30 +1,42 @@
 #!/bin/sh
-if [ -d $WORKSPACE/build ]
-then
-  rm -rf $WORKSPACE/build
-fi
-if [ -d $WORKSPACE/install ]
-then
-  rm -rf $WORKSPACE/install
-fi
-mkdir $WORKSPACE/build
-mkdir $WORKSPACE/install
 
-if [ -d $WORKSPACE/memcheck ]
-then
-  rm -rf $WORKSPACE/memcheck
-fi
-mkdir $WORKSPACE/memcheck
+set -e
+
+die() {
+    echo "$@"
+    exit 1
+}
+
+do_cleanup() {
+  for d in "$WORKSPACE/build" "$WORKSPACE/memcheck"
+  do
+    if [ -d "$d" ]
+    then
+      rm -rf "$d" || die "Could not remote $d"
+    fi
+  done
+  find $WORKSPACE -name "memcheck_test_*.memcheck" -exec rm {} \;
+}
+
+! [ -z "$WORKSPACE" ] || die "No WORKSPACE"
+[ -d "$WORKSPACE" ] || die "WORKSPACE ($WORKSPACE) does not exist"
+
+do_cleanup
+
+for d in "$WORKSPACE/build" "$WORKSPACE/memcheck"
+do
+  mkdir "$d" || die "Could not create $d"
+done
 
 cd $WORKSPACE/build
 
 cmake -Denable_documentation=OFF -Denable_lua=OFF -Denable_tracing=ON -Denable_smpi=ON  -Denable_smpi_MPICH3_testsuite=OFF -Denable_compile_optimizations=OFF -Denable_compile_warnings=ON -Denable_lib_static=OFF -Denable_model-checking=OFF -Denable_latency_bound_tracking=OFF -Denable_gtnets=OFF -Denable_jedule=OFF -Denable_mallocators=OFF -Denable_memcheck_xml=ON $WORKSPACE
 make
 
-ctest -D ExperimentalStart
-ctest -D ExperimentalConfigure
-ctest -D ExperimentalBuild
-ctest -D ExperimentalMemCheck
+ctest -D ExperimentalStart || true
+ctest -D ExperimentalConfigure || true
+ctest -D ExperimentalBuild || true
+ctest -D ExperimentalMemCheck || true
 
 cd $WORKSPACE/build
 if [ -f Testing/TAG ] ; then
@@ -37,11 +49,11 @@ make clean
 cmake -Denable_documentation=OFF -Denable_lua=OFF -Denable_tracing=ON -Denable_smpi=ON -Denable_smpi_MPICH3_testsuite=ON -Denable_compile_optimizations=OFF -Denable_compile_warnings=ON -Denable_lib_static=OFF -Denable_model-checking=OFF -Denable_latency_bound_tracking=OFF -Denable_gtnets=OFF -Denable_jedule=OFF -Denable_mallocators=OFF -Denable_memcheck=OFF -Denable_memcheck_xml=OFF -Denable_coverage=ON $WORKSPACE
 
 make
-ctest -D ExperimentalStart
-ctest -D ExperimentalConfigure
-ctest -D ExperimentalBuild
-ctest -D ExperimentalTest
-ctest -D ExperimentalCoverage
+ctest -D ExperimentalStart || true
+ctest -D ExperimentalConfigure || true
+ctest -D ExperimentalBuild || true
+ctest -D ExperimentalTest || true
+ctest -D ExperimentalCoverage || true
 
 if [ -f Testing/TAG ] ; then
    /usr/local/gcovr-3.1/scripts/gcovr -r .. --xml-pretty -o $WORKSPACE/xml_coverage.xml
@@ -49,3 +61,4 @@ if [ -f Testing/TAG ] ; then
    mv CTestResults_memcheck.xml $WORKSPACE
 fi
 
+do_cleanup
diff --git a/buildtools/jenkins/runmingw.sh b/buildtools/jenkins/runmingw.sh
deleted file mode 100755 (executable)
index 27cad0b..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-#!c:\mingw\msys\1.0\bin\sh -login
-
-WORKSPACE=$1
-build_mode=$2
-
-rm -rf $WORKSPACE/build
-rm -rf $WORKSPACE/install
-mkdir $WORKSPACE/build
-mkdir $WORKSPACE/install
-cd $WORKSPACE/build
-
-if [ "$build_mode" = "Debug" ]
-then
-cmake -G "MSYS Makefiles" ..
-fi
-
-if [ "$build_mode" = "ModelChecker" ]
-then
-cmake -G "MSYS Makefiles" -Denable_documentation=OFF -Denable_model-checking=ON -Denable_compile_optimizations=OFF ..
-fi
-
-make
diff --git a/buildtools/pipol/Experimental_bindings.sh b/buildtools/pipol/Experimental_bindings.sh
deleted file mode 100755 (executable)
index 8e7f0ea..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-#!/bin/bash
-
-ulimit -c 0
-
-if [ -e ./pipol ] ; then
-       rm -rf ./pipol/$PIPOL_HOST
-       mkdir ./pipol/$PIPOL_HOST
-else
-       mkdir ./pipol
-       rm -rf ./pipol/$PIPOL_HOST
-       mkdir ./pipol/$PIPOL_HOST
-fi
-cd ./pipol/$PIPOL_HOST
-
-export GIT_SSL_NO_VERIFY=1
-git clone git://scm.gforge.inria.fr/simgrid/simgrid.git
-cd simgrid
-#git checkout v3_7_x
-
-perl ./buildtools/pipol/cmake.pl
-perl ./buildtools/pipol/ruby.pl
-
-if [ -e /usr/bin/gcc-4.6 ] ; then
-export CC=gcc-4.6
-export CXX=g++-4.6
-else
-export CC=gcc
-export CXX=g++
-fi
-
-mkdir build-def
-cd build-def
-
-#DEFAULT CONF
-cmake \
--Denable_smpi_MPICH3_testsuite=on ..
-ctest -D ExperimentalStart
-ctest -D ExperimentalConfigure
-ctest -D ExperimentalBuild
-ctest -D ExperimentalTest
-ctest -D ExperimentalSubmit
-cd ../
-rm -rf ./build-def
-
-# really clean the working directory
-git reset --hard master
-git clean -dfx
-
-#MC
-cmake \
--Denable_coverage=on \
--Denable_model-checking=on \
--Denable_lua=on \
--Denable_compile_optimizations=off .
-ctest -D ExperimentalStart
-ctest -D ExperimentalConfigure
-ctest -D ExperimentalBuild
-ctest -D ExperimentalTest
-ctest -D ExperimentalCoverage
-ctest -D ExperimentalSubmit
-
-export SIMGRID_ROOT=`pwd`
-export LD_LIBRARY_PATH=`pwd`/lib
-export DYLD_LIBRARY_PATH=`pwd`/lib #for mac
-
-cd ../
-git clone git://scm.gforge.inria.fr/simgrid/simgrid-ruby.git simgrid-ruby --quiet
-cd simgrid-ruby
-
-cmake .
-ctest -D ExperimentalStart
-ctest -D ExperimentalConfigure
-ctest -D ExperimentalBuild
-ctest -D ExperimentalTest
-ctest -D ExperimentalSubmit
diff --git a/buildtools/pipol/MemCheck.sh b/buildtools/pipol/MemCheck.sh
deleted file mode 100755 (executable)
index c696420..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-#!/bin/bash
-
-ulimit -c 0
-
-if [ -e ./pipol ] ; then
-       rm -rf ./pipol/$PIPOL_HOST
-       mkdir ./pipol/$PIPOL_HOST
-else
-       mkdir ./pipol
-       rm -rf ./pipol/$PIPOL_HOST
-       mkdir ./pipol/$PIPOL_HOST
-fi
-cd ./pipol/$PIPOL_HOST
-
-export GIT_SSL_NO_VERIFY=1
-git clone git://scm.gforge.inria.fr/simgrid/simgrid.git
-cd simgrid
-
-perl ./buildtools/pipol/cmake.pl
-perl ./buildtools/pipol/ruby.pl
-
-if [ -e /usr/bin/gcc-4.6 ] ; then
-export CC=gcc-4.6
-export CXX=g++-4.6
-else
-export CC=gcc
-export CXX=g++
-fi
-
-#mem-check
-cmake \
--Denable_lua=off \
--Denable_tracing=on \
--Denable_smpi=on \
--Denable_compile_optimizations=off \
--Denable_compile_warnings=on \
--Denable_lib_static=off \
--Denable_model-checking=off \
--Denable_latency_bound_tracking=off \
--Denable_gtnets=off \
--Denable_jedule=off \
--Denable_mallocators=off \
--Denable_memcheck=on ./
-ctest -D ExperimentalStart
-ctest -D ExperimentalConfigure
-ctest -D ExperimentalBuild
-ctest -D ExperimentalMemCheck
-ctest -D ExperimentalSubmit
diff --git a/buildtools/pipol/Nightly_memCheck.sh b/buildtools/pipol/Nightly_memCheck.sh
deleted file mode 100755 (executable)
index a1720c6..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-#!/bin/bash
-
-ulimit -c 0
-
-#PIPOL esn amd64_2010-linux-ubuntu-maverick.dd.gz none 02:00 --user --silent
-
-if [ -e ./pipol ] ; then
-       rm -rf ./pipol/$PIPOL_HOST
-       mkdir ./pipol/$PIPOL_HOST
-else
-       mkdir ./pipol
-       rm -rf ./pipol/$PIPOL_HOST
-       mkdir ./pipol/$PIPOL_HOST
-fi
-cd ./pipol/$PIPOL_HOST
-
-export GIT_SSL_NO_VERIFY=1
-git clone git://scm.gforge.inria.fr/simgrid/simgrid.git
-cd simgrid
-
-perl ./buildtools/pipol/cmake.pl
-perl ./buildtools/pipol/ruby.pl
-
-if [ -e /usr/bin/gcc-4.6 ] ; then
-export CC=gcc-4.6
-export CXX=g++-4.6
-else
-export CC=gcc
-export CXX=g++
-fi
-
-#mem-check
-cmake \
--Denable_lua=off \
--Denable_tracing=on \
--Denable_smpi=on \
--Denable_compile_optimizations=off \
--Denable_compile_warnings=on \
--Denable_lib_static=off \
--Denable_model-checking=off \
--Denable_latency_bound_tracking=off \
--Denable_gtnets=off \
--Denable_jedule=off \
--Denable_mallocators=off \
--Denable_memcheck=on ./
-ctest -D NightlyStart
-ctest -D NightlyConfigure
-ctest -D NightlyBuild
-ctest -D NightlyMemCheck
-ctest -D NightlySubmit
diff --git a/buildtools/pipol/Nightly_simgrid.sh b/buildtools/pipol/Nightly_simgrid.sh
deleted file mode 100755 (executable)
index b556483..0000000
+++ /dev/null
@@ -1,118 +0,0 @@
-#!/bin/bash
-
-#PRE-PIPOL ~/pre-simgrid.sh
-
-#___________________________________________________________________________________________________
-#Ubuntu 9.10________________________________________________________________________________________
-#PIPOL esn i386-linux-ubuntu-karmic.dd.gz none 02:00 --user --silent
-#PIPOL esn amd64-linux-ubuntu-karmic.dd.gz none 02:00 --user --silent
-
-#Ubuntu 10.04
-#PIPOL esn i386-linux-ubuntu-lucid.dd.gz none 02:00 --user --silent
-#PIPOL esn amd64-linux-ubuntu-lucid.dd.gz pipol8 05:00 --user --silent
-
-#Ubuntu 10.10
-#PIPOL esn amd64_2010-linux-ubuntu-maverick.dd.gz none 02:00 --user --silent
-
-#___________________________________________________________________________________________________
-#Fedora 12__________________________________________________________________________________________
-#PIPOL esn i386-linux-fedora-core12.dd.gz none 02:00 --user --silent
-#PIPOL esn amd64-linux-fedora-core12.dd.gz none 02:00 --user --silent
-
-#Fedora 13
-#PIPOL esn i386-linux-fedora-core13.dd.gz none 02:00 --user --silent
-#PIPOL esn amd64-linux-fedora-core13.dd.gz none 02:00 --user --silent
-
-#Fedora 14
-#PIPOL esn amd64_2010-linux-fedora-core14.dd.gz none 02:00 --user --silent
-#PIPOL esn i386_2010-linux-fedora-core14.dd.gz none 02:00 --user --silent
-
-#__________________________________________________________________________________________________
-#Debian Lenny 5.0___________________________________________________________________________________
-#PIPOL esn i386-linux-debian-lenny.dd.gz none 02:00 --user --silent
-#PIPOL esn amd64-linux-debian-lenny.dd.gz none 02:00 --user --silent
-
-#Debian Lenny 6.0
-#PIPOL esn amd64_2010-linux-debian-squeeze.dd.gz none 02:00 --user --silent
-
-#Debian Testing
-#PIPOL esn i386-linux-debian-testing none 02:00 --user --silent
-#PIPOL esn amd64-linux-debian-testing none 02:00 --user --silent
-
-#___________________________________________________________________________________________________
-#MacOS Snow Leopard 10.6____________________________________________________________________________
-
-ulimit -c 0
-
-if [ -e ./pipol ] ; then
-        rm -rf ./pipol/$PIPOL_HOST
-        mkdir ./pipol/$PIPOL_HOST
-else
-        mkdir ./pipol
-        rm -rf ./pipol/$PIPOL_HOST
-        mkdir ./pipol/$PIPOL_HOST
-fi
-cd ./pipol/$PIPOL_HOST
-
-export GIT_SSL_NO_VERIFY=1
-git clone git://scm.gforge.inria.fr/simgrid/simgrid.git
-cd simgrid
-#git checkout v3_7_x
-
-perl ./buildtools/pipol/cmake.pl
-perl ./buildtools/pipol/ruby.pl
-
-if [ -e /usr/bin/gcc-4.6 ] ; then
-export CC=gcc-4.6
-export CXX=g++-4.6
-else
-export CC=gcc
-export CXX=g++
-fi
-
-mkdir build-def
-cd build-def
-
-#DEFAULT CONF
-cmake \
--Denable_smpi_MPICH3_testsuite=on ..
-ctest -D NightlyStart
-ctest -D NightlyConfigure
-ctest -D NightlyBuild
-ctest -D NightlyTest
-ctest -D NightlySubmit
-cd ../
-rm -rf ./build-def
-
-# really clean the working directory
-git reset --hard master
-git clean -dfx
-
-#MC
-cmake \
--Denable_coverage=on \
--Denable_model-checking=on \
--Denable_java=on \
--Denable_lua=on \
--Denable_compile_optimizations=off .
-ctest -D NightlyStart
-ctest -D NightlyConfigure
-ctest -D NightlyBuild
-ctest -D NightlyTest
-ctest -D NightlyCoverage
-ctest -D NightlySubmit
-
-export SIMGRID_ROOT=`pwd`
-export LD_LIBRARY_PATH=`pwd`/lib
-export DYLD_LIBRARY_PATH=`pwd`/lib #for mac
-
-cd ../
-git clone git://scm.gforge.inria.fr/simgrid/simgrid-ruby.git simgrid-ruby --quiet
-cd simgrid-ruby
-
-cmake .
-ctest -D NightlyStart
-ctest -D NightlyConfigure
-ctest -D NightlyBuild
-ctest -D NightlyTest
-ctest -D NightlySubmit
diff --git a/buildtools/pipol/cmake.pl b/buildtools/pipol/cmake.pl
deleted file mode 100644 (file)
index 01cf9f0..0000000
+++ /dev/null
@@ -1,104 +0,0 @@
-#!/usr/bin/perl -w
-use strict;
-
-my($my_cmake_version);
-my($cmake);
-my($ctest);
-my($cpack);
-
-$my_cmake_version = `cmake --version`;
-$cmake = `which cmake`;
-$ctest = `which ctest`;
-$cpack = `which cpack`;
-print "$cmake";
-print "$ctest";
-print "$cpack";
-
-chomp $cmake;
-chomp $ctest;
-chomp $cpack;
-
-if ( -f "$cmake" )
-  {
-  if($my_cmake_version =~ /.*2.8.[0-9].*$/)
-    {
-    print "cmake version : $my_cmake_version";
-    }
-    else
-    {
-    if($my_cmake_version =~ /.*2.6.[1-9].*$/)
-      {
-      print "version > 2.6.0\n";
-      system "wget http://www.cmake.org/files/v2.8/cmake-2.8.2.tar.gz";
-      system "tar zxvf cmake-2.8.2.tar.gz";
-      chdir("./cmake-2.8.2");
-      system "cmake .";
-      system "make";
-      if (-f "./bin/cmake"){
-       system "sudo ln -sf `pwd`/bin/cmake $cmake";
-       system "sudo ln -sf `pwd`/bin/cpack $cpack";
-       system "sudo ln -sf `pwd`/bin/ctest $ctest";
-       }
-       else
-       {
-       return;
-       }
-
-       }
-       else
-       {
-       print "version < 2.6.1\n";
-       system "wget http://www.cmake.org/files/v2.6/cmake-2.6.4.tar.gz";
-       system "wget http://www.cmake.org/files/v2.8/cmake-2.8.2.tar.gz";
-
-       system "tar zxvf cmake-2.6.4.tar.gz";
-       chdir("./cmake-2.6.4/");
-       system "cmake .";
-       system "make";
-       if (-f "./bin/cmake"){
-         system "sudo ln -sf `pwd`/bin/cmake $cmake";
-         system "sudo ln -sf `pwd`/bin/cpack $cpack";
-         system "sudo ln -sf `pwd`/bin/ctest $ctest";
-         }
-         else
-         {
-         return;
-         }
-         chdir("./..");
-
-         $my_cmake_version = `cmake --version`;
-         print "cmake version : $my_cmake_version";
-         $cmake = `which cmake`;
-         $ctest = `which ctest`;
-         $cpack = `which cpack`;
-         print "$cmake";
-         print "$ctest";
-         print "$cpack";
-         chomp $cmake;
-         chomp $ctest;
-         chomp $cpack;
-
-         system "tar zxvf cmake-2.8.2.tar.gz";
-         chdir("./cmake-2.8.2/");
-         system "cmake .";
-         system "make";
-         if (-f "./bin/cmake"){
-           system "sudo ln -sf `pwd`/bin/cmake $cmake";
-           system "sudo ln -sf `pwd`/bin/cpack $cpack";
-           system "sudo ln -sf `pwd`/bin/ctest $ctest";
-           }
-           else
-           {
-           return;
-           }
-           }
-           $my_cmake_version = `cmake --version`;
-           print "cmake version : $my_cmake_version";
-           $cmake = `which cmake`;
-           $ctest = `which ctest`;
-           $cpack = `which cpack`;
-           print "$cmake";
-           print "$ctest";
-           print "$cpack";
-           }
-           }
diff --git a/buildtools/pipol/deploy.sh b/buildtools/pipol/deploy.sh
deleted file mode 100755 (executable)
index 90b8af5..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-#!/bin/bash
-
-#___________________________________________________________________________________________________
-#Ubuntu 9.10________________________________________________________________________________________
-ssh pipol pipol-sub esn i386-linux-ubuntu-karmic.dd.gz none 02:00 "~/Experimental_bindings.sh"
-ssh pipol pipol-sub esn amd64-linux-ubuntu-karmic.dd.gz none 02:00 "~/Experimental_bindings.sh"
-
-#Ubuntu 10.04
-ssh pipol pipol-sub esn i386-linux-ubuntu-lucid.dd.gz none 02:00 "~/Experimental_bindings.sh"
-ssh pipol pipol-sub esn amd64-linux-ubuntu-lucid.dd.gz none 02:00 "~/Experimental_bindings.sh"
-
-#Ubuntu 10.10
-ssh pipol pipol-sub esn amd64_2010-linux-ubuntu-maverick.dd.gz none 02:00 "~/Experimental_bindings.sh"
-
-#___________________________________________________________________________________________________
-#Fedora 12__________________________________________________________________________________________
-ssh pipol pipol-sub esn i386-linux-fedora-core12.dd.gz none 02:00 "~/Experimental_bindings.sh"
-ssh pipol pipol-sub esn amd64-linux-fedora-core12.dd.gz none 02:00 "~/Experimental_bindings.sh"
-
-#Fedora 13
-ssh pipol pipol-sub esn i386-linux-fedora-core13.dd.gz none 02:00 "~/Experimental_bindings.sh"
-ssh pipol pipol-sub esn amd64-linux-fedora-core13.dd.gz none 02:00 "~/Experimental_bindings.sh"
-
-#Fedora 14
-ssh pipol pipol-sub esn amd64_2010-linux-fedora-core14.dd.gz none 02:00 "~/Experimental_bindings.sh"
-ssh pipol pipol-sub esn i386_2010-linux-fedora-core14.dd.gz none 02:00 "~/Experimental_bindings.sh"
-
-#___________________________________________________________________________________________________
-#Debian Lenny 5.0___________________________________________________________________________________
-ssh pipol pipol-sub esn i386-linux-debian-lenny.dd.gz none 02:00 "~/Experimental_bindings.sh"
-ssh pipol pipol-sub esn amd64-linux-debian-lenny.dd.gz none 02:00 "~/Experimental_bindings.sh"
-
-#Debian Lenny 6.0
-ssh pipol pipol-sub esn amd64_2010-linux-debian-squeeze.dd.gz none 02:00 "~/Experimental_bindings.sh"
-ssh pipol pipol-sub esn i386_2010-linux-debian-squeeze.dd.gz none 02:00 "~/Experimental_bindings.sh"
-
-#Debian Testing
-ssh pipol pipol-sub esn i386-linux-debian-testing none 02:00 "~/Experimental_bindings.sh"
-ssh pipol pipol-sub esn amd64-linux-debian-testing none 02:00 "~/Experimental_bindings.sh"
\ No newline at end of file
diff --git a/buildtools/pipol/install_gtnets.sh b/buildtools/pipol/install_gtnets.sh
deleted file mode 100644 (file)
index fe015eb..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-SYSTEM=`uname`
-if [ $SYSTEM = Linux ] ; then
-       if [ x$1 != x ]  ; then
-               prefix=$1;
-       fi
-       
-       if [ -e $prefix/lib ] ; then
-               echo -n ""
-       else    
-               echo "Creating directory $prefix/lib";
-               mkdir -p $prefix/lib;
-       fi
-       
-       if [ -e $prefix/include/gtnets ] ; then
-               echo -n "";
-       else    
-               echo "Creating directory $prefix/include/gtnets";
-               mkdir -p $prefix/include/gtnets;
-       fi
-       
-       localdir=`pwd`;
-       cd $prefix;
-       prefix=`pwd`;
-       cd $localdir;
-       echo "Install to prefix = $prefix";
-       
-       echo "Downloading GTNetS from SVN SimGrid's repository";
-       svn checkout svn://scm.gforge.inria.fr/svn/simgrid/contrib/trunk/GTNetS/ --quiet
-       cd GTNetS
-       echo "Uncompressing package";
-       unzip gtnets-current.zip > /dev/null
-       tar zxvf gtnets-current-patch.tgz  > /dev/null
-       cd gtnets-current
-       cat ../00*.patch | patch -p1 > /dev/null
-       
-       ARCH_32=`uname -m | cut -d'_' -f2`
-       
-       if [ x$ARCH_32 = x64 ] ; then #only if 64 bit processor family
-       cat ../AMD64-FATAL-Removed-DUL_SIZE_DIFF-Added-fPIC-compillin.patch | patch -p1 > /dev/null
-       fi
-       
-       ln -sf Makefile.linux Makefile
-       echo "Creating dependencies";
-       make -j 3 depend > /dev/null
-       echo "Compiling GTNetS debug libs";
-       make -j 3 debug > /dev/null 2>&1
-       echo "Compiling GTNetS optimal libs";
-       make -j 3 opt > /dev/null 2>&1
-       wait
-       
-       cd ../../
-       
-       echo "Copying files to $prefix/lib";
-       cp -fr ./GTNetS/gtnets-current/*.so $prefix/lib/
-       ln -sf $prefix/lib/libgtsim-opt.so $prefix/lib/libgtnets.so
-       
-       echo "Copying files to $prefix/include/gtnets";
-       cp -fr ./GTNetS/gtnets-current/SRC/*.h $prefix/include/gtnets
-       wait
-       
-       echo "Done with gtnets installation";
-       rm -rf ./GTNetS
-fi
\ No newline at end of file
diff --git a/buildtools/pipol/install_ns3.sh b/buildtools/pipol/install_ns3.sh
deleted file mode 100644 (file)
index 0cfed93..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-#Need python python-dev
-sudo apt-get install python python-dev
-       
-SYSTEM=`uname`
-if [ $SYSTEM = Linux ] ; then
-       if [ x$1 != x ]  ; then
-               prefix=$1;
-       fi
-       
-       if [ -e $prefix ] ; then
-               echo -n ""
-       else    
-               echo "Creating directory $prefix"
-               mkdir -p $prefix;
-       fi
-       
-       if [ -e $prefix/lib ] ; then
-               echo -n ""
-       else    
-               echo "Creating directory $prefix/lib"
-               mkdir -p $prefix/lib;
-       fi
-       
-       if [ -e $prefix/include/ns3 ] ; then
-               echo -n ""
-       else    
-               echo "Creating directory $prefix/include/ns3"
-               mkdir -p $prefix/include/ns3;
-       fi
-       
-       if [ -e $prefix/doc/html ] ; then
-               echo -n ""
-       else    
-               echo "Creating directory $prefix/doc/html"
-               mkdir -p $prefix/doc/html;
-       fi
-       
-       localdir=`pwd`
-       cd $prefix
-       prefix=`pwd`
-       cd $localdir
-       echo "Install to prefix = $prefix"
-       
-       echo "Downloading NS3"
-       wget http://ns-3.googlecode.com/files/ns-allinone-3.10.tar.bz2
-       
-       echo "Uncompressing package";
-       tar -xvjf ns-allinone-3.10.tar.bz2
-       rm -rf ns-allinone-3.10.tar.bz2
-       cd ns-allinone-3.10/ns-3.10
-       
-       ./waf configure
-       ./waf
-       ./waf --doxygen
-       
-       cp -f build/debug/libns3.so $prefix/lib/libns3.so
-       cp -f build/debug/ns3/* $prefix/include/ns3/
-       cp -f doc/html/* $prefix/doc/html/
-fi
\ No newline at end of file
diff --git a/buildtools/pipol/pre-simgrid.sh b/buildtools/pipol/pre-simgrid.sh
deleted file mode 100644 (file)
index 7d042f8..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-#! /bin/sh
-
-set -e
-
-rm -rf ~/.pipol/log/*
-
-#if [ -e ~/version/bckup_version ] ; then
-#      svn cleanup version/
-#      cd ~/version
-#      svn up README --quiet
-#else
-#      if [ -e ~/version ] ; then
-#              svn cleanup version/
-#              echo "0000P" > ~/version/bckup_version
-#      else
-#              mkdir ~/version
-#              echo "0000P" > ~/version/bckup_version
-#      fi
-#      cd ~/
-#      svn checkout svn://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk ~/version --depth empty --quiet
-#
-#      cd ~/version
-#      svn up README --quiet
-#fi
-
-#old_version=`cat bckup_version`
-#new_version=`svnversion`
-Date=`date`
-
-echo date : $date
-#echo version old : $old_version
-#echo version svn : $new_version
-#echo `svnversion` > bckup_version
-
-#if [ "$old_version" = "$new_version" ] ; then
-#      echo "matches"  
-#      exit 1
-#else
-#      echo "not matches"
-       exit 0
-#fi
diff --git a/buildtools/pipol/rc.debian b/buildtools/pipol/rc.debian
deleted file mode 100644 (file)
index 67e8688..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-#!/bin/bash
-
-sudo aptitude update
-
-sudo aptitude -y install cmake
-sudo aptitude -y install default-jdk
-sudo aptitude -y install swig
-sudo aptitude -y install f2c
-sudo aptitude -y install g++
-sudo aptitude -y install gcc
-sudo aptitude -y install git
-sudo aptitude -y install git-core
-sudo aptitude -y install graphviz-dev graphviz
-sudo aptitude -y install libboost-dev
-sudo aptitude -y install liblua5.1-dev lua5.1
-sudo aptitude -y install libunwind7-dev
-sudo aptitude -y install make
-sudo aptitude -y install valgrind
-
-which_svn=`which svn`          #svn necessary
-which_gcc=`which gcc`          #gcc gcc necessary
-which_gpp=`which g++`          #gcc g++ necessary
-which_make=`which make`                #make necessary
-which_java=`which java`                #java optional
-which_swig=`which swig`                #swig optional
-which_lua=`which lua`          #lua
-which_cmake=`which cmake`      #cmake necessary
-which_unzip=`which unzip`      #unzip for gtnets
-which_wget=`which wget`                #wget for cmake
-which_dot=`which dot`          #dot for cgraph
-which_perl=`which perl`                #perl
-which_f2c=`which f2c`          #f2c
-which_gcov=`which gcov`     #gcov
-which_git=`which git`
-echo "DEBUT----------------------------------"
-echo $which_cmake
-echo $which_unzip
-echo $which_lua
-echo $which_java
-echo $which_swig
-echo $which_make
-echo $which_gcc
-echo $which_gpp
-echo $which_svn
-echo $which_dot
-echo $which_wget
-echo $which_perl
-echo $which_f2c
-echo $which_gcov
-echo $which_git
-echo "FIN------------------------------------"
diff --git a/buildtools/pipol/rc.fedora b/buildtools/pipol/rc.fedora
deleted file mode 100644 (file)
index 9c0f818..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-#!/bin/bash
-
-# find the package you need on https://admin.fedoraproject.org/pkgdb/
-
-sudo yum -y -q update
-
-sudo yum -y -q install boost-devel
-sudo yum -y -q install cmake
-sudo yum -y -q install f2c
-sudo yum -y -q install gcc
-sudo yum -y -q install git-core
-sudo yum -y -q install graphviz-dev graphviz
-sudo yum -y -q install java-1.6.0-openjdk
-sudo yum -y -q install swig
-sudo yum -y -q install libunwind libunwind-devel
-sudo yum -y -q install lua-devel lua
-sudo yum -y -q install make
-sudo yum -y -q install perl
-sudo yum -y -q install ruby ruby-devel
-sudo yum -y -q install unzip
-sudo yum -y -q install wget
-
-which_svn=`which svn`          #svn necessary
-which_gcc=`which gcc`          #gcc gcc necessary
-which_gpp=`which g++`          #gcc g++ necessary
-which_make=`which make`                #make necessary
-which_java=`which java`                #java optional
-which_swig=`which swig`                #swig optional
-which_lua=`which lua`          #lua
-which_cmake=`which cmake`      #cmake necessary
-which_unzip=`which unzip`      #unzip for gtnets
-which_wget=`which wget`                #wget for cmake
-which_dot=`which dot`          #dot for cgraph
-which_perl=`which perl`                #perl
-which_f2c=`which f2c`          #f2c
-which_gcov=`which gcov`     #gcov
-which_git=`which git`
-echo "DEBUT----------------------------------"
-echo $which_cmake
-echo $which_unzip
-echo $which_lua
-echo $which_java
-echo $which_swig
-echo $which_make
-echo $which_gcc
-echo $which_gpp
-echo $which_svn
-echo $which_dot
-echo $which_wget
-echo $which_perl
-echo $which_f2c
-echo $which_gcov
-echo $which_git
-echo "FIN------------------------------------"
diff --git a/buildtools/pipol/rc.mac b/buildtools/pipol/rc.mac
deleted file mode 100644 (file)
index 7538a6c..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-#!/bin/bash
-
-#sudo port install wget
-#sudo port install gcc46
-#sudo port install graphviz-devel
-#sudo port install lua
-#sudo port install swig
-#sudo port select bf2c
-
-sudo port install ruby19
-sudo ln -sf /opt/local/lib/libruby.1.9.1.dylib /usr/lib/libruby.dylib
-sudo ln -sf /opt/local/bin/ruby1.9 /usr/bin/ruby
-
-#sudo port select gcc mp-gcc46
-
-which_gcc=`which gcc`          #gcc gcc necessary
-which_gpp=`which g++`          #gcc g++ necessary
-which_make=`which make`                #make necessary
-which_java=`which java`                #java optional
-which_java=`which swig`                #swig optional
-which_lua=`which lua`          #lua
-which_cmake=`which cmake`      #cmake necessary
-which_unzip=`which unzip`      #unzip for gtnets
-which_wget=`which wget`                #wget for cmake
-which_dot=`which dot`          #dot for cgraph
-which_perl=`which perl`                #perl
-which_f2c=`which f2c`          #f2c
-which_gcov=`which gcov`     #gcov
-which_git=`which git`
-echo "DEBUT----------------------------------"
-echo $which_cmake
-echo $which_unzip
-echo $which_lua
-echo $which_java
-echo $which_swig
-echo $which_make
-echo $which_gcc
-echo $which_gpp
-echo $which_dot
-echo $which_wget
-echo $which_perl
-echo $which_f2c
-echo $which_gcov
-echo $which_git
-echo "FIN------------------------------------"
diff --git a/buildtools/pipol/rc.ubuntu b/buildtools/pipol/rc.ubuntu
deleted file mode 100644 (file)
index 19658e8..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-#!/bin/bash
-
-sudo apt-get update
-
-sudo apt-get -y -qq install cmake
-sudo apt-get -y -qq install default-jdk
-sudo apt-get -y -qq install swig
-sudo apt-get -y -qq install f2c
-sudo apt-get -y -qq install g++
-sudo apt-get -y -qq install gcc
-sudo apt-get -y -qq install git-core
-sudo apt-get -y -qq install graphviz-dev graphviz
-sudo apt-get -y -qq install libboost-dev
-sudo apt-get -y -qq install liblua5.1-dev lua5.1
-sudo apt-get -y -qq install libunwind7-dev
-sudo apt-get -y -qq install make
-sudo apt-get -y -qq install perl
-sudo apt-get -y -qq install unzip
-sudo apt-get -y -qq install valgrind
-sudo apt-get -y -qq install wget
-
-if [ $PIPOL_IMAGE == "i386-linux-ubuntu-lucid.dd.gz" ]; then
-  wget http://mirror.ovh.net/ubuntu//pool/universe/libu/libunwind/libunwind7_0.99-0.3ubuntu1_i386.deb
-  sudo dpkg -i libunwind7_0.99-0.3ubuntu1_i386.deb
-fi
-
-if [ $PIPOL_IMAGE == "amd64-linux-ubuntu-lucid.dd.gz" ]; then
-  wget http://mirror.ovh.net/ubuntu//pool/universe/libu/libunwind/libunwind7_0.99-0.3ubuntu1_amd64.deb
-  sudo dpkg -i libunwind7_0.99-0.3ubuntu1_amd64.deb
-fi
-
-which_svn=`which svn`          #svn necessary
-which_gcc=`which gcc`          #gcc gcc necessary
-which_gpp=`which g++`          #gcc g++ necessary
-which_make=`which make`                #make necessary
-which_java=`which java`                #java optional
-which_swig=`which swig`                #swig optional
-which_lua=`which lua`          #lua
-which_cmake=`which cmake`      #cmake necessary
-which_unzip=`which unzip`      #unzip for gtnets
-which_wget=`which wget`                #wget for cmake
-which_dot=`which dot`          #dot for cgraph
-which_perl=`which perl`                #perl
-which_f2c=`which f2c`          #f2c
-which_gcov=`which gcov`     #gcov
-which_git=`which git`
-echo "DEBUT----------------------------------"
-echo $which_cmake
-echo $which_unzip
-echo $which_lua
-echo $which_java
-echo $which_swig
-echo $which_make
-echo $which_gcc
-echo $which_gpp
-echo $which_svn
-echo $which_dot
-echo $which_wget
-echo $which_perl
-echo $which_f2c
-echo $which_gcov
-echo $which_git
-echo "FIN------------------------------------"
diff --git a/buildtools/pipol/rc.windows b/buildtools/pipol/rc.windows
deleted file mode 100644 (file)
index a25ecea..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/bin/bash
-
-which_svn=`which svn`          #svn necessary
-which_gcc=`which gcc`          #gcc gcc necessary
-which_gpp=`which g++`          #gcc g++ necessary
-which_make=`which gmake`               #make necessary
-which_cmake=`which cmake`      #cmake necessary
-which_perl=`which perl`                #perl
-which_git=`which git`
-
-echo "DEBUT----------------------------------"
-echo $which_cmake
-echo $which_make
-echo $which_gcc
-echo $which_gpp
-echo $which_svn
-echo $which_perl
-echo $which_git
-echo $PATH
-echo "FIN------------------------------------"
\ No newline at end of file
diff --git a/buildtools/pipol/ruby.pl b/buildtools/pipol/ruby.pl
deleted file mode 100644 (file)
index d27264c..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-#!/usr/bin/perl -w
-use strict;
-my($ruby_version);
-if( -e "/usr/bin/apt-get")
-{
-       $ruby_version = `apt-cache search ruby1.9.1-dev`;
-       
-       if( $ruby_version=~ /^$/){
-       $ruby_version = `apt-cache search ruby1.9-dev`;
-       }
-       
-       if( $ruby_version=~ /^$/){
-       return;
-       }
-       
-       $ruby_version =~ s/-dev.*//g;
-       chomp $ruby_version;
-       
-       print "ruby to install $ruby_version $ruby_version-dev\n";
-       `sudo apt-get install -y $ruby_version $ruby_version-dev`;
-       `sudo ln -sf /usr/bin/$ruby_version /usr/bin/ruby`;
-       
-       $ruby_version=~ s/-dev//g;
-       $ruby_version=~ s/ruby/ruby\*/g;
-       my($ruby_lib)=`ls /usr/lib/lib$ruby_version.so`;
-       chomp $ruby_lib;
-       `sudo ln -sf "$ruby_lib" /usr/lib/libruby.so`;
-}
-
-$ruby_version=`ruby --version`;
-print "ruby = $ruby_version";
-print "libruby = ".`ls /usr/lib/libruby.so`;
\ No newline at end of file
index e40c12c..45dafd5 100644 (file)
@@ -1005,7 +1005,7 @@ HTML_COLORSTYLE_GAMMA  = 80
 # page will contain the date and time when the page was generated. Setting
 # this to NO can help when comparing the output of multiple runs.
 
-HTML_TIMESTAMP         = YES
+HTML_TIMESTAMP         = NO
 
 # If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
 # documentation will contain sections that can be hidden and shown after the
index 9b566d7..dcb95b9 100644 (file)
@@ -65,7 +65,7 @@ int main(int argc, char *argv[]) {
 \section options_model Configuring the platform models
 
 \anchor options_storage_model
-\anchor options_vm_workstation_model
+\anchor options_vm_model
 \subsection options_model_select Selecting the platform models
 
 SimGrid comes with several network, CPU and storage models built in, and you
@@ -76,7 +76,7 @@ you a short description of all possible values. Also, \c --help-models
 should provide information about all models for all existing resources.
    - \b network/model: specify the used network model
    - \b cpu/model: specify the used CPU model
-   - \b workstation/model: specify the used workstation model
+   - \b host/model: specify the used host model
    - \b storage/model: specify the used storage model (there is currently only one such model - this option is hence only useful for future releases)
    - \b vm_workstation/model: specify the workstation model for virtual machines (there is currently only one such model - this option is hence only useful for future releases)
 
@@ -126,20 +126,20 @@ additional configuration flags".
 Concerning the CPU, we have only one model for now:
   - \b Cas01: Simplistic CPU model (time=size/power)
 
-The workstation concept is the aggregation of a CPU with a network
+The host concept is the aggregation of a CPU with a network
 card. Three models exists, but actually, only 2 of them are
 interesting. The "compound" one is simply due to the way our internal
 code is organized, and can easily be ignored. So at the end, you have
-two workstation models: The default one allows to aggregate an
+two host models: The default one allows to aggregate an
 existing CPU model with an existing network model, but does not allow
 parallel tasks because these beasts need some collaboration between
 the network and CPU model. That is why, ptask_07 is used by default
 when using SimDag.
-  - \b default: Default workstation model. Currently, CPU:Cas01 and
+  - \b default: Default host model. Currently, CPU:Cas01 and
     network:LV08 (with cross traffic enabled)
-  - \b compound: Workstation model that is automatically chosen if
+  - \b compound: Host model that is automatically chosen if
     you change the network and CPU models
-  - \b ptask_L07: Workstation model somehow similar to Cas01+CM02 but
+  - \b ptask_L07: Host model somehow similar to Cas01+CM02 but
     allowing parallel tasks
 
 \subsection options_generic_plugin Plugins
@@ -268,7 +268,7 @@ available in <tt>examples/msg/gtnets/crosstraffic-p.xml</tt>.
 This is activated through the \b network/crosstraffic item, that
 can be set to 0 (disable this feature) or 1 (enable it).
 
-Note that with the default workstation model this option is activated by default.
+Note that with the default host model this option is activated by default.
 
 \subsubsection options_model_network_coord Coordinated-based network models
 
@@ -1082,6 +1082,8 @@ silently overflow on other parts of the memory.
 - \c gtnets/jitter: \ref options_pls
 - \c gtnets/jitter_seed: \ref options_pls
 
+- \c host/model: \ref options_model_select
+
 - \c maxmin/precision: \ref options_model_precision
 
 - \c msg/debug_multiple_use: \ref options_msg_debug_multiple_use
@@ -1147,7 +1149,6 @@ silently overflow on other parts of the memory.
 - \c verbose-exit: \ref options_generic_exit
 
 - \c vm_workstation/model: \ref options_vm_workstation_model
-- \c workstation/model: \ref options_model_select
 
 \subsection options_index_smpi_coll Index of SMPI collective algorithms options
 
index 6d99c90..7130950 100644 (file)
@@ -1191,7 +1191,7 @@ information.
 <config id="General">
        <prop id="maxmin/precision" value="0.000010"></prop>
        <prop id="cpu/optim" value="TI"></prop>
-       <prop id="workstation/model" value="compound"></prop>
+       <prop id="host/model" value="compound"></prop>
        <prop id="network/model" value="SMPI"></prop>
        <prop id="path" value="~/"></prop>
        <prop id="smpi/bw_factor" value="65472:0.940694;15424:0.697866;9376:0.58729"></prop>
@@ -1535,7 +1535,7 @@ In SURF, we attach callbacks to the different events by initializing the
 pointer functions to some the right surf functions. Since there can be
 more than one callback attached to the same event (if more than one
 model is in use, for example), they are stored in a dynar. Example in
-workstation_ptask_L07.c:
+host_ptask_L07.c:
 \verbatim
   /* Adding callback functions */
   surf_parse_reset_parser();
index 3f7bae7..387a1ef 100644 (file)
@@ -5,19 +5,19 @@ $ java -classpath ${classpath:=.} cloud/migration/Main ${srcdir:=.}/../platforms
 > [host0:cloud/migration/Test:(1) 0.000000] [jmsg/INFO] This example evaluates the migration time of a VM in presence of collocated VMs on the source and the dest nodes
 > [host0:cloud/migration/Test:(1) 0.000000] [jmsg/INFO] The migrated VM has a memory intensity rate of 70% of the network BW and a cpu load of 90% "(see cloudcom 2013 paper "Adding a Live Migration Model Into SimGrid" for further information) 
 > [host0:cloud/migration/Test:(1) 0.000000] [jmsg/INFO] Load of collocated VMs fluctuate between 0 and 90% in order to create a starvation issue and see whether it impacts or not the migration time
-> [0.000000] [surf_vm_workstation/INFO] Create VM(vm0)@PM(host0) with 0 mounted disks
-> [0.000000] [surf_vm_workstation/INFO] Create VM(vm1)@PM(host0) with 0 mounted disks
-> [0.000000] [surf_vm_workstation/INFO] Create VM(vm2)@PM(host0) with 0 mounted disks
-> [0.000000] [surf_vm_workstation/INFO] Create VM(vm3)@PM(host0) with 0 mounted disks
-> [0.000000] [surf_vm_workstation/INFO] Create VM(vm4)@PM(host0) with 0 mounted disks
-> [0.000000] [surf_vm_workstation/INFO] Create VM(vm5)@PM(host0) with 0 mounted disks
-> [0.000000] [surf_vm_workstation/INFO] Create VM(vm6)@PM(host0) with 0 mounted disks
-> [0.000000] [surf_vm_workstation/INFO] Create VM(vm7)@PM(host1) with 0 mounted disks
-> [0.000000] [surf_vm_workstation/INFO] Create VM(vm8)@PM(host1) with 0 mounted disks
-> [0.000000] [surf_vm_workstation/INFO] Create VM(vm9)@PM(host1) with 0 mounted disks
-> [0.000000] [surf_vm_workstation/INFO] Create VM(vm10)@PM(host1) with 0 mounted disks
-> [0.000000] [surf_vm_workstation/INFO] Create VM(vm11)@PM(host1) with 0 mounted disks
-> [0.000000] [surf_vm_workstation/INFO] Create VM(vm12)@PM(host1) with 0 mounted disks
+> [0.000000] [surf_vm/INFO] Create VM(vm0)@PM(host0) with 0 mounted disks
+> [0.000000] [surf_vm/INFO] Create VM(vm1)@PM(host0) with 0 mounted disks
+> [0.000000] [surf_vm/INFO] Create VM(vm2)@PM(host0) with 0 mounted disks
+> [0.000000] [surf_vm/INFO] Create VM(vm3)@PM(host0) with 0 mounted disks
+> [0.000000] [surf_vm/INFO] Create VM(vm4)@PM(host0) with 0 mounted disks
+> [0.000000] [surf_vm/INFO] Create VM(vm5)@PM(host0) with 0 mounted disks
+> [0.000000] [surf_vm/INFO] Create VM(vm6)@PM(host0) with 0 mounted disks
+> [0.000000] [surf_vm/INFO] Create VM(vm7)@PM(host1) with 0 mounted disks
+> [0.000000] [surf_vm/INFO] Create VM(vm8)@PM(host1) with 0 mounted disks
+> [0.000000] [surf_vm/INFO] Create VM(vm9)@PM(host1) with 0 mounted disks
+> [0.000000] [surf_vm/INFO] Create VM(vm10)@PM(host1) with 0 mounted disks
+> [0.000000] [surf_vm/INFO] Create VM(vm11)@PM(host1) with 0 mounted disks
+> [0.000000] [surf_vm/INFO] Create VM(vm12)@PM(host1) with 0 mounted disks
 > [host0:cloud/migration/Test:(1) 0.000000] [jmsg/INFO] Round trip of VM1 (load 90%)
 > [host0:cloud/migration/Test:(1) 0.000000] [jmsg/INFO]      - Launch migration from host 0 to host 1
 > [host0:cloud/migration/Test:(1) 0.000000] [jmsg/INFO] Start migration of VM vm0 to host1
index ff26d50..15fef7f 100644 (file)
@@ -10,6 +10,7 @@ import org.simgrid.msg.HostNotFoundException;
 import org.simgrid.msg.Msg;
 import org.simgrid.msg.TimeoutException;
 import org.simgrid.msg.TransferFailureException;
+import org.simgrid.msg.NativeException;
 import org.simgrid.msg.Process;
 
 import master_slave_bypass.FinalizeTask;
@@ -18,7 +19,7 @@ public class Slave extends Process {
        public Slave(String hostname, String name) throws HostNotFoundException {
                super(hostname, name);
        }
-       public void main(String[] args) throws TransferFailureException, HostFailureException, TimeoutException {
+       public void main(String[] args) throws TransferFailureException, HostFailureException, TimeoutException, NativeException {
        Msg.info("Slave Hello!");
        FinalizeTask task = new FinalizeTask();
        Msg.info("Send finalize!");
index ab99898..cd731e6 100644 (file)
@@ -12,6 +12,7 @@ import org.simgrid.msg.MsgException;
 import org.simgrid.msg.Task;
 import org.simgrid.msg.TimeoutException;
 import org.simgrid.msg.TransferFailureException;
+import org.simgrid.msg.NativeException;
 import org.simgrid.msg.Process;
 
 import master_slave_kill.FinalizeTask;
@@ -20,7 +21,7 @@ public class Slave extends Process {
        public Slave(String hostname, String name) throws HostNotFoundException {
                super(hostname, name);
        }
-       public void main(String[] args) throws TransferFailureException, HostFailureException, TimeoutException {
+       public void main(String[] args) throws TransferFailureException, HostFailureException, TimeoutException, NativeException {
        Msg.info("Slave Hello!");
        
        FinalizeTask task = new FinalizeTask();
index 596d2bc..4fceb61 100644 (file)
@@ -1,7 +1,7 @@
 #! tesh
 
-$ java -classpath ${classpath:=.} surfCpuModel/TestCpuModel ${srcdir:=.}/../platforms/small_platform.xml ${srcdir:=.}/surfCpuModel/surfCpuModelDeployment.xml --cfg=workstation/model:compound
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'workstation/model' to 'compound'
+$ java -classpath ${classpath:=.} surfCpuModel/TestCpuModel ${srcdir:=.}/../platforms/small_platform.xml ${srcdir:=.}/surfCpuModel/surfCpuModelDeployment.xml --cfg=host/model:compound
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'host/model' to 'compound'
 > [0.000000] [jmsg/INFO] Using regular java threads. Coroutines could speed your simulation up.
 > [0.000000] [jmsg/INFO] Initialize Cpu Constant Model
 > [0.000000] [jmsg/INFO] New Cpu(Tremblay, 9.8095E7, 1.0)
index 82cb0f0..2a7add2 100644 (file)
@@ -2,9 +2,11 @@ cmake_minimum_required(VERSION 2.6)
 
 set(EXECUTABLE_OUTPUT_PATH "${CMAKE_CURRENT_BINARY_DIR}")
 add_executable(actions actions.c)
+add_executable(storage_actions storage_actions.c)
 
 ### Add definitions for compile
 target_link_libraries(actions simgrid)
+target_link_libraries(storage_actions simgrid)
 
 set(tesh_files
   ${tesh_files}
@@ -15,11 +17,13 @@ set(xml_files
   ${xml_files}
   ${CMAKE_CURRENT_SOURCE_DIR}/deployment_split.xml
   ${CMAKE_CURRENT_SOURCE_DIR}/deployment.xml
+  ${CMAKE_CURRENT_SOURCE_DIR}/storage_deployment.xml
   PARENT_SCOPE
   )
 set(examples_src
   ${examples_src}
   ${CMAKE_CURRENT_SOURCE_DIR}/actions.c
+  ${CMAKE_CURRENT_SOURCE_DIR}/storage_actions.c
   PARENT_SCOPE
   )
 set(bin_files
@@ -28,6 +32,7 @@ set(bin_files
   )
 set(txt_files
   ${txt_files}
+  ${CMAKE_CURRENT_SOURCE_DIR}/actions_io.txt
   ${CMAKE_CURRENT_SOURCE_DIR}/actions_allReduce.txt
   ${CMAKE_CURRENT_SOURCE_DIR}/actions_barrier.txt
   ${CMAKE_CURRENT_SOURCE_DIR}/actions_bcast.txt
diff --git a/examples/msg/actions/actions_io.txt b/examples/msg/actions/actions_io.txt
new file mode 100644 (file)
index 0000000..cc9142a
--- /dev/null
@@ -0,0 +1,3 @@
+p0 open /home/lib/libsimgrid.so.3.6.2  
+p0 read /home/lib/libsimgrid.so.3.6.2 12710497
+p0 close /home/lib/libsimgrid.so.3.6.2
diff --git a/examples/msg/actions/storage_actions.c b/examples/msg/actions/storage_actions.c
new file mode 100644 (file)
index 0000000..17758e4
--- /dev/null
@@ -0,0 +1,144 @@
+/* Copyright (c) 2015. The SimGrid Team.
+ * All rights reserved.                                                     */
+
+/* This program is free software; you can redistribute it and/or modify it
+ * under the terms of the license (GNU LGPL) which comes with this package. */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include "simgrid/msg.h"
+#include "xbt.h"                /* calloc, printf */
+#include <xbt/replay.h>
+
+XBT_LOG_NEW_DEFAULT_CATEGORY(storage_actions, "Messages specific for this example");
+
+static xbt_dict_t opened_files = NULL;
+
+#define ACT_DEBUG(...) \
+  if (XBT_LOG_ISENABLED(storage_actions, xbt_log_priority_verbose)) {  \
+    char *NAME = xbt_str_join_array(action, " ");              \
+    XBT_DEBUG(__VA_ARGS__);                                    \
+    xbt_free(NAME);                                            \
+  } else ((void)0)
+
+static void log_action(const char *const *action, double date)
+{
+  if (XBT_LOG_ISENABLED(storage_actions, xbt_log_priority_verbose)) {
+    char *name = xbt_str_join_array(action, " ");
+    XBT_VERB("%s %f", name, date);
+    xbt_free(name);
+  }
+}
+
+static msg_file_t get_file_descriptor(const char *file_name){
+  char full_name[1024];
+  msg_file_t file = NULL;
+
+  sprintf(full_name, "%s:%s", MSG_process_get_name(MSG_process_self()), file_name);
+
+  file = (msg_file_t) xbt_dict_get_or_null(opened_files, full_name);
+  return file;
+}
+
+static sg_size_t parse_size(const char *string){
+  sg_size_t size;
+  char *endptr;
+  
+  size = strtoul(string, &endptr, 10);
+  if (*endptr != '\0')
+    THROWF(unknown_error, 0, "%s is not a long unsigned int (a.k.a. sg_size_t)", string);
+  return size;
+}
+
+
+static void action_open(const char *const *action) {
+  const char *file_name = action[2];
+  char full_name[1024];
+  msg_file_t file = NULL;
+  double clock = MSG_get_clock();       /* this "call" is free thanks to inlining */
+
+  sprintf(full_name, "%s:%s", MSG_process_get_name(MSG_process_self()), 
+         file_name);
+
+  ACT_DEBUG("Entering Open: %s (filename: %s)", NAME, file_name);
+  file = MSG_file_open(file_name, NULL);
+  xbt_dict_set(opened_files, full_name, file, NULL);
+  
+  log_action(action, MSG_get_clock() - clock);
+}
+
+static void action_read(const char *const *action) {
+  const char *file_name = action[2];
+  const char *size_str = action[3];
+  msg_file_t file = NULL;
+  sg_size_t size = parse_size(size_str);
+  
+  double clock = MSG_get_clock();       /* this "call" is free thanks to inlining */
+
+  file = get_file_descriptor(file_name);
+  
+  ACT_DEBUG("Entering Read: %s (size: %llu)", NAME, size);
+  MSG_file_read(file, size);
+
+  log_action(action, MSG_get_clock() - clock);
+}
+
+static void action_close(const char *const *action) {
+  const char *file_name = action[2];
+  msg_file_t file;
+  double clock = MSG_get_clock();       /* this "call" is free thanks to inlining */
+
+  file = get_file_descriptor(file_name);
+
+  ACT_DEBUG("Entering Close: %s (filename: %s)", NAME, file_name);
+  MSG_file_close(file);
+
+  log_action(action, MSG_get_clock() - clock);
+}
+
+int main(int argc, char *argv[]) {
+  msg_error_t res = MSG_OK;
+
+  /* Check the given arguments */
+  MSG_init(&argc, argv);
+  /* Explicit initialization of the action module is required now*/
+  MSG_action_init();
+
+  if (argc < 3) {
+    printf("Usage: %s platform_file deployment_file [action_files]\n", argv[0]);
+    printf
+        ("example: %s msg_platform.xml msg_deployment.xml actions # if all actions are in the same file\n",
+         argv[0]);
+    printf
+        ("example: %s msg_platform.xml msg_deployment.xml # if actions are in separate files, specified in deployment\n",
+         argv[0]);
+    exit(1);
+  }
+
+  /*  Simulation setting */
+  MSG_create_environment(argv[1]);
+
+  /* No need to register functions as in classical MSG programs: the actions get started anyway */
+  MSG_launch_application(argv[2]);
+
+  /*   Action registration */
+  xbt_replay_action_register("open", action_open);
+  xbt_replay_action_register("read", action_read);
+  xbt_replay_action_register("close", action_close);
+  
+  if (!opened_files)
+    opened_files = xbt_dict_new_homogeneous(NULL);
+  /* Actually do the simulation using MSG_action_trace_run */
+  res = MSG_action_trace_run(argv[3]);  // it's ok to pass a NULL argument here
+
+  XBT_INFO("Simulation time %g", MSG_get_clock());
+
+  if (opened_files)
+    xbt_dict_free(&opened_files);
+
+  /* Explicit finalization of the action module is required now*/
+  MSG_action_exit();
+
+  return !!res;
+}                               /* end_of_main */
diff --git a/examples/msg/actions/storage_deployment.xml b/examples/msg/actions/storage_deployment.xml
new file mode 100644 (file)
index 0000000..96d3d5f
--- /dev/null
@@ -0,0 +1,5 @@
+<?xml version='1.0'?>
+<!DOCTYPE platform SYSTEM "http://simgrid.gforge.inria.fr/simgrid.dtd">
+<platform version="3">
+  <process host="denise" function="p0"/>
+</platform>
index 05a336d..3358022 100644 (file)
@@ -86,24 +86,6 @@ int main(int argc, char *argv[])
 
   MSG_init(&argc, argv);
 
-  /*if (argc <= 3) {
-    XBT_CRITICAL("Usage: %s platform_file deployment_file <model>\n",
-              argv[0]);
-    XBT_CRITICAL
-        ("example: %s msg_platform.xml msg_deployment.xml KCCFLN05_Vegas\n",
-         argv[0]);
-    exit(1);
-  }*/
-
-  /* Options for the workstation/model:
-
-     KCCFLN05              => for maxmin
-     KCCFLN05_proportional => for proportional (Vegas)
-     KCCFLN05_Vegas        => for TCP Vegas
-     KCCFLN05_Reno         => for TCP Reno
-   */
-  //MSG_config("workstation/model", argv[3]);
-
   res = test_all(argv[1], argv[2]);
 
   XBT_INFO("Total simulation time: %e", MSG_get_clock());
index 7c81515..e60689d 100644 (file)
@@ -460,7 +460,6 @@ $ $SG_TEST_EXENV ${bindir:=.}/chord$EXEEXT -nb_bits=6 ${srcdir:=.}/../../platfor
 $ $SG_TEST_EXENV ${bindir:=.}/chord$EXEEXT ${srcdir:=.}/../../platforms/cluster.xml ${srcdir:=.}/chord10.xml --cfg=network/crosstraffic:0 --log=msg_chord.thres:verbose "--log=root.fmt:[%11.6r]%e(%i:%P@%h)%e%m%n" --cfg=network/model:Constant
 > [   0.000000] (0:@) Configuration change: Set 'network/crosstraffic' to '0'
 > [   0.000000] (0:@) Configuration change: Set 'network/model' to 'Constant'
-> [   0.000000] (0:@) Switching workstation model to compound since you changed the network and/or cpu model(s)
 > [   0.000000] (10:node@node-9.acme.org) Joining the ring with id 2015253, knowing node 1319738
 > [   0.000000] (1:node@node-0.acme.org) My finger table:
 > [   0.000000] (1:node@node-0.acme.org) Start | Succ
index 051b60c..08530a2 100644 (file)
@@ -458,7 +458,6 @@ $ $SG_TEST_EXENV ${bindir:=.}/chord$EXEEXT -nb_bits=6 ${srcdir:=.}/../../platfor
 ! output sort
 $ $SG_TEST_EXENV ${bindir:=.}/chord$EXEEXT ${srcdir:=.}/../../platforms/cluster.xml ${srcdir:=.}/chord10.xml --log=msg_chord.thres:verbose "--log=root.fmt:[%11.6r]%e(%i:%P@%h)%e%m%n" --cfg=network/model:Constant
 > [   0.000000] (0:@) Configuration change: Set 'network/model' to 'Constant'
-> [   0.000000] (0:@) Switching workstation model to compound since you changed the network and/or cpu model(s)
 > [   0.000000] (10:node@node-9.acme.org) Joining the ring with id 2015253, knowing node 1319738
 > [   0.000000] (1:node@node-0.acme.org) My finger table:
 > [   0.000000] (1:node@node-0.acme.org) Start | Succ
index 7b9b38c..3d01d42 100644 (file)
@@ -5,11 +5,11 @@ p Testing the Cloud API with a simple masterslave
 $ $SG_TEST_EXENV ${bindir:=.}/master_worker_vm$EXEEXT --log=no_loc ${srcdir:=.}/../../platforms/platform.xml
 > [Jacquelin:master:(1) 0.000000] [msg_test/INFO] # Launch 2 VMs
 > [Jacquelin:master:(1) 0.000000] [msg_test/INFO] create VM00 on PM(Intel)
-> [0.000000] [surf_vm_workstation/INFO] Create VM(VM00)@PM(Intel) with 0 mounted disks
+> [0.000000] [surf_vm/INFO] Create VM(VM00)@PM(Intel) with 0 mounted disks
 > [Jacquelin:master:(1) 0.000000] [msg_test/INFO] put a process (WRK00) on VM00
 > [VM00:WRK00:(2) 0.000000] [msg_test/INFO] WRK00 is listenning on mailbox(MBOX:WRK00)
 > [Jacquelin:master:(1) 0.000000] [msg_test/INFO] create VM01 on PM(Provost)
-> [0.000000] [surf_vm_workstation/INFO] Create VM(VM01)@PM(Provost) with 0 mounted disks
+> [0.000000] [surf_vm/INFO] Create VM(VM01)@PM(Provost) with 0 mounted disks
 > [Jacquelin:master:(1) 0.000000] [msg_test/INFO] put a process (WRK01) on VM01
 > [VM01:WRK01:(3) 0.000000] [msg_test/INFO] WRK01 is listenning on mailbox(MBOX:WRK01)
 > [Jacquelin:master:(1) 0.000000] [msg_test/INFO] # Send a task to 2 worker process
index e98f696..f0e9258 100644 (file)
@@ -15,23 +15,23 @@ $ $SG_TEST_EXENV ${bindir:=.}/simple_vm$EXEEXT --log=no_loc ${srcdir:=.}/../../p
 > [Fafard:master_:(1) 6.000000] [msg_test/INFO] ## Test 1 (ended)
 > [Fafard:master_:(1) 6.000000] [msg_test/INFO] ## Test 2 (started): check impact of running a task inside a VM (there is no degradation for the moment)
 > [Fafard:master_:(1) 6.000000] [msg_test/INFO] ### Put a VM on a PM, and put a task to the VM
-> [6.000000] [surf_vm_workstation/INFO] Create VM(VM0)@PM(Fafard) with 0 mounted disks
+> [6.000000] [surf_vm/INFO] Create VM(VM0)@PM(Fafard) with 0 mounted disks
 > [VM0:compute:(7) 6.013107] [msg_test/INFO] VM0:compute task executed 0.0131068
 > [Fafard:master_:(1) 8.000000] [msg_test/INFO] ## Test 2 (ended)
 > [Fafard:master_:(1) 8.000000] [msg_test/INFO] ## Test 3 (started): check impact of running a task collocated with a VM (there is no VM noise for the moment)
 > [Fafard:master_:(1) 8.000000] [msg_test/INFO] ### Put a VM on a PM, and put a task to the PM
-> [8.000000] [surf_vm_workstation/INFO] Create VM(VM0)@PM(Fafard) with 0 mounted disks
+> [8.000000] [surf_vm/INFO] Create VM(VM0)@PM(Fafard) with 0 mounted disks
 > [Fafard:compute:(8) 8.013107] [msg_test/INFO] Fafard:compute task executed 0.0131068
 > [Fafard:master_:(1) 10.000000] [msg_test/INFO] ## Test 3 (ended)
 > [Fafard:master_:(1) 10.000000] [msg_test/INFO] ## Test 4 (started): compare the cost of running two tasks inside two different VMs collocated or not (for the moment, there is no degradation for the VMs. Hence, the time should be equals to the time of test 1
 > [Fafard:master_:(1) 10.000000] [msg_test/INFO] ### Put two VMs on a PM, and put a task to each VM
-> [10.000000] [surf_vm_workstation/INFO] Create VM(VM0)@PM(Fafard) with 0 mounted disks
-> [10.000000] [surf_vm_workstation/INFO] Create VM(VM1)@PM(Fafard) with 0 mounted disks
+> [10.000000] [surf_vm/INFO] Create VM(VM0)@PM(Fafard) with 0 mounted disks
+> [10.000000] [surf_vm/INFO] Create VM(VM1)@PM(Fafard) with 0 mounted disks
 > [VM0:compute:(9) 10.026214] [msg_test/INFO] VM0:compute task executed 0.0262137
 > [VM1:compute:(10) 10.026214] [msg_test/INFO] VM1:compute task executed 0.0262137
 > [Fafard:master_:(1) 12.000000] [msg_test/INFO] ### Put a VM on each PM, and put a task to each VM
-> [12.000000] [surf_vm_workstation/INFO] Create VM(VM0)@PM(Fafard) with 0 mounted disks
-> [12.000000] [surf_vm_workstation/INFO] Create VM(VM1)@PM(Tremblay) with 0 mounted disks
+> [12.000000] [surf_vm/INFO] Create VM(VM0)@PM(Fafard) with 0 mounted disks
+> [12.000000] [surf_vm/INFO] Create VM(VM1)@PM(Tremblay) with 0 mounted disks
 > [VM1:compute:(12) 12.010194] [msg_test/INFO] VM1:compute task executed 0.0101942
 > [VM0:compute:(11) 12.013107] [msg_test/INFO] VM0:compute task executed 0.0131068
 > [Fafard:master_:(1) 14.000000] [msg_test/INFO] ## Test 4 (ended)
@@ -42,33 +42,33 @@ $ $SG_TEST_EXENV ${bindir:=.}/simple_vm$EXEEXT --log=no_loc ${srcdir:=.}/../../p
 > [Tremblay:comm_rx:(18) 19.291085] [msg_test/INFO] Fafard:comm_tx to Tremblay:comm_rx => 0.291085 sec
 > [Tremblay:comm_rx:(16) 19.291085] [msg_test/INFO] Fafard:comm_tx to Tremblay:comm_rx => 0.291085 sec
 > [Fafard:master_:(1) 24.000000] [msg_test/INFO] ### Make a connection between PM0 and VM0@PM0
-> [24.000000] [surf_vm_workstation/INFO] Create VM(VM0)@PM(Fafard) with 0 mounted disks
+> [24.000000] [surf_vm/INFO] Create VM(VM0)@PM(Fafard) with 0 mounted disks
 > [VM0:comm_rx:(20) 24.002265] [msg_test/INFO] Fafard:comm_tx to VM0:comm_rx => 0.00226529 sec
 > [Fafard:master_:(1) 29.000000] [msg_test/INFO] ### Make a connection between PM0 and VM0@PM1
-> [29.000000] [surf_vm_workstation/INFO] Create VM(VM0)@PM(Tremblay) with 0 mounted disks
+> [29.000000] [surf_vm/INFO] Create VM(VM0)@PM(Tremblay) with 0 mounted disks
 > [VM0:comm_rx:(22) 29.158397] [msg_test/INFO] Fafard:comm_tx to VM0:comm_rx => 0.158397 sec
 > [Fafard:master_:(1) 34.000000] [msg_test/INFO] ### Make two connections between PM0 and VM0@PM1
-> [34.000000] [surf_vm_workstation/INFO] Create VM(VM0)@PM(Tremblay) with 0 mounted disks
+> [34.000000] [surf_vm/INFO] Create VM(VM0)@PM(Tremblay) with 0 mounted disks
 > [VM0:comm_rx:(26) 34.291085] [msg_test/INFO] Fafard:comm_tx to VM0:comm_rx => 0.291085 sec
 > [VM0:comm_rx:(24) 34.291085] [msg_test/INFO] Fafard:comm_tx to VM0:comm_rx => 0.291085 sec
 > [Fafard:master_:(1) 39.000000] [msg_test/INFO] ### Make a connection between PM0 and VM0@PM1, and also make a connection between PM0 and PM1
-> [39.000000] [surf_vm_workstation/INFO] Create VM(VM0)@PM(Tremblay) with 0 mounted disks
+> [39.000000] [surf_vm/INFO] Create VM(VM0)@PM(Tremblay) with 0 mounted disks
 > [Tremblay:comm_rx:(30) 39.291085] [msg_test/INFO] Fafard:comm_tx to Tremblay:comm_rx => 0.291085 sec
 > [VM0:comm_rx:(28) 39.291085] [msg_test/INFO] Fafard:comm_tx to VM0:comm_rx => 0.291085 sec
 > [Fafard:master_:(1) 44.000000] [msg_test/INFO] ### Make a connection between VM0@PM0 and PM1@PM1, and also make a connection between VM0@PM0 and VM1@PM1
-> [44.000000] [surf_vm_workstation/INFO] Create VM(VM0)@PM(Fafard) with 0 mounted disks
-> [44.000000] [surf_vm_workstation/INFO] Create VM(VM1)@PM(Tremblay) with 0 mounted disks
+> [44.000000] [surf_vm/INFO] Create VM(VM0)@PM(Fafard) with 0 mounted disks
+> [44.000000] [surf_vm/INFO] Create VM(VM1)@PM(Tremblay) with 0 mounted disks
 > [VM1:comm_rx:(34) 44.291085] [msg_test/INFO] VM0:comm_tx to VM1:comm_rx => 0.291085 sec
 > [VM1:comm_rx:(32) 44.291085] [msg_test/INFO] VM0:comm_tx to VM1:comm_rx => 0.291085 sec
 > [Fafard:master_:(1) 49.000000] [msg_test/INFO] ## Test 5 (ended)
 > [Fafard:master_:(1) 49.000000] [msg_test/INFO] ## Test 6 (started): Check migration impact (not yet implemented neither on the CPU resource nor on the network one
 > [Fafard:master_:(1) 49.000000] [msg_test/INFO] ### Relocate VM0 between PM0 and PM1
-> [49.000000] [surf_vm_workstation/INFO] Create VM(VM0)@PM(Fafard) with 0 mounted disks
+> [49.000000] [surf_vm/INFO] Create VM(VM0)@PM(Fafard) with 0 mounted disks
 > [Fafard:__pr_mig_tx:VM0(Fafard-Tremblay):(38) 49.010000] [msg_vm/WARNING] use the default max_downtime value 30ms
 > [Fafard:__pr_mig_tx:VM0(Fafard-Tremblay):(38) 49.010000] [msg_vm/INFO] Stage 1: Gonna send 1073741824
 > [Bourassa:comm_rx:(36) 49.204993] [msg_test/INFO] VM0:comm_tx to Bourassa:comm_rx => 0.204993 sec
 > [Tremblay:__pr_mig_tx:VM0(Tremblay-Fafard):(40) 191.674258] [msg_vm/WARNING] use the default max_downtime value 30ms
 > [Tremblay:__pr_mig_tx:VM0(Tremblay-Fafard):(40) 191.674258] [msg_vm/INFO] Stage 1: Gonna send 1073741824
-> [334.199056] [surf_vm_workstation/CRITICAL] FIXME: may need a proper handling, 1
+> [334.199056] [surf_vm/CRITICAL] FIXME: may need a proper handling, 1
 > [Fafard:master_:(1) 339.199251] [msg_test/INFO] ## Test 6 (ended)
 > [339.199251] [msg_test/INFO] Bye (simulation time 339.199)
index c4305ac..c0c543e 100644 (file)
@@ -3,7 +3,7 @@
 p Testing a vm with two successive tasks
 
 $ $SG_TEST_EXENV ${bindir:=.}/two_tasks_vm$EXEEXT ${srcdir:=.}/../../platforms/small_platform.xml
-> [0.000000] [surf_vm_workstation/INFO] Create VM(VM0)@PM(Fafard) with 0 mounted disks
+> [0.000000] [surf_vm/INFO] Create VM(VM0)@PM(Fafard) with 0 mounted disks
 > [VM0:compute:(2) 0.000000] [msg_test/INFO] VM0:compute task 1 created 0
 > [Fafard:master_:(1) 0.000000] [msg_test/INFO] aTask remaining duration: 1e+09
 > [Fafard:master_:(1) 1.000000] [msg_test/INFO] aTask remaining duration: 9.23704e+08
index 5f5c408..9bcb300 100644 (file)
@@ -2,8 +2,8 @@
 
 p Testing dogbone communication pattern with GTNets model
 
-$ gtnets/gtnets ${srcdir:=.}/gtnets/dogbone-p.xml ${srcdir:=.}/gtnets/dogbone-d.xml --cfg=workstation/model:compound --cfg=cpu/model:Cas01 --cfg=network/model:GTNets
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'workstation/model' to 'compound'
+$ gtnets/gtnets ${srcdir:=.}/gtnets/dogbone-p.xml ${srcdir:=.}/gtnets/dogbone-d.xml --cfg=host/model:compound --cfg=cpu/model:Cas01 --cfg=network/model:GTNets
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'host/model' to 'compound'
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'cpu/model' to 'Cas01'
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/model' to 'GTNets'
 > [0.000000] [surf_network_gtnets_interface/INFO] TCP window maximum size : 20000
index 3f9b435..d8995ec 100644 (file)
@@ -2,8 +2,8 @@
 
 p Testing dogbone communication pattern with LV08 model
 
-$ gtnets/gtnets ${srcdir:=.}/gtnets/dogbone-p.xml ${srcdir:=.}/gtnets/dogbone-d.xml --cfg=workstation/model:compound --cfg=cpu/model:Cas01 --cfg=network/model:LV08
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'workstation/model' to 'compound'
+$ gtnets/gtnets ${srcdir:=.}/gtnets/dogbone-p.xml ${srcdir:=.}/gtnets/dogbone-d.xml --cfg=host/model:compound --cfg=cpu/model:Cas01 --cfg=network/model:LV08
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'host/model' to 'compound'
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'cpu/model' to 'Cas01'
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/model' to 'LV08'
 > [C1:slave:(3) 0.342000] [msg_test/INFO] WARNING FLOW[0] is limited by latency!!
index edeefec..e66c746 100644 (file)
@@ -2,8 +2,8 @@
 
 p Testing onelink communication pattern with GTNets model
 
-$ gtnets/gtnets ${srcdir:=.}/gtnets/onelink-p.xml ${srcdir:=.}/gtnets/onelink-d.xml --cfg=workstation/model:compound --cfg=cpu/model:Cas01 --cfg=network/model:GTNets
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'workstation/model' to 'compound'
+$ gtnets/gtnets ${srcdir:=.}/gtnets/onelink-p.xml ${srcdir:=.}/gtnets/onelink-d.xml --cfg=host/model:compound --cfg=cpu/model:Cas01 --cfg=network/model:GTNets
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'host/model' to 'compound'
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'cpu/model' to 'Cas01'
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/model' to 'GTNets'
 > [0.000000] [surf_network_gtnets_interface/INFO] TCP window maximum size : 20000
index 9c73c7f..1c431b4 100644 (file)
@@ -2,8 +2,8 @@
 
 p Testing onelink communication pattern with LV08 model
 
-$ gtnets/gtnets ${srcdir:=.}/gtnets/onelink-p.xml ${srcdir:=.}/gtnets/onelink-d.xml --cfg=workstation/model:compound --cfg=cpu/model:Cas01  --cfg=network/model:LV08 2>&1 | grep --color=auto -v root/INFO | grep -v simix_network/INFO
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'workstation/model' to 'compound'
+$ gtnets/gtnets ${srcdir:=.}/gtnets/onelink-p.xml ${srcdir:=.}/gtnets/onelink-d.xml --cfg=host/model:compound --cfg=cpu/model:Cas01  --cfg=network/model:LV08 2>&1 | grep --color=auto -v root/INFO | grep -v simix_network/INFO
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'host/model' to 'compound'
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'cpu/model' to 'Cas01'
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/model' to 'LV08'
 > [C1:slave:(2) 108.799652] [msg_test/INFO] ===> Estimated Bw of FLOW[1] : 9191.205854 ;  message from S1 to C1  with remaining : 0.000000
index 6c8182f..38f0446 100644 (file)
@@ -3,8 +3,8 @@
 p Testing waxman radom communication pattern with GTNets model, 200 nodes, 200 flows
 
 ! timeout 10
-$ gtnets/gtnets ${srcdir:=.}/gtnets/waxman-p.xml ${srcdir:=.}/gtnets/waxman-d.xml --cfg=workstation/model:compound --cfg=cpu/model:Cas01 --cfg=network/model:GTNets
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'workstation/model' to 'compound'
+$ gtnets/gtnets ${srcdir:=.}/gtnets/waxman-p.xml ${srcdir:=.}/gtnets/waxman-d.xml --cfg=host/model:compound --cfg=cpu/model:Cas01 --cfg=network/model:GTNets
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'host/model' to 'compound'
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'cpu/model' to 'Cas01'
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/model' to 'GTNets'
 > [0.000000] [surf_network_gtnets_interface/INFO] TCP window maximum size : 20000
index 26da94d..987efc9 100644 (file)
@@ -206,8 +206,6 @@ msg_error_t test_all(const char *platform_file,
 {
   msg_error_t res = MSG_OK;
 
-  /* MSG_config("workstation/model", "GTNETS"); */
-  /* MSG_config("workstation/model","KCCFLN05"); */
   {                             /*  Simulation setting */
     MSG_create_environment(platform_file);
   }
index 975b8a9..8cdcf4b 100644 (file)
@@ -2,10 +2,10 @@
 
 p Testing dogbone communication pattern with GTNets model
 
-$ gtnets/gtnets ${srcdir:=.}/gtnets/dogbone-p.xml ${srcdir:=.}/gtnets/dogbone-d.xml --cfg=tracing/filename:dogbone_gtnets.trace --cfg=tracing/categorized:yes --cfg=workstation/model:compound --cfg=cpu/model:Cas01 --cfg=network/model:GTNets
+$ gtnets/gtnets ${srcdir:=.}/gtnets/dogbone-p.xml ${srcdir:=.}/gtnets/dogbone-d.xml --cfg=tracing/filename:dogbone_gtnets.trace --cfg=tracing/categorized:yes --cfg=host/model:compound --cfg=cpu/model:Cas01 --cfg=network/model:GTNets
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/filename' to 'dogbone_gtnets.trace'
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/categorized' to 'yes'
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'workstation/model' to 'compound'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'host/model' to 'compound'
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'cpu/model' to 'Cas01'
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/model' to 'GTNets'
 > [0.000000] [surf_network_gtnets_interface/INFO] TCP window maximum size : 20000
index 5c0e6cb..85784a7 100644 (file)
@@ -2,10 +2,10 @@
 
 p Testing dogbone communication pattern with LV08 model
 
-$ gtnets/gtnets ${srcdir:=.}/gtnets/dogbone-p.xml ${srcdir:=.}/gtnets/dogbone-d.xml --cfg=tracing/filename:dogbone_lv08.trace --cfg=tracing/categorized:yes --cfg=workstation/model:compound --cfg=cpu/model:Cas01 --cfg=network/model:LV08
+$ gtnets/gtnets ${srcdir:=.}/gtnets/dogbone-p.xml ${srcdir:=.}/gtnets/dogbone-d.xml --cfg=tracing/filename:dogbone_lv08.trace --cfg=tracing/categorized:yes --cfg=host/model:compound --cfg=cpu/model:Cas01 --cfg=network/model:LV08
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/filename' to 'dogbone_lv08.trace'
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/categorized' to 'yes'
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'workstation/model' to 'compound'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'host/model' to 'compound'
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'cpu/model' to 'Cas01'
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/model' to 'LV08'
 > [C1:slave:(3) 0.342000] [msg_test/INFO] WARNING FLOW[0] is limited by latency!!
index 3941da6..a4a4abf 100644 (file)
@@ -2,10 +2,10 @@
 
 p Testing onelink communication pattern with GTNets model
 
-$ gtnets/gtnets ${srcdir:=.}/gtnets/onelink-p.xml ${srcdir:=.}/gtnets/onelink-d.xml --cfg=tracing/filename:onelink_gtnets.trace --cfg=tracing/categorized:yes --cfg=workstation/model:compound --cfg=cpu/model:Cas01 --cfg=network/model:GTNets
+$ gtnets/gtnets ${srcdir:=.}/gtnets/onelink-p.xml ${srcdir:=.}/gtnets/onelink-d.xml --cfg=tracing/filename:onelink_gtnets.trace --cfg=tracing/categorized:yes --cfg=host/model:compound --cfg=cpu/model:Cas01 --cfg=host/model:GTNets
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/filename' to 'onelink_gtnets.trace'
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/categorized' to 'yes'
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'workstation/model' to 'compound'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'host/model' to 'compound'
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'cpu/model' to 'Cas01'
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/model' to 'GTNets'
 > [0.000000] [surf_network_gtnets_interface/INFO] TCP window maximum size : 20000
index a12fd42..259f6e0 100644 (file)
@@ -2,10 +2,10 @@
 
 p Testing onelink communication pattern with LV08 model
 
-$ gtnets/gtnets ${srcdir:=.}/gtnets/onelink-p.xml ${srcdir:=.}/gtnets/onelink-d.xml --cfg=tracing/filename:onelink_lv08.trace --cfg=tracing/categorized:yes --cfg=workstation/model:compound --cfg=cpu/model:Cas01  --cfg=network/model:LV08 2>&1 | grep --color=auto -v root/INFO | grep -v simix_network/INFO
+$ gtnets/gtnets ${srcdir:=.}/gtnets/onelink-p.xml ${srcdir:=.}/gtnets/onelink-d.xml --cfg=tracing/filename:onelink_lv08.trace --cfg=tracing/categorized:yes --cfg=host/model:compound --cfg=cpu/model:Cas01  --cfg=network/model:LV08 2>&1 | grep --color=auto -v root/INFO | grep -v simix_network/INFO
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/filename' to 'onelink_lv08.trace'
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/categorized' to 'yes'
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'workstation/model' to 'compound'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'host/model' to 'compound'
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'cpu/model' to 'Cas01'
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/model' to 'LV08'
 > [C1:slave:(2) 108.799652] [msg_test/INFO] ===> Estimated Bw of FLOW[1] : 9191.205854 ;  message from S1 to C1  with remaining : 0.000000
index 886a196..06320bc 100644 (file)
@@ -3,10 +3,10 @@
 p Testing waxman radom communication pattern with GTNets model, 200 nodes, 200 flows
 
 ! timeout 10
-$ gtnets/gtnets ${srcdir:=.}/gtnets/waxman-p.xml ${srcdir:=.}/gtnets/waxman-d.xml --cfg=tracing/filename:waxman_gtnets.trace --cfg=tracing/categorized:yes --cfg=workstation/model:compound --cfg=cpu/model:Cas01 --cfg=network/model:GTNets
+$ gtnets/gtnets ${srcdir:=.}/gtnets/waxman-p.xml ${srcdir:=.}/gtnets/waxman-d.xml --cfg=tracing/filename:waxman_gtnets.trace --cfg=tracing/categorized:yes --cfg=host/model:compound --cfg=cpu/model:Cas01 --cfg=network/model:GTNets
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/filename' to 'waxman_gtnets.trace'
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/categorized' to 'yes'
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'workstation/model' to 'compound'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'host/model' to 'compound'
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'cpu/model' to 'Cas01'
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/model' to 'GTNets'
 > [0.000000] [surf_network_gtnets_interface/INFO] TCP window maximum size : 20000
index 4c446e8..e67e7dd 100644 (file)
@@ -150,7 +150,6 @@ msg_error_t test_all(const char *platform_file,
 {
   msg_error_t res = MSG_OK;
 
-  /* MSG_config("workstation/model","KCCFLN05"); */
   {                             /*  Simulation setting */
     MSG_create_environment(platform_file);
   }
index 0eca928..138883e 100644 (file)
@@ -106,7 +106,6 @@ msg_error_t test_all(const char *platform_file,
 {
   msg_error_t res = MSG_OK;
 
-  /* MSG_config("workstation/model","KCCFLN05"); */
   {                             /*  Simulation setting */
     MSG_create_environment(platform_file);
   }
index 7dca7de..b31c171 100644 (file)
@@ -137,7 +137,6 @@ msg_error_t test_all(const char *platform_file,
 {
   msg_error_t res = MSG_OK;
 
-  /* MSG_config("workstation/model","KCCFLN05"); */
   {                             /*  Simulation setting */
     MSG_create_environment(platform_file);
   }
index 87b6823..98c025a 100644 (file)
@@ -4,7 +4,6 @@ p Testing a simple master/slave example application
 
 $ $SG_TEST_EXENV masterslave/masterslave_forwarder$EXEEXT ${srcdir:=.}/../platforms/small_platform.xml ${srcdir:=.}/masterslave/deployment_masterslave.xml --cfg=cpu_model:Cas01_IM
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'cpu_model' to 'Cas01_IM'
-> [0.000000] [surf_config/INFO] Switching workstation model to compound since you changed the network and/or cpu model(s)
 > [Tremblay:master:(1) 0.000000] [msg_test/INFO] Got 5 slaves and 20 tasks to process
 > [Tremblay:master:(1) 0.000000] [msg_test/INFO] Sending "Task_0" to "Jupiter"
 > [Tremblay:master:(1) 0.165962] [msg_test/INFO] Sent
@@ -128,7 +127,6 @@ p Testing a master/slave example application with a forwarder module
 
 $ $SG_TEST_EXENV masterslave/masterslave_forwarder$EXEEXT ${srcdir:=.}/msg_platform.xml ${srcdir:=.}/masterslave/deployment_masterslave_forwarder.xml --cfg=cpu_model:Cas01_IM
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'cpu_model' to 'Cas01_IM'
-> [0.000000] [surf_config/INFO] Switching workstation model to compound since you changed the network and/or cpu model(s)
 > [Jacquelin:master:(1) 0.000000] [msg_test/INFO] Got 5 slaves and 20 tasks to process
 > [Jacquelin:master:(1) 0.000000] [msg_test/INFO] Sending "Task_0" to "iRMX"
 > [Jacquelin:master:(1) 4.772530] [msg_test/INFO] Sent
@@ -277,7 +275,6 @@ $ $SG_TEST_EXENV masterslave/masterslave_forwarder$EXEEXT ${srcdir:=.}/msg_platf
 p Testing a simple master/slave example application handling failures
 
 $ masterslave/masterslave_failure$EXEEXT --log=xbt_cfg.thres:critical --log=no_loc ${srcdir:=.}/small_platform_with_failures.xml ${srcdir:=.}/masterslave/deployment_masterslave.xml --cfg=path:${srcdir} --cfg=cpu_model:Cas01_IM
-> [0.000000] [surf_config/INFO] Switching workstation model to compound since you changed the network and/or cpu model(s)
 > [0.000000] [simix_process/WARNING] Cannot launch process 'slave' on failed host 'Fafard'
 > [Tremblay:master:(1) 0.000000] [msg_test/INFO] Got 5 slave(s) :
 > [Tremblay:master:(1) 0.000000] [msg_test/INFO] Jupiter
@@ -372,7 +369,6 @@ p Testing the bypassing of the flexml parser
 
 $ $SG_TEST_EXENV masterslave/masterslave_bypass --log=no_loc --cfg=cpu_model:Cas01_IM
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'cpu_model' to 'Cas01_IM'
-> [0.000000] [surf_config/INFO] Switching workstation model to compound since you changed the network and/or cpu model(s)
 > [0.000000] [surf_parse/WARNING] Bypassing the XML parser since surf_parse_open received a NULL pointer. If it is not what you want, go fix your code.
 > [host A:master:(1) 0.000000] [msg_test/INFO] Got 1 slave(s) :
 > [host A:master:(1) 0.000000] [msg_test/INFO]          host B
index c93afef..94063db 100644 (file)
@@ -290,6 +290,7 @@ $ ${bindir:=.}/masterslave_failure$EXEEXT --log=xbt_cfg.thres:critical --log=no_
 > [  0.000000] (1:master@Tremblay) Got 20 task to process :
 > [  1.000000] (0:@) Restart processes on host: Fafard
 > [  1.000000] (1:master@Tremblay) Mmh. Something went wrong with 'Jupiter'. Nevermind. Let's keep going!
+> [  1.000000] (3:slave@Jupiter) Gloups. The cpu on which I'm running just turned off!. See you!
 > [  2.000000] (0:@) Restart processes on host: Jupiter
 > [ 11.000000] (1:master@Tremblay) Mmh. Got timeouted while speaking to 'Fafard'. Nevermind. Let's keep going!
 > [ 12.082474] (1:master@Tremblay) Send completed
index 1591b85..cc8398a 100644 (file)
@@ -183,7 +183,6 @@ msg_error_t test_all(const char *platform_file,
 {
   msg_error_t res = MSG_OK;
 
-  /* MSG_config("workstation/model","KCCFLN05"); */
   {                             /*  Simulation setting */
     MSG_create_environment(platform_file);
   }
index 7b1b5f7..f6596ff 100644 (file)
@@ -14,6 +14,7 @@ $ masterslave/masterslave_failure$EXEEXT --log=xbt_cfg.thres:critical --log=no_l
 > [  0.000000] (1:master@Tremblay) Got 20 task to process :
 > [  1.000000] (0:@) Restart processes on host: Fafard
 > [  1.000000] (1:master@Tremblay) Mmh. Something went wrong with 'Jupiter'. Nevermind. Let's keep going!
+> [  1.000000] (3:slave@Jupiter) Gloups. The cpu on which I'm running just turned off!. See you!
 > [  2.000000] (0:@) Restart processes on host: Jupiter
 > [ 11.000000] (1:master@Tremblay) Mmh. Got timeouted while speaking to 'Fafard'. Nevermind. Let's keep going!
 > [ 12.030928] (1:master@Tremblay) Send completed
index 43feb15..ad02729 100644 (file)
@@ -14,6 +14,7 @@ $ masterslave/masterslave_failure$EXEEXT --log=xbt_cfg.thres:critical --log=no_l
 > [  0.000000] (1:master@Tremblay) Got 20 task to process :
 > [  1.000000] (0:@) Restart processes on host: Fafard
 > [  1.000000] (1:master@Tremblay) Mmh. Something went wrong with 'Jupiter'. Nevermind. Let's keep going!
+> [  1.000000] (3:slave@Jupiter) Gloups. The cpu on which I'm running just turned off!. See you!
 > [  2.000000] (0:@) Restart processes on host: Jupiter
 > [ 11.000000] (1:master@Tremblay) Mmh. Got timeouted while speaking to 'Fafard'. Nevermind. Let's keep going!
 > [ 12.082474] (1:master@Tremblay) Send completed
index 7754529..cf66fae 100644 (file)
@@ -185,7 +185,6 @@ msg_error_t test_all(const char *platform_file,
 {
   msg_error_t res = MSG_OK;
 
-  /* MSG_config("workstation/model","KCCFLN05"); */
   {                             /*  Simulation setting */
     MSG_create_environment(platform_file);
   }
index 7a23c47..9639e6f 100644 (file)
@@ -110,7 +110,6 @@ int main(int argc, char *argv[])
   platform_file = argv[1];
   application_file = argv[2];
 
-  /* MSG_config("workstation/model","KCCFLN05"); */
   {                             /*  Simulation setting */
     MSG_create_environment(platform_file);
   }
index b9a8466..573276b 100644 (file)
@@ -5,7 +5,6 @@ p Testing a simple master/slave example application
 $ $SG_TEST_EXENV ./masterslave/masterslave_mailbox ${srcdir:=.}/../platforms/multicore_machine.xml ${srcdir:=.}/masterslave/deployment_masterslave_mailbox_multicore.xml --cfg=cpu/model:Cas01 --cfg=cpu/optim:Full
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'cpu/model' to 'Cas01'
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'cpu/optim' to 'Full'
-> [0.000000] [surf_config/INFO] Switching workstation model to compound since you changed the network and/or cpu model(s)
 > [Tremblay:master:(1) 0.000000] [msg_test/INFO] Got 6 slaves and 20 tasks to process
 > [Tremblay:master:(1) 0.000000] [msg_test/INFO] Sending "Task_0" (of 20) to mailbox "slave-0"
 > [Tremblay:master:(1) 0.002203] [msg_test/INFO] Sending "Task_1" (of 20) to mailbox "slave-1"
index 7344039..c06d04b 100644 (file)
@@ -185,8 +185,6 @@ msg_error_t test_all(const char *platform_file,
 {
   msg_error_t res = MSG_OK;
 
-  /* MSG_config("workstation/model", "GTNETS"); */
-  /* MSG_config("workstation/model","KCCFLN05"); */
   {                             /*  Simulation setting */
     MSG_create_environment(platform_file);
   }
index 077ae9f..5eab1f4 100644 (file)
@@ -4,21 +4,18 @@ p 3hosts 2links
 
 $ ns3/ns3 ${srcdir:=.}/examples/platforms/small_platform_one_link_routes.xml ${srcdir:=.}/examples/msg/ns3/3hosts_2links_d.xml --cfg=network/model:NS3
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/model' to 'NS3'
-> [0.000000] [surf_config/INFO] Switching workstation model to compound since you changed the network and/or cpu model(s)
 > [Jupiter:slave:(2) 0.000249] [msg_test/INFO] FLOW[1] : Receive 100 bytes from Tremblay to Jupiter
 
 p 6hosts 3links
 
 $ ns3/ns3 ${srcdir:=.}/examples/platforms/small_platform_one_link_routes.xml ${srcdir:=.}/examples/msg/ns3/3links-d.xml --cfg=network/model:NS3
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/model' to 'NS3'
-> [0.000000] [surf_config/INFO] Switching workstation model to compound since you changed the network and/or cpu model(s)
 > [Jupiter:slave:(2) 0.003027] [msg_test/INFO] FLOW[1] : Receive 100000 bytes from Tremblay to Jupiter
 > [Ginette:slave:(4) 0.161074] [msg_test/INFO] FLOW[2] : Receive 1000000 bytes from Fafard to Ginette
 > [Lovelace:slave:(6) 1.256527] [msg_test/INFO] FLOW[3] : Receive 2000000 bytes from Bourassa to Lovelace
 
 $ ns3/ns3 ${srcdir:=.}/examples/platforms/small_platform_one_link_routes.xml ${srcdir:=.}/examples/msg/ns3/3links-d-timer.xml --cfg=network/model:NS3
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/model' to 'NS3'
-> [0.000000] [surf_config/INFO] Switching workstation model to compound since you changed the network and/or cpu model(s)
 > [Jupiter:slave:(2) 0.003027] [msg_test/INFO] FLOW[1] : Receive 100000 bytes from Tremblay to Jupiter
 > [Ginette:slave:(4) 0.161074] [msg_test/INFO] FLOW[2] : Receive 1000000 bytes from Fafard to Ginette
 > [Lovelace:slave:(6) 1.256527] [msg_test/INFO] FLOW[3] : Receive 2000000 bytes from Bourassa to Lovelace
@@ -28,12 +25,10 @@ p One cluster
 
 $ ns3/ns3 ${srcdir:=.}/examples/platforms/cluster.xml ${srcdir:=.}/examples/msg/ns3/One_cluster-d.xml --cfg=network/model:NS3
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/model' to 'NS3'
-> [0.000000] [surf_config/INFO] Switching workstation model to compound since you changed the network and/or cpu model(s)
 > [node-6.acme.org:slave:(2) 0.006755] [msg_test/INFO] FLOW[1] : Receive 100 bytes from node-2.acme.org to node-6.acme.org
 
 p Two clusters
 
 $ ns3/ns3 ${srcdir:=.}/examples/platforms/clusters_routing_full.xml ${srcdir:=.}/examples/msg/ns3/Two_clusters-d.xml --cfg=network/model:NS3
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/model' to 'NS3'
-> [0.000000] [surf_config/INFO] Switching workstation model to compound since you changed the network and/or cpu model(s)
 > [c-16.me:slave:(2) 0.012729] [msg_test/INFO] FLOW[1] : Receive 100 bytes from c-3.me to c-16.me
index 01d772d..bc3aef5 100644 (file)
@@ -77,7 +77,7 @@ msg_error_t test_all(const char *platform_file)
   xbt_dynar_t all_hosts;
   msg_host_t first_host;
 
-  MSG_config("workstation/model", "ptask_L07");
+  MSG_config("host/model", "ptask_L07");
   MSG_create_environment(platform_file);
 
   all_hosts = MSG_hosts_as_dynar();
index e346534..e54ff4a 100644 (file)
@@ -4,13 +4,13 @@ p Testing a simple master/slave example application
 
 ! output sort
 $ $SG_TEST_EXENV parallel_task/parallel_task$EXEEXT ${srcdir:=.}/../platforms/small_platform.xml "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n"
-> [  0.000000] (0:@) surf_workstation_model_init_ptask_L07
+> [  0.000000] (0:@) surf_host_model_init_ptask_L07
 > [  0.009378] (1:test@Fafard) Goodbye now!
 > [  0.009378] (0:@) Simulation time 0.00937836
 
 ! output sort
 $ $SG_TEST_EXENV parallel_task/test_ptask$EXEEXT ${srcdir:=.}/../platforms/small_platform.xml ${srcdir:=.}/parallel_task/test_ptask_deployment.xml "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n"
-> [  0.000000] (0:@) surf_workstation_model_init_ptask_L07
+> [  0.000000] (0:@) surf_host_model_init_ptask_L07
 > [ 20.625396] (1:execute@Ginette) execution_time=20.6254 
 > [ 83.232398] (2:redistribute@Ginette) redistribution_time=83.2324 
 > [ 83.232398] (0:@) Simulation time 83.2324
index 189a26c..dc0e965 100644 (file)
@@ -136,7 +136,7 @@ msg_error_t test_all(const char *platform_file,
   msg_error_t res = MSG_OK;
 
 
-  MSG_config("workstation/model", "ptask_L07");
+  MSG_config("host/model", "ptask_L07");
 
   /*  Simulation setting */
   MSG_create_environment(platform_file);
index b46d7ef..97b3292 100644 (file)
@@ -440,7 +440,6 @@ $ $SG_TEST_EXENV ${bindir:=.}/chord$EXEEXT -nb_bits=6 ${srcdir:=.}/../msg_platfo
 ! output sort
 $ $SG_TEST_EXENV ${bindir:=.}/chord$EXEEXT ${srcdir:=.}/../../platforms/cluster.xml ${srcdir:=.}/chord10.xml --log=msg_chord.thres:verbose "--log=root.fmt:[%11.6r]%e(%i:%P@%h)%e%m%n" --cfg=network/model:Constant
 > [   0.000000] (0:@) Configuration change: Set 'network/model' to 'Constant'
-> [   0.000000] (0:@) Switching workstation model to compound since you changed the network and/or cpu model(s)
 > [   0.000000] (10:node@node-9.acme.org) Joining the ring with id 2015253, knowing node 1319738
 > [   0.000000] (1:node@node-0.acme.org) My finger table:
 > [   0.000000] (1:node@node-0.acme.org) Start | Succ 
index 2c9c15d..1046db4 100644 (file)
@@ -162,23 +162,11 @@ int main(int argc, char *argv[])
   MSG_init(&argc, argv);
 
   if (argc != 3) {
-    XBT_CRITICAL("Usage: %s platform_file deployment_file <model>\n",
+    XBT_CRITICAL("Usage: %s platform_file deployment_file\n",
               argv[0]);
-    XBT_CRITICAL
-        ("example: %s msg_platform.xml msg_deployment.xml KCCFLN05_Vegas\n",
-         argv[0]);
-    exit(1);
+    xbt_die("example: %s msg_platform.xml msg_deployment.xml\n",argv[0]);
   }
 
-  /* Options for the workstation/model:
-
-     KCCFLN05              => for maxmin
-     KCCFLN05_proportional => for proportional (Vegas)
-     KCCFLN05_Vegas        => for TCP Vegas
-     KCCFLN05_Reno         => for TCP Reno
-   */
-  //MSG_config("workstation/model", argv[3]);
-
   res = test_all(argv[1], argv[2]);
 
   XBT_INFO("Total simulation time: %e", MSG_get_clock());
index 027f490..aa04542 100644 (file)
@@ -7,7 +7,6 @@ $ $SG_TEST_EXENV sendrecv/sendrecv$EXEEXT ${srcdir:=.}/../platforms/small_platfo
 > [  0.000000] (0:@) Configuration change: Set 'cpu/model' to 'Cas01'
 > [  0.000000] (0:@) Configuration change: Set 'network/model' to 'CM02'
 > [  0.000000] (0:@) test_all
-> [  0.000000] (0:@) Switching workstation model to compound since you changed the network and/or cpu model(s)
 > [  0.000000] (1:sender@Tremblay) sender
 > [  0.000000] (1:sender@Tremblay) host = Jupiter
 > [  0.000000] (1:sender@Tremblay) task_la->data = 0.000000e+00
index 36814bc..03fc500 100644 (file)
@@ -3,8 +3,8 @@
 p Testing the surf network Reno fairness model using lagrangian approach
 
 ! output sort
-$ $SG_TEST_EXENV sendrecv/sendrecv$EXEEXT ${srcdir:=.}/../platforms/small_platform.xml ${srcdir:=.}/sendrecv/deployment_sendrecv.xml "--cfg=workstation/model:compound cpu/model:Cas01 network/model:Reno" --log=surf_lagrange.thres=critical "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n"
-> [  0.000000] (0:@) Configuration change: Set 'workstation/model' to 'compound'
+$ $SG_TEST_EXENV sendrecv/sendrecv$EXEEXT ${srcdir:=.}/../platforms/small_platform.xml ${srcdir:=.}/sendrecv/deployment_sendrecv.xml "--cfg=host/model:compound cpu/model:Cas01 network/model:Reno" --log=surf_lagrange.thres=critical "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n"
+> [  0.000000] (0:@) Configuration change: Set 'host/model' to 'compound'
 > [  0.000000] (0:@) Configuration change: Set 'cpu/model' to 'Cas01'
 > [  0.000000] (0:@) Configuration change: Set 'network/model' to 'Reno'
 > [  0.000000] (0:@) test_all
index 23335f1..51fa358 100644 (file)
@@ -3,8 +3,8 @@
 p Testing the surf network Vegas fairness model using lagrangian approach
 
 ! output sort
-$ $SG_TEST_EXENV sendrecv/sendrecv$EXEEXT ${srcdir:=.}/../platforms/small_platform.xml ${srcdir:=.}/sendrecv/deployment_sendrecv.xml "--cfg=workstation/model:compound cpu/model:Cas01 network/model:Vegas" "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n"
-> [  0.000000] (0:@) Configuration change: Set 'workstation/model' to 'compound'
+$ $SG_TEST_EXENV sendrecv/sendrecv$EXEEXT ${srcdir:=.}/../platforms/small_platform.xml ${srcdir:=.}/sendrecv/deployment_sendrecv.xml "--cfg=host/model:compound cpu/model:Cas01 network/model:Vegas" "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n"
+> [  0.000000] (0:@) Configuration change: Set 'host/model' to 'compound'
 > [  0.000000] (0:@) Configuration change: Set 'cpu/model' to 'Cas01'
 > [  0.000000] (0:@) Configuration change: Set 'network/model' to 'Vegas'
 > [  0.000000] (0:@) test_all
index 8f37018..f1785ff 100644 (file)
@@ -5,7 +5,7 @@
 <config id="General">
        <prop id="maxmin/precision" value="0.000010"></prop>
        <prop id="cpu/optim" value="TI"></prop>
-       <prop id="workstation/model" value="compound"></prop>
+       <prop id="host/model" value="compound"></prop>
        <prop id="network/model" value="SMPI"></prop>
        <prop id="path" value="~/"></prop>
        <prop id="smpi/bw_factor" value="65472:0.940694;15424:0.697866;9376:0.58729"></prop>
index 5722440..5af0a70 100644 (file)
@@ -3,7 +3,7 @@ p Test the DAX loader with a DAX comprising a cycle.
 
 ! expect return 255
 $ $SG_TEST_EXENV ./dax_test --log=no_loc ${srcdir:=.}/../2clusters.xml ${srcdir:=.}/simple_dax_with_cycle.xml
-> [0.000000] [surf_workstation/INFO] surf_workstation_model_init_ptask_L07
+> [0.000000] [surf_host/INFO] surf_host_model_init_ptask_L07
 > [0.000000] [sd_daxparse/WARNING] the task root is not marked
 > [0.000000] [sd_daxparse/WARNING] the task 1@task1 is in a cycle
 > [0.000000] [sd_daxparse/WARNING] the task 2@task2 is in a cycle
index 20db4b6..57297a4 100644 (file)
@@ -2,7 +2,7 @@
 p Test the DAX loader on a small DAX instance
 
 $ $SG_TEST_EXENV ${bindir:=.}/dax_test --log=no_loc ../2clusters.xml ./smalldax.xml
-> [0.000000] [surf_workstation/INFO] surf_workstation_model_init_ptask_L07
+> [0.000000] [surf_host/INFO] surf_host_model_init_ptask_L07
 > [0.000000] [sd_daxparse/WARNING] Ignoring file o1 size redefinition from 1000000 to 304
 > [0.000000] [sd_daxparse/WARNING] Ignoring file o2 size redefinition from 1000000 to 304
 > [0.000000] [test/INFO] ------------------- Display all tasks of the loaded DAG ---------------------------
index d62188c..79b64fd 100644 (file)
@@ -2,7 +2,7 @@
 p Test the loader of DAG written in the DOT format
 
 $ $SG_TEST_EXENV ./dot_test --log=no_loc ${srcdir:=.}/../2clusters.xml ${srcdir:=.}/dag.dot
-> [0.000000] [surf_workstation/INFO] surf_workstation_model_init_ptask_L07
+> [0.000000] [surf_host/INFO] surf_host_model_init_ptask_L07
 > [0.000000] [test/INFO] ------------------- Display all tasks of the loaded DAG ---------------------------
 > [0.000000] [sd_task/INFO] Displaying task root
 > [0.000000] [sd_task/INFO]   - state:  schedulable  not runnable    
@@ -235,7 +235,7 @@ $ rm -f dag.trace
 
 ! expect return 2
 $ $SG_TEST_EXENV ./simulate_dot --log=no_loc  "--log=sd_dotparse.thres:verbose" ${srcdir:=.}/../2clusters.xml ${srcdir:=.}/dag_with_bad_schedule.dot
-> [0.000000] [surf_workstation/INFO] surf_workstation_model_init_ptask_L07
+> [0.000000] [surf_host/INFO] surf_host_model_init_ptask_L07
 > [0.000000] [sd_dotparse/VERBOSE] The schedule is ignored, the task end is not correctly scheduled
 > [0.000000] [sd_dotparse/VERBOSE] The schedule is ignored, the task 1 is not correctly scheduled
 > [0.000000] [sd_dotparse/VERBOSE] The task 0 starts on the computer 1 at the position : 1 like the task 2
@@ -245,7 +245,7 @@ $ $SG_TEST_EXENV ./simulate_dot --log=no_loc  "--log=sd_dotparse.thres:verbose"
 > [0.000000] [test/CRITICAL] The dot file with the provided scheduling is wrong, more information with the option : --log=sd_dotparse.thres:verbose
 
 $ $SG_TEST_EXENV ./simulate_dot --log=no_loc ${srcdir:=.}/../2clusters.xml ${srcdir:=.}/dag_with_good_schedule.dot
-> [0.000000] [surf_workstation/INFO] surf_workstation_model_init_ptask_L07
+> [0.000000] [surf_host/INFO] surf_host_model_init_ptask_L07
 > [0.000000] [test/INFO] ------------------- Display all tasks of the loaded DAG ---------------------------
 > [0.000000] [sd_task/INFO] Displaying task root
 > [0.000000] [sd_task/INFO]   - state:    runnable    
@@ -493,7 +493,7 @@ $ rm -f ${srcdir:=.}/dag_with_good_schedule.trace
 
 ! expect return 2
 $ $SG_TEST_EXENV ./dot_test --log=no_loc ${srcdir:=.}/../2clusters.xml ${srcdir:=.}/dag_with_cycle.dot
-> [0.000000] [surf_workstation/INFO] surf_workstation_model_init_ptask_L07
+> [0.000000] [surf_host/INFO] surf_host_model_init_ptask_L07
 > [0.000000] [sd_daxparse/WARNING] the task root is not marked
 > [0.000000] [sd_daxparse/WARNING] the task 0 is in a cycle
 > [0.000000] [sd_daxparse/WARNING] the task 1 is in a cycle
index d1f1221..eb33b3c 100644 (file)
@@ -26,7 +26,7 @@ int main(int argc, char **argv)
   /* Set the workstation model to default, as storage is not supported by the
    * ptask_L07 model yet.
    */
-  SD_config("workstation/model", "default");
+  SD_config("host/model", "default");
   SD_create_environment(argv[1]);
   workstations = SD_workstation_get_list();
   total_nworkstations = SD_workstation_get_number();
index 6def7e0..1a7eca6 100755 (executable)
@@ -3,7 +3,7 @@
 p Simple test of simdag with properties
 
 $ $SG_TEST_EXENV properties/sd_prop ${srcdir:=.}/../platforms/prop.xml
-> [0.000000] [surf_workstation/INFO] surf_workstation_model_init_ptask_L07
+> [0.000000] [surf_host/INFO] surf_host_model_init_ptask_L07
 > [0.000000] [test/INFO] Property list for workstation host1
 > [0.000000] [test/INFO]       Property: mem has value: 4
 > [0.000000] [test/INFO]       Property: NewProp has value: newValue
index f45121a..5734d51 100644 (file)
@@ -3,7 +3,7 @@
 p Simple test of simdag
 
 $ $SG_TEST_EXENV ${bindir:=.}/minmin_test --log=sd_daxparse.thresh:critical ${srcdir:=.}/simulacrum_7_hosts.xml ${srcdir:=.}/Montage_25.xml
-> [0.000000] [surf_workstation/INFO] surf_workstation_model_init_ptask_L07
+> [0.000000] [surf_host/INFO] surf_host_model_init_ptask_L07
 > [0.000000] [test/INFO] Schedule ID00002@mProjectPP on Host 27
 > [0.000105] [test/INFO] Schedule ID00000@mProjectPP on Host 26
 > [0.000120] [test/INFO] Schedule ID00003@mProjectPP on Host 30
index b97e811..8f5f294 100644 (file)
@@ -74,8 +74,10 @@ int main(int argc, char **argv)
     /* let throttle the communication for taskD if its parent is SD_DONE */
     /* the bandwidth is 1.25e8, the data size is 1e7, and we want to throttle
      * the bandwidth by a factor 2. the rate is then 1.25e8/(2*1e7)=6.25
+     * Changing the rate is possible before the task execution starts (in SD_RUNNING
+     * state).
      */
-    if (SD_task_get_state(taskC) == SD_DONE)
+    if (SD_task_get_state(taskC) == SD_DONE && SD_task_get_state(taskD) < SD_RUNNING)
       SD_task_set_rate(taskD, 6.25);
     xbt_dynar_free_container(&changed_tasks);
   }
index 106cf81..0ad23c9 100644 (file)
@@ -3,7 +3,7 @@
 p Simple test of simdag
 
 $ $SG_TEST_EXENV ./sd_test ${srcdir:=.}/../platforms/platform.xml
-> [0.000000] [surf_workstation/INFO] surf_workstation_model_init_ptask_L07
+> [0.000000] [surf_host/INFO] surf_host_model_init_ptask_L07
 > [0.000000] [sd_test/INFO] Computation time for 2000000.000000 flops on Jacquelin: 0.014563
 > [0.000000] [sd_test/INFO] Computation time for 1000000.000000 flops on Intel: 0.007282
 > [0.000000] [sd_test/INFO] Route between Jacquelin and Intel:
index 7a4d4e7..3c7bad8 100644 (file)
@@ -3,5 +3,5 @@
 p Simple test of simdag
 
 $ $SG_TEST_EXENV ./sd_test2 ${srcdir:=.}/2clusters.xml
-> [0.000000] [surf_workstation/INFO] surf_workstation_model_init_ptask_L07
+> [0.000000] [surf_host/INFO] surf_host_model_init_ptask_L07
 > [3.251960] [sd_test/INFO] Simulation time: 3.251960
index 18f7f83..f2782ac 100644 (file)
@@ -3,7 +3,7 @@
 p Test of the management of availability traces with simdag
 
 $ $SG_TEST_EXENV ${bindir:=.}/sd_avail two_hosts.xml
-> [0.000000] [surf_workstation/INFO] surf_workstation_model_init_ptask_L07
+> [0.000000] [surf_host/INFO] surf_host_model_init_ptask_L07
 > [1.000000] [sd_avail/INFO] link1: bw=125000000, lat=0.000100
 > [1.000000] [sd_avail/INFO] Jupiter: power=12500000
 > [1.000000] [sd_avail/INFO] Tremblay: power=12500000
index 9145e9e..e36f2c7 100644 (file)
@@ -3,7 +3,7 @@ p Modify the rate of communication tasks even when they are auto-scheduled
 
 $ $SG_TEST_EXENV ./sd_comm_throttling --cfg=network/TCP_gamma:4194304 ${srcdir:=.}/2clusters.xml
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/TCP_gamma' to '4194304'
-> [0.000000] [surf_workstation/INFO] surf_workstation_model_init_ptask_L07
+> [0.000000] [surf_host/INFO] surf_host_model_init_ptask_L07
 > [1.000000] [sd_comm_throttling/INFO] Simulation stopped after 1.0000 seconds
 > [1.000000] [sd_comm_throttling/INFO] Task 'Task A' start time: 0.000000, finish time: 1.000000
 > [2.080300] [sd_comm_throttling/INFO] Simulation stopped after 2.0803 seconds
index a8fabd3..77ca4cc 100644 (file)
@@ -3,7 +3,7 @@
 p Test of the management of failed tasks simdag
 
 $ $SG_TEST_EXENV ${bindir:=.}/sd_fail
-> [0.000000] [surf_workstation/INFO] surf_workstation_model_init_ptask_L07
+> [0.000000] [surf_host/INFO] surf_host_model_init_ptask_L07
 > [0.000000] [sd_fail/INFO] First test: COMP_SEQ task
 > [0.000000] [sd_fail/INFO] Schedule task 'Poor task' on workstation 'Faulty Host'
 > [10.000000] [sd_task/INFO] Displaying task Poor task
index 6de37ed..0c9e7db 100644 (file)
@@ -3,7 +3,7 @@
 p Simple test of simdag
 
 $ $SG_TEST_EXENV ./sd_seq_access ${srcdir:=.}/2clusters.xml
-> [0.000000] [surf_workstation/INFO] surf_workstation_model_init_ptask_L07
+> [0.000000] [surf_host/INFO] surf_host_model_init_ptask_L07
 > [0.000000] [sd_workstation/INFO] Displaying workstation C2-05
 > [0.000000] [sd_workstation/INFO]   - power: 5000000000
 > [0.000000] [sd_workstation/INFO]   - available power: 1.00
index f9ce3e8..e9da676 100644 (file)
@@ -6,7 +6,7 @@ p Simple test of simdag
 $ $SG_TEST_EXENV ./simdag_tracing --cfg=tracing:yes --cfg=tracing/categorized:yes ${srcdir:=.}/2clusters.xml
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing' to 'yes'
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/categorized' to 'yes'
-> [0.000000] [surf_workstation/INFO] surf_workstation_model_init_ptask_L07
+> [0.000000] [surf_host/INFO] surf_host_model_init_ptask_L07
 > [0.000000] [sd_seq_access/INFO] Access mode of C2-05 is sequential
 > [0.000000] [sd_seq_access/INFO] Access mode of C2-06 is sequential
 > [0.000000] [sd_seq_access/INFO] Task A is currently running on C2-05 (SD_TASK_COMP_SEQ)
index da1bc5a..3199f80 100644 (file)
@@ -3,7 +3,7 @@ p Usage test of simdag's typed tasks
 
 $ $SG_TEST_EXENV ./sd_typed_tasks_test --cfg=network/TCP_gamma:4194304 ${srcdir:=.}/2clusters.xml
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/TCP_gamma' to '4194304'
-> [0.000000] [surf_workstation/INFO] surf_workstation_model_init_ptask_L07
+> [0.000000] [surf_host/INFO] surf_host_model_init_ptask_L07
 > [2.080300] [sd_typed_tasks_test/INFO] Task 'Seq. comp. 1' start time: 0.000000, finish time: 1.000000
 > [2.080300] [sd_typed_tasks_test/INFO] Task 'Par. Comp. 1' start time: 0.000000, finish time: 0.080000
 > [2.080300] [sd_typed_tasks_test/INFO] Task 'Par. Comp. 3' start time: 0.000000, finish time: 0.400000
index 2f21266..4ab3300 100644 (file)
@@ -5,7 +5,6 @@ $ ../../../smpi_script/bin/smpirun -np 2 -hostfile ${srcdir:=.}/hostfile  -platf
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/TCP_gamma' to '4194304'
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'smpi/cpu_threshold' to '-1'
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'plugin' to 'Energy'
-> [0.000000] [surf_config/INFO] Switching workstation model to compound since you changed the network and/or cpu model(s)
 > [0.000000] [rank 1] Pstates: 1; Powers: 100000000
 > [0.000000] [rank 0] Pstates: 3; Powers: 100000000, 50000000, 20000000
 > [0.000000] [rank 1] Current pstate: 0; Current power: 100000000
index 825c29c..17ce4fd 100644 (file)
@@ -6,7 +6,6 @@ $ ../../../smpi_script/bin/smpirun -np 2 -hostfile ${srcdir:=.}/hostfile  -platf
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/TCP_gamma' to '4194304'
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'smpi/cpu_threshold' to '-1'
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'plugin' to 'Energy'
-> [0.000000] [surf_config/INFO] Switching workstation model to compound since you changed the network and/or cpu model(s)
 > [80.000000] [surf_energy/INFO] Total energy of host MyHost1: 12900.000000 Joules
 > [80.000000] [surf_energy/INFO] Total energy of host MyHost2: 9000.000000 Joules
 >  [   0.0000000000000000      ] [rank            0 ]           3  pstates available
index da687b9..e17fb4f 100644 (file)
@@ -6,7 +6,6 @@ $ ../../../smpi_script/bin/smpirun -np 2 -hostfile ${srcdir:=.}/hostfile  -platf
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/TCP_gamma' to '4194304'
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'smpi/cpu_threshold' to '-1'
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'plugin' to 'Energy'
-> [0.000000] [surf_config/INFO] Switching workstation model to compound since you changed the network and/or cpu model(s)
 > [80.000000] [surf_energy/INFO] Total energy of host MyHost1: 12900.000000 Joules
 > [80.000000] [surf_energy/INFO] Total energy of host MyHost2: 9000.000000 Joules
 >  [   0.0000000000000000      ] [rank            0 ]           3 pstates available
index 494c917..752393a 100644 (file)
@@ -2,7 +2,6 @@
 
 ! timeout 60
 $ ../../../smpi_script/bin/smpirun -wrapper ${bindir:=.}/../../../bin/simgrid-mc -hostfile ${srcdir:=.}/hostfile_non_deterministic  -platform ${srcdir:=.}/../../platforms/cluster.xml --log=xbt_cfg.thresh:warning --cfg=model-check:1 --cfg=model-check/communications_determinism:1 --cfg=smpi/send_is_detached_thres:0 --cfg=smpi/running_power:1e9 ./smpi_non_deterministic
-> [0.000000] [surf_config/INFO] Switching workstation model to compound since you changed the network and/or cpu model(s)
 > [0.000000] [mc_global/INFO] Check communication determinism
 > [0.000000] [mc_comm_determinism/INFO] The communications pattern of the process 1 is different! (Different communication : 1)
 > [0.000000] [mc_comm_determinism/INFO] ****************************************************
index cc85d75..6484cc9 100644 (file)
@@ -3,7 +3,6 @@
 ! timeout 60
 $ ../../../smpi_script/bin/smpirun -wrapper "${bindir:=.}/../../../bin/simgrid-mc" --log=xbt_cfg.thresh:warning -hostfile ${srcdir:=.}/hostfile_only_send_deterministic  -platform ${srcdir:=.}/../../platforms/cluster.xml --cfg=model-check:1 --cfg=model-check/communications_determinism:1 --cfg=smpi/send_is_detached_thres:0 --cfg=smpi/running_power:1e9 ./smpi_only_send_deterministic
 > [0.000000] [mc_comm_determinism/INFO] Check communication determinism
-> [0.000000] [surf_config/INFO] Switching workstation model to compound since you changed the network and/or cpu model(s)
 > [0.000000] [mc_global/INFO] ******************************************************
 > [0.000000] [mc_global/INFO] **** Only-send-deterministic communication pattern ****
 > [0.000000] [mc_global/INFO] ******************************************************
index 06b9f9b..87ca15c 100644 (file)
@@ -7,13 +7,7 @@
 #include <stdio.h>
 #include "smpi/smpi.h"
 
-int main(int argc, char *argv[])
-{
-  smpi_replay_init(&argc, &argv);
-
-  /* Actually do the simulation using smpi_action_trace_run */
-  smpi_action_trace_run(NULL);
-  smpi_replay_finalize();
-
+int main(int argc, char *argv[]) {
+  smpi_replay_run(&argc, &argv);
   return 0;
 }
index bb086c0..65f8814 100644 (file)
@@ -13,7 +13,6 @@ $ ../../smpi_script/bin/smpirun -ext smpi_replay --log=replay.thresh:critical --
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/model' to 'SMPI'
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/TCP_gamma' to '4194304'
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'smpi/cpu_threshold' to '-1'
-> [0.000000] [surf_config/INFO] Switching workstation model to compound since you changed the network and/or cpu model(s)
 > [Tremblay:0:(0) 0.000000] [smpi_replay/VERBOSE] 0 bcast 5e4 0.000000
 > [Jupiter:1:(0) 0.015036] [smpi_replay/VERBOSE] 1 bcast 5e4 0.015036
 > [Fafard:2:(0) 0.015676] [smpi_replay/VERBOSE] 2 bcast 5e4 0.015676
@@ -46,7 +45,6 @@ $ ../../smpi_script/bin/smpirun -ext smpi_replay --log=replay.thresh:critical --
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/smpi' to 'yes'
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/smpi/computing' to 'yes'
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'smpi/cpu_threshold' to '-1'
-> [0.000000] [surf_config/INFO] Switching workstation model to compound since you changed the network and/or cpu model(s)
 > [Fafard:2:(0) 19.691622] [smpi_replay/INFO] Simulation time 19.691622
 
 $ rm -f replay/one_trace
@@ -166,22 +164,22 @@ $ tail -n +3 ./simgrid.trace
 > 4 3 0 1 1 MPI_LINK
 > 6 0 1 1 0 "rank-0"
 > 5 4 2 computing "0 1 1"
-> 5 5 2 smpi_replay_init "0 1 0"
-> 5 6 2 action_bcast "0 0.78 0.39"
+> 5 5 2 smpi_replay_run_init "0 1 0"
 > 6 0 2 1 0 "rank-1"
 > 6 0 3 1 0 "rank-2"
 > 12 0 2 1 4
 > 12 0 2 1 5
 > 13 0 2 1
-> 12 0 2 1 6
 > 12 0 2 2 4
 > 12 0 2 2 5
 > 13 0 2 2
-> 12 0 2 2 6
 > 12 0 2 3 4
 > 12 0 2 3 5
 > 13 0 2 3
+> 5 6 2 action_bcast "0 0.78 0.39"
+> 12 0 2 1 6
 > 12 0 2 3 6
+> 12 0 2 2 6
 > 13 0 2 1
 > 12 0 2 1 4
 > 13 0.015036 2 2
@@ -207,7 +205,7 @@ $ tail -n +3 ./simgrid.trace
 > 12 10.194200 2 1 7
 > 13 13.138198 2 3
 > 12 13.138198 2 3 7
-> 5 8 2 smpi_replay_finalize "0 1 0"
+> 5 8 2 smpi_replay_run_finalize "0 1 0"
 > 13 14.286929 2 2
 > 12 14.286929 2 2 8
 > 13 18.250974 2 1
@@ -237,7 +235,6 @@ $ ../../smpi_script/bin/smpirun -ext smpi_replay --log=replay.thresh:critical --
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/model' to 'SMPI'
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/TCP_gamma' to '4194304'
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'smpi/cpu_threshold' to '-1'
-> [0.000000] [surf_config/INFO] Switching workstation model to compound since you changed the network and/or cpu model(s)
 > [Tremblay:0:(0) 0.164463] [smpi_replay/VERBOSE] 0 send 1 1e6 0.164463
 > [Jupiter:1:(0) 0.164463] [smpi_replay/VERBOSE] 1 recv 0 1e6 0.164463
 > [Jupiter:1:(0) 13.271310] [smpi_replay/VERBOSE] 1 compute 1e9 13.106847
@@ -260,7 +257,6 @@ $ ../../smpi_script/bin/smpirun -ext smpi_replay --log=replay.thresh:critical --
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/model' to 'SMPI'
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/TCP_gamma' to '4194304'
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'smpi/cpu_threshold' to '-1'
-> [0.000000] [surf_config/INFO] Switching workstation model to compound since you changed the network and/or cpu model(s)
 > [Tremblay:0:(0) 1.491472] [smpi_replay/VERBOSE] 0 send 1 1e7 1.491472
 > [Jupiter:1:(0) 1.491472] [smpi_replay/VERBOSE] 1 recv 0 1e7 1.491472
 > [Tremblay:0:(0) 1.495453] [smpi_replay/VERBOSE] 0 barrier 0.003981
@@ -283,7 +279,6 @@ $ ../../smpi_script/bin/smpirun -ext smpi_replay --log=replay.thresh:critical --
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/model' to 'SMPI'
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/TCP_gamma' to '4194304'
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'smpi/cpu_threshold' to '-1'
-> [0.000000] [surf_config/INFO] Switching workstation model to compound since you changed the network and/or cpu model(s)
 > [Jupiter:1:(0) 0.000000] [smpi_replay/VERBOSE] 1 Irecv 0 1e6 0.000000
 > [Jupiter:1:(0) 6.553424] [smpi_replay/VERBOSE] 1 compute 5e8 6.553424
 > [Jupiter:1:(0) 6.553524] [smpi_replay/VERBOSE] 1 test 0.000100
@@ -316,7 +311,6 @@ $ ../../smpi_script/bin/smpirun -ext smpi_replay --log=replay.thresh:critical --
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/model' to 'SMPI'
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/TCP_gamma' to '4194304'
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'smpi/cpu_threshold' to '-1'
-> [0.000000] [surf_config/INFO] Switching workstation model to compound since you changed the network and/or cpu model(s)
 > [Tremblay:0:(0) 5.112775] [smpi_replay/VERBOSE] 0 allReduce 5e4 5e8 5.112775
 > [Jupiter:1:(0) 6.584135] [smpi_replay/VERBOSE] 1 allReduce 5e4 5e8 6.584135
 > [Fafard:2:(0) 6.584775] [smpi_replay/VERBOSE] 2 allReduce 5e4 5e8 6.584775
@@ -337,11 +331,10 @@ $ ../../smpi_script/bin/smpirun -ext smpi_replay --log=replay.thresh:critical --
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/model' to 'SMPI'
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/TCP_gamma' to '4194304'
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'smpi/cpu_threshold' to '-1'
-> [0.000000] [surf_config/INFO] Switching workstation model to compound since you changed the network and/or cpu model(s)
 > [Tremblay:0:(0) 0.004041] [smpi_replay/VERBOSE] 0 allToAll 500 500 0.004041
-> [Jupiter:1:(0) 0.006920] [smpi_replay/VERBOSE] 1 allToAll 500 500 0.006920
 > [Fafard:2:(0) 0.006920] [smpi_replay/VERBOSE] 2 allToAll 500 500 0.006920
-> [Fafard:2:(0) 0.006920] [smpi_replay/INFO] Simulation time 0.006920
+> [Jupiter:1:(0) 0.006920] [smpi_replay/VERBOSE] 1 allToAll 500 500 0.006920
+> [Jupiter:1:(0) 0.006920] [smpi_replay/INFO] Simulation time 0.006920
 
 $ rm -f replay/one_trace
 
@@ -355,7 +348,6 @@ $ ../../smpi_script/bin/smpirun -ext smpi_replay --log=replay.thresh:critical --
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/model' to 'SMPI'
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/TCP_gamma' to '4194304'
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'smpi/cpu_threshold' to '-1'
-> [0.000000] [surf_config/INFO] Switching workstation model to compound since you changed the network and/or cpu model(s)
 > [Tremblay:0:(0) 0.003999] [smpi_replay/VERBOSE] 0 allToAllV 100 1 40 30 1000 1 80 100 0.003999
 > [Jupiter:1:(0) 0.006934] [smpi_replay/VERBOSE] 1 allToAllV 1000 80 1 40 1000 40 1 30 0.006934
 > [Fafard:2:(0) 0.006936] [smpi_replay/VERBOSE] 2 allToAllV 1000 100 30 1 1000 30 40 1 0.006936
@@ -373,7 +365,6 @@ $ ../../smpi_script/bin/smpirun -ext smpi_replay --log=replay.thresh:critical --
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/model' to 'SMPI'
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/TCP_gamma' to '4194304'
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'smpi/cpu_threshold' to '-1'
-> [0.000000] [surf_config/INFO] Switching workstation model to compound since you changed the network and/or cpu model(s)
 > [Tremblay:0:(0) 0.841244] [smpi_replay/VERBOSE] 0 allGatherV 275427 275427 275427 275427 204020 0 0 0.841244
 > [Fafard:2:(0) 1.239482] [smpi_replay/VERBOSE] 2 allGatherV 275427 275427 275427 275427 204020 0 0 1.239482
 > [Jupiter:1:(0) 1.239482] [smpi_replay/VERBOSE] 1 allGatherV 275427 275427 275427 275427 204020 0 0 1.239482
@@ -392,7 +383,6 @@ $ ../../smpi_script/bin/smpirun -ext smpi_replay --log=replay.thresh:critical --
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/model' to 'SMPI'
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/TCP_gamma' to '4194304'
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'smpi/cpu_threshold' to '-1'
-> [0.000000] [surf_config/INFO] Switching workstation model to compound since you changed the network and/or cpu model(s)
 > [Fafard:2:(0) 0.000000] [smpi_replay/VERBOSE] 2 Irecv 1 3000 0.000000
 > [Fafard:2:(0) 0.000000] [smpi_replay/VERBOSE] 2 Isend 0 3000 0.000000
 > [Jupiter:1:(0) 0.000000] [smpi_replay/VERBOSE] 1 Isend 0 2000 0.000000
index e45ac6f..9a627e4 100644 (file)
 #include "xbt/asserts.h"
 #include "smpi/smpi.h"
 XBT_LOG_NEW_DEFAULT_CATEGORY(msg_test,
-                             "Messages specific for this msg example");
-                             
-int smpi_replay(int argc, char *argv[]);
+               "Messages specific for this msg example");
 
-int smpi_replay(int argc, char *argv[])
-{
-  smpi_replay_init(&argc, &argv);
-
-  /* Actually do the simulation using smpi_action_trace_run */
-  smpi_action_trace_run(NULL);
-  smpi_replay_finalize();
-
-  return 0;
+static int smpi_replay(int argc, char *argv[]) {
+       smpi_replay_run(&argc, &argv);
+       return 0;
 }
 
 int main(int argc, char *argv[]){
- msg_error_t res;
-  const char *platform_file;
-  const char *application_file;
-  const char *description_file;
-
-  MSG_init(&argc, argv);
-
-  if (argc < 4) {
-    printf("Usage: %s description_file platform_file deployment_file\n", argv[0]);
-    printf("example: %s smpi_multiple_apps msg_platform.xml msg_deployment.xml\n", argv[0]);
-    exit(1);
-  }
-  description_file = argv[1];
-  platform_file = argv[2];
-  application_file = argv[3];
-
-
-  {                             /*  Simulation setting */
-    MSG_create_environment(platform_file);
-  }
-  {                             /*   Application deployment */
-    //read the description file in order to identify instances to launch
-    FILE* fp = fopen(description_file, "r");
-    if (fp == NULL)
-      xbt_die("Cannot open %s", description_file);
-    ssize_t read;
-    char *line = NULL;
-    size_t n = 0;
-    int instance_size = 0;
-    const char* instance_id = NULL;
-    while ((read = xbt_getline(&line, &n, fp)) != -1 ){
-      xbt_dynar_t elems = xbt_str_split_quoted_in_place(line);
-      if(xbt_dynar_length(elems)<3){
-        xbt_die ("Not enough elements in the line");
-      }
-      
-      const char** line_char= xbt_dynar_to_array(elems); 
-      instance_id = line_char[0];
-      instance_size = atoi(line_char[2]);
-      
-      XBT_INFO("Initializing instance %s of size %d", instance_id, instance_size);
-      SMPI_app_instance_register(instance_id, smpi_replay,instance_size);
-
-      xbt_free(line_char);
-    }
-
-    MSG_launch_application(application_file);
-    SMPI_init();
-  }
-  res = MSG_main();
-
-  XBT_INFO("Simulation time %g", MSG_get_clock());
-
-
-  SMPI_finalize();
-  if (res == MSG_OK)
-    return 0;
-  else
-    return 1;
+       msg_error_t res;
+       const char *platform_file;
+       const char *application_file;
+       const char *description_file;
+
+       MSG_init(&argc, argv);
+
+       if (argc < 4) {
+               printf("Usage: %s description_file platform_file deployment_file\n", argv[0]);
+               printf("example: %s smpi_multiple_apps msg_platform.xml msg_deployment.xml\n", argv[0]);
+               exit(1);
+       }
+       description_file = argv[1];
+       platform_file = argv[2];
+       application_file = argv[3];
+
+
+       /*  Simulation setting */
+       MSG_create_environment(platform_file);
+
+       /*   Application deployment: read the description file in order to identify instances to launch */
+       FILE* fp = fopen(description_file, "r");
+       if (fp == NULL)
+               xbt_die("Cannot open %s", description_file);
+       ssize_t read;
+       char     *line = NULL;
+       size_t n         = 0;
+       int instance_size = 0;
+       const char* instance_id = NULL;
+       while ((read = xbt_getline(&line, &n, fp)) != -1 ){
+               xbt_dynar_t elems = xbt_str_split_quoted_in_place(line);
+               if(xbt_dynar_length(elems)<3){
+                       xbt_die ("Not enough elements in the line");
+               }
+
+               const char** line_char= xbt_dynar_to_array(elems);
+               instance_id = line_char[0];
+               instance_size = atoi(line_char[2]);
+
+               XBT_INFO("Initializing instance %s of size %d", instance_id, instance_size);
+               SMPI_app_instance_register(instance_id, smpi_replay,instance_size);
+
+               xbt_free(line_char);
+       }
+
+       MSG_launch_application(application_file);
+       SMPI_init();
+
+       res = MSG_main();
+
+       XBT_INFO("Simulation time %g", MSG_get_clock());
+
+       SMPI_finalize();
+       if (res == MSG_OK)
+               return 0;
+       else
+               return 1;
 
 }
index 79ee7ee..8a9439e 100644 (file)
@@ -160,7 +160,6 @@ int main(int argc, char *argv[])
   platform_file = argv[1];
   application_file = argv[2];
 
-  /* MSG_config("workstation/model","KCCFLN05"); */
   {                             /*  Simulation setting */
     MSG_create_environment(platform_file);
   }
index 42ea912..138f009 100644 (file)
@@ -12,7 +12,6 @@ $ ../../smpi_script/bin/smpirun -trace -trace-resource -trace-file smpi_traced.t
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'surf/precision' to '1e-9'
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/model' to 'SMPI'
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/TCP_gamma' to '4194304'
-> [0.000000] [surf_config/INFO] Switching workstation model to compound since you changed the network and/or cpu model(s)
 
 p Another SMPI test
 $ ../../smpi_script/bin/smpirun -trace -trace-resource -trace-file smpi_traced.trace -hostfile ${srcdir:=.}/hostfile -platform ${srcdir:=.}/../platforms/small_platform.xml --cfg=path:${srcdir:=.}/../msg -np 3 ./smpi_traced_simple --log=smpi_kernel.thres:warning
@@ -24,14 +23,12 @@ $ ../../smpi_script/bin/smpirun -trace -trace-resource -trace-file smpi_traced.t
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'surf/precision' to '1e-9'
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/model' to 'SMPI'
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/TCP_gamma' to '4194304'
-> [0.000000] [surf_config/INFO] Switching workstation model to compound since you changed the network and/or cpu model(s)
 
 p Testing without trace parameters
 $ ../../smpi_script/bin/smpirun -hostfile ${srcdir:=.}/hostfile -platform ${srcdir:=.}/../platforms/small_platform.xml --cfg=path:${srcdir:=.}/../msg -np 3 ./smpi_traced_simple --log=smpi_kernel.thres:warning
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'surf/precision' to '1e-9'
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/model' to 'SMPI'
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/TCP_gamma' to '4194304'
-> [0.000000] [surf_config/INFO] Switching workstation model to compound since you changed the network and/or cpu model(s)
 
 p Testing grouped tracing
 $ ../../smpi_script/bin/smpirun -trace -trace-grouped -trace-file smpi_traced.trace -hostfile ${srcdir:=.}/hostfile -platform ${srcdir:=.}/../platforms/small_platform.xml --cfg=path:${srcdir:=.}/../msg -np 3 ./smpi_traced_simple --log=smpi_kernel.thres:warning
@@ -42,7 +39,6 @@ $ ../../smpi_script/bin/smpirun -trace -trace-grouped -trace-file smpi_traced.tr
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'surf/precision' to '1e-9'
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/model' to 'SMPI'
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/TCP_gamma' to '4194304'
-> [0.000000] [surf_config/INFO] Switching workstation model to compound since you changed the network and/or cpu model(s)
 
 p Testing generation of viva configuration files
 $ ../../smpi_script/bin/smpirun -trace -trace-resource -trace-viva -trace-file smpi_traced.trace -hostfile ${srcdir:=.}/hostfile -platform ${srcdir:=.}/../platforms/small_platform.xml --cfg=path:${srcdir:=.}/../msg --cfg=smpi/cpu_threshold:-1 -np 3 ./smpi_traced_simple --log=smpi_kernel.thres:warning
@@ -57,7 +53,6 @@ $ ../../smpi_script/bin/smpirun -trace -trace-resource -trace-viva -trace-file s
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/model' to 'SMPI'
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/TCP_gamma' to '4194304'
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'smpi/cpu_threshold' to '-1'
-> [0.000000] [surf_config/INFO] Switching workstation model to compound since you changed the network and/or cpu model(s)
 > [0.007962] [instr_config/INFO] No categories declared, ignoring generation of viva graph configuration
 
 p Testing with parameters but without activating them with the safe switch (-trace)
@@ -65,6 +60,5 @@ $ ../../smpi_script/bin/smpirun -trace-resource -trace-viva -trace-file smpi_tra
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'surf/precision' to '1e-9'
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/model' to 'SMPI'
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/TCP_gamma' to '4194304'
-> [0.000000] [surf_config/INFO] Switching workstation model to compound since you changed the network and/or cpu model(s)
 
 $ rm -f smpi_traced.trace smpi_uncat.plist smpi_cat.plist
index 6eb6aaa..c16e39d 100644 (file)
@@ -264,7 +264,7 @@ XBT_PUBLIC(void) SIMIX_process_set_function(const char* process_host,
 XBT_PUBLIC(smx_host_t) SIMIX_host_get_by_name(const char *name);
 XBT_PUBLIC(smx_host_t) SIMIX_host_self(void);
 XBT_PUBLIC(const char*) SIMIX_host_self_get_name(void);
-XBT_PUBLIC(const char*) SIMIX_host_get_name(smx_host_t host); /* FIXME: make private: only the name of SIMIX_host_self() should be public without request */
+#define SIMIX_host_get_name(h) sg_host_name(h)  /* DEPRECATED: SIMIX_host_get_name */
 XBT_PUBLIC(void) SIMIX_host_on(smx_host_t host);
 XBT_PUBLIC(void) SIMIX_host_off(smx_host_t host, smx_process_t issuer);
 XBT_PUBLIC(void) SIMIX_host_self_set_data(void *data);
index b6b94eb..3d4d949 100644 (file)
@@ -20,6 +20,7 @@
       integer MPI_ANY_SOURCE, MPI_PROC_NULL, MPI_ANY_TAG, MPI_UNDEFINED
       integer MPI_SOURCE, MPI_TAG, MPI_ERROR
       integer MPI_VERSION, MPI_SUBVERSION
+      integer MPI_LOCK_EXCLUSIVE, MPI_LOCK_SHARED
       parameter(MPI_MAX_PROCESSOR_NAME=100)
       parameter(MPI_MAX_ERROR_STRING=100)
       parameter(MPI_MAX_DATAREP_STRIN =100)
@@ -36,6 +37,8 @@
       parameter(MPI_ERROR=3)
       parameter(MPI_VERSION=1)
       parameter(MPI_SUBVERSION=1)
+      parameter(MPI_LOCK_EXCLUSIVE=1)
+      parameter(MPI_LOCK_SHARED=2)
       integer MPI_MODE_NOSTORE, MPI_MODE_NOPUT, MPI_MODE_NOPRECEDE
       integer MPI_MODE_NOSUCCEED, MPI_MODE_NOCHECK
       parameter(MPI_MODE_NOSTORE=1)
index 5eaf7ac..81fc265 100644 (file)
@@ -884,9 +884,7 @@ XBT_PUBLIC(int) smpi_process_index(void);
 XBT_PUBLIC(void) smpi_process_init(int *argc, char ***argv);
 
 /* Trace replay specific stuff */
-XBT_PUBLIC(void) smpi_replay_init(int *argc, char***argv);
-XBT_PUBLIC(void) smpi_action_trace_run(char *);
-XBT_PUBLIC(int) smpi_replay_finalize(void);
+XBT_PUBLIC(void) smpi_replay_run(int *argc, char***argv);
 
 XBT_PUBLIC(void) SMPI_app_instance_register(const char *name, xbt_main_func_t code, int num_processes);
 XBT_PUBLIC(void) SMPI_init(void);
index 88f92d1..6484c87 100644 (file)
@@ -15,7 +15,7 @@ SG_BEGIN_DECL()
 XBT_PUBLIC_DATA(xbt_lib_t) host_lib;
 XBT_PUBLIC_DATA(int) ROUTING_HOST_LEVEL; //Routing level
 XBT_PUBLIC_DATA(int)  SURF_CPU_LEVEL;    //Surf cpu level
-XBT_PUBLIC_DATA(int) SURF_WKS_LEVEL;    //Surf workstation level
+XBT_PUBLIC_DATA(int) SURF_HOST_LEVEL;    //Surf workstation level
 XBT_PUBLIC_DATA(int) SIMIX_HOST_LEVEL;  //Simix host level
 XBT_PUBLIC_DATA(int) SIMIX_STORAGE_LEVEL;  //Simix storage level
 XBT_PUBLIC_DATA(int)  MSG_HOST_LEVEL;    //Msg level
diff --git a/include/xbt/base.h b/include/xbt/base.h
new file mode 100644 (file)
index 0000000..7e8ad78
--- /dev/null
@@ -0,0 +1,241 @@
+/* xbt.h - Public interface to the xbt (simgrid's toolbox)                     */
+
+/* Copyright (c) 2004-2014. The SimGrid Team.
+ * All rights reserved.                                                     */
+
+/* This program is free software; you can redistribute it and/or modify it
+ * under the terms of the license (GNU LGPL) which comes with this package. */
+
+#ifndef XBT_BASE_H
+#define XBT_BASE_H
+
+#include "simgrid_config.h"
+
+/* Define _GNU_SOURCE for getline, isfinite, etc. */
+#ifndef _GNU_SOURCE
+       #define _GNU_SOURCE
+#endif
+
+/* Attributes are only in recent versions of GCC */
+#if defined(__GNUC__) && (__GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ > 4))
+# define _XBT_GNUC_PRINTF( format_idx, arg_idx )    \
+     __attribute__((__format__ (__printf__, format_idx, arg_idx)))
+# define _XBT_GNUC_SCANF( format_idx, arg_idx )     \
+         __attribute__((__format__ (__scanf__, format_idx, arg_idx)))
+# define _XBT_GNUC_NORETURN __attribute__((__noreturn__))
+# define _XBT_GNUC_UNUSED  __attribute__((__unused__))
+/* Constructor priorities exist since gcc 4.3.  Apparently, they are however not
+ * supported on Macs. */
+# if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)) && !defined(__APPLE__)
+#  define _XBT_GNUC_CONSTRUCTOR(prio) __attribute__((__constructor__ (prio)))
+#  define _XBT_GNUC_DESTRUCTOR(prio) __attribute__((__destructor__ (prio)))
+# else
+#  define _XBT_GNUC_CONSTRUCTOR(prio) __attribute__((__constructor__))
+#  define _XBT_GNUC_DESTRUCTOR(prio) __attribute__((__destructor__))
+# endif
+# undef _XBT_NEED_INIT_PRAGMA
+
+#else                           /* !__GNUC__ */
+# define _XBT_GNUC_PRINTF( format_idx, arg_idx )
+# define _XBT_GNUC_SCANF( format_idx, arg_idx )
+# define _XBT_GNUC_NORETURN
+# define _XBT_GNUC_UNUSED
+# define _XBT_GNUC_CONSTRUCTOR(prio)
+# define _XBT_GNUC_DESTRUCTOR(prio)
+# define  _XBT_NEED_INIT_PRAGMA 1
+
+#endif                          /* !__GNUC__ */
+
+/* inline and __FUNCTION__ are only in GCC when -ansi is off */
+
+#if defined(__GNUC__) && ! defined(__STRICT_ANSI__)
+# define _XBT_FUNCTION __FUNCTION__
+#elif (defined(__STDC__) && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L)
+# define _XBT_FUNCTION __func__ /* ISO-C99 compliant */
+#else
+# define _XBT_FUNCTION "function"
+#endif
+
+#ifdef DOXYGEN
+#  define XBT_INLINE
+#else
+#  ifndef __cplusplus
+#    if defined(__GNUC__) && ! defined(__STRICT_ANSI__)
+#        define XBT_INLINE inline
+#    elif (defined(__STDC__) && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L)
+#        define XBT_INLINE inline
+#    elif defined(__BORLANDC__) && !defined(__STRICT_ANSI__)
+#        define XBT_INLINE __inline
+#    else
+#        define XBT_INLINE
+#    endif
+#  else
+#     if defined (__VISUALC__)
+#       define XBT_INLINE __inline
+#     else
+#       define XBT_INLINE  inline
+#     endif
+#  endif /* __cplusplus */
+#endif
+
+/* improvable on gcc (by evaluating arguments only once), but wouldn't be portable */
+#ifdef MIN
+# undef MIN
+#endif
+#define MIN(a,b) ((a)<(b)?(a):(b))
+
+#ifdef MAX
+# undef MAX
+#endif
+#define MAX(a,b) ((a)>(b)?(a):(b))
+
+/*
+ * Expands to `one' if there is only one argument for the variadic part.
+ * Otherwise, expands to `more'.
+ * Works with up to 63 arguments, which is the maximum mandated by the C99
+ * standard.
+ */
+#define _XBT_IF_ONE_ARG(one, more, ...)                                 \
+    _XBT_IF_ONE_ARG_(__VA_ARGS__,                                       \
+                     more, more, more, more, more, more, more, more,    \
+                     more, more, more, more, more, more, more, more,    \
+                     more, more, more, more, more, more, more, more,    \
+                     more, more, more, more, more, more, more, more,    \
+                     more, more, more, more, more, more, more, more,    \
+                     more, more, more, more, more, more, more, more,    \
+                     more, more, more, more, more, more, more, more,    \
+                     more, more, more, more, more, more, more, one)
+#define _XBT_IF_ONE_ARG_(a64, a63, a62, a61, a60, a59, a58, a57,        \
+                         a56, a55, a54, a53, a52, a51, a50, a49,        \
+                         a48, a47, a46, a45, a44, a43, a42, a41,        \
+                         a40, a39, a38, a37, a36, a35, a34, a33,        \
+                         a32, a31, a30, a29, a28, a27, a26, a25,        \
+                         a24, a23, a22, a21, a20, a19, a18, a17,        \
+                         a16, a15, a14, a13, a12, a11, a10, a9,         \
+                         a8, a7, a6, a5, a4, a3, a2, a1, N, ...) N
+
+/*
+ * Function calling convention (not used for now)
+ */
+
+#ifdef _XBT_WIN32
+#  ifndef _XBT_CALL
+#    define _XBT_CALL __cdecl
+#   endif
+#else
+#  define _XBT_CALL
+#endif
+
+/* Handle import/export stuff
+ *
+ * Rational of XBT_PUBLIC:
+ *   * This is for library symbols visible from the application-land.
+ *     Basically, any symbols defined in the include/directory must be
+ *     like this (plus some other globals).
+ *
+ *     UNIX coders should just think of it as a special way to say "extern".
+ *
+ *   * If you build the DLL, define the DLL_EXPORT symbol so that all symbols
+ *     actually get exported by this file.
+
+ *   * If you do a static windows compilation, define DLL_STATIC, both when
+ *     compiling the application files and when compiling the library.
+ *
+ *   * If you link your application against the DLL or if you do a UNIX build,
+ *     don't do anything special. This file will do the right thing for you
+ *     by default.
+ *
+ *
+ * Rational of XBT_EXPORT_NO_IMPORT: (windows-only cruft)
+ *   * Symbols which must be exported in the DLL, but not imported from it.
+ *
+ *   * This is obviously useful for initialized globals (which cannot be
+ *     extern or similar).
+ *   * This is also used in the log mecanism where a macro creates the
+ *     variable automatically. When the macro is called from within SimGrid,
+ *     the symbol must be exported, but when called  from within the client
+ *     code, it must not try to retrieve the symbol from the DLL since it's
+ *      not in there.
+ *
+ * Rational of XBT_IMPORT_NO_EXPORT: (windows-only cruft)
+ *   * Symbols which must be imported from the DLL, but not explicitely
+ *     exported from it.
+ *
+ *   * The root log category is already exported, but not imported explicitely
+ *     when creating a subcategory since we cannot import the parent category
+ *     to deal with the fact that the parent may be in application space, not
+ *     DLL space.
+ */
+
+/* Build the DLL */
+#if defined(DLL_EXPORT)
+#  define XBT_PUBLIC(type)            __declspec(dllexport) type
+#  define XBT_EXPORT_NO_IMPORT(type)  __declspec(dllexport) type
+#  define XBT_IMPORT_NO_EXPORT(type)  type
+#  define XBT_PUBLIC_DATA(type)       extern __declspec(dllexport) type
+#  define XBT_PUBLIC_CLASS            class __declspec(dllexport)
+
+
+/* Pack everything up statically */
+#elif defined(DLL_STATIC)
+#  define XBT_PUBLIC(type)            type
+#  define XBT_EXPORT_NO_IMPORT(type)  type
+#  define XBT_IMPORT_NO_EXPORT(type)  type
+#  define XBT_PUBLIC_DATA(type)       extern type
+#  define XBT_PUBLIC_CLASS            class
+
+
+/* Link against the DLL */
+#elif (defined(_XBT_WIN32) && !defined(DLL_EXPORT) && !defined(DLL_STATIC))
+#  define XBT_PUBLIC(type)            __declspec(dllimport) type
+#  define XBT_EXPORT_NO_IMPORT(type)  type
+#  define XBT_IMPORT_NO_EXPORT(type)  __declspec(dllimport) type
+#  define XBT_PUBLIC_DATA(type)       extern __declspec(dllimport) type
+#  define XBT_PUBLIC_CLASS            class __declspec(dllimport)
+
+
+/* UNIX build */
+#else
+#  define XBT_PUBLIC(type)            type
+#  define XBT_EXPORT_NO_IMPORT(type)  type
+#  define XBT_IMPORT_NO_EXPORT(type)  type
+#  define XBT_PUBLIC_DATA(type)       extern type
+#  define XBT_PUBLIC_CLASS            class
+
+#endif
+
+#ifdef _XBT_WIN32
+#define XBT_INTERNAL
+#else
+#define XBT_INTERNAL __attribute__((visibility ("hidden")))
+#endif
+
+#if !defined (max) && !defined(__cplusplus)
+#  define max(a,b)  (((a) > (b)) ? (a) : (b))
+#endif
+#if !defined (min) && !defined(__cplusplus)
+#  define min(a,b)  (((a) < (b)) ? (a) : (b))
+#endif
+
+#define TRUE  1
+#define FALSE 0
+
+/*! C++ users need love */
+#ifndef SG_BEGIN_DECL
+# ifdef __cplusplus
+#  define SG_BEGIN_DECL() extern "C" {
+# else
+#  define SG_BEGIN_DECL()
+# endif
+#endif
+
+#ifndef SG_END_DECL
+# ifdef __cplusplus
+#  define SG_END_DECL() }
+# else
+#  define SG_END_DECL()
+# endif
+#endif
+/* End of cruft for C++ */
+
+#endif
index 1b34514..5ee6b03 100644 (file)
@@ -11,7 +11,7 @@
 
 #include <string.h>             /* memcpy */
 
-#include "xbt/misc.h"           /* SG_BEGIN_DECL */
+#include "xbt/base.h"           /* SG_BEGIN_DECL */
 #include "xbt/function_types.h"
 
 SG_BEGIN_DECL()
index 18d8c25..5cccc14 100644 (file)
@@ -9,7 +9,7 @@
 #ifndef XBT_FUNCTION_TYPE_H
 #define XBT_FUNCTION_TYPE_H
 
-#include "xbt/misc.h"
+#include "xbt/base.h"
 
 SG_BEGIN_DECL()
 
index a0e33d8..a8d8c00 100644 (file)
 #include <stdarg.h>
 
 #include "simgrid_config.h"
-
-/* Define _GNU_SOURCE for getline, isfinite, etc. */
-#ifndef _GNU_SOURCE
-       #define _GNU_SOURCE
-#endif
-
-/* Attributes are only in recent versions of GCC */
-#if defined(__GNUC__) && (__GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ > 4))
-# define _XBT_GNUC_PRINTF( format_idx, arg_idx )    \
-     __attribute__((__format__ (__printf__, format_idx, arg_idx)))
-# define _XBT_GNUC_SCANF( format_idx, arg_idx )     \
-         __attribute__((__format__ (__scanf__, format_idx, arg_idx)))
-# define _XBT_GNUC_NORETURN __attribute__((__noreturn__))
-# define _XBT_GNUC_UNUSED  __attribute__((__unused__))
-/* Constructor priorities exist since gcc 4.3.  Apparently, they are however not
- * supported on Macs. */
-# if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)) && !defined(__APPLE__)
-#  define _XBT_GNUC_CONSTRUCTOR(prio) __attribute__((__constructor__ (prio)))
-#  define _XBT_GNUC_DESTRUCTOR(prio) __attribute__((__destructor__ (prio)))
-# else
-#  define _XBT_GNUC_CONSTRUCTOR(prio) __attribute__((__constructor__))
-#  define _XBT_GNUC_DESTRUCTOR(prio) __attribute__((__destructor__))
-# endif
-# undef _XBT_NEED_INIT_PRAGMA
-
-#else                           /* !__GNUC__ */
-# define _XBT_GNUC_PRINTF( format_idx, arg_idx )
-# define _XBT_GNUC_SCANF( format_idx, arg_idx )
-# define _XBT_GNUC_NORETURN
-# define _XBT_GNUC_UNUSED
-# define _XBT_GNUC_CONSTRUCTOR(prio)
-# define _XBT_GNUC_DESTRUCTOR(prio)
-# define  _XBT_NEED_INIT_PRAGMA 1
-
-#endif                          /* !__GNUC__ */
-
-/* inline and __FUNCTION__ are only in GCC when -ansi is off */
-
-#if defined(__GNUC__) && ! defined(__STRICT_ANSI__)
-# define _XBT_FUNCTION __FUNCTION__
-#elif (defined(__STDC__) && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L)
-# define _XBT_FUNCTION __func__ /* ISO-C99 compliant */
-#else
-# define _XBT_FUNCTION "function"
-#endif
-
-#ifdef DOXYGEN
-#  define XBT_INLINE
-#else
-#  ifndef __cplusplus
-#    if defined(__GNUC__) && ! defined(__STRICT_ANSI__)
-#        define XBT_INLINE inline
-#    elif (defined(__STDC__) && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L)
-#        define XBT_INLINE inline
-#    elif defined(__BORLANDC__) && !defined(__STRICT_ANSI__)
-#        define XBT_INLINE __inline
-#    else
-#        define XBT_INLINE
-#    endif
-#  else
-#     if defined (__VISUALC__)
-#       define XBT_INLINE __inline
-#     else
-#       define XBT_INLINE  inline
-#     endif
-#  endif /* __cplusplus */
-#endif
-
-/* improvable on gcc (by evaluating arguments only once), but wouldn't be portable */
-#ifdef MIN
-# undef MIN
-#endif
-#define MIN(a,b) ((a)<(b)?(a):(b))
-
-#ifdef MAX
-# undef MAX
-#endif
-#define MAX(a,b) ((a)>(b)?(a):(b))
-
-/*
- * Expands to `one' if there is only one argument for the variadic part.
- * Otherwise, expands to `more'.
- * Works with up to 63 arguments, which is the maximum mandated by the C99
- * standard.
- */
-#define _XBT_IF_ONE_ARG(one, more, ...)                                 \
-    _XBT_IF_ONE_ARG_(__VA_ARGS__,                                       \
-                     more, more, more, more, more, more, more, more,    \
-                     more, more, more, more, more, more, more, more,    \
-                     more, more, more, more, more, more, more, more,    \
-                     more, more, more, more, more, more, more, more,    \
-                     more, more, more, more, more, more, more, more,    \
-                     more, more, more, more, more, more, more, more,    \
-                     more, more, more, more, more, more, more, more,    \
-                     more, more, more, more, more, more, more, one)
-#define _XBT_IF_ONE_ARG_(a64, a63, a62, a61, a60, a59, a58, a57,        \
-                         a56, a55, a54, a53, a52, a51, a50, a49,        \
-                         a48, a47, a46, a45, a44, a43, a42, a41,        \
-                         a40, a39, a38, a37, a36, a35, a34, a33,        \
-                         a32, a31, a30, a29, a28, a27, a26, a25,        \
-                         a24, a23, a22, a21, a20, a19, a18, a17,        \
-                         a16, a15, a14, a13, a12, a11, a10, a9,         \
-                         a8, a7, a6, a5, a4, a3, a2, a1, N, ...) N
-
-/* 
- * Function calling convention (not used for now) 
- */
-
-#ifdef _XBT_WIN32
-#  ifndef _XBT_CALL
-#    define _XBT_CALL __cdecl
-#   endif
-#else
-#  define _XBT_CALL
-#endif
-
-/* Handle import/export stuff
- * 
- * Rational of XBT_PUBLIC: 
- *   * This is for library symbols visible from the application-land.
- *     Basically, any symbols defined in the include/directory must be 
- *     like this (plus some other globals). 
- *
- *     UNIX coders should just think of it as a special way to say "extern".
- *
- *   * If you build the DLL, define the DLL_EXPORT symbol so that all symbols
- *     actually get exported by this file.
-
- *   * If you do a static windows compilation, define DLL_STATIC, both when
- *     compiling the application files and when compiling the library.
- *
- *   * If you link your application against the DLL or if you do a UNIX build,
- *     don't do anything special. This file will do the right thing for you 
- *     by default.
- *
- * 
- * Rational of XBT_EXPORT_NO_IMPORT: (windows-only cruft)
- *   * Symbols which must be exported in the DLL, but not imported from it.
- * 
- *   * This is obviously useful for initialized globals (which cannot be 
- *     extern or similar).
- *   * This is also used in the log mecanism where a macro creates the 
- *     variable automatically. When the macro is called from within SimGrid,
- *     the symbol must be exported, but when called  from within the client
- *     code, it must not try to retrieve the symbol from the DLL since it's
- *      not in there.
- * 
- * Rational of XBT_IMPORT_NO_EXPORT: (windows-only cruft)
- *   * Symbols which must be imported from the DLL, but not explicitely 
- *     exported from it.
- * 
- *   * The root log category is already exported, but not imported explicitely 
- *     when creating a subcategory since we cannot import the parent category 
- *     to deal with the fact that the parent may be in application space, not 
- *     DLL space.
- */
-
-/* Build the DLL */
-#if defined(DLL_EXPORT)
-#  define XBT_PUBLIC(type)            __declspec(dllexport) type
-#  define XBT_EXPORT_NO_IMPORT(type)  __declspec(dllexport) type
-#  define XBT_IMPORT_NO_EXPORT(type)  type
-#  define XBT_PUBLIC_DATA(type)       extern __declspec(dllexport) type
-#  define XBT_PUBLIC_CLASS            class __declspec(dllexport)
-
-
-/* Pack everything up statically */
-#elif defined(DLL_STATIC)
-#  define XBT_PUBLIC(type)            type
-#  define XBT_EXPORT_NO_IMPORT(type)  type
-#  define XBT_IMPORT_NO_EXPORT(type)  type
-#  define XBT_PUBLIC_DATA(type)       extern type
-#  define XBT_PUBLIC_CLASS            class
-
-
-/* Link against the DLL */
-#elif (defined(_XBT_WIN32) && !defined(DLL_EXPORT) && !defined(DLL_STATIC))
-#  define XBT_PUBLIC(type)            __declspec(dllimport) type
-#  define XBT_EXPORT_NO_IMPORT(type)  type
-#  define XBT_IMPORT_NO_EXPORT(type)  __declspec(dllimport) type
-#  define XBT_PUBLIC_DATA(type)       extern __declspec(dllimport) type
-#  define XBT_PUBLIC_CLASS            class __declspec(dllimport)
-
-
-/* UNIX build */
-#else
-#  define XBT_PUBLIC(type)            type
-#  define XBT_EXPORT_NO_IMPORT(type)  type
-#  define XBT_IMPORT_NO_EXPORT(type)  type
-#  define XBT_PUBLIC_DATA(type)       extern type
-#  define XBT_PUBLIC_CLASS            class
-
-#endif
-
-#ifdef _XBT_WIN32
-#define XBT_INTERNAL
-#else
-#define XBT_INTERNAL __attribute__((visibility ("hidden")))
-#endif
-
-#if !defined (max) && !defined(__cplusplus)
-#  define max(a,b)  (((a) > (b)) ? (a) : (b))
-#endif
-#if !defined (min) && !defined(__cplusplus)
-#  define min(a,b)  (((a) < (b)) ? (a) : (b))
-#endif
-
-#define TRUE  1
-#define FALSE 0
-
-/*! C++ users need love */
-#ifndef SG_BEGIN_DECL
-# ifdef __cplusplus
-#  define SG_BEGIN_DECL() extern "C" {
-# else
-#  define SG_BEGIN_DECL()
-# endif
-#endif
-
-#ifndef SG_END_DECL
-# ifdef __cplusplus
-#  define SG_END_DECL() }
-# else
-#  define SG_END_DECL()
-# endif
-#endif
-/* End of cruft for C++ */
+#include "base.h"
+#include "dynar.h"
 
 SG_BEGIN_DECL()
 
@@ -254,8 +29,6 @@ XBT_PUBLIC(const char *) xbt_procname(void);
     SIMGRID_VERSION_MAJOR and friends give the version numbers of the used header files */
 XBT_PUBLIC(void) sg_version(int *major,int *minor,int *patch);
 
-typedef struct xbt_dynar_s s_xbt_dynar_t, *xbt_dynar_t;
-
 /** Contains all the parameters we got from the command line */
 XBT_PUBLIC_DATA(xbt_dynar_t) sg_cmdline;
 
index 675a5ad..28ba751 100644 (file)
@@ -15,11 +15,11 @@ SG_BEGIN_DECL()
 typedef struct s_replay_reader *xbt_replay_reader_t;
 typedef void (*action_fun) (const char *const *args);
 
-XBT_PUBLIC_DATA(xbt_dict_t) action_funs;
-XBT_PUBLIC_DATA(xbt_dict_t) action_queues;
+XBT_PUBLIC_DATA(xbt_dict_t) xbt_action_funs;
+XBT_PUBLIC_DATA(xbt_dict_t) xbt_action_queues;
 
 /* To split the file if a unique one is given (specific variable for the other case live in runner()) */
-XBT_PUBLIC_DATA(FILE *) action_fp;
+XBT_PUBLIC_DATA(FILE *) xbt_action_fp;
 
 XBT_PUBLIC(xbt_replay_reader_t) xbt_replay_reader_new(const char*filename);
 XBT_PUBLIC(const char **) xbt_replay_reader_get(xbt_replay_reader_t reader);
@@ -30,7 +30,7 @@ XBT_PUBLIC(int) xbt_replay_action_runner(int argc, char *argv[]);
 
 XBT_PUBLIC(int) _xbt_replay_is_active(void);
 
-XBT_PUBLIC(void) _xbt_replay_action_init(void);
+XBT_PUBLIC(int) _xbt_replay_action_init(void);
 XBT_PUBLIC(void) _xbt_replay_action_exit(void);
 
 XBT_PUBLIC(void) xbt_replay_action_register(const char *action_name,
index d253847..82c5c12 100644 (file)
@@ -36,15 +36,22 @@ public final class NativeLib {
        }
        public static void nativeInit(String name) {
                try {
-                       /* prefer the version on disk, if existing */
-                       System.loadLibrary(name);
-               } catch (UnsatisfiedLinkError e) {
-                       /* If not found, unpack the one bundled into the jar file and use it */
+                       /* Prefer the version of the library bundled into the jar file and use it */
                        loadLib(name);
+               } catch (SimGridLibNotFoundException e) {
+                       /* If not found, try to see if we can find a version on disk */
+                       try {
+                               System.loadLibrary(name);
+                       } catch (UnsatisfiedLinkError e2) {
+                               System.err.println("Cannot load the bindings to the "+name+" library in path "+getPath());
+                               e.printStackTrace();
+                               System.err.println("This jar file does not seem to fit your system, and I cannot find an installation of SimGrid.");
+                               System.exit(1);
+                       }
                }
        }
 
-       private static void loadLib (String name) {
+       private static void loadLib (String name) throws SimGridLibNotFoundException {
                String Path = NativeLib.getPath();
 
                String filename=name;
@@ -67,7 +74,7 @@ public final class NativeLib {
                        in =  NativeLib.class.getClassLoader().getResourceAsStream(Path+filename);
                }  
                if (in == null) {
-                       throw new RuntimeException("Cannot find library "+name+" in path "+Path+". Sorry, but this jar does not seem to be usable on your machine.");
+                       throw new SimGridLibNotFoundException("Cannot find library "+name+" in path "+Path+". Sorry, but this jar does not seem to be usable on your machine.");
                }
                try {
                        // We must write the lib onto the disk before loading it -- stupid operating systems
@@ -89,10 +96,7 @@ public final class NativeLib {
                        System.load(fileOut.getAbsolutePath());
 
                } catch (Exception e) {
-                       System.err.println("Cannot load the bindings to the "+name+" library in path "+getPath());
-                       e.printStackTrace();
-                       System.err.println("This jar file does not seem to fit your system, sorry");
-                       System.exit(1);
+                       throw new SimGridLibNotFoundException("Cannot load the bindings to the "+name+" library in path "+getPath(),   e);
                }
        }
 
@@ -121,3 +125,14 @@ public final class NativeLib {
                        System.out.println("This java library will try to load the native code under the following name:\n" +getPath());
        }
 }
+
+class SimGridLibNotFoundException extends Exception {
+       private static final long serialVersionUID = 1L;
+       public SimGridLibNotFoundException(String msg) {
+               super(msg);
+       }
+
+       public SimGridLibNotFoundException(String msg, Exception e) {
+               super(msg,e);
+       }
+}
\ No newline at end of file
index 49e7ac3..9e0ec6f 100644 (file)
@@ -90,8 +90,8 @@ public class RngStream {
        public native boolean setSeed(int seed[]);
        /**
         * Advances the state of the stream by k values, without modifying the states of other streams (as
-        * in RngStream_SetSeed), nor the values of Bg and Ig associated with this stream. If e > 0, then
-        * k = 2e + c; if e < 0, then k = -2-e + c; and if e = 0, then k = c. Note: c is allowed to take
+        * in RngStream_SetSeed), nor the values of Bg and Ig associated with this stream. If e &gt; 0, then
+        * k = 2e + c; if e &lt; 0, then k = -2-e + c; and if e = 0, then k = c. Note: c is allowed to take
         * negative values. We discourage the use of this procedure.     
         */
        public native void advanceState(int e, int g);
@@ -116,4 +116,4 @@ public class RngStream {
                Msg.nativeInit();
                nativeInit();
        }
-}
\ No newline at end of file
+}
index 1b79501..d9ccd5a 100644 (file)
@@ -47,10 +47,10 @@ public class Storage {
         *
         * @return              The storage object with the given name.
         * @exception           StorageNotFoundException if the name of the storage is not valid.
-        *                                      NativeException if the native version of this method failed.
+        * @exception           NativeException if the native version of this method failed.
         */ 
        public native static Storage getByName(String name) 
-                       throws HostNotFoundException, NullPointerException;
+                       throws HostNotFoundException, NullPointerException, NativeException, StorageNotFoundException;
 
        /**
         * This method returns the name of a storage.
@@ -120,4 +120,4 @@ public class Storage {
                nativeInit();
        }               
 
-}
\ No newline at end of file
+}
index 0ee65c4..46f568a 100644 (file)
@@ -42,11 +42,11 @@ public class Task {
         *
         * @param flopsAmount   A value of the processing amount (in flop) needed to process the task. 
         *                              If 0, then it cannot be executed with the execute() method.
-        *                              This value has to be >= 0.
+        *                              This value has to be &ge; 0.
         *
         * @param bytesAmount           A value of amount of data (in bytes) needed to transfert this task.
         *                              If 0, then it cannot be transfered with the get() and put() methods.
-        *                              This value has to be >= 0.
+        *                              This value has to be &ge; 0.
         */ 
        public Task(String name, double flopsAmount, double bytesAmount) {
                create(name, flopsAmount, bytesAmount);
@@ -199,7 +199,7 @@ public class Task {
         * @throws HostFailureException 
         * @throws TransferFailureException 
         */
-       public void send(String mailbox) throws TransferFailureException, HostFailureException, TimeoutException {
+       public void send(String mailbox) throws TransferFailureException, HostFailureException, TimeoutException, NativeException {
                send(mailbox, -1);
        } 
 
@@ -213,7 +213,7 @@ public class Task {
         * @throws HostFailureException 
         * @throws TransferFailureException 
         */
-       public native void send(String mailbox, double timeout) throws TransferFailureException, HostFailureException, TimeoutException;
+       public native void send(String mailbox, double timeout) throws TransferFailureException, HostFailureException, TimeoutException, NativeException;
 
        /** Sends the task on the specified mailbox (capping the sending rate to \a maxrate) 
         *
index aa2dc2d..a985f6b 100644 (file)
@@ -61,9 +61,9 @@ int console_close(lua_State *L) {
   /* Initialize MSG and WKS hosts */
   XBT_DEBUG("Initialize MSG and WKS hosts");
   xbt_lib_foreach(host_lib, cursor, name, data) {
-    if(data[SURF_WKS_LEVEL]){
+    if(data[SURF_HOST_LEVEL]){
       XBT_DEBUG("\tSee surf host %s",name);
-      SIMIX_host_create(name, data[SURF_WKS_LEVEL], NULL);
+      SIMIX_host_create(name, NULL);
       __MSG_host_create((smx_host_t)data[SIMIX_HOST_LEVEL]);
     }
   }
index c5eb402..db96b75 100644 (file)
@@ -72,7 +72,7 @@ XBT_PUBLIC(void) sg_platf_mstorage_add_cb(sg_platf_mstorage_cb_t fct);
 XBT_PUBLIC(void) sg_platf_storage_type_add_cb(sg_platf_storage_type_cb_t fct);
 XBT_PUBLIC(void) sg_platf_mount_add_cb(sg_platf_mount_cb_t fct);
 
-/** \brief Pick the right models for CPU, net and workstation, and call their model_init_preparse
+/** \brief Pick the right models for CPU, net and host, and call their model_init_preparse
  *
  * Must be called within parsing/creating the environment (after the <config>s, if any, and before <AS> or friends such as <cluster>)
  */
index fd80b13..98b848f 100644 (file)
@@ -47,13 +47,13 @@ typedef enum {
 #ifdef __cplusplus
 class Model;
 class CpuModel;
-class WorkstationModel;
-class WorkstationVMModel;
+class HostModel;
+class VMModel;
 class NetworkModel;
 class StorageModel;
 class Resource;
 class ResourceLmm;
-class WorkstationCLM03;
+class HostCLM03;
 class NetworkCm02Link;
 class Cpu;
 class Action;
@@ -65,13 +65,13 @@ class RoutingPlatf;
 #else
 typedef struct Model Model;
 typedef struct CpuModel CpuModel;
-typedef struct WorkstationModel WorkstationModel;
-typedef struct WorkstationVMModel WorkstationVMModel;
+typedef struct HostModel HostModel;
+typedef struct VMModel VMModel;
 typedef struct NetworkModel NetworkModel;
 typedef struct StorageModel StorageModel;
 typedef struct Resource Resource;
 typedef struct ResourceLmm ResourceLmm;
-typedef struct WorkstationCLM03 WorkstationCLM03;
+typedef struct HostCLM03 HostCLM03;
 typedef struct NetworkCm02Link NetworkCm02Link;
 typedef struct Cpu Cpu;
 typedef struct Action Action;
@@ -85,20 +85,20 @@ typedef struct RoutingPlatf RoutingPlatf;
 /** @ingroup SURF_c_bindings
  *  \brief Model datatype
  *
- *  Generic data structure for a model. The workstations,
+ *  Generic data structure for a model. The hosts,
  *  the CPUs and the network links are examples of models.
  */
 typedef Model *surf_model_t;
 typedef CpuModel *surf_cpu_model_t;
-typedef WorkstationModel *surf_workstation_model_t;
-typedef WorkstationVMModel *surf_vm_workstation_model_t;
+typedef HostModel *surf_host_model_t;
+typedef VMModel *surf_vm_model_t;
 
 typedef NetworkModel *surf_network_model_t;
 typedef StorageModel *surf_storage_model_t;
 
 typedef xbt_dictelm_t surf_resource_t;
 typedef Resource *surf_cpp_resource_t;
-typedef WorkstationCLM03 *surf_workstation_CLM03_t;
+typedef HostCLM03 *surf_host_CLM03_t;
 typedef NetworkCm02Link *surf_network_link_t;
 typedef Cpu *surf_cpu_t;
 
@@ -189,8 +189,8 @@ XBT_PUBLIC_DATA(routing_platf_t) routing_platf;
 static inline void *surf_cpu_resource_priv(const void *host) {
   return xbt_lib_get_level((xbt_dictelm_t)host, SURF_CPU_LEVEL);
 }
-static inline void *surf_workstation_resource_priv(const void *host){
-  return (void*)xbt_lib_get_level((xbt_dictelm_t)host, SURF_WKS_LEVEL);
+static inline void *surf_host_resource_priv(const void *host){
+  return (void*)xbt_lib_get_level((xbt_dictelm_t)host, SURF_HOST_LEVEL);
 }
 static inline void *surf_routing_resource_priv(const void *host){
   return (void*)xbt_lib_get_level((xbt_dictelm_t)host, ROUTING_HOST_LEVEL);
@@ -202,7 +202,7 @@ static inline void *surf_storage_resource_priv(const void *storage){
 static inline void *surf_cpu_resource_by_name(const char *name) {
   return xbt_lib_get_elm_or_null(host_lib, name);
 }
-static inline void *surf_workstation_resource_by_name(const char *name){
+static inline void *surf_host_resource_by_name(const char *name){
   return xbt_lib_get_elm_or_null(host_lib, name);
 }
 static inline void *surf_storage_resource_by_name(const char *name){
@@ -269,16 +269,16 @@ XBT_PUBLIC(int) surf_model_running_action_set_size(surf_model_t model);
  * @details [long description]
  *
  * @param model The model which handle the parallelisation
- * @param workstation_nb The number of workstations
- * @param workstation_list The list of workstations on which the task is executed
+ * @param host_nb The number of hosts
+ * @param host_list The list of hosts on which the task is executed
  * @param flops_amount The processing amount (in flop) needed to process
  * @param bytes_amount The amount of data (in bytes) needed to transfer
  * @param rate [description]
  * @return The action corresponding to the parallele execution task
  */
-XBT_PUBLIC(surf_action_t) surf_workstation_model_execute_parallel_task(surf_workstation_model_t model,
-                                                   int workstation_nb,
-                                            void **workstation_list,
+XBT_PUBLIC(surf_action_t) surf_host_model_execute_parallel_task(surf_host_model_t model,
+                                                   int host_nb,
+                                            void **host_list,
                                             double *flops_amount,
                                             double *bytes_amount,
                                             double rate);
@@ -293,7 +293,7 @@ XBT_PUBLIC(surf_action_t) surf_workstation_model_execute_parallel_task(surf_work
  * @param rate [description]
  * @return The action corresponding to the communication
  */
-XBT_PUBLIC(surf_action_t) surf_workstation_model_communicate(surf_workstation_model_t model, surf_resource_t src, surf_resource_t dst, double size, double rate);
+XBT_PUBLIC(surf_action_t) surf_host_model_communicate(surf_host_model_t model, surf_resource_t src, surf_resource_t dst, double size, double rate);
 
 /**
  * @brief Get the route between two hosts
@@ -304,15 +304,15 @@ XBT_PUBLIC(surf_action_t) surf_workstation_model_communicate(surf_workstation_mo
  * @param dst The destination host
  * @return The list of [TODO] from the source to the host
  */
-XBT_PUBLIC(xbt_dynar_t) surf_workstation_model_get_route(surf_workstation_model_t model, surf_resource_t src, surf_resource_t dst);
+XBT_PUBLIC(xbt_dynar_t) surf_host_model_get_route(surf_host_model_t model, surf_resource_t src, surf_resource_t dst);
 
 /**
  * @brief Create a new VM on the specified host
  *
- * @param name The name of the workstation
- * @param ind_phys_host The host on which the VM is created
+ * @param name The name of the VM
+ * @param host_PM The host on which the VM is created
  */
-XBT_PUBLIC(void) surf_vm_workstation_model_create(const char *name, surf_resource_t ind_phys_host);
+XBT_PUBLIC(void) surf_vm_model_create(const char *name, surf_resource_t host_PM);
 
 /**
  * @brief Create a communication between two routing edges [TODO]
@@ -328,7 +328,7 @@ XBT_PUBLIC(void) surf_vm_workstation_model_create(const char *name, surf_resourc
 XBT_PUBLIC(surf_action_t) surf_network_model_communicate(surf_network_model_t model, sg_routing_edge_t src, sg_routing_edge_t dst, double size, double rate);
 
 /**
- * @brief Get the name of a surf resource (cpu, workstation, network, …)
+ * @brief Get the name of a surf resource (cpu, host, network, …)
  *
  * @param resource The surf resource
  * @return The name of the surf resource
@@ -336,7 +336,7 @@ XBT_PUBLIC(surf_action_t) surf_network_model_communicate(surf_network_model_t mo
 XBT_PUBLIC(const char * ) surf_resource_name(surf_cpp_resource_t resource);
 
 /**
- * @brief Get the properties of a surf resource (cpu, workstation, network, …)
+ * @brief Get the properties of a surf resource (cpu, host, network, …)
  *
  * @param resource The surf resource
  * @return The properties of the surf resource
@@ -344,7 +344,7 @@ XBT_PUBLIC(const char * ) surf_resource_name(surf_cpp_resource_t resource);
 XBT_PUBLIC(xbt_dict_t) surf_resource_get_properties(surf_cpp_resource_t resource);
 
 /**
- * @brief Get the state of a surf resource (cpu, workstation, network, …)
+ * @brief Get the state of a surf resource (cpu, host, network, …)
  *
  * @param resource The surf resource
  * @return The state of the surf resource
@@ -352,7 +352,7 @@ XBT_PUBLIC(xbt_dict_t) surf_resource_get_properties(surf_cpp_resource_t resource
 XBT_PUBLIC(e_surf_resource_state_t) surf_resource_get_state(surf_cpp_resource_t resource);
 
 /**
- * @brief Set the state of a surf resource (cpu, workstation, network, …)
+ * @brief Set the state of a surf resource (cpu, host, network, …)
  *
  * @param resource The surf resource
  * @param state The new state of the surf resource
@@ -360,88 +360,88 @@ XBT_PUBLIC(e_surf_resource_state_t) surf_resource_get_state(surf_cpp_resource_t
 XBT_PUBLIC(void) surf_resource_set_state(surf_cpp_resource_t resource, e_surf_resource_state_t state);
 
 /**
- * @brief Get the speed of the cpu associtated to a workstation
+ * @brief Get the speed of the cpu associated to a host
  *
- * @param resource The surf workstation
+ * @param resource The surf host
  * @param load [description]
  *
  * @return [description]
  */
-XBT_PUBLIC(double) surf_workstation_get_speed(surf_resource_t resource, double load);
+XBT_PUBLIC(double) surf_host_get_speed(surf_resource_t resource, double load);
 
 /**
- * @brief Get the available speed of cpu associtated to a workstation
+ * @brief Get the available speed of cpu associated to a host
  *
- * @param resource The surf workstation
+ * @param resource The surf host
  * @return [description]
  */
-XBT_PUBLIC(double) surf_workstation_get_available_speed(surf_resource_t resource);
+XBT_PUBLIC(double) surf_host_get_available_speed(surf_resource_t resource);
 
 /**
- * @brief Get the number of cores of the cpu associated to a workstation
+ * @brief Get the number of cores of the cpu associated to a host
  *
- * @param resource The surf workstation
+ * @param resource The surf host
  * @return The number of cores
  */
-XBT_PUBLIC(int) surf_workstation_get_core(surf_resource_t resource);
+XBT_PUBLIC(int) surf_host_get_core(surf_resource_t resource);
 
 /**
  * @brief Execute some quantity of computation
  *
- * @param resource The surf workstation
+ * @param resource The surf host
  * @param size The value of the processing amount (in flop) needed to process
  *
  * @return The surf action corresponding to the processing
  */
-XBT_PUBLIC(surf_action_t) surf_workstation_execute(surf_resource_t resource, double size);
+XBT_PUBLIC(surf_action_t) surf_host_execute(surf_resource_t resource, double size);
 
 /**
- * @brief Make the workstation sleep
+ * @brief Make the host sleep
  *
- * @param resource The surf workstation
+ * @param resource The surf host
  * @param duration The number of seconds to sleep
  * @return The surf action corresponding to the sleep
  */
-XBT_PUBLIC(surf_action_t) surf_workstation_sleep(surf_resource_t resource, double duration);
+XBT_PUBLIC(surf_action_t) surf_host_sleep(surf_resource_t resource, double duration);
 
 /**
- * @brief Open a file on a workstation
+ * @brief Open a file on an host
  *
- * @param workstation The surf workstation
+ * @param host The surf host
  * @param fullpath The path to the file
  * @return The surf action corresponding to the openning
  */
-XBT_PUBLIC(surf_action_t) surf_workstation_open(surf_resource_t workstation, const char* fullpath);
+XBT_PUBLIC(surf_action_t) surf_host_open(surf_resource_t host, const char* fullpath);
 
 /**
- * @brief Close a file descriptor on a workstation
+ * @brief Close a file descriptor on an host
  *
- * @param workstation The surf workstation
+ * @param host The surf host
  * @param fd The file descriptor
  *
  * @return The surf action corresponding to the closing
  */
-XBT_PUBLIC(surf_action_t) surf_workstation_close(surf_resource_t workstation, surf_file_t fd);
+XBT_PUBLIC(surf_action_t) surf_host_close(surf_resource_t host, surf_file_t fd);
 
 /**
  * @brief Read a file
  *
- * @param resource The surf workstation
+ * @param host The surf host
  * @param fd The file descriptor to read
  * @param size The size in bytes to read
  * @return The surf action corresponding to the reading
  */
-XBT_PUBLIC(surf_action_t) surf_workstation_read(surf_resource_t resource, surf_file_t fd, sg_size_t size);
+XBT_PUBLIC(surf_action_t) surf_host_read(surf_resource_t host, surf_file_t fd, sg_size_t size);
 
 /**
  * @brief Write a file
  *
- * @param resource The surf workstation
+ * @param host The surf host
  * @param fd The file descriptor to write
  * @param size The size in bytes to write
  * @return The surf action corresponding to the writing
  */
-XBT_PUBLIC(surf_action_t) surf_workstation_write(surf_resource_t resource, surf_file_t fd, sg_size_t size);
+XBT_PUBLIC(surf_action_t) surf_host_write(surf_resource_t host, surf_file_t fd, sg_size_t size);
 
 /**
  * @brief Get the informations of a file descriptor
@@ -452,37 +452,37 @@ XBT_PUBLIC(surf_action_t) surf_workstation_write(surf_resource_t resource, surf_
  *  - the storage typeId,
  *  - the storage content type
  *
- * @param resource The surf workstation
+ * @param host The surf host
  * @param fd The file descriptor
  * @return An xbt_dynar_t with the file informations
  */
-XBT_PUBLIC(xbt_dynar_t) surf_workstation_get_info(surf_resource_t resource, surf_file_t fd);
+XBT_PUBLIC(xbt_dynar_t) surf_host_get_info(surf_resource_t host, surf_file_t fd);
 
 /**
  * @brief Get the available space of the storage at the mount point
  *
- * @param resource The surf workstation
+ * @param resource The surf host
  * @param name The mount point
- * @return The amount of availble space in bytes
+ * @return The amount of available space in bytes
  */
-XBT_PUBLIC(sg_size_t) surf_workstation_get_free_size(surf_resource_t resource, const char* name);
+XBT_PUBLIC(sg_size_t) surf_host_get_free_size(surf_resource_t resource, const char* name);
 
 /**
  * @brief Get the used space of the storage at the mount point
  *
- * @param resource The surf workstation
+ * @param resource The surf host
  * @param name The mount point
  * @return The amount of used space in bytes
  */
-XBT_PUBLIC(sg_size_t) surf_workstation_get_used_size(surf_resource_t resource, const char* name);
+XBT_PUBLIC(sg_size_t) surf_host_get_used_size(surf_resource_t resource, const char* name);
 
 /**
- * @brief Get the VMs hosted on the workstation
+ * @brief Get the VMs hosted on the host
  *
- * @param resource The surf workstation
- * @return The list of VMs on the workstation
+ * @param resource The surf host
+ * @return The list of VMs on the host
  */
-XBT_PUBLIC(xbt_dynar_t) surf_workstation_get_vms(surf_resource_t resource);
+XBT_PUBLIC(xbt_dynar_t) surf_host_get_vms(surf_resource_t resource);
 
 /**
  * @brief [brief description]
@@ -491,7 +491,7 @@ XBT_PUBLIC(xbt_dynar_t) surf_workstation_get_vms(surf_resource_t resource);
  * @param resource [description]
  * @param params [description]
  */
-XBT_PUBLIC(void) surf_workstation_get_params(surf_resource_t resource, ws_params_t params);
+XBT_PUBLIC(void) surf_host_get_params(surf_resource_t resource, ws_params_t params);
 
 /**
  * @brief [brief description]
@@ -500,58 +500,58 @@ XBT_PUBLIC(void) surf_workstation_get_params(surf_resource_t resource, ws_params
  * @param resource [description]
  * @param params [description]
  */
-XBT_PUBLIC(void) surf_workstation_set_params(surf_resource_t resource, ws_params_t params);
+XBT_PUBLIC(void) surf_host_set_params(surf_resource_t resource, ws_params_t params);
 
 /**
- * @brief Destroy a Workstation VM
+ * @brief Destroy a VM
  *
- * @param resource The surf workstation vm
+ * @param resource The surf vm
  */
-XBT_PUBLIC(void) surf_vm_workstation_destroy(surf_resource_t resource);
+XBT_PUBLIC(void) surf_vm_destroy(surf_resource_t resource);
 
 /**
- * @brief Suspend a Workstation VM
+ * @brief Suspend a VM
  *
- * @param resource The surf workstation vm
+ * @param resource The surf vm
  */
-XBT_PUBLIC(void) surf_vm_workstation_suspend(surf_resource_t resource);
+XBT_PUBLIC(void) surf_vm_suspend(surf_resource_t resource);
 
 /**
- * @brief Resume a Workstation VM
+ * @brief Resume a VM
  *
- * @param resource The surf workstation vm
+ * @param resource The surf vm
  */
-XBT_PUBLIC(void) surf_vm_workstation_resume(surf_resource_t resource);
+XBT_PUBLIC(void) surf_vm_resume(surf_resource_t resource);
 
 /**
- * @brief Save the Workstation VM (Not yet implemented)
+ * @brief Save the VM (Not yet implemented)
  *
- * @param resource The surf workstation vm
+ * @param resource The surf vm
  */
-XBT_PUBLIC(void) surf_vm_workstation_save(surf_resource_t resource);
+XBT_PUBLIC(void) surf_vm_save(surf_resource_t resource);
 
 /**
- * @brief Restore the Workstation VM (Not yet implemented)
+ * @brief Restore the VM (Not yet implemented)
  *
- * @param resource The surf workstation vm
+ * @param resource The surf vm
  */
-XBT_PUBLIC(void) surf_vm_workstation_restore(surf_resource_t resource);
+XBT_PUBLIC(void) surf_vm_restore(surf_resource_t resource);
 
 /**
  * @brief Migrate the VM to the destination host
  *
- * @param resource The surf workstation vm
+ * @param resource The surf vm
  * @param ind_vm_ws_dest The destination host
  */
-XBT_PUBLIC(void) surf_vm_workstation_migrate(surf_resource_t resource, surf_resource_t ind_vm_ws_dest);
+XBT_PUBLIC(void) surf_vm_migrate(surf_resource_t resource, surf_resource_t ind_vm_ws_dest);
 
 /**
  * @brief Get the physical machine hosting the VM
  *
- * @param resource The surf workstation vm
+ * @param resource The surf vm
  * @return The physical machine hosting the VM
  */
-XBT_PUBLIC(surf_resource_t) surf_vm_workstation_get_pm(surf_resource_t resource);
+XBT_PUBLIC(surf_resource_t) surf_vm_get_pm(surf_resource_t resource);
 
 /**
  * @brief [brief description]
@@ -560,7 +560,7 @@ XBT_PUBLIC(surf_resource_t) surf_vm_workstation_get_pm(surf_resource_t resource)
  * @param resource [description]
  * @param bound [description]
  */
-XBT_PUBLIC(void) surf_vm_workstation_set_bound(surf_resource_t resource, double bound);
+XBT_PUBLIC(void) surf_vm_set_bound(surf_resource_t resource, double bound);
 
 /**
  * @brief [brief description]
@@ -570,7 +570,7 @@ XBT_PUBLIC(void) surf_vm_workstation_set_bound(surf_resource_t resource, double
  * @param cpu [description]
  * @param mask [description]
  */
-XBT_PUBLIC(void) surf_vm_workstation_set_affinity(surf_resource_t resource, surf_resource_t cpu, unsigned long mask);
+XBT_PUBLIC(void) surf_vm_set_affinity(surf_resource_t resource, surf_resource_t cpu, unsigned long mask);
 
 /**
  * @brief Execute some quantity of computation
@@ -592,13 +592,13 @@ XBT_PUBLIC(surf_action_t) surf_cpu_execute(surf_resource_t cpu, double size);
 XBT_PUBLIC(surf_action_t) surf_cpu_sleep(surf_resource_t cpu, double duration);
 
 /**
- * @brief Get the workstation power peak
+ * @brief Get the host power peak
  * @details [long description]
  *
- * @param host The surf workstation
+ * @param host The surf host
  * @return The power peak
  */
-XBT_PUBLIC(double) surf_workstation_get_current_power_peak(surf_resource_t host);
+XBT_PUBLIC(double) surf_host_get_current_power_peak(surf_resource_t host);
 
 /**
  * @brief [brief description]
@@ -609,7 +609,7 @@ XBT_PUBLIC(double) surf_workstation_get_current_power_peak(surf_resource_t host)
  *
  * @return [description]
  */
-XBT_PUBLIC(double) surf_workstation_get_power_peak_at(surf_resource_t host, int pstate_index);
+XBT_PUBLIC(double) surf_host_get_power_peak_at(surf_resource_t host, int pstate_index);
 
 /**
  * @brief [brief description]
@@ -618,83 +618,83 @@ XBT_PUBLIC(double) surf_workstation_get_power_peak_at(surf_resource_t host, int
  * @param host [description]
  * @return [description]
  */
-XBT_PUBLIC(int) surf_workstation_get_nb_pstates(surf_resource_t host);
+XBT_PUBLIC(int) surf_host_get_nb_pstates(surf_resource_t host);
 
-XBT_PUBLIC(void) surf_workstation_set_pstate(surf_resource_t host, int pstate_index);
-XBT_PUBLIC(int) surf_workstation_get_pstate(surf_resource_t host);
-XBT_PUBLIC(double) surf_workstation_get_wattmin_at(surf_resource_t resource, int pstate);
-XBT_PUBLIC(double) surf_workstation_get_wattmax_at(surf_resource_t resource, int pstate);
+XBT_PUBLIC(void) surf_host_set_pstate(surf_resource_t host, int pstate_index);
+XBT_PUBLIC(int) surf_host_get_pstate(surf_resource_t host);
+XBT_PUBLIC(double) surf_host_get_wattmin_at(surf_resource_t resource, int pstate);
+XBT_PUBLIC(double) surf_host_get_wattmax_at(surf_resource_t resource, int pstate);
 
 /**
- * @brief Get the consumed energy (in joules) of a workstation
+ * @brief Get the consumed energy (in joules) of an host
  *
- * @param host The surf workstation
+ * @param host The surf host
  * @return The consumed energy
  */
-XBT_PUBLIC(double) surf_workstation_get_consumed_energy(surf_resource_t host);
+XBT_PUBLIC(double) surf_host_get_consumed_energy(surf_resource_t host);
 
 /**
- * @brief Get the list of storages mounted on a workstation
+ * @brief Get the list of storages mounted on an host
  *
- * @param workstation The surf workstation
+ * @param host The surf host
  * @return Dictionary of mount point, Storage
  */
-XBT_PUBLIC(xbt_dict_t) surf_workstation_get_mounted_storage_list(surf_resource_t workstation);
+XBT_PUBLIC(xbt_dict_t) surf_host_get_mounted_storage_list(surf_resource_t host);
 
 /**
- * @brief Get the list of storages attached to a workstation
+ * @brief Get the list of storages attached to an host
  *
- * @param workstation The surf workstation
+ * @param host The surf host
  * @return Dictionary of storage
  */
-XBT_PUBLIC(xbt_dynar_t) surf_workstation_get_attached_storage_list(surf_resource_t workstation);
+XBT_PUBLIC(xbt_dynar_t) surf_host_get_attached_storage_list(surf_resource_t host);
 
 /**
  * @brief Unlink a file descriptor
  *
- * @param workstation The surf workstation
+ * @param host The surf host
  * @param fd The file descriptor
  *
  * @return 0 if failed to unlink, 1 otherwise
  */
-XBT_PUBLIC(int) surf_workstation_unlink(surf_resource_t workstation, surf_file_t fd);
+XBT_PUBLIC(int) surf_host_unlink(surf_resource_t host, surf_file_t fd);
 
 /**
- * @brief Get the size of a file on a workstation
+ * @brief Get the size of a file on a host
  *
- * @param workstation The surf workstation
+ * @param host The surf host
  * @param fd The file descriptor
  *
  * @return The size in bytes of the file
  */
-XBT_PUBLIC(size_t) surf_workstation_get_size(surf_resource_t workstation, surf_file_t fd);
+XBT_PUBLIC(size_t) surf_host_get_size(surf_resource_t host, surf_file_t fd);
 
 /**
  * @brief Get the current position of the file descriptor
  *
- * @param workstation The surf workstation
+ * @param host The surf host
  * @param fd The file descriptor
  * @return The current position of the file descriptor
  */
-XBT_PUBLIC(size_t) surf_workstation_file_tell(surf_resource_t workstation, surf_file_t fd);
+XBT_PUBLIC(size_t) surf_host_file_tell(surf_resource_t host, surf_file_t fd);
 
 /**
  * @brief Move a file to another location on the *same mount point*.
  * @details [long description]
  *
- * @param workstation The surf workstation
+ * @param host The surf host
  * @param fd The file descriptor
  * @param fullpath The new full path
  *
  * @return MSG_OK if successful, otherwise MSG_TASK_CANCELED
  */
-XBT_PUBLIC(int) surf_workstation_file_move(surf_resource_t workstation, surf_file_t fd, const char* fullpath);
+XBT_PUBLIC(int) surf_host_file_move(surf_resource_t host, surf_file_t fd, const char* fullpath);
 
 /**
  * @brief Set the position indictator assiociated with the file descriptor to a new position
  * @details [long description]
  *
- * @param workstation The surf workstation
+ * @param host The surf host
  * @param fd The file descriptor
  * @param offset The offset from the origin
  * @param origin Position used as a reference for the offset
@@ -703,7 +703,7 @@ XBT_PUBLIC(int) surf_workstation_file_move(surf_resource_t workstation, surf_fil
  *  - SEEK_END: end of the file
  * @return MSG_OK if successful, otherwise MSG_TASK_CANCELED
  */
-XBT_PUBLIC(int) surf_workstation_file_seek(surf_resource_t workstation,
+XBT_PUBLIC(int) surf_host_file_seek(surf_resource_t host,
                                            surf_file_t fd, sg_offset_t offset,
                                            int origin);
 
@@ -986,7 +986,7 @@ XBT_PUBLIC_DATA(s_surf_model_description_t) surf_cpu_model_description[];
  *  \brief The network model
  *
  *  When creating a new API on top on SURF, you shouldn't use the
- *  network model unless you know what you are doing. Only the workstation
+ *  network model unless you know what you are doing. Only the host
  *  model should be accessed because depending on the platform model,
  *  the network model can be NULL.
  */
@@ -1000,7 +1000,7 @@ XBT_PUBLIC_DATA(surf_network_model_t) surf_network_model;
  * size (< 1KiB, < 64KiB, >= 64KiB).
  * See comments in the code for more information.
  *
- *  \see surf_workstation_model_init_SMPI()
+ *  \see surf_host_model_init_SMPI()
  */
 XBT_PUBLIC(void) surf_network_model_init_SMPI(void);
 
@@ -1010,7 +1010,7 @@ XBT_PUBLIC(void) surf_network_model_init_SMPI(void);
  * This model impelments a variant of the contention model on Infinband networks based on
  * the works of Jérôme Vienne : http://mescal.imag.fr/membres/jean-marc.vincent/index.html/PhD/Vienne.pdf
  *
- *  \see surf_workstation_model_init_IB()
+ *  \see surf_host_model_init_IB()
  */
 XBT_PUBLIC(void) surf_network_model_init_IB(void);
 
@@ -1021,7 +1021,7 @@ XBT_PUBLIC(void) surf_network_model_init_IB(void);
  * the results obtained with the GTNets simulator for onelink and
  * dogbone sharing scenarios. See comments in the code for more information.
  *
- *  \see surf_workstation_model_init_LegrandVelho()
+ *  \see surf_host_model_init_LegrandVelho()
  */
 XBT_PUBLIC(void) surf_network_model_init_LegrandVelho(void);
 
@@ -1032,9 +1032,9 @@ XBT_PUBLIC(void) surf_network_model_init_LegrandVelho(void);
  *  constant, hence no need for a routing table. This is particularly
  *  usefull when simulating huge distributed algorithms where
  *  scalability is really an issue. This function is called in
- *  conjunction with surf_workstation_model_init_compound.
+ *  conjunction with surf_host_model_init_compound.
  *
- *  \see surf_workstation_model_init_compound()
+ *  \see surf_host_model_init_compound()
  */
 XBT_PUBLIC(void) surf_network_model_init_Constant(void);
 
@@ -1042,7 +1042,7 @@ XBT_PUBLIC(void) surf_network_model_init_Constant(void);
  *  \brief Initializes the platform with the network model CM02
  *
  *  You sould call this function by yourself only if you plan using
- *  surf_workstation_model_init_compound.
+ *  surf_host_model_init_compound.
  *  See comments in the code for more information.
  */
 XBT_PUBLIC(void) surf_network_model_init_CM02(void);
@@ -1052,10 +1052,10 @@ XBT_PUBLIC(void) surf_network_model_init_CM02(void);
  *  \brief Initializes the platform with the network model GTNETS
  *  \param filename XML platform file name
  *
- *  This function is called by surf_workstation_model_init_GTNETS
- *  or by yourself only if you plan using surf_workstation_model_init_compound
+ *  This function is called by surf_host_model_init_GTNETS
+ *  or by yourself only if you plan using surf_host_model_init_compound
  *
- *  \see surf_workstation_model_init_GTNETS()
+ *  \see surf_host_model_init_GTNETS()
  */
 XBT_PUBLIC(void) surf_network_model_init_GTNETS(void);
 #endif
@@ -1065,10 +1065,10 @@ XBT_PUBLIC(void) surf_network_model_init_GTNETS(void);
  *  \brief Initializes the platform with the network model NS3
  *  \param filename XML platform file name
  *
- *  This function is called by surf_workstation_model_init_NS3
- *  or by yourself only if you plan using surf_workstation_model_init_compound
+ *  This function is called by surf_host_model_init_NS3
+ *  or by yourself only if you plan using surf_host_model_init_compound
  *
- *  \see surf_workstation_model_init_NS3()
+ *  \see surf_host_model_init_NS3()
  */
 XBT_PUBLIC(void) surf_network_model_init_NS3(void);
 #endif
@@ -1083,7 +1083,7 @@ XBT_PUBLIC(void) surf_network_model_init_NS3(void);
  *  [LOW03] S. H. Low. A duality model of TCP and queue management algorithms.
  *  IEEE/ACM Transaction on Networking, 11(4):525-536, 2003.
  *
- *  Call this function only if you plan using surf_workstation_model_init_compound.
+ *  Call this function only if you plan using surf_host_model_init_compound.
  *
  */
 XBT_PUBLIC(void) surf_network_model_init_Reno(void);
@@ -1098,7 +1098,7 @@ XBT_PUBLIC(void) surf_network_model_init_Reno(void);
  *  [LOW01] S. H. Low. A duality model of TCP and queue management algorithms.
  *  IEEE/ACM Transaction on Networking, 11(4):525-536, 2003.
  *
- *  Call this function only if you plan using surf_workstation_model_init_compound.
+ *  Call this function only if you plan using surf_host_model_init_compound.
  *
  */
 XBT_PUBLIC(void) surf_network_model_init_Reno2(void);
@@ -1114,7 +1114,7 @@ XBT_PUBLIC(void) surf_network_model_init_Reno2(void);
  *  [LOW03] S. H. Low. A duality model of TCP and queue management algorithms.
  *  IEEE/ACM Transaction on Networking, 11(4):525-536, 2003.
  *
- *  Call this function only if you plan using surf_workstation_model_init_compound.
+ *  Call this function only if you plan using surf_host_model_init_compound.
  *
  */
 XBT_PUBLIC(void) surf_network_model_init_Vegas(void);
@@ -1139,79 +1139,79 @@ XBT_PUBLIC_DATA(s_surf_model_description_t) surf_storage_model_description[];
 XBT_PUBLIC_DATA(surf_storage_model_t) surf_storage_model;
 
 /** \ingroup SURF_models
- *  \brief The workstation model
+ *  \brief The host model
  *
  *  Note that when you create an API on top of SURF,
- *  the workstation model should be the only one you use
+ *  the host model should be the only one you use
  *  because depending on the platform model, the network model and the CPU model
  *  may not exist.
  */
-XBT_PUBLIC_DATA(surf_workstation_model_t) surf_workstation_model;
+XBT_PUBLIC_DATA(surf_host_model_t) surf_host_model;
 
 /** \ingroup SURF_models
- *  \brief The vm_workstation model
+ *  \brief The vm model
  *
  *  Note that when you create an API on top of SURF,
- *  the vm_workstation model should be the only one you use
+ *  the vm model should be the only one you use
  *  because depending on the platform model, the network model and the CPU model
  *  may not exist.
  */
-XBT_PUBLIC_DATA(surf_vm_workstation_model_t) surf_vm_workstation_model;
+XBT_PUBLIC_DATA(surf_vm_model_t) surf_vm_model;
 
 /** \ingroup SURF_models
- *  \brief Initializes the platform with a compound workstation model
+ *  \brief Initializes the platform with a compound host model
  *
  *  This function should be called after a cpu_model and a
  *  network_model have been set up.
  *
  */
-XBT_PUBLIC(void) surf_workstation_model_init_compound(void);
+XBT_PUBLIC(void) surf_host_model_init_compound(void);
 
 /** \ingroup SURF_models
  *  \brief Initializes the platform with the current best network and cpu models at hand
  *
- *  This platform model seperates the workstation model and the network model.
- *  The workstation model will be initialized with the model compound, the network
+ *  This platform model separates the host model and the network model.
+ *  The host model will be initialized with the model compound, the network
  *  model with the model LV08 (with cross traffic support) and the CPU model with
  *  the model Cas01.
  *  Such model is subject to modification with warning in the ChangeLog so monitor it!
  *
  */
-XBT_PUBLIC(void) surf_workstation_model_init_current_default(void);
+XBT_PUBLIC(void) surf_host_model_init_current_default(void);
 
 /** \ingroup SURF_models
- *  \brief Initializes the platform with the model KCCFLN05
+ *  \brief Initializes the platform with the model L07
  *
  *  With this model, only parallel tasks can be used. Resource sharing
  *  is done by identifying bottlenecks and giving an equal share of
  *  the model to each action.
  *
  */
-XBT_PUBLIC(void) surf_workstation_model_init_ptask_L07(void);
+XBT_PUBLIC(void) surf_host_model_init_ptask_L07(void);
 
 /** \ingroup SURF_models
- *  \brief The list of all available workstation model models
+ *  \brief The list of all available host model models
  */
 XBT_PUBLIC_DATA(s_surf_model_description_t)
-    surf_workstation_model_description[];
+    surf_host_model_description[];
 
 /** \ingroup SURF_models
  *  \brief Initializes the platform with the current best network and cpu models at hand
  *
- *  This platform model seperates the workstation model and the network model.
- *  The workstation model will be initialized with the model compound, the network
+ *  This platform model seperates the host model and the network model.
+ *  The host model will be initialized with the model compound, the network
  *  model with the model LV08 (with cross traffic support) and the CPU model with
  *  the model Cas01.
  *  Such model is subject to modification with warning in the ChangeLog so monitor it!
  *
  */
-XBT_PUBLIC(void) surf_vm_workstation_model_init_HL13(void);
+XBT_PUBLIC(void) surf_vm_model_init_HL13(void);
 
 /** \ingroup SURF_models
- *  \brief The list of all available vm workstation model models
+ *  \brief The list of all available vm model models
  */
 XBT_PUBLIC_DATA(s_surf_model_description_t)
-    surf_vm_workstation_model_description[];
+    surf_vm_model_description[];
 
 /*******************************************/
 
@@ -1256,9 +1256,9 @@ XBT_PUBLIC_DATA(e_surf_network_element_type_t) surf_routing_edge_get_rc_type(sg_
  *  This function has to be called to initialize the common
  *  structures.  Then you will have to create the environment by
  *  calling
- *  e.g. surf_workstation_model_init_CM02()
+ *  e.g. surf_host_model_init_CM02()
  *
- *  \see surf_workstation_model_init_CM02(), surf_workstation_model_init_compound(), surf_exit()
+ *  \see surf_host_model_init_CM02(), surf_host_model_init_compound(), surf_exit()
  */
 XBT_PUBLIC(void) surf_init(int *argc, char **argv);     /* initialize common structures */
 
index 2db53d2..f955263 100644 (file)
@@ -37,6 +37,7 @@ XBT_LOG_NEW_DEFAULT_SUBCATEGORY (instr_config, instr, "Configuration");
 #define OPT_VIVA_CAT_CONF        "viva/categorized"
 #define OPT_TRACING_DISABLE_LINK        "tracing/disable_link"
 #define OPT_TRACING_DISABLE_POWER       "tracing/disable_power"
+#define OPT_TRACING_PRECISION     "tracing/precision"
 
 static int trace_enabled = 0;
 static int trace_platform;
@@ -57,6 +58,7 @@ static int trace_basic;
 static int trace_display_sizes = 0;
 static int trace_disable_link;
 static int trace_disable_power;
+static int trace_precision;
 
 static int trace_configured = 0;
 static int trace_active = 0;
@@ -84,6 +86,7 @@ static void TRACE_getopts(void)
   trace_display_sizes = xbt_cfg_get_boolean(_sg_cfg_set, OPT_TRACING_DISPLAY_SIZES);
   trace_disable_link = xbt_cfg_get_boolean(_sg_cfg_set, OPT_TRACING_DISABLE_LINK);
   trace_disable_power = xbt_cfg_get_boolean(_sg_cfg_set, OPT_TRACING_DISABLE_POWER);
+  trace_precision = xbt_cfg_get_int(_sg_cfg_set, OPT_TRACING_PRECISION);
 }
 
 static xbt_dynar_t TRACE_start_functions = NULL;
@@ -335,6 +338,11 @@ char *TRACE_get_comment_file (void)
   return xbt_cfg_get_string(_sg_cfg_set, OPT_TRACING_COMMENT_FILE);
 }
 
+int TRACE_precision (void)
+{
+  return xbt_cfg_get_int(_sg_cfg_set, OPT_TRACING_PRECISION);
+}
+
 char *TRACE_get_filename(void)
 {
   return xbt_cfg_get_string(_sg_cfg_set, OPT_TRACING_FILENAME);
@@ -499,6 +507,12 @@ void TRACE_global_init(int *argc, char **argv)
                    xbt_cfgelm_string, 1, 1, NULL, NULL);
   xbt_cfg_setdefault_string(_sg_cfg_set, OPT_TRACING_COMMENT_FILE, "");
 
+  /* trace timestamp precision */
+  xbt_cfg_register(&_sg_cfg_set, OPT_TRACING_PRECISION,
+                   "Numerical precision used when timestamping events (hence this value is expressed in number of digits after decimal point)",
+                   xbt_cfgelm_int, 1, 1, NULL, NULL);
+  xbt_cfg_setdefault_int(_sg_cfg_set, OPT_TRACING_PRECISION, 6);
+
   /* Viva graph configuration for uncategorized tracing */
   xbt_cfg_register(&_sg_cfg_set, OPT_VIVA_UNCAT_CONF,
                    "Viva Graph configuration file for uncategorized resource utilization traces.",
index e99bb30..ae6cb79 100644 (file)
@@ -12,7 +12,6 @@ XBT_LOG_NEW_DEFAULT_SUBCATEGORY(instr_paje_trace, instr_trace, "tracing event sy
 extern FILE * tracing_file;
 extern s_instr_trace_writer_t active_writer;
 
-
 void TRACE_paje_init(void)
 {
   active_writer.print_DefineContainerType=print_pajeDefineContainerType;
@@ -140,7 +139,7 @@ void print_pajeDefineEntityValue (paje_event_t event)
 
 void print_pajeCreateContainer(paje_event_t event)
 {
-  XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)event->event_type, event->timestamp);
+  XBT_DEBUG("%s: event_type=%d, timestamp=%.*f", __FUNCTION__, (int)event->event_type, TRACE_precision(), event->timestamp);
   if (event->timestamp == 0){
     fprintf(tracing_file, "%d 0 %s %s %s \"%s\"\n",
         (int)event->event_type,
@@ -149,8 +148,9 @@ void print_pajeCreateContainer(paje_event_t event)
         ((createContainer_t)event->data)->container->father->id,
         ((createContainer_t)event->data)->container->name);
   }else{
-    fprintf(tracing_file, "%d %f %s %s %s \"%s\"\n",
+    fprintf(tracing_file, "%d %.*f %s %s %s \"%s\"\n",
         (int)event->event_type,
+        TRACE_precision(),
         event->timestamp,
         ((createContainer_t)event->data)->container->id,
         ((createContainer_t)event->data)->container->type->id,
@@ -161,15 +161,16 @@ void print_pajeCreateContainer(paje_event_t event)
 
 void print_pajeDestroyContainer(paje_event_t event)
 {
-  XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)event->event_type, event->timestamp);
+  XBT_DEBUG("%s: event_type=%d, timestamp=%.*f", __FUNCTION__, (int)event->event_type, TRACE_precision(), event->timestamp);
   if (event->timestamp == 0){
     fprintf(tracing_file, "%d 0 %s %s\n",
         (int)event->event_type,
         ((destroyContainer_t)event->data)->container->type->id,
         ((destroyContainer_t)event->data)->container->id);
   }else{
-    fprintf(tracing_file, "%d %f %s %s\n",
+    fprintf(tracing_file, "%d %.*f %s %s\n",
         (int)event->event_type,
+        TRACE_precision(),
         event->timestamp,
         ((destroyContainer_t)event->data)->container->type->id,
         ((destroyContainer_t)event->data)->container->id);
@@ -178,7 +179,7 @@ void print_pajeDestroyContainer(paje_event_t event)
 
 void print_pajeSetVariable(paje_event_t event)
 {
-  XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)event->event_type, event->timestamp);
+  XBT_DEBUG("%s: event_type=%d, timestamp=%.*f", __FUNCTION__, (int)event->event_type, TRACE_precision(), event->timestamp);
   if (event->timestamp == 0){
     fprintf(tracing_file, "%d 0 %s %s %f\n",
         (int)event->event_type,
@@ -186,8 +187,9 @@ void print_pajeSetVariable(paje_event_t event)
         ((setVariable_t)event->data)->container->id,
         ((setVariable_t)event->data)->value);
   }else{
-    fprintf(tracing_file, "%d %f %s %s %f\n",
+    fprintf(tracing_file, "%d %.*f %s %s %f\n",
         (int)event->event_type,
+        TRACE_precision(),
         event->timestamp,
         ((setVariable_t)event->data)->type->id,
         ((setVariable_t)event->data)->container->id,
@@ -197,7 +199,7 @@ void print_pajeSetVariable(paje_event_t event)
 
 void print_pajeAddVariable(paje_event_t event)
 {
-  XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)event->event_type, event->timestamp);
+  XBT_DEBUG("%s: event_type=%d, timestamp=%.*f", __FUNCTION__, (int)event->event_type, TRACE_precision(), event->timestamp);
   if (event->timestamp == 0){
     fprintf(tracing_file, "%d 0 %s %s %f\n",
         (int)event->event_type,
@@ -205,8 +207,9 @@ void print_pajeAddVariable(paje_event_t event)
         ((addVariable_t)event->data)->container->id,
         ((addVariable_t)event->data)->value);
   }else{
-    fprintf(tracing_file, "%d %f %s %s %f\n",
+    fprintf(tracing_file, "%d %.*f %s %s %f\n",
         (int)event->event_type,
+        TRACE_precision(),
         event->timestamp,
         ((addVariable_t)event->data)->type->id,
         ((addVariable_t)event->data)->container->id,
@@ -216,7 +219,7 @@ void print_pajeAddVariable(paje_event_t event)
 
 void print_pajeSubVariable(paje_event_t event)
 {
-  XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)event->event_type, event->timestamp);
+  XBT_DEBUG("%s: event_type=%d, timestamp=%.*f", __FUNCTION__, (int)event->event_type, TRACE_precision(), event->timestamp);
   if (event->timestamp == 0){
     fprintf(tracing_file, "%d 0 %s %s %f\n",
         (int)event->event_type,
@@ -224,8 +227,9 @@ void print_pajeSubVariable(paje_event_t event)
         ((subVariable_t)event->data)->container->id,
         ((subVariable_t)event->data)->value);
   }else{
-    fprintf(tracing_file, "%d %f %s %s %f\n",
+    fprintf(tracing_file, "%d %.*f %s %s %f\n",
         (int)event->event_type,
+        TRACE_precision(),
         event->timestamp,
         ((subVariable_t)event->data)->type->id,
         ((subVariable_t)event->data)->container->id,
@@ -235,7 +239,7 @@ void print_pajeSubVariable(paje_event_t event)
 
 void print_pajeSetState(paje_event_t event)
 {
-  XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)event->event_type, event->timestamp);
+  XBT_DEBUG("%s: event_type=%d, timestamp=%.*f", __FUNCTION__, (int)event->event_type, TRACE_precision(), event->timestamp);
   if (event->timestamp == 0){
     fprintf(tracing_file, "%d 0 %s %s %s\n",
         (int)event->event_type,
@@ -243,8 +247,9 @@ void print_pajeSetState(paje_event_t event)
         ((setState_t)event->data)->container->id,
         ((setState_t)event->data)->value->id);
   }else{
-    fprintf(tracing_file, "%d %f %s %s %s\n",
+    fprintf(tracing_file, "%d %.*f %s %s %s\n",
         (int)event->event_type,
+        TRACE_precision(),
         event->timestamp,
         ((setState_t)event->data)->type->id,
         ((setState_t)event->data)->container->id,
@@ -254,7 +259,7 @@ void print_pajeSetState(paje_event_t event)
 
 void print_pajePushState(paje_event_t event)
 {
-  XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)event->event_type, event->timestamp);
+  XBT_DEBUG("%s: event_type=%d, timestamp=%.*f", __FUNCTION__, (int)event->event_type, TRACE_precision(), event->timestamp);
   if (!TRACE_display_sizes()){
     if (event->timestamp == 0){
       fprintf(tracing_file, "%d 0 %s %s %s\n",
@@ -263,8 +268,9 @@ void print_pajePushState(paje_event_t event)
           ((pushState_t)event->data)->container->id,
           ((pushState_t)event->data)->value->id);
     }else{
-      fprintf(tracing_file, "%d %f %s %s %s\n",
+      fprintf(tracing_file, "%d %.*f %s %s %s\n",
           (int)event->event_type,
+          TRACE_precision(),
           event->timestamp,
           ((pushState_t)event->data)->type->id,
           ((pushState_t)event->data)->container->id,
@@ -285,8 +291,9 @@ void print_pajePushState(paje_event_t event)
       fprintf(tracing_file, "\n");
 
     }else{
-      fprintf(tracing_file, "%d %f %s %s %s ",
+      fprintf(tracing_file, "%d %.*f %s %s %s ",
           (int)event->event_type,
+          TRACE_precision(),
           event->timestamp,
           ((pushState_t)event->data)->type->id,
           ((pushState_t)event->data)->container->id,
@@ -311,15 +318,16 @@ void print_pajePushState(paje_event_t event)
 
 void print_pajePopState(paje_event_t event)
 {
-  XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)event->event_type, event->timestamp);
+  XBT_DEBUG("%s: event_type=%d, timestamp=%.*f", __FUNCTION__, (int)event->event_type, TRACE_precision(), event->timestamp);
   if (event->timestamp == 0){
     fprintf(tracing_file, "%d 0 %s %s\n",
         (int)event->event_type,
         ((popState_t)event->data)->type->id,
         ((popState_t)event->data)->container->id);
   }else{
-    fprintf(tracing_file, "%d %f %s %s\n",
+    fprintf(tracing_file, "%d %.*f %s %s\n",
         (int)event->event_type,
+        TRACE_precision(),
         event->timestamp,
         ((popState_t)event->data)->type->id,
         ((popState_t)event->data)->container->id);
@@ -328,15 +336,16 @@ void print_pajePopState(paje_event_t event)
 
 void print_pajeResetState(paje_event_t event)
 {
-  XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)event->event_type, event->timestamp);
+  XBT_DEBUG("%s: event_type=%d, timestamp=%.*f", __FUNCTION__, (int)event->event_type, TRACE_precision(), event->timestamp);
   if (event->timestamp == 0){
     fprintf(tracing_file, "%d 0 %s %s\n",
         (int)event->event_type,
         ((resetState_t)event->data)->type->id,
         ((resetState_t)event->data)->container->id);
   }else{
-    fprintf(tracing_file, "%d %f %s %s\n",
+    fprintf(tracing_file, "%d %.*f %s %s\n",
         (int)event->event_type,
+        TRACE_precision(),
         event->timestamp,
         ((resetState_t)event->data)->type->id,
         ((resetState_t)event->data)->container->id);
@@ -355,8 +364,9 @@ void print_pajeStartLink(paje_event_t event)
           ((startLink_t)event->data)->sourceContainer->id,
           ((startLink_t)event->data)->key);
     }else {
-      fprintf(tracing_file, "%d %f %s %s %s %s %s\n",
+      fprintf(tracing_file, "%d %.*f %s %s %s %s %s\n",
           (int)event->event_type,
+          TRACE_precision(),
           event->timestamp,
           ((startLink_t)event->data)->type->id,
           ((startLink_t)event->data)->container->id,
@@ -365,7 +375,7 @@ void print_pajeStartLink(paje_event_t event)
           ((startLink_t)event->data)->key);
     }
   }else{
-  XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)event->event_type, event->timestamp);
+  XBT_DEBUG("%s: event_type=%d, timestamp=%.*f", __FUNCTION__, (int)event->event_type, TRACE_precision(), event->timestamp);
     if (event->timestamp == 0){
       fprintf(tracing_file, "%d 0 %s %s %s %s %s %d\n",
           (int)event->event_type,
@@ -376,8 +386,9 @@ void print_pajeStartLink(paje_event_t event)
           ((startLink_t)event->data)->key,
           ((startLink_t)event->data)->size);
     }else {
-      fprintf(tracing_file, "%d %f %s %s %s %s %s %d\n",
+      fprintf(tracing_file, "%d %.*f %s %s %s %s %s %d\n",
           (int)event->event_type,
+          TRACE_precision(),
           event->timestamp,
           ((startLink_t)event->data)->type->id,
           ((startLink_t)event->data)->container->id,
@@ -391,7 +402,7 @@ void print_pajeStartLink(paje_event_t event)
 
 void print_pajeEndLink(paje_event_t event)
 {
-  XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)event->event_type, event->timestamp);
+  XBT_DEBUG("%s: event_type=%d, timestamp=%.*f", __FUNCTION__, (int)event->event_type, TRACE_precision(), event->timestamp);
   if (event->timestamp == 0){
     fprintf(tracing_file, "%d 0 %s %s %s %s %s\n",
         (int)event->event_type,
@@ -401,8 +412,9 @@ void print_pajeEndLink(paje_event_t event)
         ((endLink_t)event->data)->destContainer->id,
         ((endLink_t)event->data)->key);
   }else {
-    fprintf(tracing_file, "%d %f %s %s %s %s %s\n",
+    fprintf(tracing_file, "%d %.*f %s %s %s %s %s\n",
         (int)event->event_type,
+        TRACE_precision(),
         event->timestamp,
         ((endLink_t)event->data)->type->id,
         ((endLink_t)event->data)->container->id,
@@ -414,7 +426,7 @@ void print_pajeEndLink(paje_event_t event)
 
 void print_pajeNewEvent (paje_event_t event)
 {
-  XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)event->event_type, event->timestamp);
+  XBT_DEBUG("%s: event_type=%d, timestamp=%.*f", __FUNCTION__, (int)event->event_type, TRACE_precision(), event->timestamp);
   if (event->timestamp == 0){
     fprintf(tracing_file, "%d 0 %s %s %s\n",
         (int)event->event_type,
@@ -422,8 +434,9 @@ void print_pajeNewEvent (paje_event_t event)
         ((newEvent_t)event->data)->container->id,
         ((newEvent_t)event->data)->value->id);
   }else{
-    fprintf(tracing_file, "%d %f %s %s %s\n",
+    fprintf(tracing_file, "%d %.*f %s %s %s\n",
         (int)event->event_type,
+        TRACE_precision(),
         event->timestamp,
         ((newEvent_t)event->data)->type->id,
         ((newEvent_t)event->data)->container->id,
index b06099e..e9e4202 100644 (file)
@@ -284,6 +284,7 @@ int TRACE_basic (void);
 int TRACE_display_sizes (void);
 char *TRACE_get_comment (void);
 char *TRACE_get_comment_file (void);
+int TRACE_precision (void);
 char *TRACE_get_filename(void);
 char *TRACE_get_viva_uncat_conf (void);
 char *TRACE_get_viva_cat_conf (void);
index 4d11263..2e04fe0 100644 (file)
@@ -94,7 +94,6 @@ static void create_hierarchy(AS_t current_comp,
 void jedule_setup_platform()
 {
   AS_t root_comp;
-  // e_surf_network_element_type_t type;
 
   jed_simgrid_container_t root_container;
 
index 1da65e8..4481e45 100644 (file)
@@ -4,8 +4,8 @@
 /* This program is free software; you can redistribute it and/or modify it
  * under the terms of the license (GNU LGPL) which comes with this package. */
 
-#ifndef MC_ADDRESS_SPACE_H
-#define MC_ADDRESS_SPACE_H
+#ifndef SIMGRID_MC_ADDRESS_SPACE_H
+#define SIMGRID_MC_ADDRESS_SPACE_H
 
 #include <cstdint>
 #include <type_traits>
index f9a1342..fe50841 100644 (file)
@@ -4,8 +4,8 @@
 /* This program is free software; you can redistribute it and/or modify it
  * under the terms of the license (GNU LGPL) which comes with this package. */
  
-#ifndef MC_MODEL_CHECKER_H
-#define MC_MODEL_CHECKER_H
+#ifndef SIMGRID_MC_MODEL_CHECKER_HPP
+#define SIMGRID_MC_MODEL_CHECKER_HPP
 
 #include <sys/types.h>
 
index 3491f58..f1d84d3 100644 (file)
@@ -4,25 +4,23 @@
 /* This program is free software; you can redistribute it and/or modify it
  * under the terms of the license (GNU LGPL) which comes with this package. */
 
+#ifndef SIMGRID_MC_PAGESTORE_HPP
+#define SIMGRID_MC_PAGESTORE_HPP
+
 #include <stdint.h>
 
-#ifdef __cplusplus
 #include <vector>
 
 #include <boost/array.hpp>
 #include <boost/utility.hpp>
 #include <boost/unordered_map.hpp>
 #include <boost/unordered_set.hpp>
-#endif
 
 #include <xbt.h>
 
 #include "mc_mmu.h"
 #include "mc_forward.h"
 
-#ifndef MC_PAGE_STORE_H
-#define MC_PAGE_STORE_H
-
 namespace simgrid {
 namespace mc {
 
index a5f1946..5e09e62 100644 (file)
@@ -4,15 +4,15 @@
 /* This program is free software; you can redistribute it and/or modify it
  * under the terms of the license (GNU LGPL) which comes with this package. */
 
+#ifndef SIMGRID_MC_REGION_SNAPSHOT_HPP
+#define SIMGRID_MC_REGION_SNAPSHOT_HPP
+
 #include <cstddef>
 #include <utility>
 
 #include "PageStore.hpp"
 #include "AddressSpace.hpp"
 
-#ifndef SIMGRID_MC_REGION_SNAPSHOT_HPP
-#define SIMGRID_MC_REGION_SNAPSHOT_HPP
-
 namespace simgrid {
 namespace mc {
 
index c3a63c1..45b3cb5 100644 (file)
@@ -4,8 +4,8 @@
 /* This program is free software; you can redistribute it and/or modify it
  * under the terms of the license (GNU LGPL) which comes with this package. */
 
-#ifndef MC_BASE_H
-#define MC_BASE_H
+#ifndef SIMGRID_MC_BASE_H
+#define SIMGRID_MC_BASE_H
 
 #include <xbt/misc.h>
 #include <simgrid/simix.h>
index c919dc8..589e625 100644 (file)
@@ -4,8 +4,8 @@
 /* This program is free software; you can redistribute it and/or modify it
  * under the terms of the license (GNU LGPL) which comes with this package. */
 
-#ifndef MC_CLIENT_H
-#define MC_CLIENT_H
+#ifndef SIMGRID_MC_CLIENT_H
+#define SIMGRID_MC_CLIENT_H
 
 #include <xbt/misc.h>
 #include "mc_protocol.h"
index 0f50392..54a7036 100644 (file)
@@ -4,6 +4,9 @@
 /* This program is free software; you can redistribute it and/or modify it
  * under the terms of the license (GNU LGPL) which comes with this package. */
 
+#ifndef SIMGRID_MC_COMM_PATTERN_H
+#define SIMGRID_MC_COMM_PATTERN_H
+
 #include <stdint.h>
 
 #include <simgrid_config.h>
@@ -15,9 +18,6 @@
 
 #include "mc_state.h"
 
-#ifndef MC_COMM_PATTERN_H
-#define MC_COMM_PATTERN_H
-
 SG_BEGIN_DECL()
 
 typedef struct s_mc_comm_pattern{
index 67bb0e3..ab65cae 100644 (file)
@@ -18,8 +18,6 @@
 #include "mc_object_info.h"
 #include "mc_private.h"
 
-extern "C" {
-
 static void MC_dwarf_register_global_variable(mc_object_info_t info, dw_variable_t variable);
 static void MC_register_variable(mc_object_info_t info, dw_frame_t frame, dw_variable_t variable);
 static void MC_dwarf_register_non_global_variable(mc_object_info_t info, dw_frame_t frame, dw_variable_t variable);
@@ -101,37 +99,6 @@ static void MC_dwarf_handle_variable_die(mc_object_info_t info, Dwarf_Die * die,
  */
 static char *MC_dwarf_at_type(Dwarf_Die * die);
 
-/** \brief Get the name of an attribute (DW_AT_*) from its code
- *
- *  \param attr attribute code (see the DWARF specification)
- *  \return name of the attribute
- */
-const char *MC_dwarf_attrname(int attr)
-{
-  switch (attr) {
-#include "mc_dwarf_attrnames.h"
-  default:
-    return "DW_AT_unknown";
-  }
-}
-
-/** \brief Get the name of a dwarf tag (DW_TAG_*) from its code
- *
- *  \param tag tag code (see the DWARF specification)
- *  \return name of the tag
- */
-XBT_INTERNAL
-const char *MC_dwarf_tagname(int tag)
-{
-  switch (tag) {
-#include "mc_dwarf_tagnames.h"
-  case DW_TAG_invalid:
-    return "DW_TAG_invalid";
-  default:
-    return "DW_TAG_unknown";
-  }
-}
-
 /** \brief A class of DWARF tags (DW_TAG_*)
  */
 typedef enum mc_tag_class {
@@ -1074,6 +1041,18 @@ void mc_frame_free(dw_frame_t frame)
 
 s_dw_type::s_dw_type()
 {
+  this->type = 0;
+  this->id = 0;
+  this->name = nullptr;
+  this->byte_size = 0;
+  this->element_count = 0;
+  this->dw_type_id = nullptr;
+  this->members = nullptr;
+  this->is_pointer_type = 0;
+  this->location = { 0, 0, 0, 0};
+  this->offset = 0;
+  this->subtype = nullptr;
+  this->full_type = nullptr;
 }
 
 s_dw_type::~s_dw_type()
@@ -1110,12 +1089,22 @@ void dw_variable_free_voidp(void *t)
 
 s_mc_object_info::s_mc_object_info()
 {
-  this->types = xbt_dict_new_homogeneous((void (*)(void *)) dw_type_free);
+  this->flags = 0;
+  this->file_name = nullptr;
+  this->start = nullptr;
+  this->end = nullptr;
+  this->start_exec = nullptr;
+  this->end_exec = nullptr;
+  this->start_rw = nullptr;
+  this->end_rw = nullptr;
+  this->start_ro = nullptr;
+  this->end_ro = nullptr;
   this->subprograms = xbt_dict_new_homogeneous((void (*)(void *)) mc_frame_free);
   this->global_variables =
       xbt_dynar_new(sizeof(dw_variable_t), dw_variable_free_voidp);
-
+  this->types = xbt_dict_new_homogeneous((void (*)(void *)) dw_type_free);
   this->full_types_by_name = xbt_dict_new_homogeneous(NULL);
+  this->functions_index = nullptr;
 }
 
 s_mc_object_info::~s_mc_object_info()
@@ -1411,5 +1400,3 @@ void MC_post_process_object_info(mc_process_t process, mc_object_info_t info)
 
   }
 }
-
-}
diff --git a/src/mc/mc_dwarf_attrnames.cpp b/src/mc/mc_dwarf_attrnames.cpp
new file mode 100644 (file)
index 0000000..0462c0d
--- /dev/null
@@ -0,0 +1,164 @@
+/* Copyright (c) 2014. The SimGrid Team.
+ * All rights reserved.                                                     */
+
+/* This program is free software; you can redistribute it and/or modify it
+ * under the terms of the license (GNU LGPL) which comes with this package. */
+
+/* Warning: autogenerated, do not edit! */
+
+#include <xbt/base.h>
+#include <dwarf.h>
+
+#include "mc_object_info.h"
+
+/** \brief Get the name of an attribute (DW_AT_*) from its code
+ *
+ *  \param attr attribute code (see the DWARF specification)
+ *  \return name of the attribute
+ */
+const char *MC_dwarf_attrname(int attr)
+{
+  switch (attr) {
+  case 0x01: return "DW_AT_sibling";
+  case 0x02: return "DW_AT_location";
+  case 0x03: return "DW_AT_name";
+  case 0x09: return "DW_AT_ordering";
+  case 0x0a: return "DW_AT_subscr_data";
+  case 0x0b: return "DW_AT_byte_size";
+  case 0x0c: return "DW_AT_bit_offset";
+  case 0x0d: return "DW_AT_bit_size";
+  case 0x0f: return "DW_AT_element_list";
+  case 0x10: return "DW_AT_stmt_list";
+  case 0x11: return "DW_AT_low_pc";
+  case 0x12: return "DW_AT_high_pc";
+  case 0x13: return "DW_AT_language";
+  case 0x14: return "DW_AT_member";
+  case 0x15: return "DW_AT_discr";
+  case 0x16: return "DW_AT_discr_value";
+  case 0x17: return "DW_AT_visibility";
+  case 0x18: return "DW_AT_import";
+  case 0x19: return "DW_AT_string_length";
+  case 0x1a: return "DW_AT_common_reference";
+  case 0x1b: return "DW_AT_comp_dir";
+  case 0x1c: return "DW_AT_const_value";
+  case 0x1d: return "DW_AT_containing_type";
+  case 0x1e: return "DW_AT_default_value";
+  case 0x20: return "DW_AT_inline";
+  case 0x21: return "DW_AT_is_optional";
+  case 0x22: return "DW_AT_lower_bound";
+  case 0x25: return "DW_AT_producer";
+  case 0x27: return "DW_AT_prototyped";
+  case 0x2a: return "DW_AT_return_addr";
+  case 0x2c: return "DW_AT_start_scope";
+  case 0x2e: return "DW_AT_bit_stride";
+  case 0x2f: return "DW_AT_upper_bound";
+  case 0x31: return "DW_AT_abstract_origin";
+  case 0x32: return "DW_AT_accessibility";
+  case 0x33: return "DW_AT_address_class";
+  case 0x34: return "DW_AT_artificial";
+  case 0x35: return "DW_AT_base_types";
+  case 0x36: return "DW_AT_calling_convention";
+  case 0x37: return "DW_AT_count";
+  case 0x38: return "DW_AT_data_member_location";
+  case 0x39: return "DW_AT_decl_column";
+  case 0x3a: return "DW_AT_decl_file";
+  case 0x3b: return "DW_AT_decl_line";
+  case 0x3c: return "DW_AT_declaration";
+  case 0x3d: return "DW_AT_discr_list";
+  case 0x3e: return "DW_AT_encoding";
+  case 0x3f: return "DW_AT_external";
+  case 0x40: return "DW_AT_frame_base";
+  case 0x41: return "DW_AT_friend";
+  case 0x42: return "DW_AT_identifier_case";
+  case 0x43: return "DW_AT_macro_info";
+  case 0x44: return "DW_AT_namelist_item";
+  case 0x45: return "DW_AT_priority";
+  case 0x46: return "DW_AT_segment";
+  case 0x47: return "DW_AT_specification";
+  case 0x48: return "DW_AT_static_link";
+  case 0x49: return "DW_AT_type";
+  case 0x4a: return "DW_AT_use_location";
+  case 0x4b: return "DW_AT_variable_parameter";
+  case 0x4c: return "DW_AT_virtuality";
+  case 0x4d: return "DW_AT_vtable_elem_location";
+  case 0x4e: return "DW_AT_allocated";
+  case 0x4f: return "DW_AT_associated";
+  case 0x50: return "DW_AT_data_location";
+  case 0x51: return "DW_AT_byte_stride";
+  case 0x52: return "DW_AT_entry_pc";
+  case 0x53: return "DW_AT_use_UTF8";
+  case 0x54: return "DW_AT_extension";
+  case 0x55: return "DW_AT_ranges";
+  case 0x56: return "DW_AT_trampoline";
+  case 0x57: return "DW_AT_call_column";
+  case 0x58: return "DW_AT_call_file";
+  case 0x59: return "DW_AT_call_line";
+  case 0x5a: return "DW_AT_description";
+  case 0x5b: return "DW_AT_binary_scale";
+  case 0x5c: return "DW_AT_decimal_scale";
+  case 0x5d: return "DW_AT_small";
+  case 0x5e: return "DW_AT_decimal_sign";
+  case 0x5f: return "DW_AT_digit_count";
+  case 0x60: return "DW_AT_picture_string";
+  case 0x61: return "DW_AT_mutable";
+  case 0x62: return "DW_AT_threads_scaled";
+  case 0x63: return "DW_AT_explicit";
+  case 0x64: return "DW_AT_object_pointer";
+  case 0x65: return "DW_AT_endianity";
+  case 0x66: return "DW_AT_elemental";
+  case 0x67: return "DW_AT_pure";
+  case 0x68: return "DW_AT_recursive";
+  case 0x69: return "DW_AT_signature";
+  case 0x6a: return "DW_AT_main_subprogram";
+  case 0x6b: return "DW_AT_data_bit_offset";
+  case 0x6c: return "DW_AT_const_expr";
+  case 0x6d: return "DW_AT_enum_class";
+  case 0x6e: return "DW_AT_linkage_name";
+  case 0x2000: return "DW_AT_lo_user";
+  case 0x2001: return "DW_AT_MIPS_fde";
+  case 0x2002: return "DW_AT_MIPS_loop_begin";
+  case 0x2003: return "DW_AT_MIPS_tail_loop_begin";
+  case 0x2004: return "DW_AT_MIPS_epilog_begin";
+  case 0x2005: return "DW_AT_MIPS_loop_unroll_factor";
+  case 0x2006: return "DW_AT_MIPS_software_pipeline_depth";
+  case 0x2007: return "DW_AT_MIPS_linkage_name";
+  case 0x2008: return "DW_AT_MIPS_stride";
+  case 0x2009: return "DW_AT_MIPS_abstract_name";
+  case 0x200a: return "DW_AT_MIPS_clone_origin";
+  case 0x200b: return "DW_AT_MIPS_has_inlines";
+  case 0x200c: return "DW_AT_MIPS_stride_byte";
+  case 0x200d: return "DW_AT_MIPS_stride_elem";
+  case 0x200e: return "DW_AT_MIPS_ptr_dopetype";
+  case 0x200f: return "DW_AT_MIPS_allocatable_dopetype";
+  case 0x2010: return "DW_AT_MIPS_assumed_shape_dopetype";
+  case 0x2011: return "DW_AT_MIPS_assumed_size";
+  case 0x2101: return "DW_AT_sf_names";
+  case 0x2102: return "DW_AT_src_info";
+  case 0x2103: return "DW_AT_mac_info";
+  case 0x2104: return "DW_AT_src_coords";
+  case 0x2105: return "DW_AT_body_begin";
+  case 0x2106: return "DW_AT_body_end";
+  case 0x2107: return "DW_AT_GNU_vector";
+  case 0x2108: return "DW_AT_GNU_guarded_by";
+  case 0x2109: return "DW_AT_GNU_pt_guarded_by";
+  case 0x210a: return "DW_AT_GNU_guarded";
+  case 0x210b: return "DW_AT_GNU_pt_guarded";
+  case 0x210c: return "DW_AT_GNU_locks_excluded";
+  case 0x210d: return "DW_AT_GNU_exclusive_locks_required";
+  case 0x210e: return "DW_AT_GNU_shared_locks_required";
+  case 0x210f: return "DW_AT_GNU_odr_signature";
+  case 0x2110: return "DW_AT_GNU_template_name";
+  case 0x2111: return "DW_AT_GNU_call_site_value";
+  case 0x2112: return "DW_AT_GNU_call_site_data_value";
+  case 0x2113: return "DW_AT_GNU_call_site_target";
+  case 0x2114: return "DW_AT_GNU_call_site_target_clobbered";
+  case 0x2115: return "DW_AT_GNU_tail_call";
+  case 0x2116: return "DW_AT_GNU_all_tail_call_sites";
+  case 0x2117: return "DW_AT_GNU_all_call_sites";
+  case 0x2118: return "DW_AT_GNU_all_source_call_sites";
+  case 0x2119: return "DW_AT_GNU_macros";
+  case 0x3fff: return "DW_AT_hi_user";
+  default:
+    return "DW_AT_unknown";
+  }
+}
diff --git a/src/mc/mc_dwarf_attrnames.h b/src/mc/mc_dwarf_attrnames.h
deleted file mode 100644 (file)
index 5c83793..0000000
+++ /dev/null
@@ -1,145 +0,0 @@
-/* Copyright (c) 2014. The SimGrid Team.
- * All rights reserved.                                                     */
-
-/* This program is free software; you can redistribute it and/or modify it
- * under the terms of the license (GNU LGPL) which comes with this package. */
-
-case 0x01: return "DW_AT_sibling";
-case 0x02: return "DW_AT_location";
-case 0x03: return "DW_AT_name";
-case 0x09: return "DW_AT_ordering";
-case 0x0a: return "DW_AT_subscr_data";
-case 0x0b: return "DW_AT_byte_size";
-case 0x0c: return "DW_AT_bit_offset";
-case 0x0d: return "DW_AT_bit_size";
-case 0x0f: return "DW_AT_element_list";
-case 0x10: return "DW_AT_stmt_list";
-case 0x11: return "DW_AT_low_pc";
-case 0x12: return "DW_AT_high_pc";
-case 0x13: return "DW_AT_language";
-case 0x14: return "DW_AT_member";
-case 0x15: return "DW_AT_discr";
-case 0x16: return "DW_AT_discr_value";
-case 0x17: return "DW_AT_visibility";
-case 0x18: return "DW_AT_import";
-case 0x19: return "DW_AT_string_length";
-case 0x1a: return "DW_AT_common_reference";
-case 0x1b: return "DW_AT_comp_dir";
-case 0x1c: return "DW_AT_const_value";
-case 0x1d: return "DW_AT_containing_type";
-case 0x1e: return "DW_AT_default_value";
-case 0x20: return "DW_AT_inline";
-case 0x21: return "DW_AT_is_optional";
-case 0x22: return "DW_AT_lower_bound";
-case 0x25: return "DW_AT_producer";
-case 0x27: return "DW_AT_prototyped";
-case 0x2a: return "DW_AT_return_addr";
-case 0x2c: return "DW_AT_start_scope";
-case 0x2e: return "DW_AT_bit_stride";
-case 0x2f: return "DW_AT_upper_bound";
-case 0x31: return "DW_AT_abstract_origin";
-case 0x32: return "DW_AT_accessibility";
-case 0x33: return "DW_AT_address_class";
-case 0x34: return "DW_AT_artificial";
-case 0x35: return "DW_AT_base_types";
-case 0x36: return "DW_AT_calling_convention";
-case 0x37: return "DW_AT_count";
-case 0x38: return "DW_AT_data_member_location";
-case 0x39: return "DW_AT_decl_column";
-case 0x3a: return "DW_AT_decl_file";
-case 0x3b: return "DW_AT_decl_line";
-case 0x3c: return "DW_AT_declaration";
-case 0x3d: return "DW_AT_discr_list";
-case 0x3e: return "DW_AT_encoding";
-case 0x3f: return "DW_AT_external";
-case 0x40: return "DW_AT_frame_base";
-case 0x41: return "DW_AT_friend";
-case 0x42: return "DW_AT_identifier_case";
-case 0x43: return "DW_AT_macro_info";
-case 0x44: return "DW_AT_namelist_item";
-case 0x45: return "DW_AT_priority";
-case 0x46: return "DW_AT_segment";
-case 0x47: return "DW_AT_specification";
-case 0x48: return "DW_AT_static_link";
-case 0x49: return "DW_AT_type";
-case 0x4a: return "DW_AT_use_location";
-case 0x4b: return "DW_AT_variable_parameter";
-case 0x4c: return "DW_AT_virtuality";
-case 0x4d: return "DW_AT_vtable_elem_location";
-case 0x4e: return "DW_AT_allocated";
-case 0x4f: return "DW_AT_associated";
-case 0x50: return "DW_AT_data_location";
-case 0x51: return "DW_AT_byte_stride";
-case 0x52: return "DW_AT_entry_pc";
-case 0x53: return "DW_AT_use_UTF8";
-case 0x54: return "DW_AT_extension";
-case 0x55: return "DW_AT_ranges";
-case 0x56: return "DW_AT_trampoline";
-case 0x57: return "DW_AT_call_column";
-case 0x58: return "DW_AT_call_file";
-case 0x59: return "DW_AT_call_line";
-case 0x5a: return "DW_AT_description";
-case 0x5b: return "DW_AT_binary_scale";
-case 0x5c: return "DW_AT_decimal_scale";
-case 0x5d: return "DW_AT_small";
-case 0x5e: return "DW_AT_decimal_sign";
-case 0x5f: return "DW_AT_digit_count";
-case 0x60: return "DW_AT_picture_string";
-case 0x61: return "DW_AT_mutable";
-case 0x62: return "DW_AT_threads_scaled";
-case 0x63: return "DW_AT_explicit";
-case 0x64: return "DW_AT_object_pointer";
-case 0x65: return "DW_AT_endianity";
-case 0x66: return "DW_AT_elemental";
-case 0x67: return "DW_AT_pure";
-case 0x68: return "DW_AT_recursive";
-case 0x69: return "DW_AT_signature";
-case 0x6a: return "DW_AT_main_subprogram";
-case 0x6b: return "DW_AT_data_bit_offset";
-case 0x6c: return "DW_AT_const_expr";
-case 0x6d: return "DW_AT_enum_class";
-case 0x6e: return "DW_AT_linkage_name";
-case 0x2000: return "DW_AT_lo_user";
-case 0x2001: return "DW_AT_MIPS_fde";
-case 0x2002: return "DW_AT_MIPS_loop_begin";
-case 0x2003: return "DW_AT_MIPS_tail_loop_begin";
-case 0x2004: return "DW_AT_MIPS_epilog_begin";
-case 0x2005: return "DW_AT_MIPS_loop_unroll_factor";
-case 0x2006: return "DW_AT_MIPS_software_pipeline_depth";
-case 0x2007: return "DW_AT_MIPS_linkage_name";
-case 0x2008: return "DW_AT_MIPS_stride";
-case 0x2009: return "DW_AT_MIPS_abstract_name";
-case 0x200a: return "DW_AT_MIPS_clone_origin";
-case 0x200b: return "DW_AT_MIPS_has_inlines";
-case 0x200c: return "DW_AT_MIPS_stride_byte";
-case 0x200d: return "DW_AT_MIPS_stride_elem";
-case 0x200e: return "DW_AT_MIPS_ptr_dopetype";
-case 0x200f: return "DW_AT_MIPS_allocatable_dopetype";
-case 0x2010: return "DW_AT_MIPS_assumed_shape_dopetype";
-case 0x2011: return "DW_AT_MIPS_assumed_size";
-case 0x2101: return "DW_AT_sf_names";
-case 0x2102: return "DW_AT_src_info";
-case 0x2103: return "DW_AT_mac_info";
-case 0x2104: return "DW_AT_src_coords";
-case 0x2105: return "DW_AT_body_begin";
-case 0x2106: return "DW_AT_body_end";
-case 0x2107: return "DW_AT_GNU_vector";
-case 0x2108: return "DW_AT_GNU_guarded_by";
-case 0x2109: return "DW_AT_GNU_pt_guarded_by";
-case 0x210a: return "DW_AT_GNU_guarded";
-case 0x210b: return "DW_AT_GNU_pt_guarded";
-case 0x210c: return "DW_AT_GNU_locks_excluded";
-case 0x210d: return "DW_AT_GNU_exclusive_locks_required";
-case 0x210e: return "DW_AT_GNU_shared_locks_required";
-case 0x210f: return "DW_AT_GNU_odr_signature";
-case 0x2110: return "DW_AT_GNU_template_name";
-case 0x2111: return "DW_AT_GNU_call_site_value";
-case 0x2112: return "DW_AT_GNU_call_site_data_value";
-case 0x2113: return "DW_AT_GNU_call_site_target";
-case 0x2114: return "DW_AT_GNU_call_site_target_clobbered";
-case 0x2115: return "DW_AT_GNU_tail_call";
-case 0x2116: return "DW_AT_GNU_all_tail_call_sites";
-case 0x2117: return "DW_AT_GNU_all_call_sites";
-case 0x2118: return "DW_AT_GNU_all_source_call_sites";
-case 0x2119: return "DW_AT_GNU_macros";
-case 0x3fff: return "DW_AT_hi_user";
diff --git a/src/mc/mc_dwarf_tagnames.cpp b/src/mc/mc_dwarf_tagnames.cpp
new file mode 100644 (file)
index 0000000..0ea1de0
--- /dev/null
@@ -0,0 +1,102 @@
+/* Copyright (c) 2014. The SimGrid Team.
+ * All rights reserved.                                                     */
+
+/* This program is free software; you can redistribute it and/or modify it
+ * under the terms of the license (GNU LGPL) which comes with this package. */
+
+/* Warning: autogenerated, do not edit! */
+
+#include <dwarf.h>
+
+#include <xbt/base.h>
+#include "mc_object_info.h"
+
+/** \brief Get the name of a dwarf tag (DW_TAG_*) from its code
+ *
+ *  \param tag tag code (see the DWARF specification)
+ *  \return name of the tag
+ */
+XBT_INTERNAL
+const char *MC_dwarf_tagname(int tag)
+{
+  switch (tag) {
+  case 0x01: return "DW_TAG_array_type";
+  case 0x02: return "DW_TAG_class_type";
+  case 0x03: return "DW_TAG_entry_point";
+  case 0x04: return "DW_TAG_enumeration_type";
+  case 0x05: return "DW_TAG_formal_parameter";
+  case 0x08: return "DW_TAG_imported_declaration";
+  case 0x0a: return "DW_TAG_label";
+  case 0x0b: return "DW_TAG_lexical_block";
+  case 0x0d: return "DW_TAG_member";
+  case 0x0f: return "DW_TAG_pointer_type";
+  case 0x10: return "DW_TAG_reference_type";
+  case 0x11: return "DW_TAG_compile_unit";
+  case 0x12: return "DW_TAG_string_type";
+  case 0x13: return "DW_TAG_structure_type";
+  case 0x15: return "DW_TAG_subroutine_type";
+  case 0x16: return "DW_TAG_typedef";
+  case 0x17: return "DW_TAG_union_type";
+  case 0x18: return "DW_TAG_unspecified_parameters";
+  case 0x19: return "DW_TAG_variant";
+  case 0x1a: return "DW_TAG_common_block";
+  case 0x1b: return "DW_TAG_common_inclusion";
+  case 0x1c: return "DW_TAG_inheritance";
+  case 0x1d: return "DW_TAG_inlined_subroutine";
+  case 0x1e: return "DW_TAG_module";
+  case 0x1f: return "DW_TAG_ptr_to_member_type";
+  case 0x20: return "DW_TAG_set_type";
+  case 0x21: return "DW_TAG_subrange_type";
+  case 0x22: return "DW_TAG_with_stmt";
+  case 0x23: return "DW_TAG_access_declaration";
+  case 0x24: return "DW_TAG_base_type";
+  case 0x25: return "DW_TAG_catch_block";
+  case 0x26: return "DW_TAG_const_type";
+  case 0x27: return "DW_TAG_constant";
+  case 0x28: return "DW_TAG_enumerator";
+  case 0x29: return "DW_TAG_file_type";
+  case 0x2a: return "DW_TAG_friend";
+  case 0x2b: return "DW_TAG_namelist";
+  case 0x2c: return "DW_TAG_namelist_item";
+  case 0x2d: return "DW_TAG_packed_type";
+  case 0x2e: return "DW_TAG_subprogram";
+  case 0x2f: return "DW_TAG_template_type_parameter";
+  case 0x30: return "DW_TAG_template_value_parameter";
+  case 0x31: return "DW_TAG_thrown_type";
+  case 0x32: return "DW_TAG_try_block";
+  case 0x33: return "DW_TAG_variant_part";
+  case 0x34: return "DW_TAG_variable";
+  case 0x35: return "DW_TAG_volatile_type";
+  case 0x36: return "DW_TAG_dwarf_procedure";
+  case 0x37: return "DW_TAG_restrict_type";
+  case 0x38: return "DW_TAG_interface_type";
+  case 0x39: return "DW_TAG_namespace";
+  case 0x3a: return "DW_TAG_imported_module";
+  case 0x3b: return "DW_TAG_unspecified_type";
+  case 0x3c: return "DW_TAG_partial_unit";
+  case 0x3d: return "DW_TAG_imported_unit";
+  case 0x3e: return "DW_TAG_mutable_type";
+  case 0x3f: return "DW_TAG_condition";
+  case 0x40: return "DW_TAG_shared_type";
+  case 0x41: return "DW_TAG_type_unit";
+  case 0x42: return "DW_TAG_rvalue_reference_type";
+  case 0x43: return "DW_TAG_template_alias";
+  case 0x4080: return "DW_TAG_lo_user";
+  case 0x4081: return "DW_TAG_MIPS_loop";
+  case 0x4101: return "DW_TAG_format_label";
+  case 0x4102: return "DW_TAG_function_template";
+  case 0x4103: return "DW_TAG_class_template";
+  case 0x4104: return "DW_TAG_GNU_BINCL";
+  case 0x4105: return "DW_TAG_GNU_EINCL";
+  case 0x4106: return "DW_TAG_GNU_template_template_param";
+  case 0x4107: return "DW_TAG_GNU_template_parameter_pack";
+  case 0x4108: return "DW_TAG_GNU_formal_parameter_pack";
+  case 0x4109: return "DW_TAG_GNU_call_site";
+  case 0x410a: return "DW_TAG_GNU_call_site_parameter";
+  case 0xffff: return "DW_TAG_hi_user";
+  case DW_TAG_invalid:
+    return "DW_TAG_invalid";
+  default:
+    return "DW_TAG_unknown";
+  }
+}
diff --git a/src/mc/mc_dwarf_tagnames.h b/src/mc/mc_dwarf_tagnames.h
deleted file mode 100644 (file)
index 5be001b..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-/* Copyright (c) 2014. The SimGrid Team.
- * All rights reserved.                                                     */
-
-/* This program is free software; you can redistribute it and/or modify it
- * under the terms of the license (GNU LGPL) which comes with this package. */
-
-case 0x01: return "DW_TAG_array_type";
-case 0x02: return "DW_TAG_class_type";
-case 0x03: return "DW_TAG_entry_point";
-case