From 6b9eb92bd0b03d69a2f2e9c075a8af99d860d4d1 Mon Sep 17 00:00:00 2001 From: Myrice Date: Tue, 7 Apr 2015 14:43:05 -0700 Subject: Booksim2 abandoned svn and moved to github (https://github.com/booksim/booksim2). This .svn folder is useless now and should be deleted. For further integration, a git submodule/git subtree may be used. Since I modified their source code, we cannot use git submodule/git subtree easily. Signed-off-by: Myrice --- ...6a33f2fd931773aa82485ef360d84c227abb12.svn-base | 76 ----- ...75723858a7c299341d4e68fbb1581f9865b898.svn-base | 47 --- ...ed09bfc8ce0fffa6872c93917412c0577120c2.svn-base | 322 --------------------- 3 files changed, 445 deletions(-) delete mode 100644 src/intersim2/.svn/pristine/9a/9a6a33f2fd931773aa82485ef360d84c227abb12.svn-base delete mode 100644 src/intersim2/.svn/pristine/9a/9a75723858a7c299341d4e68fbb1581f9865b898.svn-base delete mode 100644 src/intersim2/.svn/pristine/9a/9aed09bfc8ce0fffa6872c93917412c0577120c2.svn-base (limited to 'src/intersim2/.svn/pristine/9a') diff --git a/src/intersim2/.svn/pristine/9a/9a6a33f2fd931773aa82485ef360d84c227abb12.svn-base b/src/intersim2/.svn/pristine/9a/9a6a33f2fd931773aa82485ef360d84c227abb12.svn-base deleted file mode 100644 index 98d07bb..0000000 --- a/src/intersim2/.svn/pristine/9a/9a6a33f2fd931773aa82485ef360d84c227abb12.svn-base +++ /dev/null @@ -1,76 +0,0 @@ -// $Id$ - -/* - Copyright (c) 2007-2012, Trustees of The Leland Stanford Junior University - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or - other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR - ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -//////////////////////////////////////////////////////////////////////// -// -// FatTree -// -//////////////////////////////////////////////////////////////////////// -// -// RCS Information: -// $Author: jbalfour $ -// $Date: 2007/06/26 22:49:23 $ -// $Id$ -// -//////////////////////////////////////////////////////////////////////// - -#ifndef _FatTree_HPP_ -#define _FatTree_HPP_ - -#include "network.hpp" - -class FatTree : public Network { - - int _k; - int _n; - - - void _ComputeSize( const Configuration& config ); - void _BuildNet( const Configuration& config ); - - Router*& _Router( int depth, int pos ); - - int _mapSize; - int* _inputChannelMap; - int* _outputChannelMap; - int* _latencyMap; - - - -public: - - FatTree( const Configuration& config ,const string & name ); - static void RegisterRoutingFunctions() ; - - // - // Methods to Assit Routing Functions - // - static int PreferedPort( const Router* r, int index ); - -}; - -#endif diff --git a/src/intersim2/.svn/pristine/9a/9a75723858a7c299341d4e68fbb1581f9865b898.svn-base b/src/intersim2/.svn/pristine/9a/9a75723858a7c299341d4e68fbb1581f9865b898.svn-base deleted file mode 100644 index c0bdc89..0000000 --- a/src/intersim2/.svn/pristine/9a/9a75723858a7c299341d4e68fbb1581f9865b898.svn-base +++ /dev/null @@ -1,47 +0,0 @@ -// $Id$ - -// Copyright (c) 2007-2012, Trustees of The Leland Stanford Junior University -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are met: -// -// Redistributions of source code must retain the above copyright notice, this -// list of conditions and the following disclaimer. -// Redistributions in binary form must reproduce the above copyright notice, -// this list of conditions and the following disclaimer in the documentation -// and/or other materials provided with the distribution. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE -// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -// POSSIBILITY OF SUCH DAMAGE. - -//concentrated mesh configuration file running batch mode -//xr, yr, x, y, are use to indicate how the concnetration is formed. - -topology = cmesh; - -k = 4; -n = 2; -c = 4; -xr = 2; -yr = 2; - -x = 4; -y = 4; - -routing_function = dor_no_express; - -traffic = bitcomp; - -use_read_write = 0; - -batch_size = 2000; diff --git a/src/intersim2/.svn/pristine/9a/9aed09bfc8ce0fffa6872c93917412c0577120c2.svn-base b/src/intersim2/.svn/pristine/9a/9aed09bfc8ce0fffa6872c93917412c0577120c2.svn-base deleted file mode 100644 index 1d446a5..0000000 --- a/src/intersim2/.svn/pristine/9a/9aed09bfc8ce0fffa6872c93917412c0577120c2.svn-base +++ /dev/null @@ -1,322 +0,0 @@ -// $Id$ - -/* - Copyright (c) 2007-2012, Trustees of The Leland Stanford Junior University - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or - other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR - ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -#ifndef _TRAFFICMANAGER_HPP_ -#define _TRAFFICMANAGER_HPP_ - -#include -#include -#include -#include - -#include "module.hpp" -#include "config_utils.hpp" -#include "network.hpp" -#include "flit.hpp" -#include "buffer_state.hpp" -#include "stats.hpp" -#include "traffic.hpp" -#include "routefunc.hpp" -#include "outputset.hpp" -#include "injection.hpp" - -//register the requests to a node -class PacketReplyInfo; - -class TrafficManager : public Module { - -private: - - vector > _packet_size; - vector > _packet_size_rate; - vector _packet_size_max_val; - -protected: - int _nodes; - int _routers; - int _vcs; - - vector _net; - vector > _router; - - // ============ Traffic ============ - - int _classes; - - vector _load; - - vector _use_read_write; - vector _write_fraction; - - vector _read_request_size; - vector _read_reply_size; - vector _write_request_size; - vector _write_reply_size; - - vector _traffic; - - vector _class_priority; - - vector > _last_class; - - vector _traffic_pattern; - vector _injection_process; - - // ============ Message priorities ============ - - enum ePriority { class_based, age_based, network_age_based, local_age_based, queue_length_based, hop_count_based, sequence_based, none }; - - ePriority _pri_type; - - // ============ Injection VC states ============ - - vector > _buf_states; -#ifdef TRACK_FLOWS - vector > > _outstanding_credits; - vector > > > _outstanding_classes; -#endif - vector > > _last_vc; - - // ============ Routing ============ - - tRoutingFunction _rf; - bool _lookahead_routing; - bool _noq; - - // ============ Injection queues ============ - - vector > _qtime; - vector > _qdrained; - vector > > _partial_packets; - - vector > _total_in_flight_flits; - vector > _measured_in_flight_flits; - vector > _retired_packets; - bool _empty_network; - - bool _hold_switch_for_packet; - - // ============ physical sub-networks ========== - - int _subnets; - - vector _subnet; - - // ============ deadlock ========== - - int _deadlock_timer; - int _deadlock_warn_timeout; - - // ============ request & replies ========================== - - vector _packet_seq_no; - vector > _repliesPending; - vector _requestsOutstanding; - - // ============ Statistics ============ - - vector _plat_stats; - vector _overall_min_plat; - vector _overall_avg_plat; - vector _overall_max_plat; - - vector _nlat_stats; - vector _overall_min_nlat; - vector _overall_avg_nlat; - vector _overall_max_nlat; - - vector _flat_stats; - vector _overall_min_flat; - vector _overall_avg_flat; - vector _overall_max_flat; - - vector _frag_stats; - vector _overall_min_frag; - vector _overall_avg_frag; - vector _overall_max_frag; - - vector > _pair_plat; - vector > _pair_nlat; - vector > _pair_flat; - - vector _hop_stats; - vector _overall_hop_stats; - - vector > _sent_packets; - vector _overall_min_sent_packets; - vector _overall_avg_sent_packets; - vector _overall_max_sent_packets; - vector > _accepted_packets; - vector _overall_min_accepted_packets; - vector _overall_avg_accepted_packets; - vector _overall_max_accepted_packets; - vector > _sent_flits; - vector _overall_min_sent; - vector _overall_avg_sent; - vector _overall_max_sent; - vector > _accepted_flits; - vector _overall_min_accepted; - vector _overall_avg_accepted; - vector _overall_max_accepted; - -#ifdef TRACK_STALLS - vector > _buffer_busy_stalls; - vector > _buffer_conflict_stalls; - vector > _buffer_full_stalls; - vector > _buffer_reserved_stalls; - vector > _crossbar_conflict_stalls; - vector _overall_buffer_busy_stalls; - vector _overall_buffer_conflict_stalls; - vector _overall_buffer_full_stalls; - vector _overall_buffer_reserved_stalls; - vector _overall_crossbar_conflict_stalls; -#endif - - vector _slowest_packet; - vector _slowest_flit; - - map _stats; - - // ============ Simulation parameters ============ - - enum eSimState { warming_up, running, draining, done }; - eSimState _sim_state; - - bool _measure_latency; - - int _reset_time; - int _drain_time; - - int _total_sims; - int _sample_period; - int _max_samples; - int _warmup_periods; - - int _include_queuing; - - vector _measure_stats; - bool _pair_stats; - - vector _latency_thres; - - vector _stopping_threshold; - vector _acc_stopping_threshold; - - vector _warmup_threshold; - vector _acc_warmup_threshold; - - int _cur_id; - int _cur_pid; - int _time; - - set _flits_to_watch; - set _packets_to_watch; - - bool _print_csv_results; - - //flits to watch - ostream * _stats_out; - -#ifdef TRACK_FLOWS - vector > _injected_flits; - vector > _ejected_flits; - ostream * _injected_flits_out; - ostream * _received_flits_out; - ostream * _stored_flits_out; - ostream * _sent_flits_out; - ostream * _outstanding_credits_out; - ostream * _ejected_flits_out; - ostream * _active_packets_out; -#endif - -#ifdef TRACK_CREDITS - ostream * _used_credits_out; - ostream * _free_credits_out; - ostream * _max_credits_out; -#endif - - // ============ Internal methods ============ -protected: - - virtual void _RetireFlit( Flit *f, int dest ); - - void _Inject(); - void _Step( ); - - bool _PacketsOutstanding( ) const; - - virtual int _IssuePacket( int source, int cl ); - void _GeneratePacket( int source, int size, int cl, int time ); - - virtual void _ClearStats( ); - - void _ComputeStats( const vector & stats, int *sum, int *min = NULL, int *max = NULL, int *min_pos = NULL, int *max_pos = NULL ) const; - - virtual bool _SingleSim( ); - - void _DisplayRemaining( ostream & os = cout ) const; - - void _LoadWatchList(const string & filename); - - virtual void _UpdateOverallStats(); - - virtual string _OverallStatsCSV(int c = 0) const; - - int _GetNextPacketSize(int cl) const; - double _GetAveragePacketSize(int cl) const; - -public: - - static TrafficManager * New(Configuration const & config, - vector const & net); - - TrafficManager( const Configuration &config, const vector & net ); - virtual ~TrafficManager( ); - - bool Run( ); - - virtual void WriteStats( ostream & os = cout ) const ; - virtual void UpdateStats( ) ; - virtual void DisplayStats( ostream & os = cout ) const ; - virtual void DisplayOverallStats( ostream & os = cout ) const ; - virtual void DisplayOverallStatsCSV( ostream & os = cout ) const ; - - inline int getTime() { return _time;} - Stats * getStats(const string & name) { return _stats[name]; } - -}; - -template -ostream & operator<<(ostream & os, const vector & v) { - for(size_t i = 0; i < v.size() - 1; ++i) { - os << v[i] << ","; - } - os << v[v.size()-1]; - return os; -} - -#endif -- cgit v1.3