-/* Copyright (c) 2009-2011, 2013-2015. The SimGrid Team.
- * All rights reserved. */
+/* Copyright (c) 2009-2016. 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 "surf_routing_cluster.hpp"
+#include "src/surf/AsCluster.hpp"
+#include "src/surf/network_interface.hpp"
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(surf_route_cluster, surf, "Routing part of surf");
-/* Copyright (c) 2013-2015. The SimGrid Team.
- * All rights reserved. */
+/* Copyright (c) 2013-2016. 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_ROUTING_CLUSTER_HPP_
#define SURF_ROUTING_CLUSTER_HPP_
-#include <xbt/base.h>
-
-#include "surf_routing.hpp"
-#include "network_interface.hpp"
#include "src/surf/AsImpl.hpp"
namespace simgrid {
namespace surf {
-/***********
- * Classes *
- ***********/
-
-class XBT_PRIVATE AsCluster;
-
-/* ************************************************** */
-/* ************** Cluster ROUTING **************** */
-
-class AsCluster: public AsImpl {
+class XBT_PRIVATE AsCluster: public AsImpl {
public:
AsCluster(const char*name);
virtual void create_links_for_node(sg_platf_cluster_cbarg_t cluster, int id, int rank, int position);
virtual void parse_specific_arguments(sg_platf_cluster_cbarg_t cluster) {}
-
Link* backbone_ = nullptr;
void *loopback_ = nullptr;
NetCard *router_ = nullptr;
-#include <cstdlib>
+/* Copyright (c) 2014-2016. The SimGrid Team. All rights reserved. */
-#include <map>
-#include <string>
-#include <utility>
-#include <vector>
-#include <iostream>
+/* 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/AsClusterFatTree.hpp"
+#include "src/surf/network_interface.hpp"
-#include "src/surf/surf_routing_cluster_fat_tree.hpp"
#include "xbt/lib.h"
#include <boost/algorithm/string/split.hpp>
#include <boost/algorithm/string/classification.hpp>
+
#include <iostream>
#include <fstream>
#include <sstream>
-/* Copyright (c) 2014-2015. The SimGrid Team.
- * All rights reserved. */
+/* Copyright (c) 2014-2016. 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_ROUTING_CLUSTER_FAT_TREE_HPP_
#define SURF_ROUTING_CLUSTER_FAT_TREE_HPP_
-#include <string>
-#include <map>
-#include <vector>
-
-#include <xbt/base.h>
-
-#include "surf_routing_cluster.hpp"
+#include "src/surf/AsCluster.hpp"
namespace simgrid {
namespace surf {
* address real world constraints, which are not currently enforced.
*/
-class XBT_PRIVATE FatTreeNode;
class XBT_PRIVATE FatTreeLink;
/** \brief A node in a fat tree.
* A FatTreeNode can either be a switch or a processing node. Switches are
* identified by a negative ID. This class is closely related to fat
*/
-class FatTreeNode {
+class XBT_PRIVATE FatTreeNode {
public:
/** Unique ID which identifies every node. */
int id;
* instead of passing by an upper level switch.
*/
Link* loopback;
- FatTreeNode(sg_platf_cluster_cbarg_t cluster, int id, int level,
- int position);
+ FatTreeNode(sg_platf_cluster_cbarg_t cluster, int id, int level, int position);
};
*/
class FatTreeLink {
public:
- FatTreeLink(sg_platf_cluster_cbarg_t cluster, FatTreeNode *source,
- FatTreeNode *destination);
+ FatTreeLink(sg_platf_cluster_cbarg_t cluster, FatTreeNode *source, FatTreeNode *destination);
/** Link going up in the tree */
Link *upLink;
/** Link going down in the tree */
-/* Copyright (c) 2014-2015. The SimGrid Team.
- * All rights reserved. */
+/* Copyright (c) 2014-2016. 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 "src/surf/surf_routing_cluster_torus.hpp"
+#include "src/surf/AsClusterTorus.hpp"
+#include "src/surf/network_interface.hpp"
#include "src/surf/xml/platf.hpp" // FIXME: move that back to the parsing area
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(surf_route_cluster_torus, surf_route_cluster, "Torus Routing part of surf");
-
inline unsigned int *rankId_to_coords(int rankId, xbt_dynar_t dimensions)
{
-/* Copyright (c) 2014-2015. The SimGrid Team.
- * All rights reserved. */
+/* Copyright (c) 2014-2016. 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_ROUTING_CLUSTER_TORUS_HPP_
#define SURF_ROUTING_CLUSTER_TORUS_HPP_
-#include <xbt/base.h>
-
-#include "surf_routing_none.hpp"
-#include "network_interface.hpp"
-#include "surf_routing_cluster.hpp"
+#include "src/surf/AsCluster.hpp"
namespace simgrid {
namespace surf {
void getRouteAndLatency(NetCard * src, NetCard * dst, sg_platf_route_cbarg_t into, double *latency) override;
void parse_specific_arguments(sg_platf_cluster_cbarg_t cluster) override;
private:
- xbt_dynar_t dimensions_ = NULL;
+ xbt_dynar_t dimensions_ = nullptr;
};
}}
-/* Copyright (c) 2009-2015. The SimGrid Team.
- * All rights reserved. */
+/* Copyright (c) 2009-2016. 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 "src/surf/surf_routing_dijkstra.hpp"
+#include "src/surf/AsDijkstra.hpp"
#include "src/surf/network_interface.hpp"
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(surf_route_dijkstra, surf, "Routing part of surf -- dijkstra routing logic");
-/* Copyright (c) 2013-2015. The SimGrid Team.
- * All rights reserved. */
+/* Copyright (c) 2013-2016. 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 <xbt/base.h>
-
-#include "surf_routing_RoutedGraph.hpp"
-
#ifndef SURF_ROUTING_DIJKSTRA_HPP_
#define SURF_ROUTING_DIJKSTRA_HPP_
+#include "src/surf/AsRoutedGraph.hpp"
+
typedef struct graph_node_data {
int id;
int graph_id; /* used for caching internal graph id's */
* Classes *
***********/
-class XBT_PRIVATE AsDijkstra;
-
/** Dijkstra routing data: fast initialization, slow lookup, small memory requirements, shortest path routing only */
-class AsDijkstra : public AsRoutedGraph {
+class XBT_PRIVATE AsDijkstra : public AsRoutedGraph {
public:
AsDijkstra(const char*name, bool cached);
void Seal() override;
-/* Copyright (c) 2009-2015. The SimGrid Team.
- * All rights reserved. */
+/* Copyright (c) 2009-2016. 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 "src/surf/surf_routing_floyd.hpp"
+#include "xbt/log.h"
+#include "xbt/dynar.h"
+#include "src/surf/AsFloyd.hpp"
#include "src/surf/network_interface.hpp"
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(surf_route_floyd, surf, "Routing part of surf");
-/* Copyright (c) 2013-2015. The SimGrid Team.
- * All rights reserved. */
+/* Copyright (c) 2013-2016. 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_ROUTING_FLOYD_HPP_
#define SURF_ROUTING_FLOYD_HPP_
-#include <xbt/base.h>
-
-#include "surf_routing_RoutedGraph.hpp"
+#include "src/surf/AsRoutedGraph.hpp"
namespace simgrid {
namespace surf {
-/***********
- * Classes *
- ***********/
-class XBT_PRIVATE AsFloyd;
-
/** Floyd routing data: slow initialization, fast lookup, lesser memory requirements, shortest path routing only */
-class AsFloyd: public AsRoutedGraph {
+class XBT_PRIVATE AsFloyd: public AsRoutedGraph {
public:
AsFloyd(const char *name);
~AsFloyd();
-/* Copyright (c) 2009-2015. The SimGrid Team.
- * All rights reserved. */
+/* Copyright (c) 2009-2016. 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 "src/surf/surf_routing_full.hpp"
+#include "src/surf/AsFull.hpp"
#include "src/surf/network_interface.hpp"
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(surf_route_full, surf, "Routing part of surf");
-/* Copyright (c) 2013-2015. The SimGrid Team.
- * All rights reserved. */
+/* Copyright (c) 2013-2016. 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_ROUTING_FULL_HPP_
#define SURF_ROUTING_FULL_HPP_
-#include <xbt/base.h>
-
-#include "surf_routing_RoutedGraph.hpp"
+#include "src/surf/AsRoutedGraph.hpp"
namespace simgrid {
namespace surf {
-/***********
- * Classes *
- ***********/
-class XBT_PRIVATE AsFull;
-
/** Full routing: fast, large memory requirements, fully expressive */
-class AsFull: public AsRoutedGraph {
+class XBT_PRIVATE AsFull: public AsRoutedGraph {
public:
AsFull(const char*name);
-/* Copyright (c) 2006-2014. The SimGrid Team.
- * All rights reserved. */
+/* Copyright (c) 2006-2016. 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 "xbt/log.h"
-#include "simgrid/s4u/As.hpp"
#include "src/surf/AsImpl.hpp"
#include "src/surf/network_interface.hpp" // Link FIXME: move to proper header
#ifndef SIMGRID_SURF_AS_HPP
#define SIMGRID_SURF_AS_HPP
-#include "xbt/base.h"
#include "xbt/graph.h"
#include "simgrid/s4u/forward.hpp"
#include "simgrid/s4u/As.hpp"
-#include <vector>
-#include <map>
#include "src/surf/xml/platf_private.hpp" // FIXME: kill sg_platf_route_cbarg_t to remove that UGLY include
-/* Copyright (c) 2009-2011, 2013-2015. The SimGrid Team.
- * All rights reserved. */
+/* Copyright (c) 2009-2016. 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 "src/surf/surf_routing_none.hpp"
+#include "src/surf/AsNone.hpp"
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(surf_route_none, surf, "Routing part of surf");
-/* Copyright (c) 2013-2015. The SimGrid Team.
- * All rights reserved. */
+/* Copyright (c) 2013-2016. 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 "src/surf/AsImpl.hpp"
-
#ifndef SURF_ROUTING_NONE_HPP_
#define SURF_ROUTING_NONE_HPP_
+#include "src/surf/AsImpl.hpp"
+
namespace simgrid {
namespace surf {
-/* Copyright (c) 2009-2015. The SimGrid Team.
- * All rights reserved. */
+/* Copyright (c) 2009-2016. 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 "surf_routing_RoutedGraph.hpp"
-
-#include <cstdlib>
-
-#include <algorithm>
-
#include "xbt/dict.h"
#include "xbt/log.h"
#include "xbt/sysdep.h"
#include "xbt/dynar.h"
#include "xbt/graph.h"
-#include "network_interface.hpp"
+#include "src/surf/AsRoutedGraph.hpp"
+#include "src/surf/network_interface.hpp"
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(surf_routing_generic, surf_route, "Generic implementation of the surf routing");
-/* Copyright (c) 2013-2015. The SimGrid Team.
- * All rights reserved. */
+/* Copyright (c) 2013-2016. 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 <xbt/base.h>
-
-#include "surf_routing.hpp"
-#include "src/surf/AsImpl.hpp"
-
#ifndef SURF_ROUTING_GENERIC_HPP_
#define SURF_ROUTING_GENERIC_HPP_
+#include "src/surf/AsImpl.hpp"
+
namespace simgrid {
namespace surf {
-class XBT_PRIVATE AsRoutedGraph;
-
class XBT_PRIVATE AsRoutedGraph : public AsImpl {
public:
AsRoutedGraph(const char*name);
-/* Copyright (c) 2013-2015. The SimGrid Team.
- * All rights reserved. */
+/* Copyright (c) 2013-2016. 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 "surf_routing_vivaldi.hpp"
-#include "network_interface.hpp"
+#include "src/surf/AsVivaldi.hpp"
+#include "src/surf/network_interface.hpp"
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(surf_route_vivaldi, surf, "Routing part of surf");
-/* Copyright (c) 2013-2015. The SimGrid Team.
- * All rights reserved. */
+/* Copyright (c) 2013-2016. 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 "surf_routing_RoutedGraph.hpp"
-#include "xbt/swag.h"
-
-
#ifndef SURF_ROUTING_VIVALDI_HPP_
#define SURF_ROUTING_VIVALDI_HPP_
-/* ************************************************** */
-/* ************** Vivaldi ROUTING **************** */
-XBT_PRIVATE AS_t model_vivaldi_create(void); /* create structures for vivaldi routing model */
+#include "src/surf/AsRoutedGraph.hpp"
namespace simgrid {
namespace surf {
-/***********
- * Classes *
- ***********/
-class XBT_PRIVATE AsVivaldi;
-
-class AsVivaldi: public AsRoutedGraph {
+class XBT_PRIVATE AsVivaldi: public AsRoutedGraph {
public:
AsVivaldi(const char *name);
~AsVivaldi() {};
#include "src/surf/cpu_interface.hpp"
#include "src/surf/network_interface.hpp"
#include "surf/surf_routing.h" // FIXME: brain dead public header
-#include "src/surf/AsImpl.hpp"
-#include "src/surf/surf_routing_cluster.hpp"
-#include "src/surf/surf_routing_cluster_torus.hpp"
-#include "src/surf/surf_routing_cluster_fat_tree.hpp"
-#include "src/surf/surf_routing_dijkstra.hpp"
-#include "src/surf/surf_routing_floyd.hpp"
-#include "src/surf/surf_routing_full.hpp"
-#include "src/surf/surf_routing_vivaldi.hpp"
+#include "src/surf/AsImpl.hpp"
+#include "src/surf/AsCluster.hpp"
+#include "src/surf/AsClusterTorus.hpp"
+#include "src/surf/AsClusterFatTree.hpp"
+#include "src/surf/AsDijkstra.hpp"
+#include "src/surf/AsFloyd.hpp"
+#include "src/surf/AsFull.hpp"
+#include "src/surf/AsNone.hpp"
+#include "src/surf/AsVivaldi.hpp"
XBT_LOG_EXTERNAL_DEFAULT_CATEGORY(surf_parse);
#include "src/surf/HostImpl.hpp"
#include "surf_interface.hpp"
#include "network_interface.hpp"
-#include "surf_routing_cluster.hpp"
#include "src/instr/instr_private.h"
#include "plugins/energy.hpp"
#include "virtual_machine.hpp"
* under the terms of the license (GNU LGPL) which comes with this package. */
#include "surf_routing.hpp"
-#include "surf_routing_cluster.hpp"
#include "simgrid/sg_config.h"
#include "storage_interface.hpp"
#include "src/surf/AsImpl.hpp"
-#include "src/surf/surf_routing_cluster_torus.hpp"
-#include "src/surf/surf_routing_cluster_fat_tree.hpp"
-#include "src/surf/surf_routing_dijkstra.hpp"
-#include "src/surf/surf_routing_floyd.hpp"
-#include "src/surf/surf_routing_full.hpp"
-#include "src/surf/surf_routing_vivaldi.hpp"
#include "src/surf/xml/platf.hpp" // FIXME: move that back to the parsing area
#include <vector>
src/surf/xml/simgrid_dtd.h
src/surf/xml/simgrid_dtd.c
src/surf/xml/surfxml_sax_cb.cpp
+
src/surf/AsImpl.hpp
+ src/surf/AsCluster.hpp
+ src/surf/AsClusterFatTree.hpp
+ src/surf/AsClusterTorus.hpp
+ src/surf/AsDijkstra.hpp
+ src/surf/AsFloyd.hpp
+ src/surf/AsFull.hpp
+ src/surf/AsRoutedGraph.hpp
+ src/surf/AsNone.hpp
+ src/surf/AsVivaldi.hpp
+
src/surf/storage_interface.hpp
src/surf/storage_n11.hpp
src/surf/surf_interface.hpp
src/surf/surf_private.h
src/surf/surf_routing.hpp
- src/surf/surf_routing_cluster.hpp
- src/surf/surf_routing_cluster_fat_tree.hpp
- src/surf/surf_routing_cluster_torus.hpp
- src/surf/surf_routing_dijkstra.hpp
- src/surf/surf_routing_floyd.hpp
- src/surf/surf_routing_full.hpp
- src/surf/surf_routing_RoutedGraph.hpp
- src/surf/surf_routing_none.hpp
- src/surf/surf_routing_vivaldi.hpp
src/surf/vm_hl13.hpp
src/surf/PropertyHolder.hpp
src/surf/virtual_machine.hpp
set(SURF_SRC
src/surf/AsImpl.cpp
+ src/surf/AsCluster.cpp
+ src/surf/AsClusterFatTree.cpp
+ src/surf/AsClusterTorus.cpp
+ src/surf/AsDijkstra.cpp
+ src/surf/AsFloyd.cpp
+ src/surf/AsFull.cpp
+ src/surf/AsRoutedGraph.cpp
+ src/surf/AsNone.cpp
+ src/surf/AsVivaldi.cpp
+
src/surf/cpu_cas01.cpp
src/surf/cpu_interface.cpp
src/surf/cpu_ti.cpp
src/surf/surf_c_bindings.cpp
src/surf/surf_interface.cpp
src/surf/surf_routing.cpp
- src/surf/surf_routing_cluster.cpp
- src/surf/surf_routing_cluster_fat_tree.cpp
- src/surf/surf_routing_cluster_torus.cpp
- src/surf/surf_routing_dijkstra.cpp
- src/surf/surf_routing_floyd.cpp
- src/surf/surf_routing_full.cpp
- src/surf/surf_routing_RoutedGraph.cpp
- src/surf/surf_routing_none.cpp
- src/surf/surf_routing_vivaldi.cpp
src/surf/xml/platf.hpp
src/surf/xml/platf_private.hpp
src/surf/xml/surfxml_sax_cb.cpp