Cluster.py (9862:54d6728d99cf) | Cluster.py (10088:eca928d8a4ab) |
---|---|
1# Copyright (c) 2012 Advanced Micro Devices, Inc. 2# All rights reserved. 3# 4# Redistribution and use in source and binary forms, with or without 5# modification, are permitted provided that the following conditions are 6# met: redistributions of source code must retain the above copyright 7# notice, this list of conditions and the following disclaimer; 8# redistributions in binary form must reproduce the above copyright --- 72 unchanged lines hidden (view full) --- 81 self.router = Router(router_id=self.num_routers()) 82 network.routers.append(self.router) 83 84 for node in self.nodes: 85 if type(node) == Cluster: 86 node.makeTopology(options, network, IntLink, ExtLink, Router) 87 88 # connect this cluster to the router | 1# Copyright (c) 2012 Advanced Micro Devices, Inc. 2# All rights reserved. 3# 4# Redistribution and use in source and binary forms, with or without 5# modification, are permitted provided that the following conditions are 6# met: redistributions of source code must retain the above copyright 7# notice, this list of conditions and the following disclaimer; 8# redistributions in binary form must reproduce the above copyright --- 72 unchanged lines hidden (view full) --- 81 self.router = Router(router_id=self.num_routers()) 82 network.routers.append(self.router) 83 84 for node in self.nodes: 85 if type(node) == Cluster: 86 node.makeTopology(options, network, IntLink, ExtLink, Router) 87 88 # connect this cluster to the router |
89 link = IntLink(link_id=self.num_int_links(), node_a=self.router, node_b=node.router) | 89 link = IntLink(link_id=self.num_int_links(), node_a=self.router, 90 node_b=node.router) 91 |
90 if node.extBW: 91 link.bandwidth_factor = node.extBW | 92 if node.extBW: 93 link.bandwidth_factor = node.extBW |
92 elif self.intBW: # if there is an interanl b/w for this node and no ext b/w to override | 94 95 # if there is an interanl b/w for this node 96 # and no ext b/w to override 97 elif self.intBW: |
93 link.bandwidth_factor = self.intBW 94 95 if node.extLatency: 96 link.latency = node.extLatency 97 elif self.intLatency: 98 link.latency = self.intLatency 99 100 network.int_links.append(link) 101 else: | 98 link.bandwidth_factor = self.intBW 99 100 if node.extLatency: 101 link.latency = node.extLatency 102 elif self.intLatency: 103 link.latency = self.intLatency 104 105 network.int_links.append(link) 106 else: |
102 # node is just a controller connect it to the router via a ext_link 103 link = ExtLink(link_id=self.num_ext_links(), ext_node=node, int_node=self.router) | 107 # node is just a controller, 108 # connect it to the router via a ext_link 109 link = ExtLink(link_id=self.num_ext_links(), ext_node=node, 110 int_node=self.router) 111 |
104 if self.intBW: 105 link.bandwidth_factor = self.intBW 106 if self.intLatency: 107 link.latency = self.intLatency 108 109 network.ext_links.append(link) 110 111 def __len__(self): 112 return len([i for i in self.nodes if type(i) != Cluster]) + \ 113 sum([len(i) for i in self.nodes if type(i) == Cluster]) | 112 if self.intBW: 113 link.bandwidth_factor = self.intBW 114 if self.intLatency: 115 link.latency = self.intLatency 116 117 network.ext_links.append(link) 118 119 def __len__(self): 120 return len([i for i in self.nodes if type(i) != Cluster]) + \ 121 sum([len(i) for i in self.nodes if type(i) == Cluster]) |