changeset 5aed42e54180 in /z/repo/gem5
details: http://repo.gem5.org/gem5?cmd=changeset;node=5aed42e54180
description:
ruby: network: remove reconfiguration code
This code seems not to be of any use now. There is no path in the
simulator
that allows for reconfiguring the network. A better approach would be to
take a checkpoint and start the simulation from the checkpoint with the
new
configuration.
diffstat:
src/mem/ruby/network/Network.hh | 9 +-
src/mem/ruby/network/Topology.cc | 20 +-
src/mem/ruby/network/Topology.hh | 5 +-
src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.cc | 72 +++------
src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.hh | 9 +-
src/mem/ruby/network/garnet/flexible-pipeline/GarnetNetwork.cc | 61 ++-----
src/mem/ruby/network/garnet/flexible-pipeline/GarnetNetwork.hh | 9 +-
src/mem/ruby/network/simple/SimpleNetwork.cc | 27 +---
src/mem/ruby/network/simple/SimpleNetwork.hh | 11 +-
9 files changed, 72 insertions(+), 151 deletions(-)
diffs (truncated from 469 to 300 lines):
diff -r 52679402e09c -r 5aed42e54180 src/mem/ruby/network/Network.hh
--- a/src/mem/ruby/network/Network.hh Fri Jun 28 21:36:11 2013 -0500
+++ b/src/mem/ruby/network/Network.hh Fri Jun 28 21:36:37 2013 -0500
@@ -80,16 +80,13 @@
virtual void makeOutLink(SwitchID src, NodeID dest, BasicLink* link,
LinkDirection direction,
- const NetDest& routing_table_entry,
- bool isReconfiguration) = 0;
+ const NetDest& routing_table_entry) = 0;
virtual void makeInLink(NodeID src, SwitchID dest, BasicLink* link,
LinkDirection direction,
- const NetDest& routing_table_entry,
- bool isReconfiguration) = 0;
+ const NetDest& routing_table_entry) = 0;
virtual void makeInternalLink(SwitchID src, SwitchID dest, BasicLink* link,
LinkDirection direction,
- const NetDest& routing_table_entry,
- bool isReconfiguration) = 0;
+ const NetDest& routing_table_entry) = 0;
virtual void reset() = 0;
diff -r 52679402e09c -r 5aed42e54180 src/mem/ruby/network/Topology.cc
--- a/src/mem/ruby/network/Topology.cc Fri Jun 28 21:36:11 2013 -0500
+++ b/src/mem/ruby/network/Topology.cc Fri Jun 28 21:36:37 2013 -0500
@@ -121,7 +121,7 @@
}
void
-Topology::createLinks(Network *net, bool isReconfiguration)
+Topology::createLinks(Network *net)
{
// Find maximum switchID
SwitchID max_switch_id = 0;
@@ -179,9 +179,9 @@
for (int j = 0; j < topology_weights[i].size(); j++) {
int weight = topology_weights[i][j];
if (weight > 0 && weight != INFINITE_LATENCY) {
- NetDest destination_set = shortest_path_to_node(i, j,
- topology_weights, dist);
- makeLink(net, i, j, destination_set, isReconfiguration);
+ NetDest destination_set =
+ shortest_path_to_node(i, j, topology_weights, dist);
+ makeLink(net, i, j, destination_set);
}
}
}
@@ -206,7 +206,7 @@
void
Topology::makeLink(Network *net, SwitchID src, SwitchID dest,
- const NetDest& routing_table_entry, bool isReconfiguration)
+ const NetDest& routing_table_entry)
{
// Make sure we're not trying to connect two end-point nodes
// directly together
@@ -220,9 +220,7 @@
src_dest.second = dest;
link_entry = m_link_map[src_dest];
net->makeInLink(src, dest - (2 * m_nodes), link_entry.link,
- link_entry.direction,
- routing_table_entry,
- isReconfiguration);
+ link_entry.direction, routing_table_entry);
} else if (dest < 2*m_nodes) {
assert(dest >= m_nodes);
NodeID node = dest - m_nodes;
@@ -230,9 +228,7 @@
src_dest.second = dest;
link_entry = m_link_map[src_dest];
net->makeOutLink(src - (2 * m_nodes), node, link_entry.link,
- link_entry.direction,
- routing_table_entry,
- isReconfiguration);
+ link_entry.direction, routing_table_entry);
} else {
assert((src >= 2 * m_nodes) && (dest >= 2 * m_nodes));
src_dest.first = src;
@@ -240,7 +236,7 @@
link_entry = m_link_map[src_dest];
net->makeInternalLink(src - (2 * m_nodes), dest - (2 * m_nodes),
link_entry.link, link_entry.direction,
- routing_table_entry, isReconfiguration);
+ routing_table_entry);
}
}
diff -r 52679402e09c -r 5aed42e54180 src/mem/ruby/network/Topology.hh
--- a/src/mem/ruby/network/Topology.hh Fri Jun 28 21:36:11 2013 -0500
+++ b/src/mem/ruby/network/Topology.hh Fri Jun 28 21:36:37 2013 -0500
@@ -68,15 +68,14 @@
std::vector<BasicIntLink *> int_links);
uint32_t numSwitches() const { return m_number_of_switches; }
- void createLinks(Network *net, bool isReconfiguration);
+ void createLinks(Network *net);
void print(std::ostream& out) const { out << "[Topology]"; }
protected:
void addLink(SwitchID src, SwitchID dest, BasicLink* link,
LinkDirection dir);
void makeLink(Network *net, SwitchID src, SwitchID dest,
- const NetDest& routing_table_entry,
- bool isReconfiguration);
+ const NetDest& routing_table_entry);
NodeID m_nodes;
uint32_t m_number_of_switches;
diff -r 52679402e09c -r 5aed42e54180
src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.cc
--- a/src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.cc Fri Jun
28 21:36:11 2013 -0500
+++ b/src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.cc Fri Jun
28 21:36:37 2013 -0500
@@ -88,8 +88,7 @@
ni->addNode(m_toNetQueues[i], m_fromNetQueues[i]);
m_ni_ptr_vector.push_back(ni);
}
- // false because this isn't a reconfiguration
- m_topology_ptr->createLinks(this, false);
+ m_topology_ptr->createLinks(this);
// initialize the link's network pointers
for (vector<NetworkLink_d*>::const_iterator i = m_link_ptr_vector.begin();
@@ -150,26 +149,19 @@
void
GarnetNetwork_d::makeInLink(NodeID src, SwitchID dest, BasicLink* link,
LinkDirection direction,
- const NetDest& routing_table_entry,
- bool isReconfiguration)
+ const NetDest& routing_table_entry)
{
assert(src < m_nodes);
GarnetExtLink_d* garnet_link = safe_cast<GarnetExtLink_d*>(link);
+ NetworkLink_d* net_link = garnet_link->m_network_links[direction];
+ CreditLink_d* credit_link = garnet_link->m_credit_links[direction];
- if (!isReconfiguration) {
- NetworkLink_d* net_link = garnet_link->m_network_links[direction];
- CreditLink_d* credit_link = garnet_link->m_credit_links[direction];
+ m_link_ptr_vector.push_back(net_link);
+ m_creditlink_ptr_vector.push_back(credit_link);
- m_link_ptr_vector.push_back(net_link);
- m_creditlink_ptr_vector.push_back(credit_link);
-
- m_router_ptr_vector[dest]->addInPort(net_link, credit_link);
- m_ni_ptr_vector[src]->addOutPort(net_link, credit_link);
- } else {
- panic("Fatal Error:: Reconfiguration not allowed here");
- // do nothing
- }
+ m_router_ptr_vector[dest]->addInPort(net_link, credit_link);
+ m_ni_ptr_vector[src]->addOutPort(net_link, credit_link);
}
/*
@@ -181,30 +173,22 @@
void
GarnetNetwork_d::makeOutLink(SwitchID src, NodeID dest, BasicLink* link,
LinkDirection direction,
- const NetDest& routing_table_entry,
- bool isReconfiguration)
+ const NetDest& routing_table_entry)
{
assert(dest < m_nodes);
assert(src < m_router_ptr_vector.size());
assert(m_router_ptr_vector[src] != NULL);
GarnetExtLink_d* garnet_link = safe_cast<GarnetExtLink_d*>(link);
+ NetworkLink_d* net_link = garnet_link->m_network_links[direction];
+ CreditLink_d* credit_link = garnet_link->m_credit_links[direction];
- if (!isReconfiguration) {
- NetworkLink_d* net_link = garnet_link->m_network_links[direction];
- CreditLink_d* credit_link = garnet_link->m_credit_links[direction];
+ m_link_ptr_vector.push_back(net_link);
+ m_creditlink_ptr_vector.push_back(credit_link);
- m_link_ptr_vector.push_back(net_link);
- m_creditlink_ptr_vector.push_back(credit_link);
-
- m_router_ptr_vector[src]->addOutPort(net_link, routing_table_entry,
- link->m_weight,
- credit_link);
- m_ni_ptr_vector[dest]->addInPort(net_link, credit_link);
- } else {
- fatal("Fatal Error:: Reconfiguration not allowed here");
- // do nothing
- }
+ m_router_ptr_vector[src]->addOutPort(net_link, routing_table_entry,
+ link->m_weight, credit_link);
+ m_ni_ptr_vector[dest]->addInPort(net_link, credit_link);
}
/*
@@ -214,26 +198,18 @@
void
GarnetNetwork_d::makeInternalLink(SwitchID src, SwitchID dest, BasicLink* link,
LinkDirection direction,
- const NetDest& routing_table_entry,
- bool isReconfiguration)
+ const NetDest& routing_table_entry)
{
GarnetIntLink_d* garnet_link = safe_cast<GarnetIntLink_d*>(link);
+ NetworkLink_d* net_link = garnet_link->m_network_links[direction];
+ CreditLink_d* credit_link = garnet_link->m_credit_links[direction];
- if (!isReconfiguration) {
- NetworkLink_d* net_link = garnet_link->m_network_links[direction];
- CreditLink_d* credit_link = garnet_link->m_credit_links[direction];
+ m_link_ptr_vector.push_back(net_link);
+ m_creditlink_ptr_vector.push_back(credit_link);
- m_link_ptr_vector.push_back(net_link);
- m_creditlink_ptr_vector.push_back(credit_link);
-
- m_router_ptr_vector[dest]->addInPort(net_link, credit_link);
- m_router_ptr_vector[src]->addOutPort(net_link, routing_table_entry,
- link->m_weight,
- credit_link);
- } else {
- fatal("Fatal Error:: Reconfiguration not allowed here");
- // do nothing
- }
+ m_router_ptr_vector[dest]->addInPort(net_link, credit_link);
+ m_router_ptr_vector[src]->addOutPort(net_link, routing_table_entry,
+ link->m_weight, credit_link);
}
void
diff -r 52679402e09c -r 5aed42e54180
src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.hh
--- a/src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.hh Fri Jun
28 21:36:11 2013 -0500
+++ b/src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.hh Fri Jun
28 21:36:37 2013 -0500
@@ -79,16 +79,13 @@
// Methods used by Topology to setup the network
void makeOutLink(SwitchID src, NodeID dest, BasicLink* link,
LinkDirection direction,
- const NetDest& routing_table_entry,
- bool isReconfiguration);
+ const NetDest& routing_table_entry);
void makeInLink(NodeID src, SwitchID dest, BasicLink* link,
LinkDirection direction,
- const NetDest& routing_table_entry,
- bool isReconfiguration);
+ const NetDest& routing_table_entry);
void makeInternalLink(SwitchID src, SwitchID dest, BasicLink* link,
LinkDirection direction,
- const NetDest& routing_table_entry,
- bool isReconfiguration);
+ const NetDest& routing_table_entry);
//! Function for performing a functional write. The return value
//! indicates the number of messages that were written.
diff -r 52679402e09c -r 5aed42e54180
src/mem/ruby/network/garnet/flexible-pipeline/GarnetNetwork.cc
--- a/src/mem/ruby/network/garnet/flexible-pipeline/GarnetNetwork.cc Fri Jun
28 21:36:11 2013 -0500
+++ b/src/mem/ruby/network/garnet/flexible-pipeline/GarnetNetwork.cc Fri Jun
28 21:36:37 2013 -0500
@@ -82,8 +82,7 @@
m_ni_ptr_vector.push_back(ni);
}
- // false because this isn't a reconfiguration :
- m_topology_ptr->createLinks(this, false);
+ m_topology_ptr->createLinks(this);
}
GarnetNetwork::~GarnetNetwork()
@@ -112,69 +111,51 @@
void
GarnetNetwork::makeInLink(NodeID src, SwitchID dest, BasicLink* link,
LinkDirection direction,
- const NetDest& routing_table_entry,
- bool isReconfiguration)
+ const NetDest& routing_table_entry)
{
assert(src < m_nodes);
GarnetExtLink* garnet_link = safe_cast<GarnetExtLink*>(link);
+ NetworkLink *net_link = garnet_link->m_network_links[direction];
- if (!isReconfiguration) {
- NetworkLink *net_link = garnet_link->m_network_links[direction];
- net_link->init_net_ptr(this);
- m_link_ptr_vector.push_back(net_link);
- m_router_ptr_vector[dest]->addInPort(net_link);
- m_ni_ptr_vector[src]->addOutPort(net_link);
- } else {
- fatal("Fatal Error:: Reconfiguration not allowed here");
- // do nothing
- }
+ net_link->init_net_ptr(this);
+ m_link_ptr_vector.push_back(net_link);
+ m_router_ptr_vector[dest]->addInPort(net_link);
+ m_ni_ptr_vector[src]->addOutPort(net_link);
}
void
GarnetNetwork::makeOutLink(SwitchID src, NodeID dest, BasicLink* link,
LinkDirection direction,
- const NetDest& routing_table_entry,
- bool isReconfiguration)
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev