Dartmouth SSF (DaSSF) is a process-oriented, conservatively synchronized parallel simulator, which is designed for but not exclusively for simulating very large scale multiprotocol communication networks. DaSSF is a C++ implementation of Scalable Simulation Framework (SSF), with the goal of achieving scalability, manageability, and portability for complex simulation models. Check out Dartmouth SSF Homepage for more detail.
This is version 1.0 of Dartmouth Scalable Simulation Framework. This distribution includes source code for the runtime system, example applications, as well as supporting documentation.
DaSSF is free software, see copyright notice at the end of this page for copying permission. DaSSF is distributed with open source. You can download Dartmouth SSF here.
The following is a list of major changes made since version 1.0.3. For detailed changes, refer to ChangeLog file in the root directory of DaSSF distribution.
As for this release, DaSSF supports the following architectures:
| app | example applications |
| bin | utility executables (internal use) |
| config | configurations for all supported platforms (internal use) |
| doc | documentations |
| include | standard header files |
| lib | runtime libraries |
| p4 | DaSSF preprocessing scripts (internal use) |
| src | source code for runtime system |
| tst | tests |
The basic compilation steps are as follows, though further configuration can be performed by passing arguments in step 1. We'll get into that in the next session.
make reset./configuremakemake examplesLocal configuration can be perform at the time when you're running ./configure, by passing arguments to this program. The system will then set the correct flags and put them in a configuration file (i.e. config/Makefile.common). This file will be included by all Makefiles, which in turn affects the compilation. When you configure a new set of options, remember to recompile the runtime system and your application. For example, if you want to disable debugging and runtime checking so to run simulation faster, you may do the following:
% ./configure --disable-debug --disable-scrutiny
% make reset; make
% cd your-app-dir; make reset; make depend; make
The following switches are listed along with their usage. These pre-definitions are universal, independent of the architecture selected:
--enable-debug |
Enable/disable debugging information.
(Default: --disable-debug) |
--enable-scrutiny |
Enable/disable runtime checking. This may slow down simulation
when enabled.
(Default: --enable-scrutiny) |
--enable-stats |
Enable/disable collection of statistics.
(Default: --enable-stats) |
--with-central |
Different stealing schemes adopted by the runtime system. It's
experimental. Ignore it if you don't know what it is doing.
(Default: --with-central) |
--with-native |
Compiling rts with native compiler or not, if the native compiler
is available. Using native compiler is usually faster than GNU
C/C++ (at least, it is so on SGI).
(Default: --with-native) |
--with-fastm |
Link with/without fast math library (-lfastm).
(Default: --without-fastm) |
--with-dplace |
Whether or not use memory placement library. This feature is only
available on SGI Origin 2000, the system will detect whether you
can use it or not automatically.
(Default: --without-dplace) |
--with-sparc-V9 |
Whether or not use compiler options for Sparc V9
processors. Compilation error will result if the machine does not
allow V9 ISA.
(Default: --without-sparc-V9) |
Copyright (c) 1998, 1999 Dartmouth College
Permission is hereby granted, free of charge, to any individual or institution obtaining a copy of this software and associated documentation files (the "Software"), to use, copy, modify, and distribute without restriction, provided that this copyright and permission notice is maintained, intact, in all copies and supporting documentation.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL DARTMOUTH COLLEGE BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.