stalker@CAPSRV.JHUAPL.EDU ("M STALKER , OFFSITE", SYSCON) (09/25/90)
**************************************************************************** >From: Mario D. Stalker Date: 9-24-90 To: Joelle Prevost joelle@alpe.imag.fr L.M.C./algo parallele 76 57 48 14 Subject: V.C.X. Information Dear Miss Prevost: Your questions about VCX are extremelly helpful to me, specially now that I am writing VCX's documentation and User Manual. Your comments points out some areas of weakness in my explanation of VCX; they help me identify these areas and make the necessary corrections. I will try to answer your first 3 questions. The fourth question will be partially answered because I would like to build a simple example of "datagram routing" to provide a more descriptive explanation. I would like to know a little more about your work with transputer systems; can you tell me what type of projects you are involved with? What kind of development tools and compilers you are presently using? etc. I will now proceed to answer questions 1 - 3: QUESTION #1 You say something like "the user might use the RTG tool to find the appropriate hardwired configuration". As I understand the Fig.2, the user will find it by testing many ".nif" files and looking at the ".lis" files to of them ? ANSWER: I am assuming that you are familiar with the Logical System "C" compiler and with the format of the "network information file" (.nif). If not, let me know and I will explain this in more detail. You have the right idea!! Yes, the user will run the RTG tool on a series of ".nif" files and them will look at the output of the RGT to see which virtual configuration gives the best routing tables (the one with shortest paths). I will give you an example which shows two ".nif" files and the output generated by RTG for each one of them. This example uses the same physical network hardwired configuration shown in Figure 8, page 19. However, the node id numbers assigned follow a different pattern: Physical network: 10 transputers case_1.nif: represents a pipeline virtual configuration case_2.nif: represents a tree virtual configuration 2 This is the (case_1.nif) file: -------------------------------------------------------------------- -- SYSCON CORPORATION (c) 1990; Developer: Mario Stalker -- -- -- -- April 3, 1990 file name: case_1.nif -- -- -- -- This file contains the configuration information for a network -- -- with a topology of a pipeline. The topology in this case is a -- -- worst case scenario as far as communications efficency is -- -- concerned. It yields a minimum total average of 3.44 hops. -- -- The minimum average for node 1 (FARMER/COLLECTOR) is 3.89 hops -- -- (see page 20 of Technical Report for a description of a hop). -- -------------------------------------------------------------------- 1, root_nod , R0, 0, , , 2; 2, work_nod , R1, 1, , 3, ; 3, work_nod , R2, , , 4, 2; 4, work_nod , R3, , , 5, 3; 5, work_nod , R4, 6, , , 4; 6, work_nod , R5, , 5, 7, ; 7, work_nod , R6, , , 8, 6; 8, work_nod , R7, , , 9, 7; 9, work_nod , R8, ,10, , 8; 10, work_nod , R9, , , , 9; ========================================================================= This is the statistical information (case_1.lis) file: ******************************************************************* * * * ROUTING TABLE GENERATOR - Rev. 1.1 - Mario Stalker * * * * SYSCON CORPORATION November 1989 (c) * * * ******************************************************************* Input file: case_1.nif Date and time: Tue Apr 3 07:32:06 1990 DISPLAYING NETWORK STATISTICS ... Number of nodes: 10 (not including node 0) Number of paths: 88 Cyclic paths: 0 (found and deleted) Deleted paths: 0.0 (percentage) DISPLAYING RESULTS (verbose level 1) ---------------------------------------------------------------------------------------- Hops Statistics: First column: source node id Second column: max. hops average from source to all nodes Third column: min. hops average from source to all nodes Between (): min. hops average from all nodes to source source: 1 - max. hops average: 3.89 - min. hops average: 3.89 ( 3.89) source: 2 - max. hops average: 4.11 - min. hops average: 4.11 ( 4.11) source: 3 - max. hops average: 3.44 - min. hops average: 3.44 ( 3.44) source: 4 - max. hops average: 3.00 - min. hops average: 3.00 ( 3.00) source: 5 - max. hops average: 2.78 - min. hops average: 2.78 ( 2.78) source: 6 - max. hops average: 2.78 - min. hops average: 2.78 ( 2.78) 3 source: 7 - max. hops average: 3.00 - min. hops average: 3.00 ( 3.00) source: 8 - max. hops average: 3.44 - min. hops average: 3.44 ( 3.44) source: 9 - max. hops average: 4.11 - min. hops average: 4.11 ( 4.11) source: 10 - max. hops average: 3.89 - min. hops average: 3.89 ( 3.89) Total max. average: 3.44 Total min. average: 3.44 The following information can be displayed in four verbose levels; this is the less verbose level and contains the source/destination pairs which are connected by the longest paths. src: 1 max. hops: 8 dest: 9 ---------------------------------------------------------------------------------------- src: 2 max. hops: 8 dest: 10 ---------------------------------------------------------------------------------------- src: 3 max. hops: 7 dest: 10 ---------------------------------------------------------------------------------------- src: 4 max. hops: 6 dest: 10 ---------------------------------------------------------------------------------------- src: 5 max. hops: 5 dest: 10 ---------------------------------------------------------------------------------------- src: 6 max. hops: 5 dest: 1 ---------------------------------------------------------------------------------------- src: 7 max. hops: 6 dest: 1 ---------------------------------------------------------------------------------------- src: 8 max. hops: 7 dest: 1 ---------------------------------------------------------------------------------------- src: 9 max. hops: 8 dest: 1 ---------------------------------------------------------------------------------------- src: 10 max. hops: 8 dest: 2 ---------------------------------------------------------------------------------------- ========================================================================= This is a set of routing tables (generated by RTG), contained in case_1.rot file: ******************************************************************* * * * ROUTING TABLE GENERATOR - Rev. 1.1 - Mario Stalker * * * * SYSCON CORPORATION November 1989 (c) * * * ******************************************************************* Input file: case_1.nif Date and time: Tue Apr 3 07:32:08 1990 num_nodes 10; <-- Number of nodes found in the network -- node 1 (source); <-- This is the routing table for node 1 -- dest_node 1; dest_node 2, 3; dest_node 3, 3; dest_node 4, 3; dest_node 5, 3; <-- This line says that to go from node 1 dest_node 6, 3; to node 5, the datagram should exit the dest_node 7, 3; source node through link 3. dest_node 8, 3; dest_node 9, 3; dest_node 10, 3; 4 node 2; <-- This is the routing table for node 2 -- dest_node 1, 0; dest_node 2; dest_node 3, 2; dest_node 4, 2; dest_node 5, 2; dest_node 6, 2; dest_node 7, 2; dest_node 8, 2; dest_node 9, 2; dest_node 10, 2; node 3; <-- This is the routing table for node 3 -- dest_node 1, 3; dest_node 2, 3; dest_node 3; dest_node 4, 2; dest_node 5, 2; dest_node 6, 2; dest_node 7, 2; dest_node 8, 2; dest_node 9, 2; dest_node 10, 2; node 4; <-- This is the routing table for node 4 -- dest_node 1, 3; dest_node 2, 3; dest_node 3, 3; dest_node 4; dest_node 5, 2; dest_node 6, 2; dest_node 7, 2; dest_node 8, 2; dest_node 9, 2; dest_node 10, 2; node 5; <-- This is the routing table for node 5 -- dest_node 1, 3; dest_node 2, 3; dest_node 3, 3; dest_node 4, 3; dest_node 5; dest_node 6, 0; dest_node 7, 0; dest_node 8, 0; dest_node 9, 0; dest_node 10, 0; node 6; <-- This is the routing table for node 6 -- dest_node 1, 1; dest_node 2, 1; dest_node 3, 1; dest_node 4, 1; dest_node 5, 1; dest_node 6; dest_node 7, 2; dest_node 8, 2; dest_node 9, 2; dest_node 10, 2; 5 node 7; <-- This is the routing table for node 7 -- dest_node 1, 3; dest_node 2, 3; dest_node 3, 3; dest_node 4, 3; dest_node 5, 3; dest_node 6, 3; dest_node 7; dest_node 8, 2; dest_node 9, 2; dest_node 10, 2; node 8; <-- This is the routing table for node 8 -- dest_node 1, 3; dest_node 2, 3; dest_node 3, 3; dest_node 4, 3; dest_node 5, 3; dest_node 6, 3; dest_node 7, 3; dest_node 8; dest_node 9, 2; dest_node 10, 2; node 9; <-- This is the routing table for node 9 -- dest_node 1, 3; dest_node 2, 3; dest_node 3, 3; dest_node 4, 3; dest_node 5, 3; dest_node 6, 3; dest_node 7, 3; dest_node 8, 3; dest_node 9; dest_node 10, 1; node 10; <-- This is the routing table for node 10 -- dest_node 1, 3; dest_node 2, 3; dest_node 3, 3; dest_node 4, 3; dest_node 5, 3; dest_node 6, 3; dest_node 7, 3; dest_node 8, 3; dest_node 9, 3; dest_node 10; ============================================================================= 6 This is the (case_2.nif) file: ---------------------------------------------------------------------- -- SYSCON CORPORATION (c) 1990; Developer: Mario Stalker -- -- -- -- April 3, 1990 file name: case_2.nif -- -- -- -- This file contains configuration information for a network -- -- with a topology of a three level tree. It is the most -- -- efficient configuration for the application under consideration -- -- FARMER -> WORKERS -> COLLECTOR . It yields a Total Minimum -- -- Average of 2.60 hops. However, there is a minimum average of -- -- 1.89 hops between node 1 (FARMER/COLLECTOR) and all the WORKERS. -- ---------------------------------------------------------------------- 1, root_nod , R0, 0, ,10, 2; 2, work_nod , R1, 1, 4, 3, 5; 3, work_nod , R2, , , 4, 2; 4, work_nod , R3, 2, , , 3; 5, work_nod , S2, , , 2, ; 6, work_nod , R9, , , , 9; 7, work_nod , R8, ,10, 8, ; 8, work_nod , R10, ,10, , 7; 9, work_nod , S10, ,10, 6, ; 10, work_nod , S1, 7, 1, 8, 9; ========================================================================= This is the (case_2.lis) file for the second case: ******************************************************************* * * * ROUTING TABLE GENERATOR - Rev. 1.1 - Mario Stalker * * * * SYSCON CORPORATION November 1989 (c) * * * ******************************************************************* Input file: case_2.nif Date and time: Wed Apr 25 14:56:14 1990 DISPLAYING NETWORK STATISTICS ... Number of nodes: 10 (not including node 0) Number of paths: 130 Cyclic paths: 0 (found and deleted) Deleted paths: 0.0 (percentage) DISPLAYING RESULTS (verbose level 4) ---------------------------------------------------------------------------------------- Hops Statistics: First column: source node id Second column: max. hops average from source to all nodes Third column: min. hops average from source to all nodes Between (): min. hops average from all nodes to source source: 1 - max. hops average: 1.89 - min. hops average: 1.89 ( 1.89) source: 2 - max. hops average: 2.33 - min. hops average: 2.11 ( 2.11) source: 3 - max. hops average: 3.89 - min. hops average: 2.89 ( 2.89) source: 4 - max. hops average: 3.89 - min. hops average: 2.89 ( 2.89) source: 5 - max. hops average: 3.00 - min. hops average: 3.00 ( 3.00) 7 source: 6 - max. hops average: 3.44 - min. hops average: 3.44 ( 3.44) source: 7 - max. hops average: 3.67 - min. hops average: 2.67 ( 2.67) source: 8 - max. hops average: 3.67 - min. hops average: 2.67 ( 2.67) source: 9 - max. hops average: 2.56 - min. hops average: 2.56 ( 2.56) source: 10 - max. hops average: 2.11 - min. hops average: 1.89 ( 1.89) Total max. average: 3.04 Total min. average: 2.60 Notice that the following information is displayed at the fourth verbose level. This level provides the distance for each path that goes from source to destination. It also gives an itinerary for each path. For instance, the third line below says that the path which joins source node #1 with destination node #3 has 2 hops. It also says that this path follows the itinerary: exit node #1 through link 3; go to node #2; exit node #2 through link 2; reach destination node #3. (Notice that some source/destination pairs have more than one path) src: 1 dest: 1 N/A src: 1 dest: 2 hops: 1 path: 1:L3 --> 2 src: 1 dest: 3 hops: 2 path: 1:L3 --> 2:L2 --> 3 (see above comments) src: 1 dest: 4 hops: 2 path: 1:L3 --> 2:L1 --> 4 src: 1 dest: 5 hops: 2 path: 1:L3 --> 2:L3 --> 5 src: 1 dest: 6 hops: 3 path: 1:L2 --> 10:L3 --> 9:L2 --> 6 src: 1 dest: 7 hops: 2 path: 1:L2 --> 10:L0 --> 7 src: 1 dest: 8 hops: 2 path: 1:L2 --> 10:L2 --> 8 src: 1 dest: 9 hops: 2 path: 1:L2 --> 10:L3 --> 9 src: 1 dest: 10 hops: 1 path: 1:L2 --> 10 ---------------------------------------------------------------------------------------- src: 2 dest: 1 hops: 1 path: 2:L0 --> 1 src: 2 dest: 2 N/A src: 2 dest: 3 hops: 1 path: 2:L2 --> 3 hops: 2 path: 2:L1 --> 4:L3 --> 3 src: 2 dest: 4 hops: 1 path: 2:L1 --> 4 hops: 2 path: 2:L2 --> 3:L2 --> 4 src: 2 dest: 5 hops: 1 path: 2:L3 --> 5 src: 2 dest: 6 hops: 4 path: 2:L0 --> 1:L2 --> 10:L3 --> 9:L2 --> 6 src: 2 dest: 7 hops: 3 path: 2:L0 --> 1:L2 --> 10:L0 --> 7 src: 2 dest: 8 hops: 3 path: 2:L0 --> 1:L2 --> 10:L2 --> 8 8 src: 2 dest: 9 hops: 3 path: 2:L0 --> 1:L2 --> 10:L3 --> 9 src: 2 dest: 10 hops: 2 path: 2:L0 --> 1:L2 --> 10 ---------------------------------------------------------------------------------------- src: 3 dest: 1 hops: 2 path: 3:L3 --> 2:L0 --> 1 hops: 3 path: 3:L2 --> 4:L0 --> 2:L0 --> 1 src: 3 dest: 2 hops: 1 path: 3:L3 --> 2 hops: 2 path: 3:L2 --> 4:L0 --> 2 src: 3 dest: 3 N/A src: 3 dest: 4 hops: 1 path: 3:L2 --> 4 hops: 2 path: 3:L3 --> 2:L1 --> 4 src: 3 dest: 5 hops: 2 path: 3:L3 --> 2:L3 --> 5 hops: 3 path: 3:L2 --> 4:L0 --> 2:L3 --> 5 src: 3 dest: 6 hops: 5 path: 3:L3 --> 2:L0 --> 1:L2 --> 10:L3 --> 9:L2 --> 6 hops: 6 path: 3:L2 --> 4:L0 --> 2:L0 --> 1:L2 --> 10:L3 --> 9:L2 --> 6 src: 3 dest: 7 hops: 4 path: 3:L3 --> 2:L0 --> 1:L2 --> 10:L0 --> 7 hops: 5 path: 3:L2 --> 4:L0 --> 2:L0 --> 1:L2 --> 10:L0 --> 7 src: 3 dest: 8 hops: 4 path: 3:L3 --> 2:L0 --> 1:L2 --> 10:L2 --> 8 hops: 5 path: 3:L2 --> 4:L0 --> 2:L0 --> 1:L2 --> 10:L2 --> 8 src: 3 dest: 9 hops: 4 path: 3:L3 --> 2:L0 --> 1:L2 --> 10:L3 --> 9 hops: 5 path: 3:L2 --> 4:L0 --> 2:L0 --> 1:L2 --> 10:L3 --> 9 src: 3 dest: 10 hops: 3 path: 3:L3 --> 2:L0 --> 1:L2 --> 10 hops: 4 path: 3:L2 --> 4:L0 --> 2:L0 --> 1:L2 --> 10 ---------------------------------------------------------------------------------------- src: 4 dest: 1 hops: 2 path: 4:L0 --> 2:L0 --> 1 hops: 3 path: 4:L3 --> 3:L3 --> 2:L0 --> 1 src: 4 dest: 2 hops: 1 path: 4:L0 --> 2 hops: 2 path: 4:L3 --> 3:L3 --> 2 src: 4 dest: 3 hops: 1 path: 4:L3 --> 3 hops: 2 path: 4:L0 --> 2:L2 --> 3 src: 4 dest: 4 N/A src: 4 dest: 5 hops: 2 path: 4:L0 --> 2:L3 --> 5 hops: 3 path: 4:L3 --> 3:L3 --> 2:L3 --> 5 src: 4 dest: 6 hops: 5 path: 4:L0 --> 2:L0 --> 1:L2 --> 10:L3 --> 9:L2 --> 6 hops: 6 path: 4:L3 --> 3:L3 --> 2:L0 --> 1:L2 --> 10:L3 --> 9:L2 --> 6 src: 4 dest: 7 hops: 4 path: 4:L0 --> 2:L0 --> 1:L2 --> 10:L0 --> 7 hops: 5 path: 4:L3 --> 3:L3 --> 2:L0 --> 1:L2 --> 10:L0 --> 7 src: 4 dest: 8 hops: 4 path: 4:L0 --> 2:L0 --> 1:L2 --> 10:L2 --> 8 hops: 5 path: 4:L3 --> 3:L3 --> 2:L0 --> 1:L2 --> 10:L2 --> 8 src: 4 dest: 9 hops: 4 path: 4:L0 --> 2:L0 --> 1:L2 --> 10:L3 --> 9 hops: 5 path: 4:L3 --> 3:L3 --> 2:L0 --> 1:L2 --> 10:L3 --> 9 9 src: 4 dest: 10 hops: 3 path: 4:L0 --> 2:L0 --> 1:L2 --> 10 hops: 4 path: 4:L3 --> 3:L3 --> 2:L0 --> 1:L2 --> 10 ---------------------------------------------------------------------------------------- src: 5 dest: 1 hops: 2 path: 5:L2 --> 2:L0 --> 1 src: 5 dest: 2 hops: 1 path: 5:L2 --> 2 src: 5 dest: 3 hops: 2 path: 5:L2 --> 2:L2 --> 3 src: 5 dest: 4 hops: 2 path: 5:L2 --> 2:L1 --> 4 src: 5 dest: 5 N/A src: 5 dest: 6 hops: 5 path: 5:L2 --> 2:L0 --> 1:L2 --> 10:L3 --> 9:L2 --> 6 src: 5 dest: 7 hops: 4 path: 5:L2 --> 2:L0 --> 1:L2 --> 10:L0 --> 7 src: 5 dest: 8 hops: 4 path: 5:L2 --> 2:L0 --> 1:L2 --> 10:L2 --> 8 src: 5 dest: 9 hops: 4 path: 5:L2 --> 2:L0 --> 1:L2 --> 10:L3 --> 9 src: 5 dest: 10 hops: 3 path: 5:L2 --> 2:L0 --> 1:L2 --> 10 ---------------------------------------------------------------------------------------- src: 6 dest: 1 hops: 3 path: 6:L3 --> 9:L1 --> 10:L1 --> 1 src: 6 dest: 2 hops: 4 path: 6:L3 --> 9:L1 --> 10:L1 --> 1:L3 --> 2 src: 6 dest: 3 hops: 5 path: 6:L3 --> 9:L1 --> 10:L1 --> 1:L3 --> 2:L2 --> 3 src: 6 dest: 4 hops: 5 path: 6:L3 --> 9:L1 --> 10:L1 --> 1:L3 --> 2:L1 --> 4 src: 6 dest: 5 hops: 5 path: 6:L3 --> 9:L1 --> 10:L1 --> 1:L3 --> 2:L3 --> 5 src: 6 dest: 6 N/A src: 6 dest: 7 hops: 3 path: 6:L3 --> 9:L1 --> 10:L0 --> 7 src: 6 dest: 8 hops: 3 path: 6:L3 --> 9:L1 --> 10:L2 --> 8 src: 6 dest: 9 hops: 1 path: 6:L3 --> 9 src: 6 dest: 10 hops: 2 path: 6:L3 --> 9:L1 --> 10 ---------------------------------------------------------------------------------------- src: 7 dest: 1 hops: 2 path: 7:L1 --> 10:L1 --> 1 hops: 3 path: 7:L2 --> 8:L1 --> 10:L1 --> 1 src: 7 dest: 2 hops: 3 path: 7:L1 --> 10:L1 --> 1:L3 --> 2 hops: 4 path: 7:L2 --> 8:L1 --> 10:L1 --> 1:L3 --> 2 src: 7 dest: 3 hops: 4 path: 7:L1 --> 10:L1 --> 1:L3 --> 2:L2 --> 3 hops: 5 path: 7:L2 --> 8:L1 --> 10:L1 --> 1:L3 --> 2:L2 --> 3 src: 7 dest: 4 hops: 4 path: 7:L1 --> 10:L1 --> 1:L3 --> 2:L1 --> 4 hops: 5 path: 7:L2 --> 8:L1 --> 10:L1 --> 1:L3 --> 2:L1 --> 4 src: 7 dest: 5 hops: 4 path: 7:L1 --> 10:L1 --> 1:L3 --> 2:L3 --> 5 hops: 5 path: 7:L2 --> 8:L1 --> 10:L1 --> 1:L3 --> 2:L3 --> 5 10 src: 7 dest: 6 hops: 3 path: 7:L1 --> 10:L3 --> 9:L2 --> 6 hops: 4 path: 7:L2 --> 8:L1 --> 10:L3 --> 9:L2 --> 6 src: 7 dest: 7 N/A src: 7 dest: 8 hops: 1 path: 7:L2 --> 8 hops: 2 path: 7:L1 --> 10:L2 --> 8 src: 7 dest: 9 hops: 2 path: 7:L1 --> 10:L3 --> 9 hops: 3 path: 7:L2 --> 8:L1 --> 10:L3 --> 9 src: 7 dest: 10 hops: 1 path: 7:L1 --> 10 hops: 2 path: 7:L2 --> 8:L1 --> 10 ---------------------------------------------------------------------------------------- src: 8 dest: 1 hops: 2 path: 8:L1 --> 10:L1 --> 1 hops: 3 path: 8:L3 --> 7:L1 --> 10:L1 --> 1 src: 8 dest: 2 hops: 3 path: 8:L1 --> 10:L1 --> 1:L3 --> 2 hops: 4 path: 8:L3 --> 7:L1 --> 10:L1 --> 1:L3 --> 2 src: 8 dest: 3 hops: 4 path: 8:L1 --> 10:L1 --> 1:L3 --> 2:L2 --> 3 hops: 5 path: 8:L3 --> 7:L1 --> 10:L1 --> 1:L3 --> 2:L2 --> 3 src: 8 dest: 4 hops: 4 path: 8:L1 --> 10:L1 --> 1:L3 --> 2:L1 --> 4 hops: 5 path: 8:L3 --> 7:L1 --> 10:L1 --> 1:L3 --> 2:L1 --> 4 src: 8 dest: 5 hops: 4 path: 8:L1 --> 10:L1 --> 1:L3 --> 2:L3 --> 5 hops: 5 path: 8:L3 --> 7:L1 --> 10:L1 --> 1:L3 --> 2:L3 --> 5 src: 8 dest: 6 hops: 3 path: 8:L1 --> 10:L3 --> 9:L2 --> 6 hops: 4 path: 8:L3 --> 7:L1 --> 10:L3 --> 9:L2 --> 6 src: 8 dest: 7 hops: 1 path: 8:L3 --> 7 hops: 2 path: 8:L1 --> 10:L0 --> 7 src: 8 dest: 8 N/A src: 8 dest: 9 hops: 2 path: 8:L1 --> 10:L3 --> 9 hops: 3 path: 8:L3 --> 7:L1 --> 10:L3 --> 9 src: 8 dest: 10 hops: 1 path: 8:L1 --> 10 hops: 2 path: 8:L3 --> 7:L1 --> 10 ---------------------------------------------------------------------------------------- src: 9 dest: 1 hops: 2 path: 9:L1 --> 10:L1 --> 1 src: 9 dest: 2 hops: 3 path: 9:L1 --> 10:L1 --> 1:L3 --> 2 src: 9 dest: 3 hops: 4 path: 9:L1 --> 10:L1 --> 1:L3 --> 2:L2 --> 3 src: 9 dest: 4 hops: 4 path: 9:L1 --> 10:L1 --> 1:L3 --> 2:L1 --> 4 src: 9 dest: 5 hops: 4 path: 9:L1 --> 10:L1 --> 1:L3 --> 2:L3 --> 5 src: 9 dest: 6 hops: 1 path: 9:L2 --> 6 src: 9 dest: 7 hops: 2 path: 9:L1 --> 10:L0 --> 7 src: 9 dest: 8 hops: 2 path: 9:L1 --> 10:L2 --> 8 11 src: 9 dest: 9 N/A src: 9 dest: 10 hops: 1 path: 9:L1 --> 10 ---------------------------------------------------------------------------------------- src: 10 dest: 1 hops: 1 path: 10:L1 --> 1 src: 10 dest: 2 hops: 2 path: 10:L1 --> 1:L3 --> 2 src: 10 dest: 3 hops: 3 path: 10:L1 --> 1:L3 --> 2:L2 --> 3 src: 10 dest: 4 hops: 3 path: 10:L1 --> 1:L3 --> 2:L1 --> 4 src: 10 dest: 5 hops: 3 path: 10:L1 --> 1:L3 --> 2:L3 --> 5 src: 10 dest: 6 hops: 2 path: 10:L3 --> 9:L2 --> 6 src: 10 dest: 7 hops: 1 path: 10:L0 --> 7 hops: 2 path: 10:L2 --> 8:L3 --> 7 src: 10 dest: 8 hops: 1 path: 10:L2 --> 8 hops: 2 path: 10:L0 --> 7:L2 --> 8 src: 10 dest: 9 hops: 1 path: 10:L3 --> 9 src: 10 dest: 10 N/A ---------------------------------------------------------------------------------------- ============================================================================= This the case_2.rot file: ******************************************************************* * * * ROUTING TABLE GENERATOR - Rev. 1.1 - Mario Stalker * * * * SYSCON CORPORATION November 1989 (c) * * * ******************************************************************* Input file: case_2.nif Date and time: Tue Apr 3 07:07:47 1990 num_nodes 10; node 1; dest_node 1; dest_node 2, 3; dest_node 3, 3; dest_node 4, 3; dest_node 5, 3; dest_node 6, 2; dest_node 7, 2; dest_node 8, 2; dest_node 9, 2; dest_node 10, 2; 12 node 2; dest_node 1, 0; dest_node 2; dest_node 3, 2, 1; <-- This indicates two paths dest_node 4, 1, 2; dest_node 5, 3; dest_node 6, 0; dest_node 7, 0; dest_node 8, 0; dest_node 9, 0; dest_node 10, 0; node 3; dest_node 1, 3, 2; dest_node 2, 3, 2; dest_node 3; dest_node 4, 2, 3; dest_node 5, 3, 2; dest_node 6, 3, 2; dest_node 7, 3, 2; dest_node 8, 3, 2; dest_node 9, 3, 2; dest_node 10, 3, 2; node 4; dest_node 1, 0, 3; dest_node 2, 0, 3; dest_node 3, 3, 0; dest_node 4; dest_node 5, 0, 3; dest_node 6, 0, 3; dest_node 7, 0, 3; dest_node 8, 0, 3; dest_node 9, 0, 3; dest_node 10, 0, 3; node 5; dest_node 1, 2; dest_node 2, 2; dest_node 3, 2; dest_node 4, 2; dest_node 5; dest_node 6, 2; dest_node 7, 2; dest_node 8, 2; dest_node 9, 2; dest_node 10, 2; node 6; dest_node 1, 3; dest_node 2, 3; dest_node 3, 3; dest_node 4, 3; dest_node 5, 3; dest_node 6; dest_node 7, 3; dest_node 8, 3; dest_node 9, 3; dest_node 10, 3; 13 node 7; dest_node 1, 1, 2; dest_node 2, 1, 2; dest_node 3, 1, 2; dest_node 4, 1, 2; dest_node 5, 1, 2; dest_node 6, 1, 2; dest_node 7; dest_node 8, 2, 1; dest_node 9, 1, 2; dest_node 10, 1, 2; node 8; dest_node 1, 1, 3; dest_node 2, 1, 3; dest_node 3, 1, 3; dest_node 4, 1, 3; dest_node 5, 1, 3; dest_node 6, 1, 3; dest_node 7, 3, 1; dest_node 8; dest_node 9, 1, 3; dest_node 10, 1, 3; node 9; dest_node 1, 1; dest_node 2, 1; dest_node 3, 1; dest_node 4, 1; dest_node 5, 1; dest_node 6, 2; dest_node 7, 1; dest_node 8, 1; dest_node 9; dest_node 10, 1; node 10; dest_node 1, 1; dest_node 2, 1; dest_node 3, 1; dest_node 4, 1; dest_node 5, 1; dest_node 6, 3; dest_node 7, 0, 2; dest_node 8, 2, 0; dest_node 9, 3; dest_node 10; ============================================================================== QUESTION #2 How exactly can be done the "on-the-fly" virtual reconfiguration mentioned page 6 ? ANSWER: One set of routing tables (selected in the command line) is loaded during the initialization routine. Subsequent sets of routing tables can be dynamically loaded by the application program by simply sending the individual tables as "datagrams". This is done by one process working in the host transputer which reads the new set of routing tables from a file and then send them as "datagrams" to other processes (executing in other 14 nodes). Each of these processes will receive the corresponding new table and overwrite the previous "active" routing table. The application programmer must take provisions to stop "datagram routing" by any other processes while the new set of routing tables are being dynamically loaded. QUESTION #3 Is the Master Routing Table == the set of the Datagram Routing Tables? ANSWER: Yes, as you can see in the example above, the "case_1.rot" and "case_2.rot" files contains a set of 10 individual routing tables (one for each node). These tables are stored in a file and distributed to every node during the initialization routine, or when the tables are dynamically reloaded. QUESTION #4 Is the Destination Channel # of the Process Connectivity Table an absolute number identifying that channel through the whole application? An example of call to the I/O functions would have been useful too. I am not very sure to understand that Channel #01 links AP2 to AP4 in one direction ,and AP4 to AP1 in the other one? ANSWER: The explanation about "The Process Connectivity Table" which I provided in the Technical Report is a little bit confusing. Let me workout an example and try to explain this in a more straigh- forward manner. I will also rewrite that portion of the Technical Report. <<<< I HOPE I DON'T CONFUSE YOU EVEN MORE!!! >>>> IF YOU HAVE SOME .NIF FILES, YOU CAN E-MAIL THEM TO ME. I WILL RUN THEM THROUGH THE RTG TOOL AND SEND YOU THE GENERATED .LIS AND .ROT FILES. ***************************************************************************** For more information contact: Mario D. Stalker SYSCON Corporation 9841 Broken Land Pkwy, Suite 210 Columbia, Maryland 21046 Telephone: (301) 381-8319 FAX: (301) 381-8321 E-Mail: stalker@capsrv.jhuapl.edu _____________________________________________________________________________ | | | SYSCON Corporation, a subsidiary of Harnischfeger Industries, Inc. | | Corporate Headquarters | | 1000 Thomas Jefferson Street, N.W. | | Washington, D.C. 20007 | | | | System Engineering, Computer Systems, Training and Simulation Systems, | | Facilities Management, Technical Services, Hardware/Software Products. | | | | Parallel Processing Architectures, Real Time Programming, Software Tools | | Development. | | | |---------------------------------------------------------------------------| *****************************************************************************