endif()
endif()
set_tests_properties(msg-masterslave-virtual-machines PROPERTIES WILL_FAIL true)
+ set_tests_properties(msg-bittorrent-thread-parallel PROPERTIES ENVIRONMENT SG_TEST_EXENV=true WILL_FAIL true)
+ if(CONTEXT_UCONTEXT)
+ set_tests_properties(msg-bittorrent-ucontext-parallel PROPERTIES ENVIRONMENT SG_TEST_EXENV=true WILL_FAIL true)
+ endif()
+ if(HAVE_RAWCTX)
+ set_tests_properties(msg-bittorrent-raw-parallel PROPERTIES ENVIRONMENT SG_TEST_EXENV=true WILL_FAIL true)
+ endif()
endif()
endif()
### define source packages
set(EXTRA_DIST
- src/include/smpi/smpi_interface.h
+ include/xbt/win32_ucontext.h
src/include/instr/instr_interface.h
src/include/mc/datatypes.h
src/include/mc/mc.h
src/include/simgrid/platf_interface.h
src/include/simgrid/sg_config.h
+ src/include/smpi/smpi_interface.h
src/include/surf/datatypes.h
src/include/surf/maxmin.h
src/include/surf/random_mgr.h
src/smpi/private.h
src/smpi/smpi_mpi_dt_private.h
src/surf/cpu_ti_private.h
- src/surf/platf_generator_private.h
src/surf/gtnets/gtnets_interface.h
src/surf/gtnets/gtnets_simulator.h
src/surf/gtnets/gtnets_topology.h
src/surf/ns3/ns3_interface.h
src/surf/ns3/ns3_simulator.h
src/surf/ns3/red-queue.h
+ src/surf/platf_generator_private.h
src/surf/simgrid.dtd
src/surf/simgrid_dtd.c
src/surf/storage_private.h
src/surf/surf_routing_private.h
src/surf/surfxml_parse.c
src/surf/trace_mgr_private.h
+ src/win32/config.h
src/xbt/automaton/automaton_lexer.yy.c
src/xbt/automaton/parserPromela.lex
src/xbt/automaton/parserPromela.tab.cacc
src/xbt/mmalloc/mmtrace.awk
src/xbt/mmalloc/mrealloc.c
src/xbt/setset_private.h
- src/win32/config.h
src/xbt/win32_ucontext.c
- include/xbt/win32_ucontext.h
tools/tesh/run_context.h
tools/tesh/tesh.h
)
include/smpi/mpif.h
include/smpi/smpi.h
include/smpi/smpi_cocci.h
+ include/smpi/smpi_main.h
include/surf/simgrid_dtd.h
include/surf/surf_routing.h
include/surf/surfxml_parse.h
doc/simix.fig
doc/surf_nutshell.fig
doc/triva-graph_configuration.png
+ doc/triva-graph_configuration.svg
doc/triva-graph_visualization.png
+ doc/triva-graph_visualization.svg
doc/triva-time_interval.png
+ doc/triva-time_interval.svg
+
+ doc/HelloWorld/CMakeLists.txt
+ doc/HelloWorld/HelloWorld.c
+ doc/HelloWorld/FindPcreWin.cmake
+ doc/HelloWorld/README
doc/doxygen/FAQ.doc
doc/doxygen/advanced.doc
buildtools/Cmake/Modules/FindF2c.cmake
buildtools/Cmake/Modules/FindGTnets.cmake
buildtools/Cmake/Modules/FindGraphviz.cmake
+ buildtools/Cmake/Modules/FindLibunwind.cmake
buildtools/Cmake/Modules/FindLua51Simgrid.cmake
buildtools/Cmake/Modules/FindNS3.cmake
buildtools/Cmake/Modules/FindPCRE.cmake
buildtools/Cmake/Modules/FindRubySimgrid.cmake
buildtools/Cmake/Modules/FindSimGrid.cmake
buildtools/Cmake/Modules/FindValgrind.cmake
- buildtools/Cmake/Modules/FindLibunwind.cmake
buildtools/Cmake/Option.cmake
buildtools/Cmake/Pipol.cmake
buildtools/Cmake/PrintArgs.cmake
buildtools/Cmake/src/simgrid.nsi.in
buildtools/Cmake/test_prog/prog_AC_CHECK_MCSC.c
buildtools/Cmake/test_prog/prog_getline.c
+ buildtools/Cmake/test_prog/prog_gnu_dynlinker.c
+ buildtools/Cmake/test_prog/prog_gtnets.cpp
buildtools/Cmake/test_prog/prog_mutex_timedlock.c
buildtools/Cmake/test_prog/prog_printf_null.c
buildtools/Cmake/test_prog/prog_sem_init.c
buildtools/Cmake/test_prog/prog_thread_storage.c
buildtools/Cmake/test_prog/prog_va_copy.c
buildtools/Cmake/test_prog/prog_vsnprintf.c
- buildtools/Cmake/test_prog/prog_gnu_dynlinker.c
)
set(PLATFORMS_EXAMPLES
examples/platforms/generation_scripts/generate_g5k_platform.pl
examples/platforms/generation_scripts/generate_g5k_platform_cabinets.pl
examples/platforms/griffon.xml
+ examples/platforms/meta_cluster.xml
examples/platforms/multicore_machine.xml
examples/platforms/prop.xml
+ examples/platforms/routing_cluster.xml
examples/platforms/storage.xml
examples/platforms/syscoord/generate_peer_platform.pl
examples/platforms/syscoord/median_harvard.syscoord
examples/platforms/syscoord/median_meridian.xml
examples/platforms/syscoord/median_p2psim.syscoord
examples/platforms/syscoord/median_p2psim.xml
- examples/platforms/vivaldi.xml
- examples/platforms/routing_cluster.xml
- examples/platforms/meta_cluster.xml
examples/platforms/two_peers.xml
+ examples/platforms/vivaldi.xml
)
set(generated_src_files
file(MAKE_DIRECTORY ${CMAKE_HOME_DIRECTORY}/doc/html/)
install(DIRECTORY "${CMAKE_HOME_DIRECTORY}/doc/html/"
DESTINATION $ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/doc/simgrid/html/)
+install(DIRECTORY "${CMAKE_HOME_DIRECTORY}/doc/HelloWorld/"
+ DESTINATION $ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/doc/simgrid/HelloWorld/)
#### Generate the manpages
if(NOT WIN32)
COMMAND ${CMAKE_COMMAND} -E remove_directory ${PROJECT_NAME}-${release_version}/
COMMAND ${CMAKE_COMMAND} -E remove ${PROJECT_NAME}-${release_version}.tar.gz
COMMAND ${CMAKE_COMMAND} -E make_directory ${PROJECT_NAME}-${release_version}
+ COMMAND ${CMAKE_COMMAND} -E make_directory ${PROJECT_NAME}-${release_version}/doc/html/
+ COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_HOME_DIRECTORY}/doc/html/ ${PROJECT_NAME}-${release_version}/doc/html/
)
add_dependencies(dist-dir simgrid_documentation)
add_dependencies(dist-dir maintainer_files)
ADD_CUSTOM_COMMAND(TARGET simgrid_documentation
COMMAND ${FIG2DEV_PATH}/fig2dev -Lmap ${CMAKE_HOME_DIRECTORY}/doc/shared/fig/simgrid_modules.fig | perl -pe 's/imagemap/simgrid_modules/g'| perl -pe 's/<IMG/<IMG style=border:0px/g' | ${CMAKE_HOME_DIRECTORY}/tools/doxygen/fig2dev_postprocessor.pl > ${CMAKE_HOME_DIRECTORY}/doc/simgrid_modules.map
COMMAND pwd
- COMMAND ${CMAKE_COMMAND} -E tar cvzf html/msg-tuto-src.tgz msg-tuto-src/
+ COMMAND ${CMAKE_COMMAND} -E tar czf html/msg-tuto-src.tgz msg-tuto-src/
COMMAND ${CMAKE_COMMAND} -E echo "XX Run doxygen"
COMMAND ${DOXYGEN_PATH}/doxygen Doxyfile
COMMAND ${CMAKE_COMMAND} -E echo "XX Generate the index files"
message(" BUILDNAME ...........: ${BUILDNAME}")
message(" SITE ................: ${SITE}")
if(release)
- message(" Release .............: simgrid-${release_version} (stable)")
+ message(" Release .............: simgrid-${release_version} (release build)")
else()
- message(" Release .............: simgrid-${release_version} (beta version)")
+ message(" Release .............: simgrid-${release_version} (development build)")
endif()
message("")
message(" Compiler: C .........: ${CMAKE_C_COMPILER} (${CMAKE_C_COMPILER_ID})")
+++ /dev/null
-<IMG style=border:0px SRC="simgrid_modules.png" USEMAP="#simgrid_modules">
-<MAP NAME="simgrid_modules">
-<AREA COORDS="536,64,574,281" href="../../ref_guide/html/group__TRACE__API.html" ALT="TRACE">
-<AREA COORDS="294,7,496,42" href="/contrib.html" ALT="Contrib">
-<AREA COORDS="10,70,171,152" href="../../ref_guide/html/group__MSG__API.html" ALT="MSG">
-<AREA COORDS="10,161,517,221" href="../../ref_guide/html/group__SURF__API.html" ALT="SMPI">
-<AREA COORDS="354,70,517,152" href="../../ref_guide/html/group__SD__API.html" ALT="SimDag">
-<AREA COORDS="180,70,344,152" href="../../ref_guide/html/group__SMPI__API.html" ALT="SMPI">
-<AREA SHAPE="poly" COORDS="1,64,1,281,527,281,527,64" href="../../ref_guide/html/group__XBT__API.html" ALT="XBT">
-</MAP>
set(tesh_files
${tesh_files}
- ${CMAKE_CURRENT_SOURCE_DIR}/multi_matrix/mult_matrix.tesh
- ${CMAKE_CURRENT_SOURCE_DIR}/masterslave/master_slave.tesh
+ ${CMAKE_CURRENT_SOURCE_DIR}/bittorrent/bittorrent.tesh
${CMAKE_CURRENT_SOURCE_DIR}/chord/chord.tesh
- ${CMAKE_CURRENT_SOURCE_DIR}/state_cloner/duplicated_globals.tesh
${CMAKE_CURRENT_SOURCE_DIR}/console/master_slave_bypass.tesh
+ ${CMAKE_CURRENT_SOURCE_DIR}/kademlia/kademlia.tesh
+ ${CMAKE_CURRENT_SOURCE_DIR}/masterslave/master_slave.tesh
+ ${CMAKE_CURRENT_SOURCE_DIR}/multi_matrix/mult_matrix.tesh
+ ${CMAKE_CURRENT_SOURCE_DIR}/state_cloner/duplicated_globals.tesh
PARENT_SCOPE
)
set(xml_files
${xml_files}
+ ${CMAKE_CURRENT_SOURCE_DIR}/deploy.xml
+ ${CMAKE_CURRENT_SOURCE_DIR}/bittorrent/bittorrent.xml
+ ${CMAKE_CURRENT_SOURCE_DIR}/kademlia/kademlia.xml
${CMAKE_CURRENT_SOURCE_DIR}/multi_matrix/quicksort_deployment.xml
${CMAKE_CURRENT_SOURCE_DIR}/multi_matrix/quicksort_platform.xml
- ${CMAKE_CURRENT_SOURCE_DIR}/deploy.xml
${CMAKE_CURRENT_SOURCE_DIR}/state_cloner/deployment_duplicated_globals.xml
- ${CMAKE_CURRENT_SOURCE_DIR}/bittorrent/bittorrent.xml
PARENT_SCOPE
)
set(examples_src
${examples_src}
- ${CMAKE_CURRENT_SOURCE_DIR}/multi_matrix/sender.lua
- ${CMAKE_CURRENT_SOURCE_DIR}/multi_matrix/receiver.lua
- ${CMAKE_CURRENT_SOURCE_DIR}/multi_matrix/mult_matrix.lua
+ ${CMAKE_CURRENT_SOURCE_DIR}/SimSplay/chord.lua
+ ${CMAKE_CURRENT_SOURCE_DIR}/SimSplay/platform_script.lua
+ ${CMAKE_CURRENT_SOURCE_DIR}/SimSplay/sim_splay.lua
+ ${CMAKE_CURRENT_SOURCE_DIR}/SimSplay/splay_school.lua
+ ${CMAKE_CURRENT_SOURCE_DIR}/bittorrent/bittorrent.lua
+ ${CMAKE_CURRENT_SOURCE_DIR}/bittorrent/peer.lua
+ ${CMAKE_CURRENT_SOURCE_DIR}/bittorrent/tracker.lua
+ ${CMAKE_CURRENT_SOURCE_DIR}/chord/chord.lua
+ ${CMAKE_CURRENT_SOURCE_DIR}/console/deploy.lua
+ ${CMAKE_CURRENT_SOURCE_DIR}/console/master.lua
+ ${CMAKE_CURRENT_SOURCE_DIR}/console/master_slave_bypass.lua
+ ${CMAKE_CURRENT_SOURCE_DIR}/console/platform.lua
+ ${CMAKE_CURRENT_SOURCE_DIR}/console/slave.lua
+ ${CMAKE_CURRENT_SOURCE_DIR}/kademlia/kademlia.lua
+ ${CMAKE_CURRENT_SOURCE_DIR}/kademlia/routing_table.lua
+ ${CMAKE_CURRENT_SOURCE_DIR}/kademlia/tools.lua
${CMAKE_CURRENT_SOURCE_DIR}/masterslave/master.lua
${CMAKE_CURRENT_SOURCE_DIR}/masterslave/master_slave.lua
${CMAKE_CURRENT_SOURCE_DIR}/masterslave/platform.lua
${CMAKE_CURRENT_SOURCE_DIR}/masterslave/slave.lua
- ${CMAKE_CURRENT_SOURCE_DIR}/chord/chord.lua
- ${CMAKE_CURRENT_SOURCE_DIR}/bittorrent/bittorrent.lua
- ${CMAKE_CURRENT_SOURCE_DIR}/bittorrent/peer.lua
- ${CMAKE_CURRENT_SOURCE_DIR}/bittorrent/tracker.lua
+ ${CMAKE_CURRENT_SOURCE_DIR}/multi_matrix/mult_matrix.lua
+ ${CMAKE_CURRENT_SOURCE_DIR}/multi_matrix/receiver.lua
+ ${CMAKE_CURRENT_SOURCE_DIR}/multi_matrix/sender.lua
${CMAKE_CURRENT_SOURCE_DIR}/splaySim/master.lua
- ${CMAKE_CURRENT_SOURCE_DIR}/splaySim/splay_deploy_masterslave.lua
+ ${CMAKE_CURRENT_SOURCE_DIR}/splaySim/slave.lua
${CMAKE_CURRENT_SOURCE_DIR}/splaySim/splay_ctrl.lua
+ ${CMAKE_CURRENT_SOURCE_DIR}/splaySim/splay_deploy_masterslave.lua
${CMAKE_CURRENT_SOURCE_DIR}/splaySim/splay_platform.lua
- ${CMAKE_CURRENT_SOURCE_DIR}/splaySim/slave.lua
- ${CMAKE_CURRENT_SOURCE_DIR}/SimSplay/splay_school.lua
- ${CMAKE_CURRENT_SOURCE_DIR}/SimSplay/chord.lua
- ${CMAKE_CURRENT_SOURCE_DIR}/SimSplay/sim_splay.lua
- ${CMAKE_CURRENT_SOURCE_DIR}/SimSplay/platform_script.lua
+ ${CMAKE_CURRENT_SOURCE_DIR}/state_cloner/duplicated_globals.lua
${CMAKE_CURRENT_SOURCE_DIR}/tracing/master.lua
${CMAKE_CURRENT_SOURCE_DIR}/tracing/master_slave_trace.lua
${CMAKE_CURRENT_SOURCE_DIR}/tracing/slave.lua
- ${CMAKE_CURRENT_SOURCE_DIR}/state_cloner/duplicated_globals.lua
- ${CMAKE_CURRENT_SOURCE_DIR}/console/master.lua
- ${CMAKE_CURRENT_SOURCE_DIR}/console/platform.lua
- ${CMAKE_CURRENT_SOURCE_DIR}/console/slave.lua
- ${CMAKE_CURRENT_SOURCE_DIR}/console/master_slave_bypass.lua
- ${CMAKE_CURRENT_SOURCE_DIR}/console/deploy.lua
PARENT_SCOPE
)
set(bin_files
)
set(txt_files
${txt_files}
- ${CMAKE_CURRENT_SOURCE_DIR}/SimSplay/TODO
${CMAKE_CURRENT_SOURCE_DIR}/README
+ ${CMAKE_CURRENT_SOURCE_DIR}/SimSplay/TODO
${CMAKE_CURRENT_SOURCE_DIR}/tracing/file.trace
${CMAKE_CURRENT_SOURCE_DIR}/tracing/simgrid.trace
PARENT_SCOPE
+++ /dev/null
-
--- Slave Function ---------------------------------------------------------
-function Slave(...)
-
-local my_mailbox="slave "..arg[1]
-simgrid.info("Hello from lua, I'm a poor slave with mbox: "..my_mailbox)
-
-while true do
-
- local tk = simgrid.Task.recv(my_mailbox);
- if (simgrid.Task.name(tk) == "finalize") then
- simgrid.info("Slave '" ..my_mailbox.."' got finalize msg");
- break
- end
- --local tk_name = simgrid.Task.name(tk)
- simgrid.info("Slave '" ..my_mailbox.."' processing "..simgrid.Task.name(tk))
- simgrid.Task.execute(tk)
- simgrid.info("Slave '" ..my_mailbox.."': task "..simgrid.Task.name(tk) .. " done")
-end -- while
-
-simgrid.info("Slave '" ..my_mailbox.."': I'm Done . See You !!");
-
-end
-
set(tesh_files
${tesh_files}
${CMAKE_CURRENT_SOURCE_DIR}/bugged1.tesh
+ ${CMAKE_CURRENT_SOURCE_DIR}/bugged1_liveness.tesh
${CMAKE_CURRENT_SOURCE_DIR}/centralized.tesh
+ ${CMAKE_CURRENT_SOURCE_DIR}/chord/chord_neverjoin.tesh
+ ${CMAKE_CURRENT_SOURCE_DIR}/test/snapshot_comparison1.tesh
+ ${CMAKE_CURRENT_SOURCE_DIR}/test/snapshot_comparison2.tesh
+ ${CMAKE_CURRENT_SOURCE_DIR}/test/snapshot_comparison3.tesh
+ ${CMAKE_CURRENT_SOURCE_DIR}/test/snapshot_comparison4.tesh
+ ${CMAKE_CURRENT_SOURCE_DIR}/test/snapshot_comparison5.tesh
PARENT_SCOPE
)
set(xml_files
${CMAKE_CURRENT_SOURCE_DIR}/platform.xml
${CMAKE_CURRENT_SOURCE_DIR}/chord/deploy_chord_liveness.xml
${CMAKE_CURRENT_SOURCE_DIR}/test/deploy_snapshot_comparison.xml
+ ${CMAKE_CURRENT_SOURCE_DIR}/test/snapshot_comparison_platform.xml
PARENT_SCOPE
)
set(examples_src
+++ /dev/null
-<?xml version='1.0'?>
-<!DOCTYPE platform SYSTEM "http://simgrid.gforge.inria.fr/simgrid.dtd">
-<platform version="3">
-
- <process host="Gatien" function="node">
- <argument value="48"/> <!-- my id -->
- <argument value="1"/> <!-- known id -->
- <argument value="4"/> <!-- time to sleep before it starts-->
- <argument value ="60"/> <!-- deadline -->
- </process>
-
- <process host="McGee" function="node">
- <argument value="42"/> <!-- my id -->
- <argument value="1"/> <!-- known id -->
- <argument value="3"/> <!-- time to sleep before it starts-->
- <argument value ="60"/> <!-- deadline -->
- </process>
-
- <process host="Geoff" function="node">
- <argument value="32"/> <!-- my id -->
- <argument value="1"/> <!-- known id -->
- <argument value="10"/> <!-- time to sleep before it starts-->
- <argument value ="60"/> <!-- deadline -->
- </process>
-
- <process host="Jacquelin" function="node">
- <argument value="1"/> <!-- my id -->
- <argument value ="60"/> <!-- deadline -->
- </process>
-
-</platform>
+++ /dev/null
-/* Copyright (c) 2006, 2007, 2008, 2009, 2010. The SimGrid Team.
- * All rights reserved. */
-
-/* This program is free software; you can redistribute it and/or modify it
- * under the terms of the license (GNU LGPL) which comes with this package. */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include "simdag/simdag.h"
-#include "xbt/ex.h"
-#include "xbt/log.h"
-
-XBT_LOG_NEW_DEFAULT_CATEGORY(sd_test,
- "Logging specific to this SimDag example");
-
-int main(int argc, char **argv)
-{
- int i;
- unsigned int ctr;
- const char *platform_script;
- const SD_workstation_t *workstations;
- const char *name1;
- const char *name2;
- double computation_amount1;
- double computation_amount2;
- double communication_amount12;
- double communication_amount21;
- const SD_link_t *route;
- int route_size;
- SD_task_t task, taskA, taskB, taskC, taskD, checkB, checkD;
- xbt_dynar_t changed_tasks;
- xbt_ex_t ex;
- const int workstation_number = 2;
- SD_workstation_t workstation_list[2];
- double computation_amount[2];
- double communication_amount[4] = { 0 };
- double rate = -1.0;
- SD_workstation_t w1, w2;
-
- /* initialization of SD */
- SD_init(&argc, argv);
-
- /* xbt_log_control_set("sd.thres=debug"); */
-
- if (argc < 2) {
- XBT_INFO("Usage: %s script_file", argv[0]);
- XBT_INFO("example: %s sd_platform_script.lua", argv[0]);
- exit(1);
- }
-
- /* loading the environment */
- platform_script = argv[1];
- SD_load_environment_script(platform_script);
-
- /* test the estimation functions */
- workstations = SD_workstation_get_list();
- w1 = workstations[0];
- w2 = workstations[1];
- SD_workstation_set_access_mode(w2, SD_WORKSTATION_SEQUENTIAL_ACCESS);
- name1 = SD_workstation_get_name(w1);
- name2 = SD_workstation_get_name(w2);
- computation_amount1 = 2000000;
- computation_amount2 = 1000000;
- communication_amount12 = 2000000;
- communication_amount21 = 3000000;
- XBT_INFO("Computation time for %f flops on %s: %f", computation_amount1,
- name1, SD_workstation_get_computation_time(w1,
- computation_amount1));
- XBT_INFO("Computation time for %f flops on %s: %f", computation_amount2,
- name2, SD_workstation_get_computation_time(w2,
- computation_amount2));
-
- XBT_INFO("Route between %s and %s:", name1, name2);
- route = SD_route_get_list(w1, w2);
- route_size = SD_route_get_size(w1, w2);
- for (i = 0; i < route_size; i++) {
- XBT_INFO(" Link %s: latency = %f, bandwidth = %f",
- SD_link_get_name(route[i]),
- SD_link_get_current_latency(route[i]),
- SD_link_get_current_bandwidth(route[i]));
- }
- XBT_INFO("Route latency = %f, route bandwidth = %f",
- SD_route_get_current_latency(w1, w2),
- SD_route_get_current_bandwidth(w1, w2));
- XBT_INFO("Communication time for %f bytes between %s and %s: %f",
- communication_amount12, name1, name2,
- SD_route_get_communication_time(w1, w2, communication_amount12));
- XBT_INFO("Communication time for %f bytes between %s and %s: %f",
- communication_amount21, name2, name1,
- SD_route_get_communication_time(w2, w1, communication_amount21));
-
- /* creation of the tasks and their dependencies */
- taskA = SD_task_create("Task A", NULL, 10.0);
- taskB = SD_task_create("Task B", NULL, 40.0);
- taskC = SD_task_create("Task C", NULL, 30.0);
- taskD = SD_task_create("Task D", NULL, 60.0);
-
-
- SD_task_dependency_add(NULL, NULL, taskB, taskA);
- SD_task_dependency_add(NULL, NULL, taskC, taskA);
- SD_task_dependency_add(NULL, NULL, taskD, taskB);
- SD_task_dependency_add(NULL, NULL, taskD, taskC);
- /* SD_task_dependency_add(NULL, NULL, taskA, taskD); /\* deadlock */
-
-
-
- TRY {
- SD_task_dependency_add(NULL, NULL, taskA, taskA); /* shouldn't work and must raise an exception */
- xbt_die("Hey, I can add a dependency between Task A and Task A!");
- }
- CATCH(ex) {
- if (ex.category != arg_error)
- RETHROW; /* this is a serious error */
- xbt_ex_free(ex);
- }
-
- TRY {
- SD_task_dependency_add(NULL, NULL, taskB, taskA); /* shouldn't work and must raise an exception */
- xbt_die("Oh oh, I can add an already existing dependency!");
- }
- CATCH(ex) {
- if (ex.category != arg_error)
- RETHROW;
- xbt_ex_free(ex);
- }
-
- TRY {
- SD_task_dependency_remove(taskA, taskC); /* shouldn't work and must raise an exception */
- xbt_die("Dude, I can remove an unknown dependency!");
- }
- CATCH(ex) {
- if (ex.category != arg_error)
- RETHROW;
- xbt_ex_free(ex);
- }
-
- TRY {
- SD_task_dependency_remove(taskC, taskC); /* shouldn't work and must raise an exception */
- xbt_die("Wow, I can remove a dependency between Task C and itself!");
- }
- CATCH(ex) {
- if (ex.category != arg_error)
- RETHROW;
- xbt_ex_free(ex);
- }
-
-
- /* if everything is ok, no exception is forwarded or rethrown by main() */
-
- /* watch points */
- SD_task_watch(taskD, SD_DONE);
- SD_task_watch(taskB, SD_DONE);
- SD_task_unwatch(taskD, SD_DONE);
-
-
- /* scheduling parameters */
- workstation_list[0] = w1;
- workstation_list[1] = w2;
- computation_amount[0] = computation_amount1;
- computation_amount[1] = computation_amount2;
-
- communication_amount[1] = communication_amount12;
- communication_amount[2] = communication_amount21;
-
- /* estimated time */
- task = taskD;
- XBT_INFO("Estimated time for '%s': %f", SD_task_get_name(task),
- SD_task_get_execution_time(task, workstation_number,
- workstation_list, computation_amount,
- communication_amount));
-
- /* let's launch the simulation! */
-
- SD_task_schedule(taskA, workstation_number, workstation_list,
- computation_amount, communication_amount, rate);
- SD_task_schedule(taskB, workstation_number, workstation_list,
- computation_amount, communication_amount, rate);
- SD_task_schedule(taskC, workstation_number, workstation_list,
- computation_amount, communication_amount, rate);
- SD_task_schedule(taskD, workstation_number, workstation_list,
- computation_amount, communication_amount, rate);
-
- changed_tasks = SD_simulate(-1.0);
- xbt_dynar_foreach(changed_tasks, ctr, task) {
- XBT_INFO("Task '%s' start time: %f, finish time: %f",
- SD_task_get_name(task),
- SD_task_get_start_time(task), SD_task_get_finish_time(task));
- }
-
- xbt_dynar_get_cpy(changed_tasks, 0, &checkD);
- xbt_dynar_get_cpy(changed_tasks, 1, &checkB);
-
- xbt_assert(checkD == taskD &&
- checkB == taskB, "Unexpected simulation results");
-
- xbt_dynar_free_container(&changed_tasks);
-
- XBT_DEBUG("Destroying tasks...");
-
- SD_task_destroy(taskA);
- SD_task_destroy(taskB);
- SD_task_destroy(taskC);
- SD_task_destroy(taskD);
-
- XBT_DEBUG("Tasks destroyed. Exiting SimDag...");
-
- SD_exit();
- return 0;
-}
${CMAKE_CURRENT_SOURCE_DIR}/allredmany.std
${CMAKE_CURRENT_SOURCE_DIR}/allred.std
${CMAKE_CURRENT_SOURCE_DIR}/allredf.std
+ ${CMAKE_CURRENT_SOURCE_DIR}/coll13.std
${CMAKE_CURRENT_SOURCE_DIR}/scatterv.std
PARENT_SCOPE
)