try_compile(HAVE_UCONTEXT
${CMAKE_BINARY_DIR}
${CMAKE_HOME_DIRECTORY}/tools/cmake/test_prog/prog_AC_CHECK_MCSC.c
- COMPILE_DEFINITIONS _XBT_WIN32
- INCLUDE_DIRECTORIES
- ${CMAKE_HOME_DIRECTORY}/src/include
- ${CMAKE_HOME_DIRECTORY}/src/xbt
+ COMPILE_DEFINITIONS -D_XBT_WIN32 -I${CMAKE_HOME_DIRECTORY}/src/include -I${CMAKE_HOME_DIRECTORY}/src/xbt
)
else()
# We always provide our own implementation of ucontext on Windows.
/* SimGrid Lua bindings */
#include "lua_private.h"
-#include "src/surf/xml/platf.hpp"
+#include "src/surf/xml/platf_private.hpp"
#include "surf/surf_routing.h"
#include <string.h>
#include <ctype.h>
#ifndef MC_DATATYPE_H
#define MC_DATATYPE_H
-#include <ucontext.h>
+#ifdef _XBT_WIN32
+# include <xbt/win32_ucontext.h> /* context relative declarations */
+#else
+# include <ucontext.h> /* context relative declarations */
+#endif
+
#include "xbt/misc.h"
#include "xbt/swag.h"
#ifndef _MC_MC_H
#define _MC_MC_H
-#include <ucontext.h>
+#ifdef _XBT_WIN32
+# include <xbt/win32_ucontext.h> /* context relative declarations */
+#else
+# include <ucontext.h> /* context relative declarations */
+#endif
+
#include "xbt/base.h"
#include "xbt/misc.h"
+++ /dev/null
-/* Copyright (c) 2011-2014. The SimGrid Team.
- * All rights reserved. */
-
-/* This program is free software; you can redistribute it and/or modify it
- * under the terms of the license (GNU LGPL) which comes with this package. */
-
-#ifndef SURFXML_PARSE_VALUES_H_
-#define SURFXML_PARSE_VALUES_H_
-
-
-typedef struct s_surf_parsing_link_up_down *surf_parsing_link_up_down_t;
-typedef struct s_surf_parsing_link_up_down {
- void* link_up;
- void* link_down;
-} s_surf_parsing_link_up_down_t;
-
-#endif /* SURFXML_PARSE_VALUES_H_ */
/* 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. */
-/*\r
- * win32-ucontext: Unix ucontext_t operations on Windows platforms\r
- * Copyright(C) 2007 Panagiotis E. Hadjidoukas\r
- *\r
- * Contact Email: phadjido@cs.uoi.gr, xdoukas@ceid.upatras.gr\r
- *\r
- * win32-ucontext is free software; you can redistribute it and/or\r
- * modify it under the terms of the GNU Lesser General Public\r
- * License as published by the Free Software Foundation; either\r
- * version 2 of the License, or (at your option) any later version.\r
- *\r
- * win32-ucontext is distributed in the hope that it will be useful,\r
- * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\r
- * Lesser General Public License for more details.\r
- *\r
- * You should have received a copy of the GNU Lesser General Public\r
- * License along with SimGrid in the file LICENSE-LGPL-2.1;\r
- * if not, write to the Free Software Foundation, Inc.,\r
- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA\r
- */ \r
- \r
-#ifndef UCONTEXT_H\r
-#define UCONTEXT_H\r
- \r
-#include <windows.h>\r
- typedef struct __stack {\r
- void *ss_sp;\r
- size_t ss_size;\r
- int ss_flags;\r
-} stack_t;\r
-typedef CONTEXT mcontext_t;\r
-typedef unsigned long __sigset_t;\r
-typedef struct __ucontext {\r
- unsigned long int uc_flags;\r
- struct __ucontext *uc_link;\r
- stack_t uc_stack;\r
- mcontext_t uc_mcontext;\r
- __sigset_t uc_sigmask;\r
-} ucontext_t;\r
-int getcontext(ucontext_t * ucp);\r
-int setcontext(const ucontext_t * ucp);\r
-int makecontext(ucontext_t *, void (*)(), int, ...);\r
-int swapcontext(ucontext_t *, const ucontext_t *);\r
-\r
-#endif /* UCONTEXT_H */\r
+/*
+ * win32-ucontext: Unix ucontext_t operations on Windows platforms
+ * Copyright(C) 2007 Panagiotis E. Hadjidoukas
+ *
+ * Contact Email: phadjido@cs.uoi.gr, xdoukas@ceid.upatras.gr
+ *
+ * win32-ucontext is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * win32-ucontext is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with SimGrid in the file LICENSE-LGPL-2.1;
+ * if not, write to the Free Software Foundation, Inc.,
+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+ */
+
+#ifndef UCONTEXT_H
+#define UCONTEXT_H
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+#include <windows.h>
+ typedef struct __stack {
+ void *ss_sp;
+ size_t ss_size;
+ int ss_flags;
+} stack_t;
+typedef CONTEXT mcontext_t;
+typedef unsigned long __sigset_t;
+typedef struct __ucontext {
+ unsigned long int uc_flags;
+ struct __ucontext *uc_link;
+ stack_t uc_stack;
+ mcontext_t uc_mcontext;
+ __sigset_t uc_sigmask;
+} ucontext_t;
+int getcontext(ucontext_t * ucp);
+int setcontext(const ucontext_t * ucp);
+int makecontext(ucontext_t *, void (*)(), int, ...);
+int swapcontext(ucontext_t *, const ucontext_t *);
+
+#ifdef __cplusplus
+}
+#endif
+#endif /* UCONTEXT_H */
#endif
#include "src/surf/surf_interface.hpp"
+#include "src/surf/xml/platf.hpp"
#include "smx_private.h"
#include "smx_private.hpp"
#include "xbt/heap.h"
#include <xbt/dynar.h>
#include "cpu_interface.hpp"
#include "plugins/energy.hpp"
+#include "src/instr/instr_private.h" // TRACE_is_enabled(). FIXME: remove by subscribing tracing to the surf signals
XBT_LOG_EXTERNAL_CATEGORY(surf_kernel);
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(surf_cpu, surf,
#include "src/instr/instr_private.h"
-#include "src/surf/surf_private.h"
+#include "src/surf/surf_routing.hpp"
+#include "src/surf/xml/platf_private.hpp"
#include "xbt/graph.h"
XBT_LOG_NEW_DEFAULT_SUBCATEGORY (instr_routing, instr, "Tracing platform hierarchy");
XBT_DEBUG (" linkContainers %s <-> %s", src->name, dst->name);
}
-static void recursiveGraphExtraction (AS_t rc, container_t container, xbt_dict_t filter)
+static void recursiveGraphExtraction (simgrid::surf::As *rc, container_t container, xbt_dict_t filter)
{
if (!TRACE_platform_topology()){
XBT_DEBUG("Graph extraction disabled by user.");
return;
}
- XBT_DEBUG ("Graph extraction for routing_component = %s", surf_AS_get_name(rc));
- if (!xbt_dict_is_empty(surf_AS_get_routing_sons(rc))){
+ XBT_DEBUG ("Graph extraction for routing_component = %s", rc->name_);
+ if (!xbt_dict_is_empty(rc->sons_)){
xbt_dict_cursor_t cursor = NULL;
AS_t rc_son;
char *child_name;
#include "network_cm02.hpp"
#include "maxmin_private.hpp"
#include "simgrid/sg_config.h"
+#include "src/instr/instr_private.h" // TRACE_is_enabled(). FIXME: remove by subscribing tracing to the surf signals
XBT_LOG_EXTERNAL_DEFAULT_CATEGORY(surf_network);
#include "src/surf/surf_private.h"
#include "src/surf/host_interface.hpp"
#include "simgrid/sg_config.h"
+#include "src/instr/instr_private.h" // TRACE_is_enabled(). FIXME: remove by subscribing tracing to the surf signals
XBT_LOG_EXTERNAL_DEFAULT_CATEGORY(ns3);
#include "simgrid/sg_config.h"
#include "mc/mc.h"
#include "virtual_machine.hpp"
+#include "src/instr/instr_private.h" // TRACE_is_enabled(). FIXME: remove by subscribing tracing to the surf signals
+
XBT_LOG_NEW_CATEGORY(surf, "All SURF categories");
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(surf_kernel, surf,
int XBT_PRIVATE __surf_is_absolute_file_path(const char *file_path);
+static inline char* sg_storage_name(sg_storage_t storage) {
+ return storage->key;
+}
+
/***********
* Classes *
***********/
#ifndef _SURF_SURF_PRIVATE_H
#define _SURF_SURF_PRIVATE_H
-#include <xbt/base.h>
-
#include "surf/surf.h"
#include "surf/maxmin.h"
-#include "xbt/log.h"
#include "src/surf/trace_mgr.hpp"
-#include "src/instr/instr_private.h"
-#include "surf/surfxml_parse_values.h"
-#include "src/surf/xml/platf_private.hpp"
#define NO_MAX_DURATION -1.0
XBT_PUBLIC(void) storage_register_callbacks(void);
XBT_PUBLIC(void) routing_register_callbacks(void);
-XBT_PUBLIC(void) routing_route_free(sg_platf_route_cbarg_t route); // FIXME: make previous function private to routing again?
XBT_PUBLIC(void) generic_get_graph(xbt_graph_t graph, xbt_dict_t nodes, xbt_dict_t edges, AS_t rc);
XBT_PRIVATE void parse_after_config(void);
void TRACE_surf_host_set_speed(double date, const char *resource, double power);
void TRACE_surf_link_set_bandwidth(double date, const char *resource, double bandwidth);
-/********** Instr. **********/
-
-XBT_PRIVATE void sg_instr_AS_begin(sg_platf_AS_cbarg_t AS);
-XBT_PRIVATE void sg_instr_new_router(sg_platf_router_cbarg_t router);
-XBT_PRIVATE void sg_instr_new_host(sg_platf_host_cbarg_t host);
-XBT_PRIVATE void sg_instr_AS_end(void);
-
SG_END_DECL()
#endif /* _SURF_SURF_PRIVATE_H */
* under the terms of the license (GNU LGPL) which comes with this package. */
#include "surf_routing.hpp"
-#include "surf_routing_private.hpp"
#include "surf_routing_cluster.hpp"
#include "simgrid/sg_config.h"
#include "storage_interface.hpp"
-#include "surf/surfxml_parse_values.h"
#include "src/surf/surf_routing_cluster_torus.hpp"
#include "src/surf/surf_routing_cluster_fat_tree.hpp"
char *router_id = NULL;
XBT_DEBUG(" ");
- host_id = HOST_PEER(peer->id);
- link_id = LINK_PEER(peer->id);
- router_id = ROUTER_PEER(peer->id);
+ host_id = bprintf("peer_%s", peer->id);
+ link_id = bprintf("link_%s", peer->id);
+ router_id = bprintf("router_%s", peer->id);
XBT_DEBUG("<AS id=\"%s\"\trouting=\"Cluster\">", peer->id);
s_sg_platf_AS_cbarg_t AS = SG_PLATF_AS_INITIALIZER;
#include <xbt/signal.hpp>
#include "surf_interface.hpp"
+#include "src/surf/xml/platf_private.hpp" // FIXME: including this here is pure madness. KILKILKIL XML.
#include <float.h>
#include <vector>
#include <map>
+SG_BEGIN_DECL()
XBT_PUBLIC(void) routing_model_create( void *loopback);
+XBT_PRIVATE xbt_node_t new_xbt_graph_node (xbt_graph_t graph, const char *name, xbt_dict_t nodes);
+XBT_PRIVATE xbt_edge_t new_xbt_graph_edge (xbt_graph_t graph, xbt_node_t s, xbt_node_t d, xbt_dict_t edges);
+SG_END_DECL()
namespace simgrid {
namespace surf {
#include "xbt/dynar.h"
#include "xbt/graph.h"
-#include "surf_routing_private.hpp"
#include "network_interface.hpp"
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(surf_routing_generic, surf_route, "Generic implementation of the surf routing");
* under the terms of the license (GNU LGPL) which comes with this package. */
#include "surf_routing_cluster.hpp"
-#include "surf_routing_private.hpp"
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(surf_route_cluster, surf, "Routing part of surf");
#include <vector>
#include <iostream>
-#include "src/surf/surf_routing_private.hpp"
#include "src/surf/surf_routing_cluster_fat_tree.hpp"
#include "xbt/lib.h"
/* 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 "src/surf/surf_routing_private.hpp"
#include "src/surf/surf_routing_cluster_torus.hpp"
#include "src/surf/xml/platf.hpp" // FIXME: move that back to the parsing area
/* 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 "src/surf/surf_routing_private.hpp"
#include "src/surf/surf_routing_dijkstra.hpp"
#include "src/surf/network_interface.hpp"
/* 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 "src/surf/surf_routing_private.hpp"
#include "src/surf/surf_routing_floyd.hpp"
#include "src/surf/network_interface.hpp"
/* 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 "src/surf/surf_routing_private.hpp"
#include "src/surf/surf_routing_full.hpp"
#include "src/surf/network_interface.hpp"
/* 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 "src/surf/surf_routing_private.hpp"
#include "src/surf/surf_routing_none.hpp"
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(surf_route_none, surf, "Routing part of surf");
+++ /dev/null
-/* Copyright (c) 2009-2011, 2013-2015. The SimGrid Team.
- * All rights reserved. */
-
-/* This program is free software; you can redistribute it and/or modify it
- * under the terms of the license (GNU LGPL) which comes with this package. */
-
-#ifndef _SURF_SURF_ROUTING_PRIVATE_H
-#define _SURF_SURF_ROUTING_PRIVATE_H
-
-#include <float.h>
-#include "src/internal_config.h"
-
-#include "surf_interface.hpp"
-#include "xbt/base.h"
-#include "xbt/dynar.h"
-#include "xbt/str.h"
-#include "xbt/config.h"
-#include "xbt/graph.h"
-
-/* ************************************************************************** */
-/* ******************************* NO ROUTING ******************************* */
-/* Only save the AS tree, and forward calls to child ASes */
-XBT_PRIVATE AS_t model_none_create(void);
-XBT_PRIVATE AS_t model_none_create_sized(size_t childsize);
-XBT_PRIVATE void model_none_finalize(AS_t as);
-/* ************************************************************************** */
-/* ***************** GENERIC PARSE FUNCTIONS (declarations) ***************** */
-XBT_PRIVATE AS_t model_generic_create_sized(size_t childsize);
-XBT_PRIVATE void model_generic_finalize(AS_t as);
-
-XBT_PRIVATE int generic_parse_PU(AS_t rc, sg_netcard_t elm);
-XBT_PRIVATE int generic_parse_AS(AS_t rc, sg_netcard_t elm);
-XBT_PRIVATE void generic_parse_bypassroute(AS_t rc, sg_platf_route_cbarg_t e_route);
-
-/* ************************************************************************** */
-/* *************** GENERIC BUSINESS METHODS (declarations) ****************** */
-
-XBT_PRIVATE xbt_dynar_t generic_get_onelink_routes(AS_t rc);
-XBT_PRIVATE sg_platf_route_cbarg_t generic_get_bypassroute(AS_t rc,
- sg_netcard_t src,
- sg_netcard_t dst,
- double *lat);
-
-/* ************************************************************************** */
-/* ****************** GENERIC AUX FUNCTIONS (declarations) ****************** */
-
-/* change a route containing link names into a route containing link entities.
- * If change_order is true, the links are put in reverse order in the
- * produced route */
-XBT_PRIVATE sg_platf_route_cbarg_t generic_new_extended_route(e_surf_routing_hierarchy_t hierarchy,
- sg_platf_route_cbarg_t data, int preserve_order);
-XBT_PRIVATE AS_t generic_autonomous_system_exist(AS_t rc, char *element);
-XBT_PRIVATE AS_t generic_processing_units_exist(AS_t rc, char *element);
-void generic_src_dst_check(AS_t rc, sg_netcard_t src, sg_netcard_t dst);
-
-/* ************************************************************************** */
-/* *************************** FLOYD ROUTING ******************************** */
-XBT_PRIVATE void model_floyd_parse_route(AS_t rc, sg_platf_route_cbarg_t route);
-
-#define HOST_PEER(peername) bprintf("peer_%s", peername)
-#define ROUTER_PEER(peername) bprintf("router_%s", peername)
-#define LINK_PEER(peername) bprintf("link_%s", peername)
-
-/* ************************************************************************** */
-/* ********** Dijkstra & Dijkstra Cached ROUTING **************************** */
-XBT_PRIVATE void model_dijkstra_both_parse_route (AS_t rc, sg_platf_route_cbarg_t route);
-XBT_PRIVATE void model_full_set_route( /* Set the route and ASroute between src and dst */
- AS_t rc, sg_platf_route_cbarg_t route);
-/* ************************************************************************** */
-/* ************************* GRAPH EXPORTING FUNCTIONS ********************** */
-XBT_PRIVATE xbt_node_t new_xbt_graph_node (xbt_graph_t graph, const char *name, xbt_dict_t nodes);
-XBT_PRIVATE xbt_edge_t new_xbt_graph_edge (xbt_graph_t graph, xbt_node_t s, xbt_node_t d, xbt_dict_t edges);
-
-
-#endif /* _SURF_SURF_ROUTING_PRIVATE_H */
XBT_PUBLIC(void) tmgr_finalize(void);
+XBT_PUBLIC(tmgr_trace_t) tmgr_trace_new_from_file(const char *filename);
+XBT_PUBLIC(tmgr_trace_t) tmgr_trace_new_from_string(const char *id, const char *input, double periodicity);
+
SG_END_DECL()
#ifdef __cplusplus
XBT_PUBLIC(double) surf_parse_get_bandwidth(const char *string, const char *entity_kind, const char *name);
XBT_PUBLIC(double) surf_parse_get_speed(const char *string, const char *entity_kind, const char *name);
-/* What is needed to bypass the parser. */
XBT_PUBLIC_DATA(int_f_void_t) surf_parse; /* Entry-point to the parser. Set this to your function. */
+
SG_END_DECL()
+
+namespace simgrid {
+namespace surf {
+
+extern XBT_PRIVATE xbt::signal<void(void)> on_postparse;
+
+}
+}
+
#endif
typedef size_t yy_size_t;
#endif
-static inline char* sg_storage_name(sg_storage_t storage) {
- return storage->key;
-}
-
XBT_PUBLIC(sg_netcard_t) sg_netcard_by_name_or_null(const char *name);
-XBT_PUBLIC(tmgr_trace_t) tmgr_trace_new_from_file(const char *filename);
-XBT_PUBLIC(tmgr_trace_t) tmgr_trace_new_from_string(const char *id,
- const char *input,
- double periodicity);
typedef enum {
SURF_CLUSTER_FAT_TREE=2,
SURF_CLUSTER_FLAT = 1,
XBT_PRIVATE void surfxml_bufferstack_pop(int _new);
XBT_PUBLIC_DATA(int) surfxml_bufferstack_size;
+XBT_PUBLIC(void) routing_route_free(sg_platf_route_cbarg_t route);
+/********** Instr. **********/
+XBT_PRIVATE void sg_instr_AS_begin(sg_platf_AS_cbarg_t AS);
+XBT_PRIVATE void sg_instr_new_router(sg_platf_router_cbarg_t router);
+XBT_PRIVATE void sg_instr_new_host(sg_platf_host_cbarg_t host);
+XBT_PRIVATE void sg_instr_AS_end(void);
+
+typedef struct s_surf_parsing_link_up_down *surf_parsing_link_up_down_t;
+typedef struct s_surf_parsing_link_up_down {
+ void* link_up;
+ void* link_down;
+} s_surf_parsing_link_up_down_t;
+
+
SG_END_DECL()
namespace simgrid {
extern XBT_PRIVATE simgrid::xbt::signal<void(sg_platf_link_cbarg_t)> on_link;
extern XBT_PRIVATE simgrid::xbt::signal<void(sg_platf_cluster_cbarg_t)> on_cluster;
-extern XBT_PRIVATE simgrid::xbt::signal<void(void)> on_postparse;
}
}
#include "xbt/dict.h"
#include "src/surf/cpu_interface.hpp"
#include "src/surf/network_interface.hpp"
+#include "src/instr/instr_private.h" // TRACE_start(). FIXME: remove by subscribing tracing to the surf signals
#include "src/surf/xml/platf.hpp"
#include "xbt/dict.h"
#include "src/surf/surf_private.h"
#include "simgrid/sg_config.h"
+#include "simgrid/link.h"
#include "src/surf/xml/platf_private.hpp"
${CMAKE_CURRENT_SOURCE_DIR}/four_hosts_floyd_ns3.xml
${CMAKE_CURRENT_SOURCE_DIR}/four_hosts_floyd.xml
${CMAKE_CURRENT_SOURCE_DIR}/two_hosts_multi_hop.xml
+ ${CMAKE_CURRENT_SOURCE_DIR}/link_attributes.xml
${CMAKE_CURRENT_SOURCE_DIR}/one_cluster_file.xml
${CMAKE_CURRENT_SOURCE_DIR}/one_cluster_multicore.xml
${CMAKE_CURRENT_SOURCE_DIR}/one_cluster_fullduplex.xml
${CMAKE_CURRENT_SOURCE_DIR}/one_host_trace_file.xml
${CMAKE_CURRENT_SOURCE_DIR}/one_host_trace_inside.xml
${CMAKE_CURRENT_SOURCE_DIR}/one_host.xml
- ${CMAKE_CURRENT_SOURCE_DIR}/one_link_availability.xml
- ${CMAKE_CURRENT_SOURCE_DIR}/one_link_fatpipe.xml
- ${CMAKE_CURRENT_SOURCE_DIR}/one_link_shared.xml
- ${CMAKE_CURRENT_SOURCE_DIR}/one_link_state_file.xml
${CMAKE_CURRENT_SOURCE_DIR}/platform_include.xml
${CMAKE_CURRENT_SOURCE_DIR}/properties.xml
${CMAKE_CURRENT_SOURCE_DIR}/test_of_is_router.xml
${CMAKE_CURRENT_SOURCE_DIR}/bogus_missing_src_gateway.xml
${CMAKE_CURRENT_SOURCE_DIR}/bogus_missing_dst_gateway.xml
${CMAKE_CURRENT_SOURCE_DIR}/bogus_two_hosts_asymetric.xml
- ${CMAKE_CURRENT_SOURCE_DIR}/bogus_two_hosts_asymetric-2.xml
${CMAKE_CURRENT_SOURCE_DIR}/two_hosts_one_link_fullduplex.xml
${CMAKE_CURRENT_SOURCE_DIR}/two_hosts_one_link_symmetrical.xml
${CMAKE_CURRENT_SOURCE_DIR}/two_hosts_one_link.xml
PARENT_SCOPE)
set(txt_files
${txt_files}
- ${CMAKE_CURRENT_SOURCE_DIR}/bob0_availability_file.trace
- ${CMAKE_CURRENT_SOURCE_DIR}/bob0_state_file.trace
- ${CMAKE_CURRENT_SOURCE_DIR}/bob2_availability_file.trace
- ${CMAKE_CURRENT_SOURCE_DIR}/bob2_state_file.trace
${CMAKE_CURRENT_SOURCE_DIR}/bob.fail
${CMAKE_CURRENT_SOURCE_DIR}/bob.trace
- ${CMAKE_CURRENT_SOURCE_DIR}/link1.bw
- ${CMAKE_CURRENT_SOURCE_DIR}/link1.fail
- ${CMAKE_CURRENT_SOURCE_DIR}/link1.lat
+ ${CMAKE_CURRENT_SOURCE_DIR}/link.bw
+ ${CMAKE_CURRENT_SOURCE_DIR}/link.fail
+ ${CMAKE_CURRENT_SOURCE_DIR}/link.lat
PARENT_SCOPE)
<?xml version='1.0'?>
<!DOCTYPE platform SYSTEM "http://simgrid.gforge.inria.fr/simgrid/simgrid.dtd">
<platform version="4">
-
- <AS id="AS0" routing="Dijkstra">
-
+ <AS id="AS0" routing="Dijkstra">
<host id="NODO01" speed="10Mf"/>
<host id="NODO02" speed="10Mf"/>
-
- <router id="ROUTER" />
-
+
+ <router id="ROUTER"/>
+
<link id="1" bandwidth="1MBps" latency="1ms"/>
<link id="2" bandwidth="1MBps" latency="1ms"/>
-
+
<link id="10" bandwidth="1MBps" latency="1ms"/>
<link id="11" bandwidth="1MBps" latency="1ms"/>
<link id="12" bandwidth="1MBps" latency="1ms"/>
-
+
<route src="NODO01" dst="ROUTER" symmetrical="NO"><link_ctn id="1"/></route>
<route src="NODO02" dst="ROUTER" symmetrical="NO"><link_ctn id="2"/></route>
-
+
<route src="ROUTER" dst="NODO01" symmetrical="NO"><link_ctn id="1"/></route>
<route src="ROUTER" dst="NODO02" symmetrical="NO"><link_ctn id="2"/></route>
<route src="NODO01" dst="NODO02" symmetrical="NO">
- <link_ctn id="10"/>
- <link_ctn id="11"/>
- <link_ctn id="12"/>
+ <link_ctn id="10"/><link_ctn id="11"/><link_ctn id="12"/>
</route>
-
</AS>
</platform>
> [ 0.000000] (0:maestro@) Switching to the L07 model to handle parallel tasks.
> Workstation number: 1, link number: 1
-$ ${bindir:=.}/basic_parsing_test one_link_availability.xml "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n"
+$ ${bindir:=.}/basic_parsing_test link_attributes.xml "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n"
> [ 0.000000] (0:maestro@) Switching to the L07 model to handle parallel tasks.
-> Workstation number: 1, link number: 2
-
-$ ${bindir:=.}/basic_parsing_test one_link_fatpipe.xml "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n"
-> [ 0.000000] (0:maestro@) Switching to the L07 model to handle parallel tasks.
-> Workstation number: 1, link number: 2
-
-$ ${bindir:=.}/basic_parsing_test one_link_shared.xml "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n"
-> [ 0.000000] (0:maestro@) Switching to the L07 model to handle parallel tasks.
-> Workstation number: 1, link number: 2
-
-$ ${bindir:=.}/basic_parsing_test one_link_state_file.xml "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n"
-> [ 0.000000] (0:maestro@) Switching to the L07 model to handle parallel tasks.
-> Workstation number: 1, link number: 2
+> Workstation number: 1, link number: 5
$ ${bindir:=.}/basic_parsing_test three_hosts_non_symmetric_route.xml "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n"
> [ 0.000000] (0:maestro@) Switching to the L07 model to handle parallel tasks.
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/model' to 'Vegas'
> Workstation number: 1, link number: 1
+$ cp -f ./bob.trace ./bob0_availability_file.trace
+$ cp -f ./bob.trace ./bob2_availability_file.trace
+$ cp -f ./bob.trace ./bob0_state_file.trace
+$ cp -f ./bob.trace ./bob2_state_file.trace
$ ${bindir:=.}/basic_parsing_test ./one_cluster_file.xml
> [0.000000] [xbt_cfg/INFO] Switching to the L07 model to handle parallel tasks.
> Workstation number: 2, link number: 6
+$ rm -f ./bob0_availability_file.trace ./bob2_availability_file.trace ./bob0_state_file.trace ./bob2_state_file.trace
$ ${bindir:=.}/is_router_test ./test_of_is_router.xml
> [0.000000] [xbt_cfg/INFO] Switching to the L07 model to handle parallel tasks.
+++ /dev/null
-PERIODICITY 1.0
-0.0 1.0
-11.0 0.5
-20.0 0.8
+++ /dev/null
-PERIODICITY 1.0
-0.0 1.0
-11.0 0.5
-20.0 0.8
+++ /dev/null
-PERIODICITY 1.0
-0.0 1.0
-11.0 0.5
-20.0 0.8
+++ /dev/null
-PERIODICITY 1.0
-0.0 1.0
-11.0 0.5
-20.0 0.8
+++ /dev/null
-<!-- THIS FILE IS INVALID.
-
-It declares a route alice->bob and another bob->alice, both being different.
-It is used to check that this (bogus) file is detected as is (see two_hosts_asymetric.tesh) -->
-
-<?xml version='1.0'?>
-<!DOCTYPE platform SYSTEM "http://simgrid.gforge.inria.fr/simgrid/simgrid.dtd">
-<platform version="4">
- <AS id="AS0" routing="Full">
- <host id="bob" speed="1Gf"/>
- <host id="alice" speed="500Mf"/>
-
- <link id="link1" bandwidth="125MBps" latency="50us"/>
- <link id="link2" bandwidth="125MBps" latency="50us"/>
- <link id="link3" bandwidth="125MBps" latency="50us"/>
- <link id="link4" bandwidth="125MBps" latency="50us"/>
-
- <route src="bob" dst="alice"><link_ctn id="link1"/><link_ctn id="link2"/><link_ctn id="link4"/></route>
- <route src="alice" dst="bob"> <link_ctn id="link4"/><link_ctn id="link3"/><link_ctn id="link1"/></route>
- </AS>
-</platform>
$ ${bindir:=.}/flatifier bogus_two_hosts_asymetric.xml "--log=root.fmt:[%10.6r]%e[%i:%P@%h]%e%m%n"
> [ 0.000000] [0:maestro@] Switching to the L07 model to handle parallel tasks.
> [ 0.000000] [0:maestro@] Error while loading bogus_two_hosts_asymetric.xml: The route between alice and bob already exists (Rq: routes are symmetrical by default).
-
-! expect signal SIGABRT
-$ ${bindir:=.}/flatifier bogus_two_hosts_asymetric-2.xml "--log=root.fmt:[%10.6r]%e[%i:%P@%h]%e%m%n"
-> [ 0.000000] [0:maestro@] Switching to the L07 model to handle parallel tasks.
-> [ 0.000000] [0:maestro@] Error while loading bogus_two_hosts_asymetric-2.xml: The route between alice and bob already exists (Rq: routes are symmetrical by default).
> </AS>
> </platform>
-$ ${bindir:=.}/flatifier$EXEEXT one_link_availability.xml "--log=root.fmt:[%10.6r]%e[%i:%P@%h]%e%m%n"
-> [ 0.000000] [0:maestro@] Switching to the L07 model to handle parallel tasks.
-> <?xml version='1.0'?>
-> <!DOCTYPE platform SYSTEM "http://simgrid.gforge.inria.fr/simgrid.dtd">
-> <platform version="3">
-> <AS id="AS0" routing="Full">
-> <host id="bob" power="500000000"/>
-> <link id="__loopback__" bandwidth="498000000" latency="0.000015000" sharing_policy="FATPIPE"/>
-> <link id="link1" bandwidth="80000000" latency="0.000100000"/>
-> <route src="bob" dst="bob">
-> <link_ctn id="__loopback__"/>
-> </route>
-> </AS>
-> </platform>
-
-$ ${bindir:=.}/flatifier$EXEEXT one_link_fatpipe.xml "--log=root.fmt:[%10.6r]%e[%i:%P@%h]%e%m%n"
-> [ 0.000000] [0:maestro@] Switching to the L07 model to handle parallel tasks.
-> <?xml version='1.0'?>
-> <!DOCTYPE platform SYSTEM "http://simgrid.gforge.inria.fr/simgrid.dtd">
-> <platform version="3">
-> <AS id="AS0" routing="Full">
-> <host id="bob" power="500000000"/>
-> <link id="__loopback__" bandwidth="498000000" latency="0.000015000" sharing_policy="FATPIPE"/>
-> <link id="link1" bandwidth="125000000" latency="0.000050000" sharing_policy="FATPIPE"/>
-> <route src="bob" dst="bob">
-> <link_ctn id="__loopback__"/>
-> </route>
-> </AS>
-> </platform>
-
-$ ${bindir:=.}/flatifier$EXEEXT one_link_shared.xml "--log=root.fmt:[%10.6r]%e[%i:%P@%h]%e%m%n"
+$ ${bindir:=.}/flatifier$EXEEXT link_attributes.xml "--log=root.fmt:[%10.6r]%e[%i:%P@%h]%e%m%n"
> [ 0.000000] [0:maestro@] Switching to the L07 model to handle parallel tasks.
> <?xml version='1.0'?>
> <!DOCTYPE platform SYSTEM "http://simgrid.gforge.inria.fr/simgrid.dtd">
> <host id="bob" power="500000000"/>
> <link id="__loopback__" bandwidth="498000000" latency="0.000015000" sharing_policy="FATPIPE"/>
> <link id="link1" bandwidth="125000000" latency="0.000050000"/>
-> <route src="bob" dst="bob">
-> <link_ctn id="__loopback__"/>
-> </route>
-> </AS>
-> </platform>
-
-$ ${bindir:=.}/flatifier$EXEEXT one_link_state_file.xml "--log=root.fmt:[%10.6r]%e[%i:%P@%h]%e%m%n"
-> [ 0.000000] [0:maestro@] Switching to the L07 model to handle parallel tasks.
-> <?xml version='1.0'?>
-> <!DOCTYPE platform SYSTEM "http://simgrid.gforge.inria.fr/simgrid.dtd">
-> <platform version="3">
-> <AS id="AS0" routing="Full">
-> <host id="bob" power="500000000"/>
-> <link id="__loopback__" bandwidth="498000000" latency="0.000015000" sharing_policy="FATPIPE"/>
-> <link id="link1" bandwidth="80000000" latency="0.000100000"/>
+> <link id="link2" bandwidth="125000000" latency="0.000050000" sharing_policy="FATPIPE"/>
+> <link id="link3" bandwidth="80000000" latency="0.000100000"/>
+> <link id="link4" bandwidth="80000000" latency="0.000100000"/>
> <route src="bob" dst="bob">
> <link_ctn id="__loopback__"/>
> </route>
<?xml version='1.0'?>
<!DOCTYPE platform SYSTEM "http://simgrid.gforge.inria.fr/simgrid/simgrid.dtd">
<platform version="4">
- <AS id="AS0" routing="Dijkstra">
+ <AS id="AS0" routing="Dijkstra">
<host id="host1" speed="1Gf"/>
<host id="host2" speed="1Gf"/>
<host id="host3" speed="1Gf"/>
<link id="link1" bandwidth="125GBps" latency="50us"/>
<link id="link2" bandwidth="125MBps" latency="5us"/>
<link id="link3" bandwidth="125kBps" latency="500ns"/>
- <link id="link4" bandwidth="125Bps" latency="5ns"/>
+ <link id="link4" bandwidth="125Bps" latency="5ns"/>
- <route src="host1" dst="host2" symmetrical="NO"><link_ctn id="link1"/></route>
- <route src="host2" dst="host1" symmetrical="NO"><link_ctn id="link1"/></route>
- <route src="host1" dst="host3" symmetrical="NO"><link_ctn id="link2"/></route>
- <route src="host3" dst="host1" symmetrical="NO"><link_ctn id="link2"/></route>
+ <route src="host1" dst="host2"><link_ctn id="link1"/></route>
+ <route src="host1" dst="host3"><link_ctn id="link2"/></route>
</AS>
</platform>
--- /dev/null
+<?xml version='1.0'?>
+<!DOCTYPE platform SYSTEM "http://simgrid.gforge.inria.fr/simgrid/simgrid.dtd">
+<platform version="4">
+<AS id="AS0" routing="Full">
+ <host id="bob" speed="500Mf"/>
+
+ <link id="link1" bandwidth="125MBps" latency="50us"/>
+ <link id="link2" bandwidth="125MBps" latency="50us" sharing_policy="FATPIPE"/>
+ <link id="link3" bandwidth="80MBps" latency="100us" bandwidth_file="link.bw" latency_file="link.lat"/>
+ <link id="link4" bandwidth="80MBps" latency="100us" state_file="link.fail"/>
+</AS>
+</platform>
+++ /dev/null
-<?xml version='1.0'?>
-<!DOCTYPE platform SYSTEM "http://simgrid.gforge.inria.fr/simgrid/simgrid.dtd">
-<platform version="4">
-<AS id="AS0" routing="Full">
- <host id="bob" speed="500Mf"/>
- <link id="link1" bandwidth="80MBps" latency="100us" bandwidth_file="link1.bw" latency_file="link1.lat"/>
-</AS>
-</platform>
+++ /dev/null
-<?xml version='1.0'?>
-<!DOCTYPE platform SYSTEM "http://simgrid.gforge.inria.fr/simgrid/simgrid.dtd">
-<platform version="4">
- <AS id="AS0" routing="Full">
- <host id="bob" speed="500Mf"/>
- <link id="link1" bandwidth="125MBps" latency="50us" sharing_policy="FATPIPE"/>
- </AS>
-</platform>
+++ /dev/null
-<?xml version='1.0'?>
-<!DOCTYPE platform SYSTEM "http://simgrid.gforge.inria.fr/simgrid/simgrid.dtd">
-<platform version="4">
- <AS id="AS0" routing="Full">
- <host id="bob" speed="500Mf"/>
- <link id="link1" bandwidth="125MBps" latency="50us"/>
- </AS>
-</platform>
+++ /dev/null
-<?xml version='1.0'?>
-<!DOCTYPE platform SYSTEM "http://simgrid.gforge.inria.fr/simgrid/simgrid.dtd">
-<platform version="4">
- <AS id="AS0" routing="Full">
- <host id="bob" speed="500Mf"/>
- <link id="link1" bandwidth="80MBps" latency="100us" state_file="link1.fail"/>
- </AS>
-</platform>
#include <stdio.h>
#include "simgrid/sg_config.h"
+#include "simgrid/host.h"
#include "surf/surf.h"
#include "src/surf/surf_interface.hpp"
#include "src/surf/cpu_interface.hpp"
* under the terms of the license (GNU LGPL) which comes with this package. */
#include "simgrid/sg_config.h"
+#include "simgrid/host.h"
#include "surf/surf.h"
#include "src/surf/surf_interface.hpp"
#include "src/surf/cpu_interface.hpp"
src/include/surf/datatypes.h
src/include/surf/maxmin.h
src/include/surf/surf.h
- src/include/surf/surfxml_parse_values.h
src/include/xbt/win32_ucontext.h
src/include/xbt/wine_dbghelp.h
src/msg/msg_mailbox.h
src/surf/surf_routing_full.hpp
src/surf/surf_routing_RoutedGraph.hpp
src/surf/surf_routing_none.hpp
- src/surf/surf_routing_private.hpp
src/surf/surf_routing_vivaldi.hpp
src/surf/vm_hl13.hpp
src/surf/PropertyHolder.hpp