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

Tools & running modes for sampling (batchs & shots). More...

#include "globals.h"
Include dependency graph for batch.c:

Functions

void print_batch_results_vast (batch_t *b)
void print_batch_results (batch_t *b)
void save_batch_results ()
void warm_up (void)
bool_t system_converges (void)
void convergency (void)
void stationary (void)
void run_network_batch (void)
void run_network_shotmode (void)

Variables

double cons_load
double latency
double prev_cons_load
double prev_latency

Detailed Description

Tools & running modes for sampling (batchs & shots).

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 convergency ( void  )

The simulation continues to assure convergency.

Run the simulation and each conv_period cycles estimates the convergency of the system. This phase ends when they are 3 converged samples in a row or when it spends more than max_conv_time cycles without reach the stationary state. A message stating the reason of leaving this phase is printed.

See also:
system_converges()
run_network_batch()
void print_batch_results ( batch_t b)

Print the results of a batch in a Comma Separated Value format (dense).

Print all batch's stats in CSV format. The stats shown are: cycles taken, average distance, injected load, Accepted load, packet sent count, received packet count, dropped packet count, average delay, delay standard deviation, maximun delay, average injection delay, injection delay standard deviation, maximun injection delay.

Parameters:
ba pointer to the batch to print
void print_batch_results_vast ( batch_t b)

Print the results of a batch in an Human Readable Style (not very dense).

Print all batch's stats in HR style. The stats shown are: cycles taken, average distance, injected load, Accepted load, packet sent count, received packet count, dropped packet count, average delay, delay standard deviation, maximun delay, average injection delay, injection delay standard deviation, maximun injection delay.

Not actually in use, but may be useful.

Parameters:
ba pointer to the batch to print
void run_network_batch ( void  )

Run the simulation taking stats for some batches.

The simulation are split in three phases: Warm-up, Convergency assurement & Stationary state.

See also:
warm_up()
convergency()
stationary()
void run_network_shotmode ( void  )

Run the simulation in shotmode.

The simulation runs for samples shots and takes stats for each one.

void save_batch_results ( )

Save the current batch's stats.

Save the current stats in the reseted position of the batch array. The stats saved are: cycles taken, average distance, injected load, Accepted load, packet sent count, received packet count, dropped packet count, average delay, delay standard deviation, maximun delay, average injection delay, injection delay standard deviation, maximun injection delay.

void stationary ( void  )

Stationary phase (steady-state) of the simulation where batch stats are taken.

Continues the simulation for samples batches of batch_time cycles and at least min_batch_size packets received. Now is the time for capturing simulation stats.

See also:
run_network_batch()
bool_t system_converges ( void  )

Does the system converge?.

Calculates the % of difference beetwen current & previous load & latency.

Returns:
TRUE if current and previous figures and are within the given threshold or FALSE in other case.
See also:
convergency()
run_network_batch()
void warm_up ( void  )

Run the warm-up period.

Run the simulation for warm_up_period cycles.

See also:
run_network_batch()
warm_up_period

Variable Documentation

double cons_load

Current Consumed Load.

double latency

Current Average Latency.

Previous Consumed Load (during convergency ensurement).

double prev_latency

Previous Average Latency (during convergency ensurement).