Skip to content

Commit

Permalink
Updated power estimation module
Browse files Browse the repository at this point in the history
  • Loading branch information
mpalesi committed Oct 16, 2013
1 parent 892a141 commit 4b594a6
Show file tree
Hide file tree
Showing 34 changed files with 732 additions and 469 deletions.
2 changes: 2 additions & 0 deletions bin/Makefile
@@ -1,4 +1,6 @@
TARGET_ARCH = linux
# TARGET_ARCH = macosx64

CC = g++
OPT = -O3
DEBUG = -g
Expand Down
2 changes: 1 addition & 1 deletion bin/Makefile.defs
Expand Up @@ -5,7 +5,7 @@
# NOTE FOR NOXIM USERS: before running "make" you just have to modify
# the following variable to point to your SystemC installation path
#
SYSTEMC = /opt/systemc-2.2.0
SYSTEMC = /Library/SystemC/systemc-2.3.0
#
# That's all for you!!!

Expand Down
1 change: 1 addition & 0 deletions bin/default_router.pwr
8 changes: 4 additions & 4 deletions doc/AUTHORS.txt
Expand Up @@ -7,14 +7,14 @@ Authors
Noxim is developed at the University of Catania (Italy) by the following team of Computer Architecture:

- Maurizio Palesi, PhD
Email: mpalesi@diit.unict.it
Home: http://www.diit.unict.it/users/mpalesi/
Email: maurizio.palesi@unikore.it
Home: http://www.unikore.it/mpalesi/

- Davide Patti, PhD
Email: dpatti@diit.unict.it
Email: dpatti@dieei.unict.it
Home: http://www.diit.unict.it/users/dpatti/

- Fabrizio Fazzino
- Fabrizio Fazzino, PhD
Email: fabrizio@fazzino.it
Home: http://www.fazzino.it/

8 changes: 4 additions & 4 deletions doc/INSTALL.txt
Expand Up @@ -28,13 +28,13 @@ Prerequisite: SystemC installation

sudo apt-get install build-essential

- Download SystemC (currently at version 2.2.0) from http://www.systemc.org/downloads/standards/
(a free registration is required).
- Download SystemC (currently at version 2.3.0) from
http://www.accellera.org/downloads/standards/systemc (a free registration is required).
- Unpack it; please note that some versions have a wrong file extension. For instance you may
have to use the following commands to untar it:

mv systemc-2.2.0.tgz systemc-2.2.0.tar
tar xvf systemc-2.2.0.tar
mv systemc-2.3.0.tgz systemc-2.3.0.tar
tar xvf systemc-2.3.0.tar

- Enter the newly created directory and refer to the file INSTALL which details all the steps
required for building. Basically they are:
Expand Down
125 changes: 78 additions & 47 deletions doc/MANUAL.txt
Expand Up @@ -24,57 +24,62 @@ The output provided by this command should look like this:

#################################################################

SystemC 2.2.0 --- Mar 11 2010 11:07:33
Copyright (c) 1996-2006 by all Contributors
ALL RIGHTS RESERVED
SystemC 2.3.0-ASI --- Oct 16 2013 11:40:12
Copyright (c) 1996-2012 by all Contributors,
ALL RIGHTS RESERVED


Noxim - the NoC Simulator
(C) University of Catania
(C) University of Catania

Usage: ./noxim [options]
where [options] is one or more of the following ones:
-help Show this help and exit
-verbose N Verbosity level (1=low, 2=medium, 3=high, default off)
-trace FILENAME Trace signals to a VCD file named 'FILENAME.vcd' (default off)
-dimx N Set the mesh X dimension to the specified integer value (default 4)
-dimy N Set the mesh Y dimension to the specified integer value (default 4)
-buffer N Set the buffer depth of each channel of the router to the specified integer value [flits] (default 4)
-size Nmin Nmax Set the minimum and maximum packet size to the specified integer values [flits] (default min=2, max=10)
-routing TYPE Set the routing algorithm to TYPE where TYPE is one of the following (default 0):
xy XY routing algorithm
westfirst West-First routing algorithm
northlast North-Last routing algorithm
negativefirst Negative-First routing algorithm
oddeven Odd-Even routing algorithm
dyad T DyAD routing algorithm with threshold T
fullyadaptive Fully-Adaptive routing algorithm
table FILENAME Routing Table Based routing algorithm with table in the specified file
-sel TYPE Set the selection strategy to TYPE where TYPE is one of the following (default 0):
random Random selection strategy
bufferlevel Buffer-Level Based selection strategy
nop Neighbors-on-Path selection strategy
-pir R TYPE Set the packet injection rate to the specified real value [0..1] (default 0.01) and the time distribution of traffic to TYPE where TYPE is one of the following:
poisson Memory-less Poisson distribution (default)
burst R Burst distribution with given real burstness
pareto on off r Self-similar Pareto distribution with given real parameters (alfa-on alfa-off r)
custom R Custom distribution with given real probability of retransmission
-traffic TYPE Set the spatial distribution of traffic to TYPE where TYPE is one of the following (default 0'):
random Random traffic distribution
transpose1 Transpose matrix 1 traffic distribution
transpose2 Transpose matrix 2 traffic distribution
bitreversal Bit-reversal traffic distribution
butterfly Butterfly traffic distribution
shuffle Shuffle traffic distribution
table FILENAME Traffic Table Based traffic distribution with table in the specified file
-hs ID P Add node ID to hotspot nodes, with percentage P (0..1) (Only for 'random' traffic)
-warmup N Start to collect statistics after N cycles (default 1000)
-seed N Set the seed of the random generator (default time())
-detailed Show detailed statistics
-volume N Stop the simulation when either the maximum number of cycles has been reached or N flits have been delivered
-sim N Run for the specified simulation time [cycles] (default 10000)

If you find this program useful please don't forget to mention in your paper Maurizio Palesi <mpalesi@diit.unict.it>
If you find this program useless please feel free to complain with Davide Patti <dpatti@diit.unict.it>
-help Show this help and exit
-verbose N Verbosity level (1=low, 2=medium, 3=high, default off)
-trace FILENAME Trace signals to a VCD file named 'FILENAME.vcd' (default off)
-dimx N Set the mesh X dimension to the specified integer value (default 4)
-dimy N Set the mesh Y dimension to the specified integer value (default 4)
-buffer N Set the buffer depth of each channel of the router to the specified integer value [flits] (default 4)
-size Nmin Nmax Set the minimum and maximum packet size to the specified integer values [flits] (default min=2, max=10)
-routing TYPE Set the routing algorithm to TYPE where TYPE is one of the following (default 0):
xy XY routing algorithm
westfirst West-First routing algorithm
northlast North-Last routing algorithm
negativefirst Negative-First routing algorithm
oddeven Odd-Even routing algorithm
dyad T DyAD routing algorithm with threshold T
fullyadaptive Fully-Adaptive routing algorithm
table FILENAME Routing Table Based routing algorithm with table in the specified file
-sel TYPE Set the selection strategy to TYPE where TYPE is one of the following (default 0):
random Random selection strategy
bufferlevel Buffer-Level Based selection strategy
nop Neighbors-on-Path selection strategy
-pir R TYPE Set the packet injection rate to the specified real value [0..1] (default 0.01) and the time distribution of traffic to TYPE where TYPE is one of the following:
poisson Memory-less Poisson distribution (default)
burst R Burst distribution with given real burstness
pareto on off r Self-similar Pareto distribution with given real parameters (alfa-on alfa-off r)
custom R Custom distribution with given real probability of retransmission
-traffic TYPE Set the spatial distribution of traffic to TYPE where TYPE is one of the following (default 0'):
random Random traffic distribution
transpose1 Transpose matrix 1 traffic distribution
transpose2 Transpose matrix 2 traffic distribution
bitreversal Bit-reversal traffic distribution
butterfly Butterfly traffic distribution
shuffle Shuffle traffic distribution
table FILENAME Traffic Table Based traffic distribution with table in the specified file
-hs ID P Add node ID to hotspot nodes, with percentage P (0..1) (Only for 'random' traffic)
-pwr FILENAME Router and link power data (default default_router.pwr)
-lpls Enable low power link strategy (default 0)
-qos PERCENTAGE Percentage of communication that have to be routed on regular links (default 1)
-warmup N Start to collect statistics after N cycles (default 1000)
-seed N Set the seed of the random generator (default time())
-detailed Show detailed statistics
-show_buf_stats Show buffers statistics (default 0)
-volume N Stop the simulation when either the maximum number of cycles has been reached or N flits have been delivered
-sim N Run for the specified simulation time [cycles] (default 10000)

If you find this program useful please don't forget to mention in your paper Maurizio Palesi <maurizio.palesi@unikore.it>
If you find this program useless please feel free to complain with Davide Patti <dpatti@dieei.unict.it>
And if you want to send money please feel free to PayPal to Fabrizio Fazzino <fabrizio@fazzino.it>

#################################################################
Expand Down Expand Up @@ -136,6 +141,14 @@ router. This size is expressed in flits. Please read the above instructions for
more details.


-size Nmin Nmax
---------------

The option -size is uded to define the minimum and maximum packet size
in flits. For each generated packet, the packet size is randomly
generated between Nmin and Nmax. For fixed packet size just use Nmin=Nmax


-routing TYPE
-------------

Expand All @@ -158,7 +171,7 @@ with the greater number of free slots in the destination FIFO buffer.
-----------

With the -pir option you can set the Packet Injection Rate (PIR) to the specified
real value.
real value. TYPE defines the type of distribution.


-traffic TYPE
Expand All @@ -178,6 +191,24 @@ The -hs option is used to specify the Hot-Spot nodes. Along with the node
identificator you must specify the hot spot percentage.


-pwr FILENAME
-------------

The -pwr option is used to define the power file used for estimating
energy figures. The folder pwr/ contains a sample power file.


-lpls, -qos PERCENTAGE
----------------------

The -lpls and -qos options allows to simulate the low-voltage link
strategy proposed in [1]. See [1] for further details.

[1] A. Mineo, M. Palesi, G. Ascia, V. Catania. Runtime Online Links
Voltage Scaling for Low Energy Networks on Chip. EUROMICRO DSD/SEAA
2013, Santander, Spain, September 4-6, 2013.


-warmup N
---------

Expand Down
Binary file removed doc/Noxim_User_Guide.odt
Binary file not shown.
Binary file removed doc/Noxim_User_Guide.pdf
Binary file not shown.
7 changes: 3 additions & 4 deletions other/noxim_explorer.cpp
Expand Up @@ -119,11 +119,11 @@ string TrimLeftAndRight(const string& s)

bool ExtractParameter(const string& s, string& parameter)
{
uint i = s.find("[");
size_t i = s.find("[");

if (i != string::npos)
{
uint j = s.rfind("]");
size_t j = s.rfind("]");

if (j != string::npos)
{
Expand Down Expand Up @@ -533,8 +533,7 @@ bool ReadResults(const string& fname,
string line;
getline(fin, line);

uint pos;

size_t pos;
pos = line.find(RPACKETS_LABEL);
if (pos != string::npos)
{
Expand Down
19 changes: 10 additions & 9 deletions other/sim.cfg
Expand Up @@ -3,31 +3,32 @@
[/topology]

[routing]
oddeven
xy
[/routing]

[sel]
random
bufferlevel
nop
[/sel]

[pir]
0.010 0.015 0.001 poisson
[/pir]

[qos]
0.5
0.8
[/qos]

[default]
-sim 10000
-warmup 2000
-size 8 8
-buffer 4
-pwr ../pwr/t45_f1_b4_f32_dlv08.pwr
-lpls
[/default]

[aggregation]
pir
[/aggregation]

[explorer]
simulator ../noxim
repetitions 20
simulator ../bin/noxim
repetitions 10
[/explorer]
19 changes: 19 additions & 0 deletions pwr/default_router.pwr
@@ -0,0 +1,19 @@
# baseline router
# energy data obtained from Orion 2.0
# ./orion_router_power -p -d 2 -l 0.5 my_router
# PARM_TECH_POINT 45
# PARM_Vdd 1.0
# PARM_Freq 1.0e9
# PARM_v_channel 1
# PARM_in_buf_set 4
# PARM_flit_width 32

PWR_BUFFERING 9.38275e-12
PWR_ROUTING 0.0
PWR_SELECTION 0.0
PWR_ARBITRATION 3.71035e-13
PWR_CROSSBAR 1.0258e-11
PWR_LINK 11.0e-12
PWR_LINK_LV 11.0e-12
PWR_LEAKAGE 1.75635e-12
PWR_END2END 0.0

0 comments on commit 4b594a6

Please sign in to comment.