Dartmouth SSF (DaSSF)

Version 1.0.4

Release Note

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.

New Features

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.

Architectures Supported

As for this release, DaSSF supports the following architectures:

Parallelization is fully supported on all these platforms.

Directory Structure of the Distribution

The distribution should contain following directories listed alphabetically. Some of the directories may not be part of your distribution for the sake of limited space.

appexample applications
binutility executables (internal use)
configconfigurations for all supported platforms (internal use)
docdocumentations
includestandard header files
libruntime libraries
p4DaSSF preprocessing scripts (internal use)
srcsource code for runtime system
tsttests

Installation

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.

  1. make reset
    This will tide up the directory tree, just in case;
  2. ./configure
    This step configures DaSSF with the correct configuration. It will check all the system requirements for DaSSF on the architecture you are using.
  3. make
    This step will build the runtime system;
  4. make examples
    This step is optional unless you want to build all the examples distributed with the release;

Local Configuration

Local 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
    

Global definitions

The following switches are listed along with their usage. These pre-definitions are universal, independent of the architecture selected:

--enable-debug
--disable-debug
Enable/disable debugging information. (Default: --disable-debug)
--enable-scrutiny
--disable-scrutiny
Enable/disable runtime checking. This may slow down simulation when enabled. (Default: --enable-scrutiny)
--enable-stats
--disable-stats
Enable/disable collection of statistics. (Default: --enable-stats)
--with-central
--without-central
--with-collective
--without-collective
--with-distributed
--without-distributed
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
--without-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)

Definitions for SGI/IRIX

--with-fastm
--without-fastm
Link with/without fast math library (-lfastm). (Default: --without-fastm)
--with-dplace
--without-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)

Definitions for SUN/SOLARIS

--with-sparc-V9
--without-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

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.


Copyright 1998-1999 Dartmouth College. Comments send to web master.