Unformatted text preview:

Q2. Task Mapping on Network on Chip topologies You will perform mapping of task graphs on to Network on Chip (NOCs) topologies. You are required to present and analyze the results of the experiments performed. You will use Nocsim, an in house NOC simulator to perform these experiments. How to access Nocsim You need to login to the server garrison.cs.tamu.edu using an SSH client (like putty). The usernames and passwords for access to the server will be communicated to you in a separate email. The Nocsim executable is present in the directory /home/617exam/nocsim. A short introduction to Nocsim Nocsim is a SystemC based simulator capable of simulating generic NOC architectures. Nocsim consists of models for a five-stage pipelined router, Core Network Interface (CNI), and IP cores. Nocsim features an XML based configuration, which describes the network topology and various simulation parameters. Following are some of the parameters that can be configured: number of simulation cycles, topology, router and CNI FIFO lengths, number of virtual channels in routers and CNIs, number of ports in each router. The router model in Nocsim follows shortest path first routing. Nocsim uses a cycle length of 1 nanosecond. Format of XML based Input file Following is an abridged version of a XML configuration file for a 3x3 2D torus network topology: <?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE Simulator SYSTEM "config.dtd"> <Simulator cycles="10000" maxresponsetime="2000" quietmode="true"> <Network nvcs="8" buflen="8"> <Node type="PElement" name="pe1"> <PElement type="ocp" infifolen="8" outfifolen="8"> <CNI type="ocp" msgqlen="4" reorder="false"> <DEST id="1" fir="10"/> <DEST id="5" fir="20"/> </CNI> <CORE></CORE> </PElement> </Node> …… …… <Node type="PElement" name="pe9"> <PElement type="ocp" infifolen="8" outfifolen="8"> <CNI type="ocp" msgqlen="4" reorder="false"> <DEST id="3" fir="20"/> </CNI> <CORE></CORE></PElement> </Node> <Node type="Router" name="router1"> <Router type="generic" ports="5" infifolen="8" outfifolen="8"/> </Node> .……… ………. <Node type="Router" name="router9"> <Router type="generic" ports="5" infifolen="8" outfifolen="8"/> </Node> <Link src="pe1" dst="router1"/> <Link src="pe2" dst="router2"/> <Link src="pe3" dst="router3"/> <Link src="pe4" dst="router4"/> <Link src="pe5" dst="router5"/> <Link src="pe6" dst="router6"/> <Link src="pe7" dst="router7"/> <Link src="pe8" dst="router8"/> <Link src="pe9" dst="router9"/> <Link src="router1" dst="router2"/> <Link src="router1" dst="router4"/> <Link src="router2" dst="router3"/> <Link src="router2" dst="router5"/> <Link src="router3" dst="router1"/> <Link src="router3" dst="router6"/> <Link src="router4" dst="router5"/> <Link src="router4" dst="router7"/> <Link src="router5" dst="router6"/> <Link src="router5" dst="router8"/> <Link src="router6" dst="router4"/> <Link src="router6" dst="router9"/> <Link src="router7" dst="router8"/> <Link src="router7" dst="router1"/> <Link src="router8" dst="router9"/> <Link src="router8" dst="router2"/> <Link src="router9" dst="router7"/> <Link src="router9" dst="router3"/> </Network> </Simulator> The fields that you need to modify are shown in boldface in the above configuration. The complete version of this configuration is in the file torus3_10.xml in the nocsim directory. The XML configuration describes each processing element (type=PElement) in the network topology followed by the description of each router (type=Router). The processing element nodes must be listed before the router nodes. Nocsim assigns an id to each processing element node. The ids begin with zero and increment by one for each processing element. For example, pe1 has id 0, pe2 has id 1 and so on. The CNI tag for a processingelement contains a (possibly empty) list of DEST tags. The DEST tags specify the ids of nodes and the corresponding injection rate (fir) that the CNI sends traffic to. For example in the above configuration file, pe1 send flits to pe2 and pe6 at the rate of 10% and 20% respectively. Finally all links in the topology are listed using the Link tag. Links are undirected. Figure 1 shows the topology described by the above configuration file. The green squares in the picture are the routers, each having five ports. One of the ports is linked to the CNI in the processing element. The remaining four ports are linked to four routers on each side; north, south, east and west. The processing element, represented by the blue circles, consists of the IP core and the CNI. Running the Nocsim Simulator Before running Nocsim, you need to define the environment variable, SC_SIGNAL_WRITE_CHECK and set its value to DISABLE. This will ensure that the SystemC library does not return an error when two processes try to change a signal in nocsim. This can be done by putting the following line in your bash configuration file (~/.bashrc): export SC_SIGNAL_WRITE_CHECK=DISABLE You must also copy the file /home/617exam/nocsim/config.dtd to your current working directory before running the simulation. This file specifies the structure of the XML input. Since all simulation configuration options are specified in the XML based configuration file, Nocsim is run by providing only the configuration file. For example, if the configuration file is saved in a file called config.xml the simulation can be started by using the following command: # /home/617exam/nocsim/nocsim config.xml Output format Although nocsim gathers performance statistics based on a host of different parameters, the version provided to you prints out only the average throughput and the average end-to-end latency on the standard output. If needed, you can redirect the output to a log file by using the UNIX redirection operator (>). Ignore the stat.out that is created in the current working directory. Following is a snapshot of the outputs produced by a sample run of nocsim: Figure 1Statistics::Average end to end latency 4298.69 Statistics::Average Throughput 0.29575 The average end-to-end latency is reported in picoseconds and the average throughput is reported in number of flits received per node per cycle. Task Mapping The objective of this question


View Full Document

TAMU CSCE 617 - problem2

Documents in this Course
Load more
Download problem2
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view problem2 and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view problem2 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?