INSEE 05.04.2011
Interconnection Nertworks Simulation and Evaluation Environment
Functions | Variables
C:/cygwin/home/Javier/insee/src/icube.c File Reference

The indirect cube topology tools. More...

#include "globals.h"
#include "misc.h"
#include "router.h"
Include dependency graph for icube.c:

Functions

routing_r icube_rr (long source, long destination)
routing_r icube_4mesh_rr (long source, long destination)
routing_r icube_1mesh_rr (long source, long destination)
void create_icube ()

Variables

long nodes_per_switch
 The number of nodes attached to each switch.
long links_per_direction
 The number of parallel links in each direction.

Detailed Description

The indirect cube topology tools.

Author:
Javier Navaridas

FSIN Functional Simulator of Interconnection Networks Copyright (2003-2011) J. Miguel-Alonso, J. Navaridas

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program 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 General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.


Function Documentation

void create_icube ( )

Creates an indirect cube topology.

This function links all the elements within the network.

routing_r icube_1mesh_rr ( long  source,
long  destination 
)

Generates the routing record for an indirect cube using static routing (no Bubble). Deadlock is avoided by considering a collection of isolated meshes and using DOR in each of them. All the meshes have their origin in node (0,0).

Parameters:
sourceThe source node of the packet.
destinationThe destination node of the packet.
Returns:
The routing record needed to go from source to destination.
routing_r icube_4mesh_rr ( long  source,
long  destination 
)

Generates the routing record for an indirect cube using static routing (no Bubble). Deadlock is avoided by considering four isolated meshes and using DOR in each of them. Origins are in nodes (0,0) (X/2, 0) (0, Y/2) and (X/2, Y/2) repectively for each of the meshes. Routing selects the mesh with shorter distance.

Parameters:
sourceThe source node of the packet.
destinationThe destination node of the packet.
Returns:
The routing record needed to go from source to destination.
routing_r icube_rr ( long  source,
long  destination 
)

Generates the routing record for an indirect cube using adaptive routing.

Parameters:
sourceThe source node of the packet.
destinationThe destination node of the packet.
Returns:
The routing record needed to go from source to destination.