Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge branch 'master' into fix/execute_benched
authorTom Cornebize <tom.cornebize@ensimag.grenoble-inp.fr>
Mon, 27 Nov 2017 15:49:33 +0000 (09:49 -0600)
committerTom Cornebize <tom.cornebize@ensimag.grenoble-inp.fr>
Mon, 27 Nov 2017 15:49:33 +0000 (09:49 -0600)
937 files changed:
.gitignore
.travis.yml
CMakeLists.txt
COPYING
ChangeLog
NEWS
contrib/benchmarking_code_block/inject.h
doc/Doxyfile.in
doc/doxygen/getting_started.doc
doc/doxygen/image/eclipseScreenShot.png [new file with mode: 0644]
doc/doxygen/inside_extending.doc
doc/doxygen/inside_release.doc
doc/doxygen/inside_tests.doc
doc/doxygen/install_yours.doc
doc/doxygen/module-s4u.doc
doc/doxygen/module-smpi.doc
doc/doxygen/module-xbt.doc
doc/doxygen/options.doc
doc/doxygen/outcomes_vizu.doc
doc/doxygen/tutorial_msg.doc
doc/doxygen/uhood.doc
doc/doxygen/uhood_arch.doc
doc/doxygen/uhood_switch.doc
doc/manpage/smpirun.1
examples/java/CMakeLists.txt
examples/java/app/bittorrent/Common.java
examples/java/app/bittorrent/Connection.java
examples/java/app/bittorrent/Main.java
examples/java/app/bittorrent/Peer.java
examples/java/app/bittorrent/app-bittorrent.tesh [moved from examples/java/app/bittorrent/app_bittorrent.tesh with 100% similarity]
examples/java/app/centralizedmutex/app-centralizedmutex.tesh [moved from examples/java/app/centralizedmutex/app_centralizedmutex.tesh with 100% similarity]
examples/java/app/masterworker/Main.java
examples/java/app/masterworker/app-masterworker.tesh [moved from examples/java/app/masterworker/app_masterworker.tesh with 100% similarity]
examples/java/app/pingpong/Main.java
examples/java/app/pingpong/app-pingpong.tesh [moved from examples/java/app/pingpong/app_pingpong.tesh with 100% similarity]
examples/java/app/tokenring/Main.java
examples/java/app/tokenring/app-tokenring.tesh [moved from examples/java/app/tokenring/app_tokenring.tesh with 100% similarity]
examples/java/async/dsend/Main.java
examples/java/async/dsend/async-dsend.tesh [moved from examples/java/async/dsend/async_dsend.tesh with 100% similarity]
examples/java/async/waitall/Main.java
examples/java/async/waitall/async-waitall.tesh [moved from examples/java/async/waitall/async_waitall.tesh with 100% similarity]
examples/java/async/yield/Main.java
examples/java/async/yield/async-yield.tesh [moved from examples/java/async/yield/async_yield.tesh with 100% similarity]
examples/java/cloud/masterworker/Main.java
examples/java/cloud/masterworker/Master.java
examples/java/cloud/masterworker/cloud-masterworker.tesh [moved from examples/java/cloud/masterworker/cloud_masterworker.tesh with 100% similarity]
examples/java/cloud/migration/Daemon.java
examples/java/cloud/migration/XVM.java
examples/java/cloud/migration/cloud-migration.tesh [moved from examples/java/cloud/migration/cloud_migration.tesh with 100% similarity]
examples/java/dht/chord/Node.java
examples/java/dht/chord/dht-chord.tesh [moved from examples/java/dht/chord/dht_chord.tesh with 95% similarity]
examples/java/dht/kademlia/Main.java
examples/java/dht/kademlia/Node.java
examples/java/dht/kademlia/RoutingTable.java
examples/java/dht/kademlia/dht-kademlia.tesh [moved from examples/java/dht/kademlia/dht_kademlia.tesh with 100% similarity]
examples/java/energy/consumption/energy-consumption.tesh [moved from examples/java/energy/consumption/energy_consumption.tesh with 100% similarity]
examples/java/energy/pstate/Main.java
examples/java/energy/pstate/energy-pstate.tesh [moved from examples/java/energy/pstate/energy_pstate.tesh with 100% similarity]
examples/java/energy/vm/energy-vm.tesh [moved from examples/java/energy/vm/energy_vm.tesh with 100% similarity]
examples/java/io/file/Main.java
examples/java/io/file/Node.java
examples/java/io/file/io-file.tesh [moved from examples/java/io/file/io_file.tesh with 100% similarity]
examples/java/io/storage/Client.java
examples/java/io/storage/Main.java
examples/java/io/storage/io-storage.tesh [moved from examples/java/io/storage/io_storage.tesh with 100% similarity]
examples/java/process/kill/Main.java
examples/java/process/kill/process-kill.tesh [moved from examples/java/process/kill/process_kill.tesh with 100% similarity]
examples/java/process/migration/process-migration.tesh [moved from examples/java/process/migration/process_migration.tesh with 100% similarity]
examples/java/process/startkilltime/process-startkilltime.tesh [moved from examples/java/process/startkilltime/process_startkilltime.tesh with 100% similarity]
examples/java/process/suspend/Main.java
examples/java/process/suspend/process-suspend.tesh [moved from examples/java/process/suspend/process_suspend.tesh with 100% similarity]
examples/java/task/priority/Main.java
examples/java/task/priority/task-priority.tesh [moved from examples/java/task/priority/task_priority.tesh with 100% similarity]
examples/java/trace/pingpong/Main.java
examples/java/trace/pingpong/Receiver.java
examples/java/trace/pingpong/Sender.java
examples/java/trace/pingpong/trace-pingpong.tesh [moved from examples/java/trace/pingpong/trace_pingpong.tesh with 100% similarity]
examples/msg/CMakeLists.txt
examples/msg/README.doc
examples/msg/app-bittorrent/messages.c [deleted file]
examples/msg/app-bittorrent/tracker.h [deleted file]
examples/msg/app-chainsend/broadcaster.c
examples/msg/app-chainsend/peer.c
examples/msg/app-pingpong/app-pingpong.tesh
examples/msg/async-waitany/async-waitany.tesh
examples/msg/cloud-capping/cloud-capping.c
examples/msg/cloud-masterworker/cloud-masterworker.c
examples/msg/cloud-two-tasks/cloud-two-tasks.c
examples/msg/dht-kademlia/answer.c
examples/msg/dht-kademlia/dht-kademlia.c
examples/msg/dht-kademlia/dht-kademlia.tesh
examples/msg/dht-kademlia/node.c
examples/msg/dht-kademlia/routing_table.c
examples/msg/dht-pastry/dht-pastry.c
examples/msg/energy-consumption/energy-consumption.c
examples/msg/energy-ptask/energy-ptask.c
examples/msg/energy-vm/energy-vm.tesh
examples/msg/io-file/io-file.c
examples/msg/io-file/io-file.tesh
examples/msg/io-remote/io-remote.c
examples/msg/io-remote/io-remote.tesh
examples/msg/io-storage/io-storage.c
examples/msg/mc/bugged1.tesh
examples/msg/mc/bugged1_liveness.tesh
examples/msg/mc/bugged1_liveness_sparse.tesh
examples/msg/mc/bugged1_liveness_stack_cleaner
examples/msg/mc/bugged1_liveness_visited.tesh
examples/msg/mc/bugged1_liveness_visited_sparse.tesh
examples/msg/mc/bugged2.c
examples/msg/mc/bugged2.tesh
examples/msg/mc/bugged3.c
examples/msg/mc/electric_fence.c
examples/msg/platform-properties/platform-properties.c
examples/msg/plugin-hostload/plugin-hostload.c
examples/msg/process-startkilltime/process-startkilltime.c
examples/msg/process-startkilltime/process-startkilltime.tesh
examples/msg/trace-categories/trace-categories.tesh
examples/msg/trace-host-user-variables/trace-host-user-variables.c
examples/msg/trace-host-user-variables/trace-host-user-variables.tesh
examples/msg/trace-link-user-variables/trace-link-user-variables.tesh
examples/msg/trace-masterworker/trace-masterworker.c
examples/msg/trace-masterworker/trace-masterworker.tesh
examples/msg/trace-platform/trace-platform.tesh
examples/msg/trace-process-migration/trace-process-migration.tesh
examples/msg/trace-route-user-variables/trace-route-user-variables.tesh
examples/platforms/config_tracing.xml
examples/platforms/energy_platform.xml
examples/platforms/small_platform_constant.xml [new file with mode: 0644]
examples/s4u/CMakeLists.txt
examples/s4u/README.doc
examples/s4u/actions-comm/s4u-actions-comm-split-p0.txt [moved from examples/s4u/actions-comm/s4u_actions-comm_split_p0.txt with 100% similarity]
examples/s4u/actions-comm/s4u-actions-comm-split-p1.txt [moved from examples/s4u/actions-comm/s4u_actions-comm_split_p1.txt with 100% similarity]
examples/s4u/actions-comm/s4u-actions-comm-split_d.xml [moved from examples/s4u/actions-comm/s4u_actions-comm_split_d.xml with 77% similarity]
examples/s4u/actions-comm/s4u-actions-comm.cpp [moved from examples/s4u/actions-comm/s4u_actions-comm.cpp with 85% similarity]
examples/s4u/actions-comm/s4u-actions-comm.tesh [moved from examples/s4u/actions-comm/s4u_actions-comm.tesh with 71% similarity]
examples/s4u/actions-comm/s4u-actions-comm.txt [moved from examples/s4u/actions-comm/s4u_actions-comm.txt with 100% similarity]
examples/s4u/actions-comm/s4u-actions-comm_d.xml [moved from examples/s4u/actions-comm/s4u_actions-comm_d.xml with 100% similarity]
examples/s4u/actions-storage/s4u-actions-storage.cpp [moved from examples/s4u/actions-storage/s4u_actions-storage.cpp with 89% similarity]
examples/s4u/actions-storage/s4u-actions-storage.tesh [moved from examples/s4u/actions-storage/s4u_actions-storage.tesh with 61% similarity]
examples/s4u/actions-storage/s4u-actions-storage.txt [moved from examples/s4u/actions-storage/s4u_actions-storage.txt with 100% similarity]
examples/s4u/actions-storage/s4u-actions-storage_d.xml [moved from examples/s4u/actions-storage/s4u_actions-storage_d.xml with 100% similarity]
examples/s4u/actor-create/s4u-actor-create.cpp [moved from examples/s4u/actor-create/s4u_actor-create.cpp with 84% similarity]
examples/s4u/actor-create/s4u-actor-create.tesh [moved from examples/s4u/actor-create/s4u_actor-create.tesh with 93% similarity]
examples/s4u/actor-create/s4u-actor-create_d.xml [moved from examples/s4u/actor-create/s4u_actor-create_d.xml with 100% similarity]
examples/s4u/actor-daemon/s4u-actor-daemon.cpp [moved from examples/s4u/actor-daemon/s4u_actor-daemon.cpp with 91% similarity]
examples/s4u/actor-daemon/s4u-actor-daemon.tesh [moved from examples/s4u/actor-daemon/s4u_actor-daemon.tesh with 89% similarity]
examples/s4u/actor-execute/s4u-actor-execute.cpp [new file with mode: 0644]
examples/s4u/actor-execute/s4u-actor-execute.tesh [new file with mode: 0644]
examples/s4u/actor-kill/s4u-actor-kill.cpp [moved from examples/s4u/actor-kill/s4u_actor-kill.cpp with 60% similarity]
examples/s4u/actor-kill/s4u-actor-kill.tesh [new file with mode: 0644]
examples/s4u/actor-kill/s4u_actor-kill.tesh [deleted file]
examples/s4u/actor-lifetime/s4u-actor-lifetime.cpp [new file with mode: 0644]
examples/s4u/actor-lifetime/s4u-actor-lifetime.tesh [new file with mode: 0644]
examples/s4u/actor-lifetime/s4u-actor-lifetime_d.xml [new file with mode: 0644]
examples/s4u/actor-migration/s4u-actor-migration.cpp [moved from examples/s4u/actor-migration/s4u_actor-migration.cpp with 93% similarity]
examples/s4u/actor-migration/s4u-actor-migration.tesh [moved from examples/s4u/actor-migration/s4u_actor-migration.tesh with 91% similarity]
examples/s4u/actor-priority/s4u-actor-priority.cpp [new file with mode: 0644]
examples/s4u/actor-priority/s4u-actor-priority.tesh [new file with mode: 0644]
examples/s4u/actor-priority/s4u-actor-priority_d.xml [new file with mode: 0644]
examples/s4u/actor-suspend/s4u-actor-suspend.cpp [moved from examples/s4u/actor-suspend/s4u_actor-suspend.cpp with 93% similarity]
examples/s4u/actor-suspend/s4u-actor-suspend.tesh [moved from examples/s4u/actor-suspend/s4u_actor-suspend.tesh with 95% similarity]
examples/s4u/app-bittorrent/s4u-app-bittorrent.tesh [new file with mode: 0644]
examples/s4u/app-bittorrent/s4u-app-bittorrent_d.xml [moved from examples/msg/app-bittorrent/app-bittorrent_d.xml with 100% similarity]
examples/s4u/app-bittorrent/s4u-bittorrent.cpp [new file with mode: 0644]
examples/s4u/app-bittorrent/s4u-bittorrent.hpp [new file with mode: 0644]
examples/s4u/app-bittorrent/s4u-peer.cpp [new file with mode: 0644]
examples/s4u/app-bittorrent/s4u-peer.hpp [new file with mode: 0644]
examples/s4u/app-bittorrent/s4u-tracker.cpp [new file with mode: 0644]
examples/s4u/app-bittorrent/s4u-tracker.hpp [new file with mode: 0644]
examples/s4u/app-masterworker/s4u-app-masterworker.cpp [moved from examples/s4u/app-masterworker/s4u_app-masterworker.cpp with 73% similarity]
examples/s4u/app-masterworker/s4u-app-masterworker.tesh [moved from examples/s4u/app-masterworker/s4u_app-masterworker.tesh with 94% similarity]
examples/s4u/app-masterworker/s4u-app-masterworker_d.xml [moved from examples/s4u/app-masterworker/s4u_app-masterworker_d.xml with 100% similarity]
examples/s4u/app-pingpong/s4u-app-pingpong.cpp [moved from examples/s4u/app-pingpong/s4u_app-pingpong.cpp with 93% similarity]
examples/s4u/app-pingpong/s4u-app-pingpong.tesh [moved from examples/s4u/app-pingpong/s4u_app-pingpong.tesh with 52% similarity]
examples/s4u/app-token-ring/s4u-app-token-ring.cpp [moved from examples/s4u/app-token-ring/s4u_app-token-ring.cpp with 65% similarity]
examples/s4u/app-token-ring/s4u-app-token-ring.tesh [moved from examples/s4u/app-token-ring/s4u_app-token-ring.tesh with 98% similarity]
examples/s4u/async-wait/s4u-async-wait.cpp [new file with mode: 0644]
examples/s4u/async-wait/s4u-async-wait.tesh [new file with mode: 0644]
examples/s4u/async-wait/s4u-async-wait_d.xml [new file with mode: 0644]
examples/s4u/async-waitall/s4u-async-waitall.cpp [new file with mode: 0644]
examples/s4u/async-waitall/s4u-async-waitall.tesh [new file with mode: 0644]
examples/s4u/async-waitall/s4u-async-waitall_d.xml [new file with mode: 0644]
examples/s4u/async-waitany/s4u-async-waitany.cpp [new file with mode: 0644]
examples/s4u/async-waitany/s4u-async-waitany.tesh [new file with mode: 0644]
examples/s4u/async-waitany/s4u-async-waitany_d.xml [new file with mode: 0644]
examples/s4u/dht-chord/node.cpp
examples/s4u/dht-chord/s4u-dht-chord.cpp [moved from examples/s4u/dht-chord/s4u_dht-chord.cpp with 87% similarity]
examples/s4u/dht-chord/s4u-dht-chord.hpp [moved from examples/s4u/dht-chord/s4u_dht-chord.hpp with 95% similarity]
examples/s4u/dht-chord/s4u-dht-chord.tesh [moved from examples/s4u/dht-chord/s4u_dht-chord.tesh with 75% similarity]
examples/s4u/dht-chord/s4u-dht-chord_d.xml [moved from examples/s4u/dht-chord/s4u_dht-chord_d.xml with 100% similarity]
examples/s4u/energy-link/s4u-energy-link.cpp [new file with mode: 0644]
examples/s4u/energy-link/s4u-energy-link.tesh [new file with mode: 0644]
examples/s4u/io/s4u-io.cpp [moved from examples/s4u/io/s4u_io.cpp with 64% similarity]
examples/s4u/io/s4u-io.tesh [moved from examples/s4u/io/s4u_io.tesh with 97% similarity]
examples/s4u/mutex/s4u-mutex.cpp [moved from examples/s4u/mutex/s4u_mutex.cpp with 93% similarity]
examples/s4u/mutex/s4u-mutex.tesh [moved from examples/s4u/mutex/s4u_mutex.tesh with 98% similarity]
examples/s4u/plugin-hostload/s4u-plugin-hostload.cpp [moved from examples/s4u/plugin-hostload/s4u_plugin-hostload.cpp with 92% similarity]
examples/s4u/plugin-hostload/s4u-plugin-hostload.tesh [moved from examples/s4u/plugin-hostload/s4u_plugin-hostload.tesh with 96% similarity]
examples/simdag/dag-dotload/sd_dag-dotload.c
examples/simdag/daxload/sd_daxload.c
examples/simdag/daxload/sd_daxload.tesh
examples/simdag/properties/sd_properties.c
examples/simdag/schedule-dotload/sd_schedule-dotload.c
examples/simdag/test/sd_test.cpp
examples/smpi/CMakeLists.txt
examples/smpi/NAS/dt.c
examples/smpi/NAS/ep.c
examples/smpi/NAS/is.c
examples/smpi/mc/bugged1_liveness.c
examples/smpi/mc/non_deterministic.tesh
examples/smpi/mc/only_send_deterministic.c
examples/smpi/mc/only_send_deterministic.tesh
examples/smpi/replay/replay.c
examples/smpi/replay/replay.tesh
examples/smpi/replay_multiple/CMakeLists.txt
examples/smpi/replay_multiple/generate_multiple_deployment.sh
examples/smpi/replay_multiple/replay_multiple.c
examples/smpi/replay_multiple/replay_multiple.tesh
examples/smpi/trace/trace.tesh
examples/smpi/trace_call_location/trace_call_location.tesh
examples/smpi/trace_simple/trace_simple.tesh
include/msg/datatypes.h [deleted file]
include/msg/msg.h [deleted file]
include/simdag/datatypes.h [deleted file]
include/simdag/simdag.h [deleted file]
include/simgrid/chrono.hpp
include/simgrid/forward.h
include/simgrid/host.h
include/simgrid/jedule/jedule.hpp
include/simgrid/jedule/jedule_events.hpp
include/simgrid/jedule/jedule_platform.hpp
include/simgrid/kernel/future.hpp
include/simgrid/msg.h
include/simgrid/plugins/energy.h
include/simgrid/plugins/file_system.h [new file with mode: 0644]
include/simgrid/s4u/Activity.hpp
include/simgrid/s4u/Actor.hpp
include/simgrid/s4u/Comm.hpp
include/simgrid/s4u/ConditionVariable.hpp
include/simgrid/s4u/Engine.hpp
include/simgrid/s4u/File.hpp
include/simgrid/s4u/Host.hpp
include/simgrid/s4u/Link.hpp
include/simgrid/s4u/Mailbox.hpp
include/simgrid/s4u/NetZone.hpp
include/simgrid/s4u/Storage.hpp
include/simgrid/s4u/VirtualMachine.hpp
include/simgrid/simdag.h
include/simgrid/simix.h
include/simgrid/simix.hpp
include/simgrid/simix/blocking_simcall.hpp
include/smpi/smpi.h
include/xbt.h
include/xbt/Extendable.hpp
include/xbt/algorithm.hpp [new file with mode: 0644]
include/xbt/backtrace.h
include/xbt/base.h
include/xbt/config.h
include/xbt/config.hpp
include/xbt/cunit.h
include/xbt/dict.h
include/xbt/dynar.h
include/xbt/dynar.hpp
include/xbt/ex.h
include/xbt/ex.hpp
include/xbt/exception.hpp
include/xbt/file.h [deleted file]
include/xbt/file.hpp [new file with mode: 0644]
include/xbt/function_types.h
include/xbt/functional.hpp
include/xbt/future.hpp
include/xbt/heap.h [deleted file]
include/xbt/log.h
include/xbt/parmap.h
include/xbt/range.hpp
include/xbt/replay.hpp
include/xbt/signal.hpp
include/xbt/str.h
include/xbt/string.hpp
include/xbt/swag.h
include/xbt/sysdep.h
include/xbt/utility.hpp
include/xbt/xbt_os_thread.h
sonar-project.properties
src/bindings/java/JavaContext.cpp
src/bindings/java/JavaContext.hpp
src/bindings/java/jmsg.cpp
src/bindings/java/jmsg.hpp [moved from src/bindings/java/jmsg.h with 54% similarity]
src/bindings/java/jmsg_as.cpp
src/bindings/java/jmsg_as.hpp [moved from src/bindings/java/jmsg_as.h with 89% similarity]
src/bindings/java/jmsg_comm.cpp
src/bindings/java/jmsg_file.cpp
src/bindings/java/jmsg_host.cpp
src/bindings/java/jmsg_process.cpp
src/bindings/java/jmsg_process.h
src/bindings/java/jmsg_rngstream.cpp
src/bindings/java/jmsg_storage.cpp
src/bindings/java/jmsg_synchro.cpp
src/bindings/java/jmsg_task.cpp
src/bindings/java/jmsg_vm.cpp
src/bindings/java/jtrace.cpp
src/bindings/java/jxbt_utilities.cpp
src/bindings/java/jxbt_utilities.hpp [moved from src/bindings/java/jxbt_utilities.h with 53% similarity]
src/bindings/java/org/simgrid/msg/Msg.java
src/bindings/java/org/simgrid/msg/Process.java
src/bindings/lua/lua_debug.cpp
src/bindings/lua/lua_host.cpp
src/bindings/lua/lua_platf.cpp
src/bindings/lua/lua_private.h [deleted file]
src/bindings/lua/lua_private.hpp [new file with mode: 0644]
src/bindings/lua/lua_utils.hpp [moved from src/bindings/lua/lua_utils.h with 84% similarity]
src/bindings/lua/simgrid_lua.cpp
src/bindings/lua/simgrid_lua.hpp [moved from src/bindings/lua/simgrid_lua.h with 86% similarity]
src/include/instr/instr_interface.h
src/include/mc/mc.h
src/include/simgrid/sg_config.h
src/include/surf/datatypes.h [deleted file]
src/include/surf/datatypes.hpp [new file with mode: 0644]
src/include/surf/maxmin.h [deleted file]
src/include/surf/maxmin.hpp [new file with mode: 0644]
src/include/surf/surf.hpp [moved from src/include/surf/surf.h with 81% similarity]
src/include/xbt/parmap.hpp [new file with mode: 0644]
src/instr/instr_config.cpp
src/instr/instr_interface.cpp
src/instr/instr_paje_containers.cpp
src/instr/instr_paje_containers.hpp [new file with mode: 0644]
src/instr/instr_paje_events.cpp [new file with mode: 0644]
src/instr/instr_paje_events.hpp [new file with mode: 0644]
src/instr/instr_paje_header.cpp
src/instr/instr_paje_trace.cpp
src/instr/instr_paje_types.cpp
src/instr/instr_paje_types.hpp [new file with mode: 0644]
src/instr/instr_paje_values.cpp
src/instr/instr_paje_values.hpp [new file with mode: 0644]
src/instr/instr_private.h [deleted file]
src/instr/instr_private.hpp [new file with mode: 0644]
src/instr/instr_resource_utilization.cpp
src/instr/instr_smpi.h [deleted file]
src/instr/instr_smpi.hpp [new file with mode: 0644]
src/instr/jedule/jedule.cpp
src/instr/jedule/jedule_events.cpp
src/instr/jedule/jedule_platform.cpp
src/kernel/EngineImpl.cpp
src/kernel/EngineImpl.hpp
src/kernel/activity/CommImpl.cpp
src/kernel/activity/CommImpl.hpp
src/kernel/activity/ExecImpl.cpp
src/kernel/activity/ExecImpl.hpp
src/kernel/activity/MailboxImpl.cpp
src/kernel/activity/MailboxImpl.hpp
src/kernel/activity/SleepImpl.cpp
src/kernel/activity/SleepImpl.hpp
src/kernel/activity/SynchroIo.cpp
src/kernel/activity/SynchroIo.hpp
src/kernel/activity/SynchroRaw.hpp
src/kernel/context/Context.cpp
src/kernel/context/Context.hpp
src/kernel/context/ContextBoost.cpp
src/kernel/context/ContextBoost.hpp
src/kernel/context/ContextRaw.cpp
src/kernel/context/ContextRaw.hpp [new file with mode: 0644]
src/kernel/context/ContextThread.cpp
src/kernel/context/ContextThread.hpp
src/kernel/context/ContextUnix.cpp
src/kernel/context/ContextUnix.hpp [new file with mode: 0644]
src/kernel/future.cpp
src/kernel/routing/ClusterZone.cpp
src/kernel/routing/ClusterZone.hpp
src/kernel/routing/DijkstraZone.cpp
src/kernel/routing/DijkstraZone.hpp
src/kernel/routing/DragonflyZone.cpp
src/kernel/routing/DragonflyZone.hpp
src/kernel/routing/EmptyZone.cpp
src/kernel/routing/EmptyZone.hpp
src/kernel/routing/FatTreeZone.cpp
src/kernel/routing/FatTreeZone.hpp
src/kernel/routing/FloydZone.cpp
src/kernel/routing/FloydZone.hpp
src/kernel/routing/FullZone.cpp
src/kernel/routing/FullZone.hpp
src/kernel/routing/NetPoint.hpp
src/kernel/routing/NetZoneImpl.cpp
src/kernel/routing/NetZoneImpl.hpp
src/kernel/routing/RoutedZone.cpp
src/kernel/routing/RoutedZone.hpp
src/kernel/routing/TorusZone.cpp
src/kernel/routing/TorusZone.hpp
src/kernel/routing/VivaldiZone.cpp
src/kernel/routing/VivaldiZone.hpp
src/mc/ChunkedData.cpp
src/mc/ChunkedData.hpp
src/mc/DwarfExpression.cpp
src/mc/DwarfExpression.hpp
src/mc/LocationList.cpp
src/mc/LocationList.hpp
src/mc/ModelChecker.cpp
src/mc/ModelChecker.hpp
src/mc/ObjectInformation.cpp
src/mc/ObjectInformation.hpp
src/mc/PageStore.cpp
src/mc/PageStore.hpp
src/mc/RegionSnapshot.cpp
src/mc/RegionSnapshot.hpp
src/mc/Session.cpp
src/mc/Session.hpp
src/mc/VisitedState.cpp
src/mc/VisitedState.hpp
src/mc/checker/Checker.cpp
src/mc/checker/Checker.hpp
src/mc/checker/CommunicationDeterminismChecker.cpp
src/mc/checker/LivenessChecker.cpp
src/mc/checker/LivenessChecker.hpp
src/mc/checker/SafetyChecker.cpp
src/mc/checker/SafetyChecker.hpp
src/mc/checker/simgrid_mc.cpp
src/mc/compare.cpp
src/mc/mc_base.cpp
src/mc/mc_checkpoint.cpp
src/mc/mc_client_api.cpp
src/mc/mc_comm_pattern.cpp
src/mc/mc_comm_pattern.hpp
src/mc/mc_config.cpp
src/mc/mc_dwarf.cpp
src/mc/mc_dwarf_attrnames.cpp
src/mc/mc_dwarf_tagnames.cpp
src/mc/mc_exit.hpp [moved from src/mc/mc_exit.h with 71% similarity]
src/mc/mc_global.cpp
src/mc/mc_hash.cpp
src/mc/mc_member.cpp
src/mc/mc_memory.cpp
src/mc/mc_mmu.hpp [moved from src/mc/mc_mmu.h with 83% similarity]
src/mc/mc_page_snapshot.cpp
src/mc/mc_private.hpp [moved from src/mc/mc_private.h with 75% similarity]
src/mc/mc_record.cpp
src/mc/mc_record.hpp [moved from src/mc/mc_record.h with 90% similarity]
src/mc/mc_replay.hpp [moved from src/mc/mc_replay.h with 76% similarity]
src/mc/mc_request.cpp
src/mc/mc_request.hpp [moved from src/mc/mc_request.h with 87% similarity]
src/mc/mc_safety.hpp [moved from src/mc/mc_safety.h with 87% similarity]
src/mc/mc_smx.cpp
src/mc/mc_smx.hpp [moved from src/mc/mc_smx.h with 95% similarity]
src/mc/mc_snapshot.cpp
src/mc/mc_snapshot.hpp [moved from src/mc/mc_snapshot.h with 55% similarity]
src/mc/mc_state.cpp
src/mc/mc_state.hpp [moved from src/mc/mc_state.h with 78% similarity]
src/mc/mc_unw.cpp
src/mc/mc_unw.hpp [moved from src/mc/mc_unw.h with 63% similarity]
src/mc/mc_unw_vmread.cpp
src/mc/mc_xbt.cpp
src/mc/remote/Channel.cpp
src/mc/remote/Channel.hpp
src/mc/remote/Client.cpp
src/mc/remote/Client.hpp
src/mc/remote/RemoteClient.cpp
src/mc/remote/RemoteClient.hpp
src/mc/remote/RemotePtr.hpp
src/mc/remote/mc_protocol.cpp
src/mc/remote/mc_protocol.h
src/msg/instr_msg_process.cpp
src/msg/instr_msg_task.cpp
src/msg/msg_actions.cpp
src/msg/msg_deployment.cpp
src/msg/msg_environment.cpp
src/msg/msg_global.cpp
src/msg/msg_gos.cpp
src/msg/msg_host.cpp
src/msg/msg_io.cpp
src/msg/msg_mailbox.cpp
src/msg/msg_private.hpp [moved from src/msg/msg_private.h with 62% similarity]
src/msg/msg_process.cpp
src/msg/msg_synchro.cpp
src/msg/msg_task.cpp
src/msg/msg_vm.cpp
src/plugins/vm/VirtualMachineImpl.cpp
src/plugins/vm/VirtualMachineImpl.hpp
src/plugins/vm/s4u_VirtualMachine.cpp
src/s4u/s4u_actor.cpp
src/s4u/s4u_comm.cpp
src/s4u/s4u_engine.cpp
src/s4u/s4u_file.cpp
src/s4u/s4u_host.cpp
src/s4u/s4u_link.cpp
src/s4u/s4u_mailbox.cpp
src/s4u/s4u_mutex.cpp
src/s4u/s4u_netzone.cpp
src/s4u/s4u_storage.cpp
src/simdag/dax_dtd.c
src/simdag/dax_dtd.h
src/simdag/sd_daxloader.cpp
src/simdag/sd_dotloader.cpp
src/simdag/sd_global.cpp
src/simdag/sd_task.cpp
src/simdag/simdag_private.hpp
src/simgrid/host.cpp
src/simgrid/sg_config.cpp
src/simix/ActorImpl.cpp
src/simix/ActorImpl.hpp
src/simix/libsmx.cpp
src/simix/popping.cpp
src/simix/popping_accessors.hpp [moved from src/simix/popping_accessors.h with 75% similarity]
src/simix/popping_bodies.cpp
src/simix/popping_enum.h
src/simix/popping_generated.cpp
src/simix/popping_private.hpp [moved from src/simix/popping_private.h with 70% similarity]
src/simix/simcalls.in
src/simix/simcalls.py
src/simix/smx_context.cpp
src/simix/smx_deployment.cpp
src/simix/smx_environment.cpp
src/simix/smx_global.cpp
src/simix/smx_host.cpp
src/simix/smx_host_private.h [deleted file]
src/simix/smx_host_private.hpp [new file with mode: 0644]
src/simix/smx_io.cpp
src/simix/smx_io_private.hpp [moved from src/simix/smx_io_private.h with 61% similarity]
src/simix/smx_network.cpp
src/simix/smx_network_private.hpp [moved from src/simix/smx_network_private.h with 93% similarity]
src/simix/smx_private.hpp [moved from src/simix/smx_private.h with 63% similarity]
src/simix/smx_synchro.cpp
src/simix/smx_synchro_private.hpp
src/smpi/bindings/smpi_f77.cpp
src/smpi/bindings/smpi_f77_coll.cpp
src/smpi/bindings/smpi_f77_comm.cpp
src/smpi/bindings/smpi_f77_request.cpp
src/smpi/bindings/smpi_f77_type.cpp
src/smpi/bindings/smpi_mpi.cpp
src/smpi/bindings/smpi_pmpi.cpp
src/smpi/bindings/smpi_pmpi_coll.cpp
src/smpi/bindings/smpi_pmpi_comm.cpp
src/smpi/bindings/smpi_pmpi_group.cpp
src/smpi/bindings/smpi_pmpi_info.cpp
src/smpi/bindings/smpi_pmpi_op.cpp
src/smpi/bindings/smpi_pmpi_request.cpp
src/smpi/bindings/smpi_pmpi_topo.cpp
src/smpi/bindings/smpi_pmpi_type.cpp
src/smpi/bindings/smpi_pmpi_win.cpp
src/smpi/colls/allgather/allgather-2dmesh.cpp
src/smpi/colls/allgather/allgather-3dmesh.cpp
src/smpi/colls/allgather/allgather-GB.cpp
src/smpi/colls/allgather/allgather-NTSLR-NB.cpp
src/smpi/colls/allgather/allgather-NTSLR.cpp
src/smpi/colls/allgather/allgather-SMP-NTS.cpp
src/smpi/colls/allgather/allgather-bruck.cpp
src/smpi/colls/allgather/allgather-loosely-lr.cpp
src/smpi/colls/allgather/allgather-mvapich-smp.cpp
src/smpi/colls/allgather/allgather-ompi-neighborexchange.cpp
src/smpi/colls/allgather/allgather-pair.cpp
src/smpi/colls/allgather/allgather-rdb.cpp
src/smpi/colls/allgather/allgather-rhv.cpp
src/smpi/colls/allgather/allgather-ring.cpp
src/smpi/colls/allgather/allgather-smp-simple.cpp
src/smpi/colls/allgather/allgather-spreading-simple.cpp
src/smpi/colls/allgatherv/allgatherv-GB.cpp
src/smpi/colls/allgatherv/allgatherv-mpich-rdb.cpp
src/smpi/colls/allgatherv/allgatherv-mpich-ring.cpp
src/smpi/colls/allgatherv/allgatherv-ompi-bruck.cpp
src/smpi/colls/allgatherv/allgatherv-ompi-neighborexchange.cpp
src/smpi/colls/allgatherv/allgatherv-pair.cpp
src/smpi/colls/allgatherv/allgatherv-ring.cpp
src/smpi/colls/allreduce/allreduce-lr.cpp
src/smpi/colls/allreduce/allreduce-mvapich-rs.cpp
src/smpi/colls/allreduce/allreduce-mvapich-two-level.cpp
src/smpi/colls/allreduce/allreduce-ompi-ring-segmented.cpp
src/smpi/colls/allreduce/allreduce-rab-rdb.cpp
src/smpi/colls/allreduce/allreduce-rab1.cpp
src/smpi/colls/allreduce/allreduce-rab2.cpp
src/smpi/colls/allreduce/allreduce-rdb.cpp
src/smpi/colls/allreduce/allreduce-redbcast.cpp
src/smpi/colls/allreduce/allreduce-smp-binomial-pipeline.cpp
src/smpi/colls/allreduce/allreduce-smp-binomial.cpp
src/smpi/colls/allreduce/allreduce-smp-rdb.cpp
src/smpi/colls/allreduce/allreduce-smp-rsag-lr.cpp
src/smpi/colls/allreduce/allreduce-smp-rsag-rab.cpp
src/smpi/colls/allreduce/allreduce-smp-rsag.cpp
src/smpi/colls/alltoall/alltoall-2dmesh.cpp
src/smpi/colls/alltoall/alltoall-3dmesh.cpp
src/smpi/colls/alltoall/alltoall-basic-linear.cpp
src/smpi/colls/alltoall/alltoall-bruck.cpp
src/smpi/colls/alltoall/alltoall-mvapich-scatter-dest.cpp
src/smpi/colls/alltoall/alltoall-pair-light-barrier.cpp
src/smpi/colls/alltoall/alltoall-pair-mpi-barrier.cpp
src/smpi/colls/alltoall/alltoall-pair-one-barrier.cpp
src/smpi/colls/alltoall/alltoall-pair.cpp
src/smpi/colls/alltoall/alltoall-rdb.cpp
src/smpi/colls/alltoall/alltoall-ring-light-barrier.cpp
src/smpi/colls/alltoall/alltoall-ring-mpi-barrier.cpp
src/smpi/colls/alltoall/alltoall-ring-one-barrier.cpp
src/smpi/colls/alltoall/alltoall-ring.cpp
src/smpi/colls/alltoallv/alltoallv-bruck.cpp
src/smpi/colls/alltoallv/alltoallv-ompi-basic-linear.cpp
src/smpi/colls/alltoallv/alltoallv-pair-light-barrier.cpp
src/smpi/colls/alltoallv/alltoallv-pair-mpi-barrier.cpp
src/smpi/colls/alltoallv/alltoallv-pair-one-barrier.cpp
src/smpi/colls/alltoallv/alltoallv-pair.cpp
src/smpi/colls/alltoallv/alltoallv-ring-light-barrier.cpp
src/smpi/colls/alltoallv/alltoallv-ring-mpi-barrier.cpp
src/smpi/colls/alltoallv/alltoallv-ring-one-barrier.cpp
src/smpi/colls/alltoallv/alltoallv-ring.cpp
src/smpi/colls/barrier/barrier-mvapich2-pair.cpp
src/smpi/colls/barrier/barrier-ompi.cpp
src/smpi/colls/bcast/bcast-NTSB.cpp
src/smpi/colls/bcast/bcast-NTSL-Isend.cpp
src/smpi/colls/bcast/bcast-NTSL.cpp
src/smpi/colls/bcast/bcast-SMP-binary.cpp
src/smpi/colls/bcast/bcast-SMP-binomial.cpp
src/smpi/colls/bcast/bcast-SMP-linear.cpp
src/smpi/colls/bcast/bcast-arrival-pattern-aware-wait.cpp
src/smpi/colls/bcast/bcast-arrival-pattern-aware.cpp
src/smpi/colls/bcast/bcast-arrival-scatter.cpp
src/smpi/colls/bcast/bcast-binomial-tree.cpp
src/smpi/colls/bcast/bcast-flattree-pipeline.cpp
src/smpi/colls/bcast/bcast-flattree.cpp
src/smpi/colls/bcast/bcast-mvapich-smp.cpp
src/smpi/colls/bcast/bcast-ompi-pipeline.cpp
src/smpi/colls/bcast/bcast-ompi-split-bintree.cpp
src/smpi/colls/bcast/bcast-scatter-LR-allgather.cpp
src/smpi/colls/bcast/bcast-scatter-rdb-allgather.cpp
src/smpi/colls/coll_tuned_topo.cpp
src/smpi/colls/coll_tuned_topo.h [deleted file]
src/smpi/colls/coll_tuned_topo.hpp [new file with mode: 0644]
src/smpi/colls/colls_private.hpp [moved from src/smpi/colls/colls_private.h with 81% similarity]
src/smpi/colls/gather/gather-mvapich.cpp
src/smpi/colls/gather/gather-ompi.cpp
src/smpi/colls/reduce/reduce-NTSL.cpp
src/smpi/colls/reduce/reduce-arrival-pattern-aware.cpp
src/smpi/colls/reduce/reduce-binomial.cpp
src/smpi/colls/reduce/reduce-flat-tree.cpp
src/smpi/colls/reduce/reduce-mvapich-knomial.cpp
src/smpi/colls/reduce/reduce-mvapich-two-level.cpp
src/smpi/colls/reduce/reduce-ompi.cpp
src/smpi/colls/reduce/reduce-rab.cpp
src/smpi/colls/reduce/reduce-scatter-gather.cpp
src/smpi/colls/reduce_scatter/reduce_scatter-mpich.cpp
src/smpi/colls/reduce_scatter/reduce_scatter-ompi.cpp
src/smpi/colls/scatter/scatter-mvapich-two-level.cpp
src/smpi/colls/scatter/scatter-ompi.cpp
src/smpi/colls/smpi_automatic_selector.cpp
src/smpi/colls/smpi_coll.cpp
src/smpi/colls/smpi_default_selector.cpp
src/smpi/colls/smpi_intel_mpi_selector.cpp
src/smpi/colls/smpi_mpich_selector.cpp
src/smpi/colls/smpi_mvapich2_selector.cpp
src/smpi/colls/smpi_mvapich2_selector_stampede.h [deleted file]
src/smpi/colls/smpi_mvapich2_selector_stampede.hpp [new file with mode: 0644]
src/smpi/colls/smpi_openmpi_selector.cpp
src/smpi/include/SmpiHost.hpp
src/smpi/include/private.h [deleted file]
src/smpi/include/private.hpp
src/smpi/include/smpi_coll.hpp
src/smpi/include/smpi_comm.hpp
src/smpi/include/smpi_datatype.hpp
src/smpi/include/smpi_datatype_derived.hpp
src/smpi/include/smpi_f2c.hpp
src/smpi/include/smpi_group.hpp
src/smpi/include/smpi_info.hpp
src/smpi/include/smpi_keyvals.hpp
src/smpi/include/smpi_process.hpp
src/smpi/include/smpi_request.hpp
src/smpi/include/smpi_topo.hpp
src/smpi/include/smpi_utils.hpp [moved from src/include/smpi/smpi_utils.hpp with 66% similarity]
src/smpi/include/smpi_win.hpp
src/smpi/internals/SmpiHost.cpp
src/smpi/internals/instr_smpi.cpp
src/smpi/internals/smpi_bench.cpp
src/smpi/internals/smpi_deployment.cpp
src/smpi/internals/smpi_dvfs.cpp
src/smpi/internals/smpi_global.cpp
src/smpi/internals/smpi_memory.cpp
src/smpi/internals/smpi_process.cpp
src/smpi/internals/smpi_replay.cpp
src/smpi/internals/smpi_shared.cpp
src/smpi/internals/smpi_static_variables.cpp
src/smpi/internals/smpi_utils.cpp
src/smpi/mpi/smpi_comm.cpp
src/smpi/mpi/smpi_datatype.cpp
src/smpi/mpi/smpi_datatype_derived.cpp
src/smpi/mpi/smpi_f2c.cpp
src/smpi/mpi/smpi_group.cpp
src/smpi/mpi/smpi_info.cpp
src/smpi/mpi/smpi_keyvals.cpp
src/smpi/mpi/smpi_op.cpp
src/smpi/mpi/smpi_request.cpp
src/smpi/mpi/smpi_status.cpp
src/smpi/mpi/smpi_topo.cpp
src/smpi/mpi/smpi_win.cpp
src/smpi/smpirun.in
src/smpi/smpitools.sh
src/surf/FileImpl.cpp [deleted file]
src/surf/FileImpl.hpp [deleted file]
src/surf/HostImpl.cpp
src/surf/PropertyHolder.cpp
src/surf/PropertyHolder.hpp
src/surf/StorageImpl.cpp
src/surf/StorageImpl.hpp
src/surf/cpu_cas01.cpp
src/surf/cpu_interface.cpp
src/surf/cpu_interface.hpp
src/surf/cpu_ti.cpp
src/surf/cpu_ti.hpp
src/surf/fair_bottleneck.cpp
src/surf/instr_routing.cpp
src/surf/instr_surf.cpp
src/surf/lagrange.cpp
src/surf/maxmin.cpp
src/surf/maxmin_private.hpp [deleted file]
src/surf/network_cm02.cpp
src/surf/network_cm02.hpp
src/surf/network_constant.cpp
src/surf/network_constant.hpp
src/surf/network_ib.cpp
src/surf/network_ib.hpp
src/surf/network_interface.cpp
src/surf/network_interface.hpp
src/surf/network_ns3.cpp
src/surf/network_ns3.hpp
src/surf/network_smpi.cpp
src/surf/network_smpi.hpp
src/surf/ns3/ns3_interface.hpp [moved from src/surf/ns3/ns3_interface.h with 86% similarity]
src/surf/ns3/ns3_simulator.cpp [moved from src/surf/ns3/ns3_simulator.cc with 76% similarity]
src/surf/ns3/ns3_simulator.hpp [moved from src/surf/ns3/ns3_simulator.h with 80% similarity]
src/surf/plugins/host_energy.cpp
src/surf/plugins/host_load.cpp
src/surf/plugins/link_energy.cpp [new file with mode: 0644]
src/surf/ptask_L07.cpp
src/surf/ptask_L07.hpp
src/surf/sg_platf.cpp
src/surf/storage_n11.cpp
src/surf/storage_n11.hpp
src/surf/surf_c_bindings.cpp
src/surf/surf_interface.cpp
src/surf/surf_interface.hpp
src/surf/surf_private.h [deleted file]
src/surf/surf_private.hpp [new file with mode: 0644]
src/surf/trace_mgr.cpp
src/surf/trace_mgr.hpp
src/surf/trace_mgr_test.cpp
src/surf/xml/platf.hpp
src/surf/xml/platf_private.hpp
src/surf/xml/simgrid.dtd
src/surf/xml/simgrid_dtd.c
src/surf/xml/simgrid_dtd.h
src/surf/xml/surfxml_parseplatf.cpp
src/surf/xml/surfxml_sax_cb.cpp
src/xbt/automaton/automaton.c
src/xbt/automaton/automatonparse_promela.c
src/xbt/backtrace_linux.cpp
src/xbt/config.cpp
src/xbt/cunit.cpp
src/xbt/dict.cpp
src/xbt/dict_cursor.c
src/xbt/dynar.cpp
src/xbt/ex.cpp
src/xbt/exception.cpp
src/xbt/graph.c
src/xbt/heap.c [deleted file]
src/xbt/heap_private.h [deleted file]
src/xbt/log.c
src/xbt/mallocator.c
src/xbt/mallocator_private.h
src/xbt/memory_map.cpp
src/xbt/mmalloc/mfree.c
src/xbt/mmalloc/mm_legacy.c
src/xbt/mmalloc/mm_module.c
src/xbt/mmalloc/mmalloc.c
src/xbt/mmalloc/mmprivate.h
src/xbt/mmalloc/mrealloc.c
src/xbt/parmap.cpp
src/xbt/string.cpp
src/xbt/swag.c
src/xbt/xbt_log_appender_file.c
src/xbt/xbt_log_layout_format.c
src/xbt/xbt_log_layout_simple.c
src/xbt/xbt_main.cpp
src/xbt/xbt_os_file.c [deleted file]
src/xbt/xbt_os_file.cpp [new file with mode: 0644]
src/xbt/xbt_os_thread.c
src/xbt/xbt_os_time.c
src/xbt/xbt_replay.cpp
src/xbt/xbt_str.cpp
teshsuite/java/CMakeLists.txt
teshsuite/java/semaphoregc/SemaphoreGC.java [moved from teshsuite/java/semaphoreGC/SemaphoreGC.java with 93% similarity]
teshsuite/java/semaphoregc/semaphoregc.tesh [moved from teshsuite/java/semaphoreGC/semaphoreGC.tesh with 86% similarity]
teshsuite/java/sleephostoff/SleepHostOff.java [moved from teshsuite/java/sleepHostOff/SleepHostOff.java with 95% similarity]
teshsuite/java/sleephostoff/sleephostoff.tesh [moved from teshsuite/java/sleepHostOff/sleepHostOff.tesh with 93% similarity]
teshsuite/lua/lua_platforms.tesh
teshsuite/mc/dwarf-expression/dwarf-expression.cpp
teshsuite/mc/dwarf/dwarf.cpp
teshsuite/msg/CMakeLists.txt
teshsuite/msg/actions-storage/actions-storage.c
teshsuite/msg/app-bittorrent/app-bittorrent.tesh [moved from examples/msg/app-bittorrent/app-bittorrent.tesh with 88% similarity]
teshsuite/msg/app-bittorrent/app-bittorrent_d.xml [new file with mode: 0644]
teshsuite/msg/app-bittorrent/bittorrent.c [moved from examples/msg/app-bittorrent/bittorrent.c with 85% similarity]
teshsuite/msg/app-bittorrent/bittorrent.h [moved from examples/msg/app-bittorrent/bittorrent.h with 84% similarity]
teshsuite/msg/app-bittorrent/connection.c [moved from examples/msg/app-bittorrent/connection.c with 63% similarity]
teshsuite/msg/app-bittorrent/connection.h [moved from examples/msg/app-bittorrent/connection.h with 62% similarity]
teshsuite/msg/app-bittorrent/generate.py [moved from examples/msg/app-bittorrent/generate.py with 100% similarity]
teshsuite/msg/app-bittorrent/messages.c [new file with mode: 0644]
teshsuite/msg/app-bittorrent/messages.h [moved from examples/msg/app-bittorrent/messages.h with 74% similarity]
teshsuite/msg/app-bittorrent/peer.c [moved from examples/msg/app-bittorrent/peer.c with 63% similarity]
teshsuite/msg/app-bittorrent/peer.h [moved from examples/msg/app-bittorrent/peer.h with 57% similarity]
teshsuite/msg/app-bittorrent/tracker.c [moved from examples/msg/app-bittorrent/tracker.c with 72% similarity]
teshsuite/msg/app-bittorrent/tracker.h [new file with mode: 0644]
teshsuite/msg/cloud-sharing/cloud-sharing.tesh
teshsuite/msg/host_on_off_processes/host_on_off_processes.c
teshsuite/msg/host_on_off_processes/host_on_off_processes.tesh
teshsuite/msg/task_destroy_cancel/task_destroy_cancel.cpp
teshsuite/msg/task_progress/task_progress.cpp [new file with mode: 0644]
teshsuite/msg/task_progress/task_progress.tesh [new file with mode: 0644]
teshsuite/msg/trace_integration/test-hbp1.0-hbp3.0-hbp4.0.xml
teshsuite/msg/trace_integration/test-hbp2.5-hbp1.5.xml
teshsuite/msg/trace_integration/trace_integration.tesh
teshsuite/s4u/CMakeLists.txt
teshsuite/s4u/actor/actor.cpp
teshsuite/s4u/comm-pt2pt/comm-pt2pt.cpp
teshsuite/s4u/comm-waitany/comm-waitany.cpp [deleted file]
teshsuite/s4u/concurrent_rw/concurrent_rw.cpp
teshsuite/s4u/concurrent_rw/concurrent_rw.tesh
teshsuite/s4u/pid/pid.cpp
teshsuite/s4u/storage_client_server/storage_client_server.cpp
teshsuite/s4u/storage_client_server/storage_client_server.tesh
teshsuite/simdag/CMakeLists.txt
teshsuite/simdag/basic-parsing-test/basic-parsing-test.tesh
teshsuite/simdag/evaluate-parse-time/evaluate-parse-time.c
teshsuite/simdag/flatifier/flatifier.cpp
teshsuite/simdag/is-router/is-router.cpp
teshsuite/simdag/platforms/clusterA.xml [deleted file]
teshsuite/simdag/platforms/clusterB.xml [deleted file]
teshsuite/simdag/platforms/platform_include.xml [deleted file]
teshsuite/simix/CMakeLists.txt
teshsuite/simix/generic_simcalls/generic_simcalls.cpp
teshsuite/smpi/coll-allgather/coll-allgather.c
teshsuite/smpi/coll-allgather/coll-allgather.tesh
teshsuite/smpi/coll-allgatherv/coll-allgatherv.c
teshsuite/smpi/coll-allgatherv/coll-allgatherv.tesh
teshsuite/smpi/coll-allreduce/coll-allreduce-automatic.tesh
teshsuite/smpi/coll-allreduce/coll-allreduce-large.tesh
teshsuite/smpi/coll-allreduce/coll-allreduce.c
teshsuite/smpi/coll-allreduce/coll-allreduce.tesh
teshsuite/smpi/coll-alltoall/clusters.tesh
teshsuite/smpi/coll-alltoall/coll-alltoall.c
teshsuite/smpi/coll-alltoall/coll-alltoall.tesh
teshsuite/smpi/coll-alltoallv/coll-alltoallv.c
teshsuite/smpi/coll-alltoallv/coll-alltoallv.tesh
teshsuite/smpi/coll-barrier/coll-barrier.tesh
teshsuite/smpi/coll-bcast/coll-bcast.c
teshsuite/smpi/coll-bcast/coll-bcast.tesh
teshsuite/smpi/coll-gather/coll-gather.tesh
teshsuite/smpi/coll-reduce-scatter/coll-reduce-scatter.tesh
teshsuite/smpi/coll-reduce/coll-reduce.tesh
teshsuite/smpi/coll-scatter/coll-scatter.c
teshsuite/smpi/coll-scatter/coll-scatter.tesh
teshsuite/smpi/isp/umpire/CMakeLists.txt
teshsuite/smpi/isp/umpire/change-send-buffer.c
teshsuite/smpi/isp/umpire/comm-translate-ranks.c
teshsuite/smpi/isp/umpire/irecv-deadlock.c
teshsuite/smpi/isp/umpire/lost-request-waitall.c
teshsuite/smpi/isp/umpire/no-error-testany.c
teshsuite/smpi/isp/umpire/wait-deadlock.c
teshsuite/smpi/macro-partial-shared-communication/macro-partial-shared-communication.tesh
teshsuite/smpi/macro-partial-shared/macro-partial-shared.tesh
teshsuite/smpi/macro-shared/macro-shared.c
teshsuite/smpi/macro-shared/macro-shared.tesh
teshsuite/smpi/mpich3-test/coll/CMakeLists.txt
teshsuite/smpi/mpich3-test/coll/allgatherv4.c
teshsuite/smpi/mpich3-test/coll/allgatherv4_manual.c
teshsuite/smpi/mpich3-test/comm/cmsplit_type.c
teshsuite/smpi/mpich3-test/datatype/dataalign.c
teshsuite/smpi/mpich3-test/datatype/longdouble.c
teshsuite/smpi/mpich3-test/datatype/sendrecvt2.c
teshsuite/smpi/mpich3-test/f77/attr/CMakeLists.txt
teshsuite/smpi/mpich3-test/f77/coll/CMakeLists.txt
teshsuite/smpi/mpich3-test/f77/comm/CMakeLists.txt
teshsuite/smpi/mpich3-test/f77/datatype/CMakeLists.txt
teshsuite/smpi/mpich3-test/f77/ext/CMakeLists.txt
teshsuite/smpi/mpich3-test/f77/info/CMakeLists.txt
teshsuite/smpi/mpich3-test/f77/init/CMakeLists.txt
teshsuite/smpi/mpich3-test/f77/pt2pt/CMakeLists.txt
teshsuite/smpi/mpich3-test/f77/rma/CMakeLists.txt
teshsuite/smpi/mpich3-test/f77/topo/CMakeLists.txt
teshsuite/smpi/mpich3-test/f77/util/CMakeLists.txt
teshsuite/smpi/mpich3-test/f90/rma/CMakeLists.txt
teshsuite/smpi/mpich3-test/generate_report
teshsuite/smpi/mpich3-test/perf/CMakeLists.txt
teshsuite/smpi/mpich3-test/runtests
teshsuite/smpi/mpich3-test/util/dtypes.c
teshsuite/smpi/mpich3-test/util/dtypes_manual.c
teshsuite/smpi/privatization/privatization.tesh
teshsuite/smpi/privatization/privatization_dlopen.tesh
teshsuite/smpi/pt2pt-dsend/pt2pt-dsend.tesh
teshsuite/smpi/pt2pt-pingpong/TI_output.tesh
teshsuite/smpi/pt2pt-pingpong/broken_hostfiles.tesh
teshsuite/smpi/pt2pt-pingpong/pt2pt-pingpong.tesh
teshsuite/smpi/timers/timers.c
teshsuite/smpi/timers/timers.tesh
teshsuite/smpi/type-hvector/type-hvector.tesh
teshsuite/smpi/type-indexed/type-indexed.tesh
teshsuite/smpi/type-struct/type-struct.tesh
teshsuite/smpi/type-vector/type-vector.tesh
teshsuite/surf/lmm_usage/lmm_usage.cpp
teshsuite/surf/maxmin_bench/maxmin_bench.cpp
teshsuite/surf/surf_usage/surf_usage.cpp
teshsuite/surf/surf_usage2/surf_usage2.cpp
teshsuite/xbt/CMakeLists.txt
teshsuite/xbt/heap_bench/heap_bench.c [deleted file]
teshsuite/xbt/heap_bench/heap_bench.tesh [deleted file]
teshsuite/xbt/log_usage/log_usage.c
teshsuite/xbt/log_usage/log_usage.tesh
teshsuite/xbt/mmalloc/mmalloc_32.tesh
teshsuite/xbt/mmalloc/mmalloc_64.tesh
teshsuite/xbt/mmalloc/mmalloc_test.cpp
teshsuite/xbt/parallel_log_crashtest/parallel_log_crashtest.c
teshsuite/xbt/parmap_bench/parmap_bench.c [deleted file]
teshsuite/xbt/parmap_bench/parmap_bench.cpp [new file with mode: 0644]
teshsuite/xbt/parmap_test/parmap_test.cpp [moved from teshsuite/xbt/parmap_test/parmap_test.c with 51% similarity]
teshsuite/xbt/parmap_test/parmap_test.tesh
tools/cmake/DefinePackages.cmake
tools/cmake/Distrib.cmake
tools/cmake/GCCFlags.cmake
tools/cmake/Java.cmake
tools/cmake/MaintainerMode.cmake
tools/cmake/MakeLib.cmake
tools/cmake/Modules/FindLibelf.cmake [new file with mode: 0644]
tools/cmake/Tests.cmake
tools/cmake/src/internal_config.h.in
tools/cmake/test_prog/prog_asan.cpp [new file with mode: 0644]
tools/doxygen/xbt_log_extract_hierarchy.pl
tools/generate-dwarf-functions
tools/git-hooks/clang-format.pre-commit
tools/graphicator/CMakeLists.txt
tools/jenkins/Coverage.sh
tools/jenkins/DynamicAnalysis.sh
tools/jenkins/Sanitizers.sh
tools/jenkins/build.sh
tools/sg_unit_extractor.pl
tools/sg_xml_unit_converter.py
tools/simgrid.supp
tools/tesh/tesh.py

index c054e5b..e0eb0b8 100644 (file)
@@ -102,6 +102,7 @@ doc/simgrid.tag
 doc/doxygen/logcategories.doc
 doc/simgrid_modules.map
 doc/javadoc
+doc/example_lists/
 ### Specific of project 
 .settings/
 .csettings/
@@ -120,12 +121,9 @@ doc/msg-tuto-src/masterworker1
 doc/msg-tuto-src/masterworker2
 doc/msg-tuto-src/masterworker3
 doc/msg-tuto-src/masterworker4
-examples/msg/actions-comm/actions-comm
-examples/msg/actions-storage/actions-storage
 examples/msg/async-wait/async-wait
 examples/msg/async-waitall/async-waitall
 examples/msg/async-waitany/async-waitany
-examples/msg/app-bittorrent/bittorrent
 examples/msg/app-chainsend/chainsend
 examples/msg/cloud-capping/cloud-capping
 examples/msg/cloud-masterworker/cloud-masterworker
@@ -188,22 +186,33 @@ examples/msg/trace-masterworker/trace-masterworker
 examples/msg/trace-process-migration/trace-process-migration
 examples/msg/trace-platform/trace-platform
 examples/msg/trace-host-user-variables/trace-host-user-variables
-examples/s4u/app-masterworker/s4u_app-masterworker
-examples/s4u/app-pingpong/s4u_app-pingpong
-examples/s4u/app-token-ring/s4u_app-token-ring
-examples/s4u/actions-comm/s4u_actions-comm
-examples/s4u/actions-storage/s4u_actions-storage
-examples/s4u/actor-create/s4u_actor-create
-examples/s4u/actor-daemon/s4u_actor-daemon
-examples/s4u/actor-kill/s4u_actor-kill
-examples/s4u/actor-migration/s4u_actor-migration
-examples/s4u/actor-suspend/s4u_actor-suspend
-examples/s4u/basic/s4u_basic
-examples/s4u/basic/s4u_basic_deployment
-examples/s4u/basic/s4u_basic_function
-examples/s4u/dht-chord/s4u_dht-chord
-examples/s4u/io/s4u_io
-examples/s4u/mutex/s4u_mutex
+examples/msg/*.pcap
+examples/msg/*.tr
+examples/s4u/actions-comm/s4u-actions-comm
+examples/s4u/actions-storage/s4u-actions-storage
+examples/s4u/actor-create/s4u-actor-create
+examples/s4u/actor-daemon/s4u-actor-daemon
+examples/s4u/actor-execute/s4u-actor-execute
+examples/s4u/actor-kill/s4u-actor-kill
+examples/s4u/actor-lifetime/s4u-actor-lifetime
+examples/s4u/actor-migration/s4u-actor-migration
+examples/s4u/actor-priority/s4u-actor-priority
+examples/s4u/actor-suspend/s4u-actor-suspend
+examples/s4u/app-bittorrent/s4u-bittorrent
+examples/s4u/app-masterworker/s4u-app-masterworker
+examples/s4u/app-pingpong/s4u-app-pingpong
+examples/s4u/app-token-ring/s4u-app-token-ring
+examples/s4u/async-wait/s4u-async-wait
+examples/s4u/async-waitall/s4u-async-waitall
+examples/s4u/async-waitany/s4u-async-waitany
+examples/s4u/basic/s4u-basic
+examples/s4u/basic/s4u-basic_deployment
+examples/s4u/basic/s4u-basic_function
+examples/s4u/dht-chord/s4u-dht-chord
+examples/s4u/energy-link/s4u-energy-link
+examples/s4u/io/s4u-io
+examples/s4u/mutex/s4u-mutex
+examples/s4u/plugin-hostload/s4u-plugin-hostload
 examples/simdag/daxload/sd_daxload
 examples/simdag/dag-dotload/sd_dag-dotload
 examples/simdag/ptg-dotload/sd_ptg-dotload
@@ -231,6 +240,7 @@ examples/smpi/mc/send_deterministic
 examples/smpi/NAS/dt
 examples/smpi/NAS/ep
 examples/smpi/NAS/is
+examples/smpi/replay_multiple/deployment.xml
 examples/smpi/replay_multiple/replay_multiple
 examples/smpi/replay/one_trace
 examples/smpi/ring_c
@@ -243,13 +253,16 @@ examples/smpi/trace_simple/smpi_trace_simple
 examples/smpi/trace_call_location/smpi_trace_call_location
 testall
 teshsuite/datadesc_usage.out
-teshsuite/java/semaphoreGC/semaphoreGC_compiled
-teshsuite/java/sleepHostOff/sleepHostOff_compiled
+teshsuite/java/semaphoregc/java-semaphoregc_compiled
+teshsuite/java/sleephostoff/java-sleephostoff_compiled
 teshsuite/mc/dwarf/dwarf
 teshsuite/mc/dwarf-expression/dwarf-expression
 teshsuite/mc/random-bug/random-bug
 teshsuite/mc/mutex-handling/mutex-handling
 teshsuite/mc/mutex-handling/without-mutex-handling
+teshsuite/msg/actions-comm/actions-comm
+teshsuite/msg/actions-storage/actions-storage
+teshsuite/msg/app-bittorrent/bittorrent
 teshsuite/msg/cloud-sharing/cloud-sharing
 teshsuite/msg/concurrent_rw/concurrent_rw
 teshsuite/msg/get_sender/get_sender
@@ -666,7 +679,6 @@ teshsuite/smpi/mpich3-test/f77/datatype/gaddressf
 teshsuite/smpi/mpich3-test/f77/datatype/hindex1f
 teshsuite/smpi/mpich3-test/f77/datatype/hindexed_blockf
 teshsuite/smpi/mpich3-test/f77/datatype/packef
-teshsuite/smpi/mpich3-test/f77/datatype/typeaints
 teshsuite/smpi/mpich3-test/f77/datatype/typeaints.h
 teshsuite/smpi/mpich3-test/f77/datatype/typecntsf
 teshsuite/smpi/mpich3-test/f77/datatype/typem2f
@@ -685,6 +697,7 @@ teshsuite/smpi/mpich3-test/f77/rma/c2f2cwinf
 teshsuite/smpi/mpich3-test/f77/rma/winaccf
 teshsuite/smpi/mpich3-test/f77/rma/winfencef
 teshsuite/smpi/mpich3-test/f77/rma/wingetf
+teshsuite/smpi/mpich3-test/f77/rma/wingroupf
 teshsuite/smpi/mpich3-test/f77/rma/winnamef
 teshsuite/smpi/mpich3-test/f77/rma/winscale1f
 teshsuite/smpi/mpich3-test/f77/topo/cartcrf
@@ -727,6 +740,7 @@ teshsuite/smpi/mpich3-test/f90/rma/c2f2cwinf90
 teshsuite/smpi/mpich3-test/f90/rma/winaccf90
 teshsuite/smpi/mpich3-test/f90/rma/winfencef90
 teshsuite/smpi/mpich3-test/f90/rma/wingetf90
+teshsuite/smpi/mpich3-test/f90/rma/wingroupf90
 teshsuite/smpi/mpich3-test/f90/rma/winnamef90
 teshsuite/smpi/mpich3-test/f90/rma/winscale1f90
 teshsuite/smpi/mpich3-test/group/groupcreate
@@ -1064,7 +1078,6 @@ teshsuite/surf/lmm_usage/lmm_usage
 teshsuite/surf/maxmin_bench/maxmin_bench
 teshsuite/surf/surf_usage/surf_usage
 teshsuite/surf/surf_usage2/surf_usage2
-teshsuite/xbt/heap_bench/heap_bench
 teshsuite/xbt/log_large/log_large
 teshsuite/xbt/log_usage/log_usage
 teshsuite/xbt/mallocator/mallocator
@@ -1080,30 +1093,8 @@ test_sg
 tools/tesh/tesh
 unit_tmgr
 #########################################
-## touched files to track the dependencies of java examples
-examples/java/app/bittorrent/java_app_bittorrent_compiled
-examples/java/app/centralizedmutex/java_app_centralizedmutex_compiled
-examples/java/app/masterworker/java_app_masterworker_compiled
-examples/java/app/pingpong/java_app_pingpong_compiled
-examples/java/app/tokenring/java_app_tokenring_compiled
-examples/java/async/yield/java_async_yield_compiled
-examples/java/async/dsend/java_async_dsend_compiled
-examples/java/async/waitall/java_async_waitall_compiled
-examples/java/dht/chord/java_dht_chord_compiled
-examples/java/dht/kademlia/java_dht_kademlia_compiled
-examples/java/cloud/masterworker/java_cloud_masterworker_compiled
-examples/java/cloud/migration/java_cloud_migration_compiled
-examples/java/energy/consumption/java_energy_consumption_compiled
-examples/java/energy/pstate/java_energy_pstate_compiled
-examples/java/energy/vm/java_energy_vm_compiled
-examples/java/io/file/java_io_file_compiled
-examples/java/io/storage/java_io_storage_compiled
-examples/java/process/kill/java_process_kill_compiled
-examples/java/process/migration/java_process_migration_compiled
-examples/java/process/suspend/java_process_suspend_compiled
-examples/java/process/startkilltime/java_process_startkilltime_compiled
-examples/java/task/priority/java_task_priority_compiled
-examples/java/trace/pingpong/java_trace_pingpong_compiled
+## files touched to track the dependencies of java examples
+examples/java/*/*/*_compiled
 /CMakeCache.txt
 examples/smpi/mc/smpi_bugged1
 examples/smpi/mc/smpi_bugged1_liveness
index b53e23e..236576a 100644 (file)
@@ -50,7 +50,7 @@ script:
    - if [[ "$TRAVIS_OS_NAME" == "osx"   ]]; then brew update; fi
    - if [[ "$TRAVIS_OS_NAME" == "osx"   ]]; then brew install python3; fi
    - if [[ "$TRAVIS_OS_NAME" == "osx"   ]]; then cmake -Denable_model-checking=OFF -Denable_documentation=OFF -Denable_coverage=ON -Denable_java=ON -Denable_lua=OFF -Denable_compile_optimizations=ON -Denable_smpi=ON -Denable_smpi_MPICH3_testsuite=OFF -Denable_compile_warnings=ON .; fi
-   - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then cmake -Denable_model-checking=ON  -Denable_documentation=OFF -Denable_coverage=ON -Denable_java=ON -Denable_lua=OFF -Denable_compile_optimizations=ON -Denable_smpi=ON -Denable_smpi_MPICH3_testsuite=OFF -Denable_compile_warnings=ON .; fi
+   - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then cmake -Denable_model-checking=ON  -Denable_documentation=OFF -Denable_coverage=ON -Denable_java=ON -Denable_lua=OFF -Denable_compile_optimizations=ON -Denable_smpi=ON -Denable_smpi_MPICH3_testsuite=ON -Denable_compile_warnings=ON .; fi
    # run make and ctest in the sonar wrapper on master/linux; run it directly in PR or OSX
    - if [[ "$TRAVIS_OS_NAME" == "linux" ]] && [[ "${TRAVIS_PULL_REQUEST}" == "false" ]]; then ./tools/internal/travis-sonarqube.sh make VERBOSE=1; else make VERBOSE=1 && ctest --output-on-failure --timeout 100; fi
 notifications:
index 19a9267..58b548b 100644 (file)
@@ -40,7 +40,7 @@ if(COMPILER_SUPPORTS_CXX11)
 else() 
   message(FATAL_ERROR 
           "The compiler ${CMAKE_CXX_COMPILER} (v${CMAKE_CXX_COMPILER_VERSION}) has no C++11 support. "
-           "Please use a decent C++ compiler.")
+          "Please install a decent C++ compiler (remove CMakeCache.txt once it's installed).")
 endif()
 
 ### And we need C11 standard, too
@@ -105,7 +105,7 @@ endif()
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 
 set(SIMGRID_VERSION_MAJOR "3")
-set(SIMGRID_VERSION_MINOR "17")
+set(SIMGRID_VERSION_MINOR "18")
 set(SIMGRID_VERSION_PATCH "0")
 set(SIMGRID_VERSION_EXTRA "-DEVEL") # Extra words to add to version string (e.g. -rc1)
 
@@ -204,6 +204,8 @@ IF(CMAKE_SYSTEM_PROCESSOR MATCHES ".86|AMD64|amd64")
   ENDIF()
   if (WIN32)
     message(STATUS "Disable fast raw contexts on Windows.")
+  elseif(enable_address_sanitizer)
+    message("Disable fast raw contexts with ASan")
   else()
     set(HAVE_RAW_CONTEXTS 1)
   endif()
@@ -240,6 +242,7 @@ endif()
 if(WIN32)
   set(Boost_USE_STATIC_LIBS 1)
 endif()
+
 set(HAVE_PAPI 0)
 if(enable_smpi_papi)
   include(FindPAPI)
@@ -271,16 +274,8 @@ endif()
 find_package(Boost COMPONENTS context)
 set(Boost_FOUND 1) # This component is optional
 if(Boost_CONTEXT_FOUND)
-  if (Boost_VERSION LESS 105600)
-    message("Found Boost.Context API v1")
-    set(HAVE_BOOST_CONTEXTS 1)
-  elseif(Boost_VERSION LESS 106100)
-    message("Found Boost.Context API v2")
-    set(HAVE_BOOST_CONTEXTS 2)
-  else()
-    message("   WARNING : our implementation of Boost context factory is not compatible with Boost >=1.61 yet.")
-    set(HAVE_BOOST_CONTEXTS 0)
-  endif()
+  message("Found Boost.Context")
+  set(HAVE_BOOST_CONTEXTS 1)
 else()
   message ("   boost        : found.")
   message ("   boost-context: missing. Install libboost-context-dev for this optional feature.")
@@ -403,15 +398,16 @@ if(HAVE_LIBUNWIND)
   endif()
 else()
   if(enable_model-checking)
-    message(FATAL_ERROR "Please install libunwind-dev libdw-dev libevent-dev if you want to compile the SimGrid model checker.")
+    message(FATAL_ERROR "Please install libunwind-dev libdw-dev libelf-dev libevent-dev if you want to compile the SimGrid model checker.")
   endif()
 endif()
 
 if(enable_model-checking)
   find_package(Libdw REQUIRED)
+  find_package(Libelf REQUIRED)
   find_package(Libevent REQUIRED)
-  include_directories(${LIBDW_INCLUDE_DIR} ${LIBEVENT_INCLUDE_DIR})
-  set(SIMGRID_DEP "${SIMGRID_DEP} ${LIBEVENT_LIBRARIES} ${LIBDW_LIBRARIES}")
+  include_directories(${LIBDW_INCLUDE_DIR} ${LIBELF_INCLUDE_DIR} ${LIBEVENT_INCLUDE_DIR})
+  set(SIMGRID_DEP "${SIMGRID_DEP} ${LIBEVENT_LIBRARIES} ${LIBELF_LIBRARIES} ${LIBDW_LIBRARIES}")
   set(SIMGRID_HAVE_MC 1)
   if("${CMAKE_SYSTEM}" MATCHES "FreeBSD" AND enable_java)
     message(WARNING "FreeBSD + Model-Checking + Java = too much for now. Disabling java")
@@ -578,6 +574,8 @@ if(NOT HAVE_UCONTEXT_H)
 elseif(APPLE)
   message("-- No ucontext factory: Apple don't want us to use them.")
   set(HAVE_UCONTEXT_H 0)
+elseif(enable_address_sanitizer)
+  message("-- No ucontext factory: ASan does not support it (see http://code.google.com/p/address-sanitizer/issues/detail?id=189)")
 else()
   try_compile(compile_makecontext ${CMAKE_BINARY_DIR} ${CMAKE_HOME_DIRECTORY}/tools/cmake/test_prog/prog_makecontext.c
     OUTPUT_VARIABLE compile_makecontext_output)
@@ -678,6 +676,11 @@ else()
   set(GIT_VERSION "none, release version")
 endif()
 
+### Setup gcc & clang flags
+if (NOT MSVC)
+  include(${CMAKE_HOME_DIRECTORY}/tools/cmake/GCCFlags.cmake)
+endif()
+
 ### Generate the required headers and scripts
 #############################################
 
@@ -869,11 +872,6 @@ include(${CMAKE_HOME_DIRECTORY}/tools/cmake/DefinePackages.cmake)
 include(${CMAKE_HOME_DIRECTORY}/tools/cmake/MaintainerMode.cmake)
 include(${CMAKE_HOME_DIRECTORY}/tools/cmake/UnitTesting.cmake)
 
-### Setup gcc & clang flags
-if (NOT MSVC)
-  include(${CMAKE_HOME_DIRECTORY}/tools/cmake/GCCFlags.cmake)
-endif()
-
 ### Make Libs
 if(NOT WIN32)
   include(${CMAKE_HOME_DIRECTORY}/tools/cmake/MakeLib.cmake)
@@ -949,11 +947,6 @@ message("                version .............: ${CMAKE_CXX_COMPILER_VERSION}")
 if(${Java_FOUND})
   message("        Compiler: Javac .............: ${Java_JAVAC_EXECUTABLE}")
   message("                version .............: ${Java_VERSION_STRING}")
-if(${SWIG_FOUND})
-  message("                SWIG ................: Version ${SWIG_VERSION} found.")
-else()
-  message("                SWIG ................: Missing.")
-endif()
 endif()
 if(CMAKE_Fortran_COMPILER)
   message("        Compiler: Fortran ...........: ${SMPI_Fortran_COMPILER} (id: ${CMAKE_Fortran_COMPILER_ID})")
diff --git a/COPYING b/COPYING
index 763c3b3..f44d682 100644 (file)
--- a/COPYING
+++ b/COPYING
@@ -17,7 +17,27 @@ Copyright:
   Copyright (c) 2002-2004 The OSSP Project <http://www.ossp.org/>
   Copyright (c) 2002-2004 Cable & Wireless <http://www.cw.com/>
   Copyright (c) 2005-2015. The SimGrid Team.  
-Copyright: Expat
+License: Expat
+ This file is part of OSSP ex, an exception handling library
+ which can be found at http://www.ossp.org/pkg/lib/ex/.
+ .
+ Permission to use, copy, modify, and distribute this software for
+ any purpose with or without fee is hereby granted, provided that
+ the above copyright notice and this permission notice appear in all
+ copies.
+ .
+ THIS SOFTWARE IS PROVIDED AS IS'' AND ANY EXPRESSED OR IMPLIED
+ WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
+ CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ SUCH DAMAGE.
 Comment: Adapted from code from Ralf S. Engelschall and others in the OSSP project, remains under the original license.
 
 Files: src/xbt/mmalloc/* include/xbt/mmalloc.h
@@ -80,7 +100,6 @@ Comment: The author granted us the right to distribute this files under the LGPL
 
 Files:
  src/simdag/dax_dtd.c
- src/simdag/dax_dtd.l
  src/simdag/dax_dtd.h
  src/surf/xml/simgrid_dtd.c
  src/surf/xml/simgrid_dtd.h
@@ -102,7 +121,6 @@ Files:
  src/smpi/colls/allgatherv-ring.c
  src/smpi/colls/alltoall-2dmesh.c
  src/smpi/colls/alltoall-3dmesh.c
- src/smpi/colls/alltoall-bruck.c
  src/smpi/colls/alltoall-pair.c
  src/smpi/colls/alltoall-pair-light-barrier.c
  src/smpi/colls/alltoall-pair-mpi-barrier.c
@@ -125,6 +143,31 @@ Files:
  src/smpi/colls/bcast-scatter-rdb-allgather.c
 Copyright: Copyright (c) 2006, Ahmad Faraj & Xin Yuan
 License: BSD-3-clause
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+ .
+  * Redistributions of source code must retain the above copyright notice,
+    this list of conditions and the following disclaimer.
+ .
+  * Redistributions in binary form must reproduce the above copyright notice,
+    this list of conditions and the following disclaimer in the documentation
+    and/or other materials provided with the distribution.
+ .
+  * Neither the name of the Florida State University nor the names of its
+    contributors may be used to endorse or promote products derived from this
+    software without specific prior written permission.
+ .
+    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+    ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+    WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+    DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+    ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+    (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+    LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+    ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+    (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+    SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 Comment: Borrowed from StarMPI.
 
 Files:
index 9f70fdb..eb74d9a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,8 +1,91 @@
-SimGrid (3.17) UNRELEASED (release target: September 22 2017)
+SimGrid (3.18) NOT RELEASED YET (target: December 24 2017)
 
  S4U
-  - Comm.detach(): start and forget about asynchronous emission
+ - Link::name() is deprecated and will be removed in v3.21, use instead
+   Link::getCname().
+ - Mailbox::getName() changed to return a std::string, use instead
+   Mailbox::getCname() to get a char*.
+ - Storage::getName() changed to return a std::string, use intead
+   Storage::getCname() to get a char*.
+
+ MSG
+ - Deprecate MSG_task_get_flops_amount(). Its semantic was weird:
+    before the start it returned the total amount of flops;
+    after it returned the ratio of remaining work. Split it:
+   MSG_task_get_initial_flops_amount() for first behavior
+   MSG_task_get_remaining_work_ratio() for the second one.
+   This fixes GitHub's #223 using PR #237. Thanks Michael Mercier.
+
+ XBT
+ - Define class simgrid::xbt::Path to manage file names.
+ - Removed unused functions:
+   - xbt/file.h: xbt_basename(), xbt_dirname(), xbt_getline()
+   - xbt/str.h: xbt_str_join()
+   - xbt/heap.h: use std::priority_queue or boost::heap instead
+
+ PLUGINS:
+ - New link_energy plugin for the consumption of the links.
+
+ XML
+ - Remove the undocumented/untested tag <include>
+
+ TRACE
+ - Remove viva specific tracing as the tool is no longer maintained
+
+SimGrid (3.17) Released October 8 2017
+
+ The Drained Leaks release: (almost) no known leaks despite the tests.
+
+ Even very long simulations will preserve your memory: our testsuite
+ stresses SimGrid for over 45mn on fast machines for a coverage of
+ over 80%, and there is only one single known leak, of about 4kb.
+
+
+ S4U
+  - Comm.detach(): start and forget about asynchronous emission. A cleanup
+    handler may be given to free resources if the comm cannot be completed.
   - this_actor::send(mailbox) is now mailbox->put()
+  - New: simgrid::s4u::Comm::wait_all()
+  - New: Host.execute() for remote executions.
+
+ SURF
+  - Unused option network/sender-gap is removed.
+
+ MSG
+  - Deprecate MSG_task_isend_with_matching(): This unused feature
+    really complicates our internals. Will be removed in v3.20.
+
+ Simix
+  - Improved context termination.  It is now possible to free resources, even
+    when a process is forcibly killed.
+  - ContextBoost: add support for Boost versions above 1.61.
+
+ XBT
+ - Bring back run-time option --cfg=exception/cutpath to remove exception
+   backtraces.
+ - Removed unused functions:
+   - xbt/str.h: xbt_str_split_str(), xbt_str_subst(), xbt_str_ltrim(),
+       xbt_str_rtrim(), xbt_str_trim().
+   - xbt/xbt_os_thread.h: xbt_os_thread_cancel(), xbt_os_thread_detach().
+
+ Misc
+ - Removed header files obsolete since SimGrid 3.12:
+   msg/datatypes.h, msg/msg.h, simdag/datatypes.h, simdag/simdag.h.
+ - Fix many bugs:
+   - #3: SD_exit should be made optional
+   - #120: Memory leak when the processes are forcefully killed
+   - #159: Threading test regression in Actor refcounting
+   - #170: simgrid::s4u::Comm::wait_any() returns too many comms
+   - #185: simgrid::s4u::Engine::instance()->shutdown() segfaults
+   - #186: Actor::killAll() segfaults if some process is blocked on wait()
+   - #191: VM migration and pstate
+   - #192: Updating the energy consumptions of all hosts crashes with VMs
+   - #195: All actors have PID=0 in the logs
+   - #204: Sometimes segfault with thread contexts and mmap privatization
+   - #222: Actor::kill() doesn't really kill and segfaults
+   - #225: Actor::kill() doesn't really kill when victims are doing a join()
+
+----------------------------------------------------------------------------
 
 SimGrid (3.16) Released June 22. 2017.
 
@@ -52,7 +135,7 @@ SimGrid (3.16) Released June 22. 2017.
  SMPI
   - New algorithm to privatize globals: dlopen, with dynamic loading tricks
   - New option: smpi/keep-temps to not cleanup temp files
-  - New option : smpi/shared-malloc-blocksize . Relevant only when global shared 
+  - New option : smpi/shared-malloc-blocksize . Relevant only when global shared
     mallocs mode is used, allows to change the size of the fake file used
     (default 1MB), to potentially limit the number of mappings for large runs.
   - Support for sparse privatized malloc with SMPI_PARTIAL_SHARED_MALLOC()
@@ -93,7 +176,7 @@ SimGrid (3.15) Released March 22. 2017
 
  MSG
  - New: MSG_process_yield(). Stop and yield to other processes.
- - New: MSG_process_daemon(). Daemon processes are automatically killed 
+ - New: MSG_process_daemon(). Daemon processes are automatically killed
    when the last non-daemon process terminates
  - New: MSG_process_ref/unref(). Fiddle with the process refcounting.
  - Renamed MSG_energy_plugin_init() -> MSG_host_energy_plugin_init()
@@ -105,13 +188,13 @@ SimGrid (3.15) Released March 22. 2017
  - Kill the obscure NativeException. Nobody want to survive the issues
    it denotes, so use JniException that is a RuntimeException (not to
    be caught explicitly).
- - Partial bug fix in initialization. SimGrid flags on command line were 
-   consumed at C level but stayed in the original Java String[] args. 
+ - Partial bug fix in initialization. SimGrid flags on command line were
+   consumed at C level but stayed in the original Java String[] args.
    This could mess users' args[i] if SG flags were not put at the end of
    the command line.
-   The SimGrid flags are now removed from the Java arguments. However, 
+   The SimGrid flags are now removed from the Java arguments. However,
    the number of arguments REMAINS UNCHANGED. It is then UNSAFE to test
-   if args.length is greater than the number of YOUR OWN ARGUMENTS. 
+   if args.length is greater than the number of YOUR OWN ARGUMENTS.
    It might be if you have --log or --cfg flags in the command line.
  - Fix numerous memleaks all around the place. In particular, around VMs.
 
@@ -133,21 +216,21 @@ SimGrid (3.15) Released March 22. 2017
 
  SimDag
  - Backwards Compatibility breaks
-    - The SD_route_get_list and SD_route_get_size functions have been removed. 
-      They are replaced by the unique 
+    - The SD_route_get_list and SD_route_get_size functions have been removed.
+      They are replaced by the unique
          void sg_host_route(sg_host_t src, sg_host_t dst, xbt_dynar_t links)
-      The route from src to dst is built in the links dynar whose size can 
+      The route from src to dst is built in the links dynar whose size can
       be obtained with xbt_dynar_length.
     - The SD_route_bandwidth and SD_route_latency functions have been replaced by
-        sg_host_route_bandwidth and sg_host_route_latency. 
+        sg_host_route_bandwidth and sg_host_route_latency.
       Macros ensure the backwards compatibility, but you should fix your code
 
  SMPI
- - Major C++ rewrite ongoing (SMPI used to be C compiled in C++). 
+ - Major C++ rewrite ongoing (SMPI used to be C compiled in C++).
    This can break codes using SMPI internals (from private.h instead of the public smpi.h).
- - Bump our claim of support from MPI 1.1 to MPI 2.2. 
+ - Bump our claim of support from MPI 1.1 to MPI 2.2.
    We don't support 100% of it, but it should be enough. Contact us if not.
- - MPI_Win_lock/unlock, MPI_Get_accumulate support added (as for all RMA, implementation is 
+ - MPI_Win_lock/unlock, MPI_Get_accumulate support added (as for all RMA, implementation is
    naive and probably inaccurate)
  - New algorithm for SMPI_SHARED_MALLOC: global, where all blocks are
    mapped onto a unique small file using some system magic.
@@ -194,13 +277,13 @@ SimGrid (3.14) Released December 24. 2016
 
  SMPI
  * Privatization now works on FreeBSD
+
  * Privatization is now activated by default in smpirun
    You can turn it off with -no-privatize if something goes wrong.
 
  * Call-location tracing for SMPI.
-   You can add the exact location (filename / linenumber) of an MPI call to 
-   your trace files and slow down or speed up the simulation between two 
+   You can add the exact location (filename / linenumber) of an MPI call to
+   your trace files and slow down or speed up the simulation between two
    consecutive calls by using an adjustment file (see the documentation).
 
  * Fixed computation of timings for MPI_Send, MPI_Recv & possibly also others
@@ -212,8 +295,8 @@ SimGrid (3.14) Released December 24. 2016
  * smpi/cpu-threshold:-1 should become smpi/simulate-computation:no
    smpi/running-power    is renamed to smpi/host-speed
 
- * smpi/grow-injected-times option to enable or disable multiplication of the 
-   timings injected in MPI_Iprobe, or MPI_Test. Enabled by default, which can 
+ * smpi/grow-injected-times option to enable or disable multiplication of the
+   timings injected in MPI_Iprobe, or MPI_Test. Enabled by default, which can
    make simulation less precise (but also much faster).
 
  * smpirun script should be (much) faster for large deployments.
@@ -243,11 +326,11 @@ SimGrid (3.14) Released December 24. 2016
    - Ignored parameter of vm_create: core_nb, disk_path and disk_size.
    - Unimplemented save/restore methods
  * MSG_as_router_get_property_value() was redundent with
-   MSG_environment_as_get_property_value(). 
+   MSG_environment_as_get_property_value().
    - Removed MSG_as_router_*propert*() functions
    - Added MSG_environment_as_set_property_value() for consistency
- * xbt heterogeneous dictionnaries (created with xbt_dict_new()). 
-   Well, they are still there for now, but deprecated with a warning. 
+ * xbt heterogeneous dictionnaries (created with xbt_dict_new()).
+   Well, they are still there for now, but deprecated with a warning.
    Please switch to xbt_dict_new_homogeneous() before this is removed
    for real.
  * Task affinity. Its intended behavior (that was very badly tested
@@ -255,8 +338,8 @@ SimGrid (3.14) Released December 24. 2016
    would have hoped here.
  * xbt_os_sem_get_value: unused internally, deprecated on OS X El Capitan
  * Option network/coordinates is now useless and should be dropped.
- Storage: 
+
+ Storage:
  * Added option storage/max_file_descriptors to allow more than 1024 files opened
 
  SURF:
@@ -265,29 +348,29 @@ SimGrid (3.14) Released December 24. 2016
 
  XML:
  * Add Exa- and Peta- units such as EiB, EB, Eib, Eb for size, and
-   EiBps, EBps, Eibps, Ebps for bandwidth. 
+   EiBps, EBps, Eibps, Ebps for bandwidth.
    They may become useful to some lucky ones.
-   
+
  Java:
  * New functions: msg.Comm.waitAll() and msg.Comm.waitAny()
  * ex/app_tokenring: new example, very similar to the MSG Token Ring
  * ex/async_waitAll: new example, on asynchronous communications
 
  MSG:
- * Memory usage should be decreased for simulations with a large number 
+ * Memory usage should be decreased for simulations with a large number
    of processes. This also helps for SMPI.
 
 SimGrid (3.13) stable; urgency=low
 
  The Half Release, a.k.a. the Zealous Easter Trim.
+
  - We removed half of the lines, that were mostly experimental cruft.
    v3.12 lasted 286000 lines of code, v3.13 is only 142000 lines
    (not counting blanks and comments -- according to openhub.net)
  - The internals are now compiled in C++ (and will soon be clean C++)
- - We removed 75 klines of XML, 12 klines of Java, 5 klines of cmake, 
+ - We removed 75 klines of XML, 12 klines of Java, 5 klines of cmake,
    59 klines of C, etc. We added only 29 klines of C++ in replacement.
-   
+
  * Backwards Compatibility breaks
    - Removed Lua simulation bindings (switch to C or Java for that).
      Lua can still be used to describe platforms
@@ -299,11 +382,11 @@ SimGrid (3.13) stable; urgency=low
         way, with filter function.
           - MSG_task_listen_from_host
           - MSG_mailbox_get_count_host_waiting_tasks
-          - MSG_mailbox_put_with_timeout was removed. 
+          - MSG_mailbox_put_with_timeout was removed.
             Please use MSG_task_send_with_timeout instead.
-   - In SimDag 
-      - the SD_application_reinit function was removed. It has been a noop for a while. 
-      - The ACCESS_MODE of SD_workstation has been removed. This feature was not really usable and should soon be 
+   - In SimDag
+      - the SD_application_reinit function was removed. It has been a noop for a while.
+      - The ACCESS_MODE of SD_workstation has been removed. This feature was not really usable and should soon be
         replaced by a more flexible mechanism.
       - The following functions thus do not exist anymore
          - SD_workstation_get_access_mode
@@ -313,7 +396,7 @@ SimGrid (3.13) stable; urgency=low
         - SD_route_get_communication_time => SG_route_get_latency() + amount / SD_route_get_bandwidth()
         - SD_workstation_get_computation_time => amount / sg_host_speed()
    - In Java
-      - VM.setBound(int load) is now VM.setBound(double bound) to meet the MSG semantics. 
+      - VM.setBound(int load) is now VM.setBound(double bound) to meet the MSG semantics.
         Use VM.getSpeed()*load/100 for the legacy behavior.
    - In CMake
       - option enable_tracing was removed. It was not doing anything for a while.
@@ -352,7 +435,7 @@ SimGrid (3.13) stable; urgency=low
        And the same in bits:  'Tibps', 'Gibps', 'Mibps', 'Kibps', 'Tbps', 'Gbps', 'Mbps', 'kbps', 'bps'
      - latency. Default: 's' second. Also defined:
        'w' week, 'd' day, 'h' hour, 'm' minute, 'ms' millisecond, 'us' microsecond, 'ns' nanosecond, 'ps' picosecond
-       
+
  * bin/simgrid_update_xml can upgrade your files automatically (won't convert unit-less values)
    tools/sg_xml_unit_converter.py may help (but it's just a warning and will probably ever be).
 
@@ -363,14 +446,14 @@ SimGrid (3.13) stable; urgency=low
 
  MSG
  * The examples were completely reorganized (in C and Java), for your browsing pleasure.
- * Kill all deprecated functions (the ones you had when declaring MSG_DEPRECATED). 
+ * Kill all deprecated functions (the ones you had when declaring MSG_DEPRECATED).
    They were deprecated since a few years, and probably did not even compile anymore.
 
  SimDag
- * The API has been profoundly modified to directly use the core objects instead of redefining its own. 
+ * The API has been profoundly modified to directly use the core objects instead of redefining its own.
    SD_Workstation_t and SD_link_t are now sg_host_t and sg_link_t respectively.
-   Some functions have also been renamed for consistency. Backward compatibility is maintained, but users are 
-   encouraged to update their codes. A list of the modified functions can be found at the end of 
+   Some functions have also been renamed for consistency. Backward compatibility is maintained, but users are
+   encouraged to update their codes. A list of the modified functions can be found at the end of
    include/simgrid/simdag.h
 
  Simix
@@ -406,7 +489,7 @@ SimGrid (3.13) stable; urgency=low
  * refactoring and cleanup of the code;
  * ongoing process to cleanly separate the model-checking algorithms
    from the code model-checking support.
+
  -- Wed Apr 27 21:00:53 CEST 2016 Da SimGrid team <simgrid-devel@lists.gforge.inria.fr>
 
 SimGrid (3.12) stable; urgency=low
diff --git a/NEWS b/NEWS
index 3125d9b..acbd344 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,10 +1,23 @@
+                    _               _____  _  ___
+__   _____ _ __ ___(_) ___  _ __   |___ / / |( _ )
+\ \ / / _ \ '__/ __| |/ _ \| '_ \    |_ \ | |/ _ \
+ \ V /  __/ |  \__ \ | (_) | | | |  ___) || | (_) |
+  \_/ \___|_|  |___/_|\___/|_| |_| |____(_)_|\___/
+               (not released yet)
+
                     _               _____  _ _____
 __   _____ _ __ ___(_) ___  _ __   |___ / / |___  |
 \ \ / / _ \ '__/ __| |/ _ \| '_ \    |_ \ | |  / /
  \ V /  __/ |  \__ \ | (_) | | | |  ___) || | / /
   \_/ \___|_|  |___/_|\___/|_| |_| |____(_)_|/_/
-               (unreleased yet)
+               October 8 2017
+
+The Drained Leaks release: (almost) no known leaks despite the tests.
 
+ * Many many internal cleanups (almost 700 commits since 3.16).
+ * The coverage of our tests is above 80%.
+ * All memleaks but one plugged; A dozen of bugs fixed.
+ * XBT: Further replace XBT with std::* constructs.
                     _               _____  _  __
 __   _____ _ __ ___(_) ___  _ __   |___ / / |/ /_
 \ \ / / _ \ '__/ __| |/ _ \| '_ \    |_ \ | | '_ \
index c171b09..4828114 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2013-2014. The SimGrid Team.
+/* Copyright (c) 2013-2017. The SimGrid Team.
  * All rights reserved.                                                     */
 
 /* This program is free software; you can redistribute it and/or modify it
@@ -66,7 +66,8 @@ static inline void xbt_inject_init(char *inputfile)
   if (fgets(line, 200, fpInput) == NULL)
     printf("Error input file is empty!"); // Skipping first row
   while (fgets(line, 200, fpInput) != NULL) {
-    key = strtok(line, "\t");
+    char *saveptr = NULL; /* for strtok_r() */
+    key = strtok_r(line, "\t", &saveptr);
 
     xbt_hist_t* data = xbt_dict_get_or_null(mydict, key);
     if (data)
@@ -75,20 +76,20 @@ static inline void xbt_inject_init(char *inputfile)
     data = (xbt_hist_t*)xbt_new(xbt_hist_t, 1);
 
     data->block_id = key;
-    data->counts   = atoi(strtok(NULL, "\t"));
-    data->mean     = atof(strtok(NULL, "\t"));
-    data->n        = atoi(strtok(NULL, "\t"));
+    data->counts   = atoi(strtok_r(NULL, "\t", &saveptr));
+    data->mean     = atof(strtok_r(NULL, "\t", &saveptr));
+    data->n        = atoi(strtok_r(NULL, "\t", &saveptr));
 
     data->breaks     = (double*)malloc(sizeof(double) * data->n);
     data->percentage = (double*)malloc(sizeof(double) * (data->n - 1));
     for (int i        = 0; i < data->n; i++)
-      data->breaks[i] = atof(strtok(NULL, "\t"));
+      data->breaks[i] = atof(strtok_r(NULL, "\t", &saveptr));
     for (int i            = 0; i < (data->n - 1); i++)
-      data->percentage[i] = atof(strtok(NULL, "\t"));
+      data->percentage[i] = atof(strtok_r(NULL, "\t", &saveptr));
 
     xbt_dict_set(mydict, key, data, NULL);
   }
-  fclose(fInput);
+  fclose(fpInput);
 }
 
 /* Initializing xbt dictionary for StarPU version, reading xbt_hist_t entries line by line */
@@ -113,11 +114,13 @@ static inline void inject_init_starpu(char *inputfile, xbt_dict_t *dict, RngStre
 
   if (fgets(line, MAX_LINE_INJ, fpInput) == NULL) {
     printf("Error input file is empty!"); // Skipping first row
+    fclose(fpInput);
     return;
   }
 
   while (fgets(line, MAX_LINE_INJ, fpInput) != NULL) {
-    key = strtok(line, "\t");
+    char *saveptr = NULL; /* for strtok_r() */
+    key = strtok_r(line, "\t", &saveptr);
 
     xbt_hist_t* data = xbt_dict_get_or_null(mydict, key);
     if (data)
@@ -125,21 +128,21 @@ static inline void inject_init_starpu(char *inputfile, xbt_dict_t *dict, RngStre
 
     data             = (xbt_hist_t*)xbt_new(xbt_hist_t, 1);
     data->block_id   = key;
-    data->counts     = atoi(strtok(NULL, "\t"));
-    data->mean       = atof(strtok(NULL, "\t"));
-    data->n          = atoi(strtok(NULL, "\t"));
+    data->counts     = atoi(strtok_r(NULL, "\t", &saveptr));
+    data->mean       = atof(strtok_r(NULL, "\t", &saveptr));
+    data->n          = atoi(strtok_r(NULL, "\t", &saveptr));
     data->breaks     = (double*)malloc(sizeof(double) * data->n);
     data->percentage = (double*)malloc(sizeof(double) * (data->n - 1));
 
     for (int i        = 0; i < data->n; i++)
-      data->breaks[i] = atof(strtok(NULL, "\t"));
+      data->breaks[i] = atof(strtok_r(NULL, "\t", &saveptr));
     for (int i = 0; i < (data->n - 1); i++) {
-      data->percentage[i] = atof(strtok(NULL, "\t"));
+      data->percentage[i] = atof(strtok_r(NULL, "\t", &saveptr));
     }
 
     xbt_dict_set(mydict, key, data, NULL);
   }
-  fclose(fInput);
+  fclose(fpInput);
 }
 
 /* Injecting time */
index 2ec75dd..500cbe4 100644 (file)
@@ -689,6 +689,7 @@ INPUT                  = doxygen/index.doc \
                          @CMAKE_HOME_DIRECTORY@/include/simgrid \
                          @CMAKE_HOME_DIRECTORY@/include/simgrid/s4u \
                          @CMAKE_HOME_DIRECTORY@/src/include/surf \
+                         @CMAKE_HOME_DIRECTORY@/src/include/xbt \
                          @CMAKE_HOME_DIRECTORY@/src/msg/ \
                          @CMAKE_HOME_DIRECTORY@/src/kernel/ \
                          @CMAKE_HOME_DIRECTORY@/src/kernel/activity/ \
index 0852c34..f7a049a 100644 (file)
@@ -26,7 +26,7 @@ your version (as long as your version is as free as ours). It also
 means that SimGrid is developed by a vivid community of users and
 developers. We hope that you will come and join us!
 
-SimGrid is the result of over 15 years of research from several
+SimGrid is the result of almost 20 years of research from several
 groups, both in France and in the USA. It benefited of many funding
 from various research instances, including the ANR, Inria, CNRS,
 University of Lorraine, University of Hawai'i at Manoa, ENS Rennes and
diff --git a/doc/doxygen/image/eclipseScreenShot.png b/doc/doxygen/image/eclipseScreenShot.png
new file mode 100644 (file)
index 0000000..4111737
Binary files /dev/null and b/doc/doxygen/image/eclipseScreenShot.png differ
index a0a8a97..9593489 100644 (file)
@@ -160,13 +160,13 @@ the simcall definitions from src/simix/simcalls.in, checks that both
 `simcall_<name>()` and `simcall_HANDLER()` are defined somewhere, and
 generates the following files:
 
-- smx_popping_accessors.h:
+- popping_accessors.hpp:
   Helper functions to get and set simcall arguments and results
-- smx_popping_bodies.cpp:
+- popping_bodies.cpp:
   The BODY function of each simcall
-- smx_popping_enum.c:
+- popping_enum.h:
   Definition of type `enum e_smx_simcall_t` (one value per existing simcall)
-- smx_popping_generated.cpp:
+- popping_generated.cpp:
   Definitions of `simcall_names[]` (debug name of each simcall), and
   SIMIX_simcall_enter() that deals with the simcall from within the kernel
 
index 57075d1..186ec03 100644 (file)
@@ -8,6 +8,8 @@
 Please apply the following checklist before releasing.
 
 - Sources
+  - The external patches (Debian, etc) are integrated.
+    The COPYING file is aligned with Debian's copyright file.
   - The version number is correctly marked in CMakeLists.txt, in macros
     SIMGRID_VERSION_MAJOR and friends. 
   - The "make distcheck" target works (testing that every files needed
@@ -33,7 +35,7 @@ This should be done from a clean git repository because some files are
 included through globbing. The best is to use a clean checkout:
 \verbatim
 cd /tmp
-git clone ~/Code/simgrid
+git clone --depth=1 ~/Code/simgrid
 cd simgrid
 cmake . && make dist
 \endverbatim
@@ -90,14 +92,16 @@ the settings icon of the release you want to change.
   - emacs org/site/download.org and C-c C-c the first source block to refresh the download.
   - emacs org/site/documentation.org and edit the version links.
   - make -C org all sync
-  - git commit && git push
+  - git commit -a && git push
 - Announce the release
+ - Document the tag on https://github.com/simgrid/simgrid/releases
  - Mail the simgrid-user mailing list
     - the NEWS chunk in the mail;
     - the ChangeLog chunk as attachment
  - Also mail some other lists (G5K users), with only the NEWS chunk
    and the link to the download section
-- Release the debian package   
+- Release the debian package
+- Update the simgrid/package.py for spack: https://github.com/solverstack/spack
 - Create the template for the next release in ChangeLog and NEWS files
 - Change the release number in CMakeLists.txt
 
index c8195c2..38732f6 100644 (file)
@@ -244,7 +244,7 @@ configurations. It takes a long time to answer, and it often reports
 issues but when it's green, then you know that SimGrid is very fit!
 We use <a href="https://travis-ci.org/simgrid/simgrid">Travis</a> to
 quickly run some tests on Linux and Mac. It answers quickly but may
-miss issues. And we use <a href="https://ci.appveyor.com/project/simgrid/simgrid">AppVeyor</a>
+miss issues. And we use <a href="https://ci.appveyor.com/project/mquinson/simgrid">AppVeyor</a>
 to build and somehow test SimGrid on windows. 
 
 \subsection inside_tests_jenkins Jenkins on the Inria CI servers
@@ -261,8 +261,10 @@ We have 2 interesting projects on Jenkins:
     is the main project, running the tests that we spoke about.\n It is
     configured (on Jenkins) to run the script <tt>tools/jenkins/build.sh</tt>
 \li <a href="https://ci.inria.fr/simgrid/job/SimGrid-DynamicAnalysis/">SimGrid-DynamicAnalysis</a>
-    runs the tests both under valgrind to find the memory errors and
-    under gcovr to report the achieved test coverage.\n It is configured
+    should be called "nightly" because it does not only run dynamic
+    tests, but a whole bunch of long lasting tests: valgrind (memory
+    errors), gcovr (coverage), Sanitizers (bad pointer usage, threading
+    errors, use of unspecified C constructs) and the clang static analyzer.\n It is configured
     (on Jenkins) to run the script <tt>tools/jenkins/DynamicAnalysis.sh</tt>
 
 In each case, SimGrid gets built in
@@ -282,6 +284,31 @@ order to disable the "ModelChecker" build on host
 (label=="small-netbsd-64-clang").implies(build_mode!="ModelChecker")
 \endverbatim
 
+Just for the record, the slaves were created from the available
+template with the following commands:
+\verbatim
+#debian/ubuntu
+apt-get install gcc g++ gfortran automake cmake libboost-dev openjdk-8-jdk openjdk-8-jre libxslt-dev libxml2-dev libevent-dev libunwind-dev libdw-dev htop git python3 xsltproc libboost-context-dev
+#for dynamicanalysis: 
+apt-get install jacoco libjacoco-java libns3-dev pcregrep gcovr ant lua5.3-dev sloccount
+
+#fedora
+dnf install libboost-devel openjdk-8-jdk openjdk-8-jre libxslt-devel libxml2-devel xsltproc git python3 libdw-devel libevent-devel libunwind-devel htop lua5.3-devel
+
+#netbsd
+pkg_add cmake gcc7 boost boost-headers automake openjdk8 libxslt libxml2 libunwind git htop python36
+
+#opensuse
+zypper install cmake automake clang boost-devel java-1_8_0-openjdk-devel libxslt-devel libxml2-devel xsltproc git python3 libdw-devel libevent-devel libunwind-devel htop binutils ggc7-fortran
+
+#freebsd
+pkg install boost-libs cmake openjdk8 automake libxslt libxml2 libunwind git htop python3  automake gcc6 flang elfutils libevent
+#+ clang-devel from ports
+
+#osx
+brew install cmake boost libunwind-headers libxslt git python3 
+\endverbatim
+
 \subsection inside_tests_travis Travis
 
 Travis is a free (as in free beer) Continuous Integration system that
index 4d4383b..e8f454b 100644 (file)
@@ -22,18 +22,25 @@ documentation.
 Here is a `CMakeLists.txt` that you can use as a starting point for
 your project. It builds two simulators from a given set of source files.
 
+You first need to copy the `FindSimGrid.cmake` (at the root of the
+SimGrid tree) into the `cmake/Modules` directory of your project.
+
 @verbatim
 project(MyFirstScheduler)
 
 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
 
+set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/Modules/")
+find_package(SimGrid REQUIRED)
+include_directories(${SimGrid_INCLUDE_DIR})
+
 set(SIMULATOR_SOURCES main.c other.c util.c)
 add_executable(my_simulator ${SIMULATOR_SOURCES})
-target_link_libraries(my_simulator simgrid)
+target_link_libraries(my_simulator ${SimGrid_LIBRARY})
 
 set(OTHER_SOURCES blah.c bar.c foo.h)
 add_executable(other_xp ${OTHER_SOURCES})
-target_link_libraries(other_xp simgrid)
+target_link_libraries(other_xp ${SimGrid_LIBRARY})
 @endverbatim
 
 @section install_yours_makefile Building your project with Makefile
@@ -84,7 +91,17 @@ clean:
 .PHONY: clean
 @endverbatim
 
-@section install_yours_javaexamples Building the Java examples in Eclipse
+@section install_yours_cppeclipsedevenv Develop in C++ with SimGrid with Eclipse
+
+If you wish to develop your plugin or modify SimGrid using Eclipse. You have to run cmake and import it as a Makefile project. 
+
+Next you have to activate C++11 in your build settings, add -std=c++11 in the CDT GCC Built-in compiler settings.
+
+ \image html eclipseScreenShot.png "Eclipse preference page" width=10cm
+
+
+
+@section install_yours_javaexample  Building the Java examples in Eclipse
 
 If you want to build our Java examples in Eclipse, get the whole
 source code and open the archive on your disk. In Eclipse, select
index 7ee18cf..abd1c3c 100644 (file)
@@ -6,9 +6,11 @@ The S4U API is currently under heavy work, but will eventually
 deprecate the MSG and SimDag APIs. Everything that you can do in
 SimGrid will be possible in S4U. 
 
-@warning <b>S4U is not ready for public use yet</b>. You should not go
-        that path unless you know what you are doing.  If unsure,
-        proceed to @ref MSG_API instead.
+@warning <b>S4U is not as rock stable as the rest of SimGrid yet</b>. 
+        You are really welcome to test it, but be warned that the API
+        may change without notice between releases. This is however
+        the way to go if you want to create a new long-term project.
+        If you want to play safe, proceed to @ref MSG_API instead. 
 
 Unsurprisingly, the S4U interface matches the concepts presented in 
 @ref starting_components "the introduction". You should read this page
index 811a399..238ba47 100644 (file)
@@ -118,7 +118,7 @@ selector algorithms, that were collected directly in the source code
 of the targeted MPI implementations.
 
 You can switch the automatic selector through the
-\c smpi/coll_selector configuration item. Possible values:
+\c smpi/coll-selector configuration item. Possible values:
 
  - <b>ompi</b>: default selection logic of OpenMPI (version 1.7)
  - <b>mpich</b>: default selection logic of MPICH (version 3.0.4)
@@ -412,7 +412,7 @@ changed to use smpi version of the calls instead (MPI_Send will become smpi_mpi_
 
 Example: adding a "pair" version of the Alltoall collective.
 
- - Implement it in a file called alltoall-pair.c in the src/smpi/colls folder. This file should include colls_private.h.
+ - Implement it in a file called alltoall-pair.c in the src/smpi/colls folder. This file should include colls_private.hpp.
 
  - The name of the new algorithm function should be smpi_coll_tuned_alltoall_pair, with the same signature as MPI_Alltoall.
 
index 395f744..d2ce9de 100644 (file)
@@ -17,7 +17,6 @@
       - \ref XBT_dynar
       - \ref XBT_dict
       - \ref XBT_swag
-      - \ref XBT_heap
     - \ref XBT_misc
       - \ref XBT_graph
 
@@ -66,7 +65,6 @@
      /** @defgroup XBT_dynar  Dynar: generic dynamic array */
      /** @defgroup XBT_dict   Dict: generic dictionnary */
      /** @defgroup XBT_swag   Swag: O(1) set datatype */
-     /** @defgroup XBT_heap Heap: generic heap data structure */
 /** @} */
 
 
index 879a1bf..17acadd 100644 (file)
@@ -73,7 +73,7 @@ int main(int argc, char *argv[]) {
 - \c contexts/factory: \ref options_virt_factory
 - \c contexts/guard-size: \ref options_virt_guard_size
 - \c contexts/nthreads: \ref options_virt_parallel
-- \c contexts/parallel_threshold: \ref options_virt_parallel
+- \c contexts/parallel-threshold: \ref options_virt_parallel
 - \c contexts/stack-size: \ref options_virt_stacksize
 - \c contexts/synchro: \ref options_virt_parallel
 
@@ -112,7 +112,6 @@ int main(int argc, char *argv[]) {
 - \c network/maxmin-selective-update: \ref options_model_optim
 - \c network/model: \ref options_model_select
 - \c network/optim: \ref options_model_optim
-- \c network/sender_gap: \ref options_model_network_sendergap
 - \c network/TCP-gamma: \ref options_model_network_gamma
 - \c network/weight-S: \ref options_model_network_coefs
 
@@ -317,7 +316,7 @@ setting on regular (less constrained) scenarios so it is off by default.
 \subsubsection options_model_network_gamma Maximal TCP window size
 
 The analytical models need to know the maximal TCP window size to take
-the TCP congestion mechanism into account. This is set to 20000 by
+the TCP congestion mechanism into account. This is set to 4194304 by
 default, but can be changed using the \b network/TCP-gamma item.
 
 On linux, this value can be retrieved using the following
@@ -373,15 +372,6 @@ can be set to 0 (disable this feature) or 1 (enable it).
 
 Note that with the default host model this option is activated by default.
 
-\subsubsection options_model_network_sendergap Simulating sender gap
-
-(this configuration item is experimental and may change or disapear)
-
-It is possible to specify a timing gap between consecutive emission on
-the same network card through the \b network/sender-gap item. This
-is still under investigation as of writting, and the default value is
-to wait 10 microseconds (1e-5 seconds) between emissions.
-
 \subsubsection options_model_network_asyncsend Simulating asyncronous send
 
 (this configuration item is experimental and may change or disapear)
@@ -515,7 +505,7 @@ liveness violation) as well as the cycle for liveness properties. This dot file
 can then fed to the graphviz dot tool to generate an corresponding graphical
 representation.
 
-\subsection options_modelchecking_max_depth model-check/max_depth, Depth limit
+\subsection options_modelchecking_max_depth model-check/max-depth, Depth limit
 
 The \b model-checker/max-depth can set the maximum depth of the exploration
 graph of the model-checker. If this limit is reached, a logging message is
@@ -1282,10 +1272,10 @@ is registered and will clean up some variables and terminate/cleanup the tracing
 
 TODO: Add when this should be used.
 
-\subsection options_generic_path XML file inclusion path
+\subsection options_generic_path Profile files' search path
 
 It is possible to specify a list of directories to search into for the
-\<include\> tag in XML files by using the \b path configuration
+trace files (see @ref pf_trace) by using the \b path configuration
 item. To add several directory to the path, set the configuration
 item several times, as in \verbatim
 --cfg=path:toto --cfg=path:tutu
@@ -1302,7 +1292,7 @@ when \b verbose-exit is set to 0 (it is to 1 by default).
 \subsection options_exception_cutpath Truncate local path from exception backtrace
 
 \verbatim
---cfg=exceptions/cutpath:1
+--cfg=exception/cutpath:1
 \endverbatim
 
 This configuration option is used to remove the path from the
index d8a7ad3..59f5958 100644 (file)
@@ -121,9 +121,8 @@ tracing/uncategorized
 tracing/filename
 </b>:
   A file with this name will be created to register the simulation. The file
-  is in the Paje format and can be analyzed using Viva or Paje visualization
+  is in the Paje format and can be analyzed using Paje visualization
   tools. More information can be found in these webpages:
-     <a href="http://github.com/schnorr/viva/">http://github.com/schnorr/viva/</a>
      <a href="http://github.com/schnorr/pajeng/">http://github.com/schnorr/pajeng/</a>
 \verbatim
 --cfg=tracing/filename:mytracefile.trace
@@ -326,24 +325,6 @@ TODO
 TODO
 \endverbatim
 
-\li <b>\c
-viva/categorized
-</b>:
-  This option generates a graph configuration file for Viva considering
-  categorized resource utilization.
-\verbatim
---cfg=viva/categorized:graph_categorized.plist
-\endverbatim
-
-\li <b>\c
-viva/uncategorized
-</b>:
-  This option generates a graph configuration file for Viva considering
-  uncategorized resource utilization.
-\verbatim
---cfg=viva/uncategorized:graph_uncategorized.plist
-\endverbatim
-
 Please pass \verbatim --help-tracing \endverbatim to your simulator
 for the updated list of tracing options.
 
@@ -362,7 +343,6 @@ simulator):
           --cfg=tracing:yes \
           --cfg=tracing/uncategorized:yes \
           --cfg=tracing/filename:mytracefile.trace \
-          --cfg=viva/uncategorized:uncat.plist
 \endverbatim
 
 \li I want to trace only a subset of my MSG (or SimDAG) tasks.
@@ -377,7 +357,6 @@ recompiling, run your simulator with the following parameters:
           --cfg=tracing:yes \
           --cfg=tracing/categorized:yes \
           --cfg=tracing/filename:mytracefile.trace \
-          --cfg=viva/categorized:cat.plist
 \endverbatim
 
 
@@ -453,23 +432,6 @@ several options to analyze this trace file:
   file format</a>. Consider this option if you need to understand the
   causality of your distributed simulation.
 
-- Visualize the behavior of your simulation with treemaps (specially
-  if your simulation has a platform with several thousand resources),
-  provided by the <a href="http://github.com/schnorr/viva/">Viva</a>
-  visualization tool. See <a
-  href="https://github.com/schnorr/viva/wiki">Viva's wiki</a> for
-  further details on what is a treemap and how to use it.
-
-- Correlate the behavior of your simulator with the platform topology
-  with an interactive, force-directed, and hierarchical graph
-  visualization, provided by <a
-  href="http://github.com/schnorr/viva/">Viva</a>.  Check <a
-  href="https://github.com/schnorr/viva/wiki">Viva's wiki</a> for
-  further details. This <a
-  href="http://hal.inria.fr/hal-00738321/">research report</a>,
-  published at ISPASS 2013, has a detailed description of this
-  visualization technique.
-
 - You can also check our online <a
   href="http://simgrid.gforge.inria.fr/tutorials.html"> tutorial
   section</a> that contains a dedicated tutorial with several
@@ -484,123 +446,4 @@ several options to analyze this trace file:
   href="http://lists.gforge.inria.fr/pipermail/simgrid-user/">mailing
   list archive</a> for old messages regarding tracing and analysis.
 
-\subsection tracing_viva_analysis Viva Visualization Tool
-
-This subsection describe some of the concepts regarding the <a
-href="http://github.com/schnorr/viva/">Viva Visualization Tool</a> and
-its relation with SimGrid traces. You should refer to Viva's website
-for further details on all its visualization techniques.
-
-\subsubsection tracing_viva_time_slice Time Slice
-
-The analysis of a trace file using the tool always takes into account
-the concept of the <em>time-slice</em>.  This concept means that what
-is being visualized in the screen is always calculated considering a
-specific time frame, with its beggining and end timestamp. The
-time-slice is configured by the user and can be changed dynamically
-through the window called <em>Time Interval</em> that is opened
-whenever a trace file is being analyzed. Users are capable to select
-the beggining and size of the time slice.
-
-\subsubsection tracing_viva_graph Hierarchical Graph View
-
-As stated above (see section \ref tracing_tracing_analyzing), one
-possibility to analyze SimGrid traces is to use Viva's graph view with
-a graph configuration to customize the graph according to the
-traces. A valid graph configuration (we are using the non-XML <a
-href="http://en.wikipedia.org/wiki/Property_list">Property List
-Format</a> to describe the configuration) can be created for any
-SimGrid-based simulator using the
-<em>--cfg=viva/uncategorized:graph_uncategorized.plist</em> or
-<em>--cfg=viva/categorized:graph_categorized.plist</em> (if the
-simulator defines resource utilization categories) when executing the
-simulation.
-
-\subsubsection basic_conf Basic Graph Configuration
-
-The basic description of the configuration is as follows:
-\verbatim
-{
-  node = (LINK, HOST, );
-  edge = (HOST-LINK, LINK-HOST, LINK-LINK, );
-\endverbatim
-
-The nodes of the graph will be created based on the <i>node</i>
-parameter, which in this case is the different <em>"HOST"</em>s and
-<em>"LINK"</em>s of the platform used to simulate. The <i>edge</i>
-parameter indicates that the edges of the graph will be created based
-on the <em>"HOST-LINK"</em>s, <em>"LINK-HOST"</em>s, and
-<em>"LINK-LINK"</em>s of the platform.  After the definition of these
-two parameters, the configuration must detail how the nodes
-(<em>HOST</em>s and <em>LINK</em>s) should be drawn.
-
-For that, the configuration must have an entry for each of
-the types used. For <em>HOST</em>, as basic configuration, we have:
-
-\verbatim
-  HOST = {
-    type = square;
-    size = power;
-    values = (power_used);
-  };
-\endverbatim
-
-The parameter <em>size</em> indicates which variable from the trace
-file will be used to define the size of the node HOST in the
-visualization. If the simulation was executed with availability
-traces, the size of the nodes will be changed according to these
-traces. The parameter <em>type</em> indicates which geometrical shape
-will be used to represent HOST, and the <em>values</em> parameter
-indicates which values from the trace will be used to fill the shape.
-
-For <em>LINK</em> we have:
-
-\verbatim
-  LINK = {
-    type = rhombus;
-    size = bandwidth;
-    values = (bandwidth_used);
-  };
-}
-\endverbatim
-
-The same configuration parameters are used here: <em>type</em> (with a
-rhombus), the <em>size</em> (whose value is from trace's bandwidth
-variable) and the <em>values</em>.
-
-\subsubsection custom_graph Customizing the Graph Representation
-
-Viva is capable to handle a customized graph representation based on
-the variables present in the trace file. In the case of SimGrid, every
-time a category is created for tasks, two variables in the trace file
-are defined: one to indicate node utilization (how much power was used
-by that task category), and another to indicate link utilization (how
-much bandwidth was used by that category). For instance, if the user
-declares a category named <i>request</i>, there will be variables
-named <b>p</b><i>request</i> and a <b>b</b><i>request</i> (<b>p</b>
-for power and <b>b</b> for bandwidth). It is important to notice that
-the variable <i>prequest</i> in this case is only available for HOST,
-and <i>brequest</i> is only available for LINK. <b>Example</b>:
-suppose there are two categories for tasks: request and compute. To
-create a customized graph representation with a proportional
-separation of host and link utilization, use as configuration for HOST
-and LINK this:
-
-\verbatim
-  HOST = {
-    type = square;
-    size = power;
-    values = (prequest, pcomputation);
-  };
-  LINK = {
-    type = rhombus;
-    size = bandwidth;
-    values = (brequest, bcomputation);
-  };
-\endverbatim
-
-This configuration enables the analysis of resource utilization by MSG
-tasks through the identification of load-balancing issues and network
-bottlenecks, for instance.
-
 */
index 6adb7d3..3149ffc 100644 (file)
@@ -113,7 +113,6 @@ provided by the [online documentation][fn:4] and by several tutorials:
 Several tools can be used to visualize the result of SimGrid
 simulations and get a better understanding of simulations.
 
-- [viva][fn:1] will be useful to make fancy graph or treemap visualizations.
 - [pajeng][fn:5] provides a Gantt-chart visualization.
 - [Vite][fn:6] also provides a Gantt-chart visualization.
 
@@ -122,7 +121,7 @@ may have to install from the source on other systems. Check the
 documentation of each software for more details.
 
 ~~~~{.sh}
-sudo apt-get install viva pajeng vite
+sudo apt-get install pajeng vite
 ~~~~
 
 \section intro_start Let's get started
@@ -158,16 +157,7 @@ specify the full path to simgrid-colorizer on the above line, such as
 \c /opt/simgrid/bin/simgrid-colorizer. If you did not install it at all,
 you can find it in <simgrid_root_directory>/bin/colorize.
 
-For a really fancy output, you should use [viva/triva][fn:1]:
-
-~~~~{.sh}
-./masterworker0 platforms/platform.xml deployment0.xml --cfg=tracing:yes \
-    --cfg=tracing/uncategorized:yes --cfg=viva/uncategorized:uncat.plist
-LANG=C ; viva simgrid.trace uncat.plist
-~~~~
-
-For a more classical Gantt-Chart visualization, you can produce a
-[Paje][fn:5] trace:
+For a classical Gantt-Chart visualization, you can produce a [Paje][fn:5] trace:
 
 ~~~~{.sh}
 ./masterworker0 platforms/platform.xml deployment0.xml --cfg=tracing:yes \
@@ -317,7 +307,7 @@ tasks processed). These debug messages can be activated as follows:
 ## Using the Tracing Mechanism
 
 SimGrid can trace all resource consumption and the outcome can be
-displayed with viva as illustrated in the section \ref intro_setup. However, when several
+displayed as illustrated in the section \ref intro_setup. However, when several
 masters are deployed, it is hard to understand what happens.
 
 ~~~~{.xml}
@@ -349,18 +339,7 @@ void TRACE_category(const char *category);
 void MSG_task_set_category (msg_task_t task, const char *category);
 ~~~~
 
-The outcome can then be visualized as follows:
-
-~~~~{.sh}
-./masterworker3 platforms/platform.xml deployment3.xml --cfg=tracing:yes\
-    --cfg=tracing/categorized:yes --cfg=viva/categorized:viva_cat.plist
-LANG=C; viva simgrid.trace viva_cat.plist
-~~~~
-
-Right now, you should realize that nothing is behaving like you
-expect. Most workers are idle even though input data are ridiculous
-and there are several masters deployed on the platform. Using a
-Gantt-chart visualization may help:
+The outcome can then be visualized as a Gantt-chart as follows:
 
 ~~~~{.sh}
 ./masterworker3 platforms/platform.xml deployment3.xml --cfg=tracing:yes \
@@ -368,8 +347,10 @@ Gantt-chart visualization may help:
 pajeng simgrid.trace
 ~~~~
 
-OK, so it should now be obvious that round robin is actually
-very bad.
+Right now, you should realize that nothing is behaving like you expect. Most
+workers are idle even though input data are ridiculous and there are several
+masters deployed on the platform. So it should now be obvious that round robin
+is actually very bad.
 
 ## Improving the Scheduling
 
@@ -436,8 +417,8 @@ bytes that you manage to distribute and process in one hour on
 \section intro_todo TODO: Points to improve for the next time
 
 - Propose equivalent exercises and skeleton in java.
-- Propose a virtualbox image with everything (simgrid, pajeng, viva,
-  ...) already set up.
+- Propose a virtualbox image with everything (simgrid, pajeng, ...) already set
+  up.
 - Ease the installation on mac OS X (binary installer) and
   windows.
 - Explain that programming in C or java and having a working
index 7a750df..67632a5 100644 (file)
@@ -208,7 +208,7 @@ The current implementation of the model-checker uses two distinct processes:
  - it spaws a child process for the SimGrid simulator/maestro and the simulated
    processes.
 
-They communicate using a `AF_UNIX` `SOCK_DGRAM` socket and exchange messages
+They communicate using a `AF_UNIX` `SOCK_SEQPACKET` socket and exchange messages
 defined in `mc_protocol.h`. The `SIMGRID_MC_SOCKET_FD` environment variable it
 set to the file descriptor of this socket in the child process.
 
index 9c0e265..e75eb78 100644 (file)
@@ -75,7 +75,7 @@ It is a portable library providing some grounding features such as \ref
 XBT_log, \ref XBT_ex and \ref XBT_config.
 
 XBT also encompass the following convenient C data structures:
-\ref XBT_dynar, \ref XBT_dict, \ref XBT_heap, and
+\ref XBT_dynar, \ref XBT_dict, and
 \ref XBT_swag. The code is being migrated in C++ so you should probably want
 to use standard C++ containers instead of them if possible.
 
index 3515d8c..684eacb 100644 (file)
@@ -371,7 +371,7 @@ this generates a bunch of C++ files:
   responsible for wrapping the parameters in the `struct s_smx_simcall`;
   and wrapping out the result;
 
-* [accessors](https://github.com/simgrid/simgrid/blob/4ae2fd01d8cc55bf83654e29f294335e3cb1f022/src/simix/popping_accessors.h)
+* [accessors](https://github.com/simgrid/simgrid/blob/4ae2fd01d8cc55bf83654e29f294335e3cb1f022/src/simix/popping_accessors.hpp)
    to get/set values of of `struct s_smx_simcall`;
 
 * a simulation-kernel-side [big switch](https://github.com/simgrid/simgrid/blob/4ae2fd01d8cc55bf83654e29f294335e3cb1f022/src/simix/popping_generated.cpp#L106)
@@ -629,7 +629,7 @@ which can be exposed using the same API as `std::condition_variable`:
 @code{cpp}
 class ConditionVariable {
 private:
-  friend s_smx_cond;
+  friend s_smx_cond_t;
   smx_cond_t cond_;
   ConditionVariable(smx_cond_t cond) : cond_(cond) {}
 public:
index 89783e1..abdf45c 100644 (file)
@@ -64,9 +64,6 @@ Group MPI processes by location.
 \fB\-trace-resource\fR
 Trace resource utilization.
 .TP
-\fB\-trace-viva\fR
-Generate configuration for Viva's GraphView.
-.TP
 \fB\-trace-file\fR <tracefile>
 Name of the tracefile
 
index 0c8162e..0e1967b 100644 (file)
@@ -1,34 +1,34 @@
-set(app_bittorrent_files        Main  Common  Connection MessageTask Peer  Tracker TrackerTask)
-set(app_centralizedmutex_files  Main  Coordinator  GrantTask Node ReleaseTask  RequestTask)
-set(app_masterworker_files      Main  Master Worker) 
-set(app_pingpong_files          Main  PingPongTask Receiver Sender) 
-set(app_tokenring_files         Main RelayRunner)
-set(async_waitall_files         Main  Receiver Sender)
-set(async_yield_files           Main  Yielder)
-set(async_dsend_files           Main  Receiver Sender)
-set(cloud_masterworker_files    Main  Master Worker)
-set(cloud_migration_files       Main  Daemon Test TestHostOnOff XVM)
-set(dht_chord_files             Main  ChordTask  Common FindSuccessorAnswerTask  FindSuccessorTask
+set(app-bittorrent_files        Main  Common  Connection MessageTask Peer  Tracker TrackerTask)
+set(app-centralizedmutex_files  Main  Coordinator  GrantTask Node ReleaseTask  RequestTask)
+set(app-masterworker_files      Main  Master Worker)
+set(app-pingpong_files          Main  PingPongTask Receiver Sender)
+set(app-tokenring_files         Main  RelayRunner)
+set(async-waitall_files         Main  Receiver Sender)
+set(async-yield_files           Main  Yielder)
+set(async-dsend_files           Main  Receiver Sender)
+set(cloud-masterworker_files    Main  Master Worker)
+set(cloud-migration_files       Main  Daemon Test TestHostOnOff XVM)
+set(dht-chord_files             Main  ChordTask  Common FindSuccessorAnswerTask  FindSuccessorTask
                                       GetPredecessorAnswerTask GetPredecessorTask Node  NotifyTask)
-set(dht_kademlia_files          Main  Answer  Bucket  Common Contact FindNodeAnswerTask  FindNodeTask
+set(dht-kademlia_files          Main  Answer  Bucket  Common Contact FindNodeAnswerTask  FindNodeTask
                                       KademliaTask  Node  PingAnswerTask PingTask  RoutingTable)
-set(trace_pingpong_files        Main  PingPongTask Receiver Sender) 
-set(energy_consumption_files    Main  EnergyConsumer)
-set(energy_pstate_files         Main  PstateRunner)
-set(energy_vm_files             Main  EnergyVMRunner)
-set(io_file_files               Main  Node)
-set(io_storage_files            Main  Client)
-set(process_kill_files          Main  Killer  Victim)
-set(process_migration_files     Main  Emigrant  Policeman)
-set(process_startkilltime_files Main Sleeper)
-set(process_suspend_files       Main  DreamMaster  LazyGuy)
-set(task_priority_files         Main  Test)
+set(trace-pingpong_files        Main  PingPongTask Receiver Sender)
+set(energy-consumption_files    Main  EnergyConsumer)
+set(energy-pstate_files         Main  PstateRunner)
+set(energy-vm_files             Main  EnergyVMRunner)
+set(io-file_files               Main  Node)
+set(io-storage_files            Main  Client)
+set(process-kill_files          Main  Killer  Victim)
+set(process-migration_files     Main  Emigrant  Policeman)
+set(process-startkilltime_files Main  Sleeper)
+set(process-suspend_files       Main  DreamMaster  LazyGuy)
+set(task-priority_files         Main  Test)
 
 
-foreach (example app_bittorrent app_centralizedmutex app_masterworker app_pingpong app_tokenring async_yield async_waitall async_dsend
-         cloud_migration cloud_masterworker dht_chord dht_kademlia energy_consumption energy_pstate energy_vm io_file io_storage 
-         process_kill process_migration process_startkilltime process_suspend task_priority trace_pingpong)
-  string (REPLACE "_" "/" example_dir ${example})
+foreach (example app-bittorrent app-centralizedmutex app-masterworker app-pingpong app-tokenring async-yield async-waitall async-dsend
+         cloud-migration cloud-masterworker dht-chord dht-kademlia energy-consumption energy-pstate energy-vm io-file io-storage
+         process-kill process-migration process-startkilltime process-suspend task-priority trace-pingpong)
+  string (REPLACE "-" "/" example_dir ${example})
   set (srcdir ${CMAKE_CURRENT_SOURCE_DIR}/${example_dir})
   foreach (filename ${${example}_files} )
     set( ${example}_sources "${${example}_sources}" "${srcdir}/${filename}.java")
@@ -36,15 +36,15 @@ foreach (example app_bittorrent app_centralizedmutex app_masterworker app_pingpo
 
   if(enable_java)
     add_custom_command(
-      COMMENT "Building java_${example}..."
-      OUTPUT ${example_dir}/java_${example}_compiled
+      COMMENT "Building java-${example}..."
+      OUTPUT ${example_dir}/java-${example}_compiled
       DEPENDS ${example_sources} simgrid-java_jar ${SIMGRID_JAR}
       COMMAND ${CMAKE_COMMAND} -E make_directory ${example_dir}
       COMMAND ${JAVA_COMPILE} -classpath ${SIMGRID_JAR} -d ${CMAKE_CURRENT_BINARY_DIR} ${${example}_sources}
-      COMMAND ${CMAKE_COMMAND} -E remove ${example_dir}/java_${example}_compiled
-      COMMAND ${CMAKE_COMMAND} -E touch ${example_dir}/java_${example}_compiled
+      COMMAND ${CMAKE_COMMAND} -E remove ${example_dir}/java-${example}_compiled
+      COMMAND ${CMAKE_COMMAND} -E touch ${example_dir}/java-${example}_compiled
     )
-    add_custom_target(${example} ALL DEPENDS ${example_dir}/java_${example}_compiled)
+    add_custom_target(java-${example} ALL DEPENDS ${example_dir}/java-${example}_compiled)
   endif()
   set(examples_src  ${examples_src}  ${${example}_sources})
   set(tesh_files    ${tesh_files}    ${CMAKE_CURRENT_SOURCE_DIR}/${example_dir}/${example}.tesh)
@@ -64,10 +64,10 @@ set(xml_files     ${xml_files}     ${CMAKE_CURRENT_SOURCE_DIR}/app/bittorrent/bi
                                    ${CMAKE_CURRENT_SOURCE_DIR}/task/priority/priority.xml                  PARENT_SCOPE)
 
 if(enable_java)
-  foreach (example app_bittorrent app_centralizedmutex app_masterworker app_pingpong app_tokenring async_yield async_waitall async_dsend
-           cloud_migration cloud_masterworker dht_chord dht_kademlia energy_consumption energy_pstate energy_vm io_file io_storage 
-           process_kill process_migration process_startkilltime process_suspend task_priority trace_pingpong)
-    string (REPLACE "_" "/" example_dir ${example})
+  foreach (example app-bittorrent app-centralizedmutex app-masterworker app-pingpong app-tokenring async-yield async-waitall async-dsend
+           cloud-migration cloud-masterworker dht-chord dht-kademlia energy-consumption energy-pstate energy-vm io-file io-storage
+           process-kill process-migration process-startkilltime process-suspend task-priority trace-pingpong)
+    string (REPLACE "-" "/" example_dir ${example})
     ADD_TESH(java-${example}  --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/java --setenv LD_LIBRARY_PATH=${CMAKE_BINARY_DIR}/lib --setenv classpath=${TESH_CLASSPATH} --cd ${CMAKE_BINARY_DIR}/examples/java/${example_dir} ${CMAKE_HOME_DIRECTORY}/examples/java/${example_dir}/${example}.tesh)
   endforeach()
 endif()
index 0eb1eaa..b7f7718 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2014, 2016. The SimGrid Team.
+/* Copyright (c) 2006-2014, 2016-2017. The SimGrid Team.
  * All rights reserved.                                                     */
 
 /* This program is free software; you can redistribute it and/or modify it
@@ -18,7 +18,7 @@ class Common {
   public static final int MESSAGE_SIZE = 1; /* Information message size */
   public static final int MAXIMUM_PEERS = 50;  /* Max number of peers sent by the tracker to clients */
   public static final int TRACKER_QUERY_INTERVAL = 1000;  /* Interval of time where the peer should send a request to the tracker */
-  public static final double TRACKER_COMM_SIZE = 0.01;  /* Communication size for a task to the tracker */
+  public static final double TRACKER_COMM_SIZE = 1;  /* Communication size for a task to the tracker */
   public static final int GET_PEERS_TIMEOUT = 10000;  /* Timeout for the get peers data */
   public static final int TIMEOUT_MESSAGE = 10;
   public static final int TRACKER_RECEIVE_TIMEOUT = 10;
index 668283a..1bd47eb 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2014, 2016. The SimGrid Team.
+/* Copyright (c) 2006-2014, 2016-2017. The SimGrid Team.
  * All rights reserved.                                                     */
 
 /* This program is free software; you can redistribute it and/or modify it
@@ -32,7 +32,6 @@ public class Connection {
   // Add a new value to the peer speed average
   public void addSpeedValue(double speed) {
     peerSpeed = peerSpeed * 0.55 + speed * 0.45;
-    // peerSpeed = (peerSpeed * messagesCount + speed) / (++messagesCount);    
   }
 
   @Override
index b918505..352addb 100644 (file)
@@ -1,5 +1,4 @@
-/* Copyright (c) 2012-2014,2016. The SimGrid Team.
- * All rights reserved.                                                     */
+/* Copyright (c) 2012-2017. 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. */
@@ -7,7 +6,6 @@
 package app.bittorrent;
 
 import org.simgrid.msg.Msg;
-import org.simgrid.msg.MsgException;
 import org.simgrid.msg.RngStream;
 
 class Main{
@@ -15,7 +13,7 @@ class Main{
     throw new IllegalAccessError("Utility class");
   }
 
-  public static void main(String[] args) throws MsgException {
+  public static void main(String[] args) {
     int[] seed = { 12345, 12345, 12345, 12345, 12345, 12345 };
     RngStream.setPackageSeed(seed);
 
index 94d0a68..8c07d84 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2014, 2016. The SimGrid Team.
+/* Copyright (c) 2006-2014, 2016-2017. The SimGrid Team.
  * All rights reserved.                                                     */
 
 /* This program is free software; you can redistribute it and/or modify it
@@ -325,6 +325,9 @@ public class Peer extends Process {
           }
         }
       break;
+      default:
+        Msg.error("Unexpected message type: " + message.type);
+        break;
     }
     if (remotePeer != null) {
       remotePeer.addSpeedValue(1 / (Msg.getClock() - beginReceiveTime));
@@ -384,14 +387,12 @@ public class Peer extends Process {
     if (currentPieces.size() >= (Common.FILE_PIECES - pieces)) {
       return;
     }
-//    if (pieces < 3) {
-      do {
-        currentPiece = stream.randInt(0,Common.FILE_PIECES - 1);
-      } while (!(bitfield[currentPiece] == '0' && !currentPieces.contains(currentPiece)));
-//    }
-//    else {
-      //TODO trivial min algorithm.
-//    }
+
+    //TODO: trivial min algorithm when pieces >= 3
+    do {
+      currentPiece = stream.randInt(0,Common.FILE_PIECES - 1);
+    } while (!(bitfield[currentPiece] == '0' && !currentPieces.contains(currentPiece)));
+
     currentPieces.add(currentPiece);
     Msg.debug("New interested piece: " + currentPiece);
     assert currentPiece >= 0 && currentPiece < Common.FILE_PIECES;
index d252ee4..4c051d6 100644 (file)
@@ -21,8 +21,8 @@ class Main {
     /* initialize the MSG simulation. Must be done before anything else (even logging). */
     Msg.init(args);
 
-    String platf  = args.length > 1 ? args[0] : "examples/java/platform.xml";
-    String deploy =  args.length > 1 ? args[1] : "examples/java/masterworker/masterworkerDeployment.xml";
+    String platf  = args.length > 1 ? args[0] : "../platforms/small_platform.xml";
+    String deploy =  args.length > 1 ? args[1] : "app/masterworker/masterworker.xml";
 
     Msg.verb("Platform: "+platf+"; Deployment:"+deploy+"; Current directory: "+new File(".").getAbsolutePath());
 
index 8e56aed..2030da9 100644 (file)
@@ -25,8 +25,8 @@ class Main {
     
     File f = new File(platfFile); 
     if (!f.exists()) {
-       System.err.println("File "+platfFile+" does not exist in "+System.getProperty("user.dir"));
-       System.err.println("Usage  : Main ../platforms/platform.xml");
+      Msg.error("File " + platfFile + " does not exist in " + System.getProperty("user.dir"));
+      Msg.error("Usage  : Main ../platforms/platform.xml");
     }
     
     Msg.createEnvironment(platfFile);
index 754dad0..e633676 100644 (file)
@@ -1,11 +1,10 @@
-/* Copyright (c) 2016. The SimGrid Team. All rights reserved.               */
+/* Copyright (c) 2016-2017. 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. */
 
 package app.tokenring;
 import org.simgrid.msg.Host;
-import org.simgrid.msg.HostNotFoundException;
 import org.simgrid.msg.Msg;
 import org.simgrid.msg.Process;
 
@@ -15,7 +14,7 @@ class Main {
                throw new IllegalAccessError("Utility class");
        }
 
-       public static void main(String[] args) throws HostNotFoundException {
+       public static void main(String[] args) {
                Msg.init(args);
                
                String platform = "../platforms/small_platform.xml";
index 0822c42..cbdf523 100644 (file)
@@ -1,5 +1,4 @@
-/* Copyright (c) 2006-2014, 2016. The SimGrid Team.
- * All rights reserved.                                                     */
+/* Copyright (c) 2006-2017. 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. */
@@ -13,7 +12,6 @@ package async.dsend;
  */
 
 import org.simgrid.msg.Host;
-import org.simgrid.msg.HostNotFoundException;
 import org.simgrid.msg.Msg;
 
 class Main {
@@ -22,7 +20,7 @@ class Main {
     throw new IllegalAccessError("Utility class");
   }
 
-  public static void main(String[] args) throws HostNotFoundException {
+  public static void main(String[] args) {
     Msg.init(args);
 
     String platform = "../platforms/small_platform.xml";
similarity index 100%
rename from examples/java/async/dsend/async_dsend.tesh
rename to examples/java/async/dsend/async-dsend.tesh
index c886a64..94b0015 100644 (file)
@@ -17,9 +17,9 @@ $ java -classpath ${classpath:=.} async/dsend/Main ${srcdir:=.}/../platforms/sma
 > [  0.000000] (1:Sender@Boivin) Sending "Task_5" to "Jupiter"
 > [  0.000000] (1:Sender@Boivin) Sending "Task_6" to "Tremblay"
 > [  0.000000] (1:Sender@Boivin) All tasks have been (asynchronously) dispatched. Let's sleep for 20s so that nobody gets a message from a terminated process.
-> [  1.933362] (2:Receiver@Bourassa) Received a task. I'm done. See you!
-> [  1.933362] (4:Receiver@Ginette) Received a task. I'm done. See you!
 > [  1.933362] (6:Receiver@Jupiter) Received a task. I'm done. See you!
+> [  1.933362] (4:Receiver@Ginette) Received a task. I'm done. See you!
+> [  1.933362] (2:Receiver@Bourassa) Received a task. I'm done. See you!
 > [  2.449247] (7:Receiver@Tremblay) Received a task. I'm done. See you!
 > [  2.964768] (3:Receiver@Fafard) Received a task. I'm done. See you!
 > [  4.162002] (5:Receiver@Jacquelin) Received a task. I'm done. See you!
index 208e554..0a54479 100644 (file)
@@ -1,5 +1,4 @@
-/* Copyright (c) 2006-2014, 2016. The SimGrid Team.
- * All rights reserved.                                                     */
+/* Copyright (c) 2006-2017. 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. */
@@ -20,14 +19,13 @@ package async.waitall;
 
 import org.simgrid.msg.Msg;
 import org.simgrid.msg.Host;
-import org.simgrid.msg.MsgException;
 
 class Main {
   private Main() {
     throw new IllegalAccessError("Utility class");
   }
 
-  public static void main(String[] args) throws MsgException {
+  public static void main(String[] args) {
     Msg.init(args);
 
     String platform = "../platforms/small_platform.xml";
@@ -16,9 +16,9 @@ $ java -classpath ${classpath:=.} async/waitall/Main ${srcdir:=.}/../platforms/s
 > [  0.000000] (1:Sender@Boivin) Start the Sending 'Task_5' to 'Jupiter'
 > [  0.000000] (1:Sender@Boivin) Start the Sending 'Task_6' to 'Tremblay'
 > [  0.000000] (1:Sender@Boivin) All tasks have been (asynchronously) dispatched. Let's wait for their completion.
-> [  1.933362] (2:Receiver@Bourassa) I got my task, good bye.
-> [  1.933362] (4:Receiver@Ginette) I got my task, good bye.
 > [  1.933362] (6:Receiver@Jupiter) I got my task, good bye.
+> [  1.933362] (4:Receiver@Ginette) I got my task, good bye.
+> [  1.933362] (2:Receiver@Bourassa) I got my task, good bye.
 > [  2.449247] (7:Receiver@Tremblay) I got my task, good bye.
 > [  2.964768] (3:Receiver@Fafard) I got my task, good bye.
 > [  4.162002] (5:Receiver@Jacquelin) I got my task, good bye.
index 6e044a5..475fd39 100644 (file)
@@ -12,7 +12,6 @@ package async.yield;
  */
 
 import org.simgrid.msg.Host;
-import org.simgrid.msg.HostNotFoundException;
 import org.simgrid.msg.Msg;
 
 class Main {
@@ -21,7 +20,7 @@ class Main {
     throw new IllegalAccessError("Utility class");
   }
 
-  public static void main(String[] args) throws HostNotFoundException {
+  public static void main(String[] args) {
     Msg.init(args);
 
     String platform = "../platforms/small_platform.xml";
index e78204c..5623ffa 100644 (file)
@@ -9,7 +9,6 @@ import java.io.File;
 
 import org.simgrid.msg.Msg;
 import org.simgrid.msg.Host;
-import org.simgrid.msg.MsgException;
 
 class Main {
   public static final double TASK_COMP_SIZE = 10;
@@ -21,7 +20,7 @@ class Main {
     throw new IllegalAccessError("Utility class");
   }
 
-  public static void main(String[] args) throws MsgException {
+  public static void main(String[] args) {
     Msg.init(args); 
 
     String platfFile = "../../examples/platforms/small_platform.xml";
@@ -30,8 +29,8 @@ class Main {
     
     File f = new File(platfFile); 
     if (!f.exists()) {
-       System.err.println("File "+platfFile+" does not exist in "+System.getProperty("user.dir"));
-       System.err.println("Usage  : Main ../platforms/platform.xml");
+      Msg.error("File " + platfFile + " does not exist in " + System.getProperty("user.dir"));
+      Msg.error("Usage  : Main ../platforms/platform.xml");
     }
     
     Msg.createEnvironment(platfFile);
index ea80d77..b005c1f 100644 (file)
@@ -55,16 +55,6 @@ public class Master extends Process {
                        Msg.verb("Sleep long enough for everyone to be done with previous batch of work");
                        waitFor(1000*step - Msg.getClock());
 
-                       /*    Msg.info("Add one more process per VM.");
-    for (int i = 0; i < vms.size(); i++) {
-      VM vm = vms.get(i);
-      Worker worker = new Worker(vm,i + vms.size());
-      worker.start();
-    }
-
-    workBatch(workersCount * 2);
-                        */
-
                        Msg.verb("Migrate everyone to "+hosts[3].getName());
                        for (VM vm : vms) {
                                Msg.verb("Migrate "+vm.getName()+" to "+hosts[3].getName());
index d3c2af2..6e1bae9 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2014. The SimGrid Team.
+/* Copyright (c) 2014-2017. The SimGrid Team.
  * All rights reserved.                                                     */
 
 /* This program is free software; you can redistribute it and/or modify it
@@ -24,7 +24,7 @@ public class Daemon extends Process {
     } catch (HostFailureException e) {
       e.printStackTrace();
     } catch (TaskCancelledException e) {
-      System.out.println("task cancelled");
+      Msg.info("task cancelled");
       suspend(); // Suspend the process
     }
     currentTask = new Task(this.getHost().getName()+"-daemon-"+(i++), this.getHost().getSpeed()*100, 0);
index 3cc30ea..10407a6 100644 (file)
@@ -1,5 +1,4 @@
-/* Copyright (c) 2014. The SimGrid Team.
- * All rights reserved.                                                     */
+/* Copyright (c) 2014-2017. 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. */
@@ -9,7 +8,6 @@ package cloud.migration;
 import org.simgrid.msg.Msg;
 import org.simgrid.msg.VM;
 import org.simgrid.msg.Host;
-import org.simgrid.msg.HostNotFoundException;
 import org.simgrid.msg.HostFailureException;
 
 public class XVM extends VM {
@@ -30,7 +28,6 @@ public class XVM extends VM {
   public void setLoad(int load){  
     if (load >0) {
       this.setBound(this.getSpeed()*load/100);
-      //    this.getDaemon().setLoad(load);
       daemon.resume();
     } else{
       daemon.suspend();
@@ -38,13 +35,10 @@ public class XVM extends VM {
     currentLoad = load ;
   }
 
-  public void start(){
+  @Override
+  public void start() {
     super.start();
-    try {
-      daemon.start();
-    } catch (HostNotFoundException e) {
-      e.printStackTrace();
-    }
+    daemon.start();
     this.setLoad(0);
   }
 
@@ -53,10 +47,11 @@ public class XVM extends VM {
   }
 
   public int getLoad(){
-    System.out.println("Remaining comp:" + this.daemon.getRemaining());
+    Msg.info("Remaining comp:" + this.daemon.getRemaining());
     return this.currentLoad;
   }
 
+  @Override
   public void migrate(Host host) throws HostFailureException {
     Msg.info("Start migration of VM " + this.getName() + " to " + host.getName());
     Msg.info("    currentLoad:" + this.currentLoad + "/ramSize:" + this.ramsize + "/dpIntensity:" + this.dpIntensity 
index f29ead5..94e8112 100644 (file)
@@ -64,47 +64,49 @@ public class Node extends Process {
 
       joinSuccess = join(knownId);
     }
-    if (joinSuccess) {
-      double currentClock = Msg.getClock();
-      while (currentClock < (initTime + deadline) && currentClock < Common.MAX_SIMULATION_TIME) {
-        if (commReceive == null) {
-          commReceive = Task.irecv(this.mailbox);
-        }
-        try {
-          if (!commReceive.test()) {
-            if (currentClock >= nextStabilizeDate) {
-              stabilize();
-              nextStabilizeDate = Msg.getClock() + Common.PERIODIC_STABILIZE_DELAY;
-            } else if (currentClock >= nextFixFingersDate) {
-              fixFingers();
-              nextFixFingersDate = Msg.getClock() + Common.PERIODIC_FIX_FINGERS_DELAY;
-            } else if (currentClock >= nextCheckPredecessorDate) {
-              this.checkPredecessor();
-              nextCheckPredecessorDate = Msg.getClock() + Common.PERIODIC_CHECK_PREDECESSOR_DELAY;
-            } else if (currentClock >= nextLookupDate) {
-              this.randomLookup();
-              nextLookupDate = Msg.getClock() + Common.PERIODIC_LOOKUP_DELAY;
-            } else {
-              waitFor(5);
-            }
-            currentClock = Msg.getClock();
+
+    if (!joinSuccess) {
+      Msg.info("I couldn't join the ring");
+      return;
+    }
+
+    double currentClock = Msg.getClock();
+    while (currentClock < (initTime + deadline) && currentClock < Common.MAX_SIMULATION_TIME) {
+      if (commReceive == null) {
+        commReceive = Task.irecv(this.mailbox);
+      }
+      try {
+        if (!commReceive.test()) {
+          if (currentClock >= nextStabilizeDate) {
+            stabilize();
+            nextStabilizeDate = Msg.getClock() + Common.PERIODIC_STABILIZE_DELAY;
+          } else if (currentClock >= nextFixFingersDate) {
+            fixFingers();
+            nextFixFingersDate = Msg.getClock() + Common.PERIODIC_FIX_FINGERS_DELAY;
+          } else if (currentClock >= nextCheckPredecessorDate) {
+            this.checkPredecessor();
+            nextCheckPredecessorDate = Msg.getClock() + Common.PERIODIC_CHECK_PREDECESSOR_DELAY;
+          } else if (currentClock >= nextLookupDate) {
+            this.randomLookup();
+            nextLookupDate = Msg.getClock() + Common.PERIODIC_LOOKUP_DELAY;
           } else {
-            handleTask(commReceive.getTask());
-            currentClock = Msg.getClock();
-            commReceive = null;
+            waitFor(5);
           }
-        }
-        catch (Exception e) {
+          currentClock = Msg.getClock();
+        } else {
+          handleTask(commReceive.getTask());
           currentClock = Msg.getClock();
           commReceive = null;
         }
       }
-      leave();
-      if (commReceive != null) {
+      catch (Exception e) {
+        currentClock = Msg.getClock();
         commReceive = null;
       }
-    } else {
-      Msg.info("I couldn't join the ring");
+    }
+    leave();
+    if (commReceive != null) {
+      commReceive = null;
     }
   }
 
@@ -330,7 +332,6 @@ public class Node extends Process {
   // Performs a find successor request to a random id.
   private void randomLookup() {
     int dest = 1337;
-    //Msg.info("Making a lookup request for id " + dest);
     findSuccessor(dest);
   }
 
similarity index 95%
rename from examples/java/dht/chord/dht_chord.tesh
rename to examples/java/dht/chord/dht-chord.tesh
index 85328dc..4ab498e 100644 (file)
@@ -4,7 +4,7 @@
 
 $ java -classpath ${classpath:=.} dht/chord/Main ${srcdir:=.}/../platforms/cluster.xml ${srcdir:=.}/dht/chord/chord.xml
 > [0.000000] [java/INFO] Using regular java threads.
-> [1046.787586] [java/INFO] MSG_main finished; Cleaning up the simulation...
+> [1046.732943] [java/INFO] MSG_main finished; Cleaning up the simulation...
 > [node-1.acme.org:dht.chord.Node:(2) 0.000000] [java/INFO] Joining the ring with id 366680 knowing node 42
 > [node-2.acme.org:dht.chord.Node:(3) 0.000000] [java/INFO] Joining the ring with id 533744 knowing node 366680
 > [node-3.acme.org:dht.chord.Node:(4) 0.000000] [java/INFO] Joining the ring with id 1319738 knowing node 42
index dacbfae..9032779 100644 (file)
@@ -1,19 +1,17 @@
-/* Copyright (c) 2012-2014, 2016. The SimGrid Team.
- * All rights reserved.                                                     */
+/* Copyright (c) 2012-2017. 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. */
 
 package dht.kademlia;
 import org.simgrid.msg.Msg;
-import org.simgrid.msg.MsgException;
 
 class Main {
   private Main() {
     throw new IllegalAccessError("Utility class");
   }
 
-  public static void main(String[] args) throws MsgException {
+  public static void main(String[] args) {
     Msg.init(args);
     if(args.length < 2) {
       Msg.info("Usage   : Kademlia platform_file deployment_file");
index 841e9d1..a690a01 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2012-2014, 2016. The SimGrid Team.
+/* Copyright (c) 2012-2014, 2016-2017. The SimGrid Team.
  * All rights reserved.                                                     */
 
 /* This program is free software; you can redistribute it and/or modify it
@@ -77,6 +77,7 @@ public class Node extends Process {
         }
       }
       catch (Exception e) {
+        Msg.debug("Caught exception: " + e);
       }
     }
     Msg.info(findNodeSuccedded + "/"  + (findNodeSuccedded + findNodeFailed) + " FIND_NODE have succedded.");
@@ -256,6 +257,7 @@ public class Node extends Process {
         waitFor(1);
       }
       catch (Exception ex) {
+        Msg.debug("Caught exception: " + ex);
       }
     } while (Msg.getClock() < timeout && !destinationFound);
   }
index c5f88b2..ed1552e 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2012-2014, 2016. The SimGrid Team.
+/* Copyright (c) 2012-2014, 2016-2017. The SimGrid Team.
  * All rights reserved.                                                     */
 
 /* This program is free software; you can redistribute it and/or modify it
@@ -67,7 +67,8 @@ public class RoutingTable {
       Msg.debug("Adding " + id + " to my routing table");
       bucket.add(id);
       if (bucket.size() > Common.BUCKET_SIZE)  {
-        //TODO: Ping the least seen guy and remove him if he is offline.
+        // TODO
+        Msg.debug("Should ping the least seen guy and remove him if he is offline.");
       }
     }
   }
index f6c3afa..01eedb8 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2016. The SimGrid Team. All rights reserved.               */
+/* Copyright (c) 2016-2017. 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. */
@@ -6,7 +6,6 @@
 package energy.pstate;
 
 import org.simgrid.msg.Host;
-import org.simgrid.msg.HostNotFoundException;
 import org.simgrid.msg.Msg;
 
 class Main {
@@ -14,7 +13,7 @@ class Main {
     throw new IllegalAccessError("Utility class");
   }
 
-  public static void main(String[] args) throws HostNotFoundException {
+  public static void main(String[] args) {
     Msg.energyInit();
     Msg.init(args);
 
similarity index 100%
rename from examples/java/energy/vm/energy_vm.tesh
rename to examples/java/energy/vm/energy-vm.tesh
index 3afdf2d..7bae428 100644 (file)
@@ -8,12 +8,12 @@ $ java -classpath ${classpath:=.} energy/vm/Main ${srcdir:=.}/../platforms/energ
 > [MyHost1:energy VM runner:(1) 0.000000] [java/INFO] Create two tasks on Host3: both inside a VM
 > [MyHost1:energy VM runner:(1) 0.000000] [java/INFO] Wait 5 seconds. The tasks are still running (they run for 3 seconds, but 2 tasks are co-located, so they run for 6 seconds)
 > [MyHost1:energy VM runner:(1) 5.000000] [java/INFO] Wait another 5 seconds. The tasks stop at some point in between
-> [MyHost3:p31:(6) 6.000000] [java/INFO] This worker is done.
-> [MyHost3:p312:(7) 6.000000] [java/INFO] This worker is done.
 > [MyHost2:p22:(5) 6.000000] [java/INFO] This worker is done.
+> [MyHost3:p312:(7) 6.000000] [java/INFO] This worker is done.
+> [MyHost3:p31:(6) 6.000000] [java/INFO] This worker is done.
 > [vmHost1:p12:(3) 6.000000] [java/INFO] This worker is done.
-> [vmHost3:p21:(4) 6.000000] [java/INFO] This worker is done.
 > [vmHost1:p11:(2) 6.000000] [java/INFO] This worker is done.
+> [vmHost3:p21:(4) 6.000000] [java/INFO] This worker is done.
 > [10.000000] [surf_energy/INFO] Total energy consumption: 4320.000000 Joules (used hosts: 4320.000000 Joules; unused/idle hosts: 0.000000)
 > [10.000000] [java/INFO] MSG_main finished; Cleaning up the simulation...
 > [10.000000] [surf_energy/INFO] Energy consumption of host MyHost1: 1120.000000 Joules
index c1b72dd..d0dd64c 100644 (file)
@@ -1,5 +1,4 @@
-/* Copyright (c) 2012-2014. The SimGrid Team.
- * All rights reserved.                                                     */
+/* Copyright (c) 2012-2017. 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. */
@@ -8,15 +7,15 @@ package io.file;
 
 import org.simgrid.msg.Msg;
 import org.simgrid.msg.Host;
-import org.simgrid.msg.MsgException;
 
 public class Main {
   private Main() {
     throw new IllegalAccessError("Utility class");
   }
 
-  public static void main(String[] args) throws MsgException {
+  public static void main(String[] args) {
     Msg.init(args);
+    Msg.fileSystemInit();
     if(args.length < 1) {
       Msg.info("Usage   : IO platform_file ");
       Msg.info("example : IO ../platforms/storage/storage.xml ");
index 82ce689..edffbbc 100644 (file)
@@ -1,5 +1,4 @@
-/* Copyright (c) 2012-2014. The SimGrid Team.
- * All rights reserved.                                                     */
+/* Copyright (c) 2012-2017. 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. */
@@ -22,7 +21,6 @@ import org.simgrid.msg.Msg;
 import org.simgrid.msg.File;
 import org.simgrid.msg.Host;
 import org.simgrid.msg.Process;
-import org.simgrid.msg.HostNotFoundException;
 import org.simgrid.msg.MsgException;
 
 public class Node extends Process {
@@ -33,17 +31,16 @@ public class Node extends Process {
 
   protected int rank;
 
-  public Node(Host host, int number) throws HostNotFoundException {
+  public Node(Host host, int number) {
     super(host, Integer.toString(number), null);
     this.rank = number;
   }
 
   public void main(String[] args) throws MsgException {
-    String mount;
+    String mount = "/home";
     String fileName;
     switch (rank) {
       case 4:
-        mount = "/home";
         fileName = mount + file1;
       break;
       case 0:
@@ -51,16 +48,14 @@ public class Node extends Process {
         fileName = mount + file2;
       break;
       case 2:
-        mount = "/home";
         fileName = mount + file3;
       break;
       case 1:
-        mount = "/home";
         fileName = mount + file4;
       break;
       default:
-        mount = "/home";
         fileName = mount + file1;
+      break;
     }
 
     Msg.info("Open file " + fileName);
index e3e6fcd..2239ffb 100644 (file)
@@ -1,5 +1,4 @@
-/* Copyright (c) 2012-2014. The SimGrid Team.
- * All rights reserved.                                                     */
+/* Copyright (c) 2012-2017. 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. */
 
 package io.storage;
 
+import java.util.Arrays;
+import java.util.Comparator;
 import org.simgrid.msg.Msg;
 import org.simgrid.msg.Host;
 import org.simgrid.msg.Process;
 import org.simgrid.msg.Storage;
-import org.simgrid.msg.HostNotFoundException;
 import org.simgrid.msg.MsgException;
 
 public class Client extends Process {
-  public Client(Host host, int number) throws HostNotFoundException {
+  public Client(Host host, int number) {
     super(host, Integer.toString(number), null);
   }
 
@@ -32,6 +32,11 @@ public class Client extends Process {
    // Retrieve all mount points of current host
     Storage[] storages = getHost().getMountedStorage();
 
+    Arrays.sort(storages, new Comparator<Storage>() {
+        public int compare(Storage a, Storage b) {
+          return a.getName().compareTo(b.getName());
+        }
+      });
     for (int i = 0; i < storages.length; i++) {
       // For each disk mounted on host
       Msg.info("------------------------------------");
@@ -63,4 +68,4 @@ public class Client extends Process {
       Msg.info("Disk: "+ stos[i].getName());
     }
   }
-}
\ No newline at end of file
+}
index 6755fa4..0e8392e 100644 (file)
@@ -1,5 +1,4 @@
-/* Copyright (c) 2012-2014. The SimGrid Team.
- * All rights reserved.                                                     */
+/* Copyright (c) 2012-2017. 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. */
@@ -7,15 +6,15 @@
 package io.storage;
 import org.simgrid.msg.Msg;
 import org.simgrid.msg.Host;
-import org.simgrid.msg.MsgException;
 
 public class Main {
   private Main() {
     throw new IllegalAccessError("Utility class");
   }
 
-  public static void main(String[] args) throws MsgException {
+  public static void main(String[] args) {
     Msg.init(args);
+    Msg.fileSystemInit();
     if(args.length < 1) {
       Msg.info("Usage   : Storage platform_file ");
       Msg.info("example : Storage ../platforms/storage/storage.xml ");
index 71d281b..96cf864 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2014. The SimGrid Team.
+/* Copyright (c) 2006-2017. The SimGrid Team.
  * All rights reserved.                                                     */
 
 /* This program is free software; you can redistribute it and/or modify it
@@ -24,7 +24,7 @@ public class Main {
       Killer killer = new Killer("Jacquelin","killer");
       killer.start();
     } catch (MsgException e){
-      System.out.println("Create processes failed!");
+      Msg.error("Create processes failed!");
     }
 
     /*  execute the simulation. */
index 04510e8..3eb4064 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2014, 2016. The SimGrid Team.
+/* Copyright (c) 2006-2014, 2016-2017. The SimGrid Team.
  * All rights reserved.                                                     */
 
 /* This program is free software; you can redistribute it and/or modify it
@@ -25,9 +25,9 @@ public class Main {
     try {
         DreamMaster process1 = new DreamMaster("Jacquelin","DreamMaster");
         process1.start();
-      } catch (MsgException e){
-        System.out.println("Create processes failed!");
-      }
+    } catch (MsgException e){
+      Msg.error("Create processes failed!");
+    }
 
     /*  execute the simulation. */
     Msg.run();
index fd301f3..272898f 100644 (file)
@@ -17,7 +17,7 @@ public class Main {
     Msg.init(args);
     if(args.length < 2) {
       Msg.info("Usage   : Priority platform_file deployment_file");
-      Msg.info("example : Priority ../platforms/platform.xml priorityDeployment.xml");
+      Msg.info("example : Priority ../platforms/small_platform.xml priority.xml");
       System.exit(1);
     }
 
index 782f68f..37f866f 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2007, 2012-2014, 2016. The SimGrid Team.
+/* Copyright (c) 2006-2007, 2012-2014, 2016-2017. The SimGrid Team.
  * All rights reserved.                                                     */
 
 /* This program is free software; you can redistribute it and/or modify it
@@ -10,6 +10,8 @@ import org.simgrid.msg.MsgException;
 import org.simgrid.trace.Trace;
 
 public class Main  {
+  public static final String PM_STATE = "PM_STATE";
+
   private Main() {
     throw new IllegalAccessError("Utility class");
   }
@@ -29,11 +31,11 @@ public class Main  {
     new Receiver ("Tremblay", "Receiver", null).start();
 
     /* Initialize some state for the hosts */
-    Trace.hostStateDeclare ("PM_STATE"); 
-    Trace.hostStateDeclareValue ("PM_STATE", "waitingPing", "0 0 1");
-    Trace.hostStateDeclareValue ("PM_STATE", "sendingPong", "0 1 0");
-    Trace.hostStateDeclareValue ("PM_STATE", "sendingPing", "0 1 1");
-    Trace.hostStateDeclareValue ("PM_STATE", "waitingPong", "1 0 0");
+    Trace.hostStateDeclare (PM_STATE);
+    Trace.hostStateDeclareValue (PM_STATE, "waitingPing", "0 0 1");
+    Trace.hostStateDeclareValue (PM_STATE, "sendingPong", "0 1 0");
+    Trace.hostStateDeclareValue (PM_STATE, "sendingPing", "0 1 1");
+    Trace.hostStateDeclareValue (PM_STATE, "waitingPong", "1 0 0");
 
     /*  execute the simulation. */
     Msg.run();
index 4a1f26e..58e82b9 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2007, 2012-2014, 2016. The SimGrid Team.
+/* Copyright (c) 2006-2007, 2012-2014, 2016-2017. The SimGrid Team.
  * All rights reserved.                                                     */
 
 /* This program is free software; you can redistribute it and/or modify it
@@ -15,6 +15,7 @@ import org.simgrid.trace.Trace;
 public class Receiver extends Process {
   private static final double COMM_SIZE_LAT = 1;
   private static final double COMM_SIZE_BW = 100000000;
+  private static final String PM_STATE = Main.PM_STATE;
 
   public Receiver(String hostname, String name, String[]args) throws HostNotFoundException {
     super(hostname,name,args);
@@ -22,7 +23,7 @@ public class Receiver extends Process {
 
   public void main(String[] args) throws MsgException {
     Msg.info("hello!");
-    Trace.hostPushState (getHost().getName(), "PM_STATE", "waitingPing");
+    Trace.hostPushState (getHost().getName(), PM_STATE, "waitingPing");
 
     /* Wait for the ping */ 
     Msg.info("try to get a task");
@@ -41,15 +42,15 @@ public class Receiver extends Process {
     Msg.info(" --- bw "+ COMM_SIZE_BW/communicationTime + " ----");
 
     /* Send the pong */
-    Trace.hostPushState (getHost().getName(), "PM_STATE", "sendingPong");
+    Trace.hostPushState (getHost().getName(), PM_STATE, "sendingPong");
     double computeDuration = 0;
     PingPongTask pong = new PingPongTask("no name",computeDuration,COMM_SIZE_LAT);
     pong.setTime(time);
     pong.send(ping.getSource().getName());
 
     /* Pop the two states */
-    Trace.hostPopState (getHost().getName(), "PM_STATE");
-    Trace.hostPopState (getHost().getName(), "PM_STATE");
+    Trace.hostPopState (getHost().getName(), PM_STATE);
+    Trace.hostPopState (getHost().getName(), PM_STATE);
 
     Msg.info("goodbye!");
   }
index 6af47fa..c97be48 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2014, 2016. The SimGrid Team.
+/* Copyright (c) 2006-2014, 2016-2017. The SimGrid Team.
  * All rights reserved.                                                     */
 
 /* This program is free software; you can redistribute it and/or modify it
@@ -16,7 +16,7 @@ import org.simgrid.trace.Trace;
 public class Sender extends Process {
   private static final double COMM_SIZE_LAT = 1;
   private static final double COMM_SIZE_BW = 100000000;
-  private static final String PM_STATE = "PM_STATE";
+  private static final String PM_STATE = Main.PM_STATE;
 
   public Sender(String hostname, String name, String[] args) throws HostNotFoundException {
     super(hostname,name,args);
index ca06ab3..af786dc 100644 (file)
@@ -30,13 +30,6 @@ if(SIMGRID_HAVE_NS3)
   set_target_properties(network-ns3  PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/network-ns3)
 endif()
 
-add_executable       (bittorrent app-bittorrent/bittorrent.c app-bittorrent/messages.c app-bittorrent/peer.c app-bittorrent/tracker.c app-bittorrent/connection.c)
-target_link_libraries(bittorrent simgrid)
-set_target_properties(bittorrent PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/app-bittorrent)
-foreach (file bittorrent connection messages peer tracker)
-  set(examples_src  ${examples_src}  ${CMAKE_CURRENT_SOURCE_DIR}/app-bittorrent/${file}.c  ${CMAKE_CURRENT_SOURCE_DIR}/app-bittorrent/${file}.h)
-endforeach()
-
 add_executable       (chainsend app-chainsend/chainsend.c app-chainsend/iterator.c app-chainsend/common.c app-chainsend/messages.c app-chainsend/broadcaster.c app-chainsend/peer.c)
 target_link_libraries(chainsend simgrid)
 set_target_properties(chainsend PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/app-chainsend)
@@ -51,21 +44,19 @@ foreach (file answer dht-kademlia node routing_table task)
   set(examples_src  ${examples_src}  ${CMAKE_CURRENT_SOURCE_DIR}/dht-kademlia/${file}.c  ${CMAKE_CURRENT_SOURCE_DIR}/dht-kademlia/${file}.h)
 endforeach()
 
-foreach (file app-bittorrent app-chainsend app-masterworker app-pingpong async-wait
+foreach (file app-chainsend app-masterworker app-pingpong async-wait
          async-waitall async-waitany dht-kademlia dht-pastry io-remote platform-properties process-yield 
          task-priority)
   set(xml_files    $