Scalable Simulation Framework

---  the current SSFNet release is version 2.0.0  ---
 what's here  
ssfnet.org  is a clearinghouse for information about the latest tools for scalable high-performance network modeling, simulation, and analysis. Here, users and developers share useful information about the following standards and software systems:

  Scalable Simulation Framework (SSF)

... A public-domain standard for discrete-event simulation of large, complex systems in Java and C++.
The "engine under the hood" of the SSFNet Internet models.

  Domain Modeling Language (DML)

... A public-domain standard for attribute databases for model configuration and verification. Supports extensibility, inheritance and substitution of attributes.

  SSF Network Models (SSFNet)

... Open-source Java models of protocols (IP, TCP, UDP, BGP4, OSPF, and others), network elements (hosts, routers, links, LANs), and assorted support classes for realistic multi-protocol, multi-domain Internet modeling and simulation.

  Integrated Development Environments (IDEs)

... IDEs combine the open-source modeling components with SSF simulation kernels, DML database implementations, and assorted development tools to make your life easier.
Free or available at nominal cost for research purposes.
(Contact us to add new SSFNet tools.)

Download SSFNet 2.0, Raceway SSF, Raceway DML, Raceway Views
(Renesys Corporation, January 2004)

Download SSFNet 1.5, Raceway SSF, Raceway DML
(Renesys Corporation, May 2003)

Download SSFNet 1.0, JSSF, and CSC DML
(Cooperating Systems, December 1999. No longer supported.)

 


In Association with Amazon.com

Please Support SSFNet by Shopping at Amazon.Com!

Essential Reading:
   

recent news

January 15, 2004: New SSFNet 2.0 release is available (javadoc here):

  • Network animation tool Raceway Views and a number of animated network models are now included in SSFNet distribution. Watch BGP dynamics, worm attacks, and TCP congestion demos by Michael Liljenstam and BJ Premore (created in David Nicol's lab) in the new "animation" directory, and examine the code to learn how they were created.

May 8, 2003: New SSFNet 1.5 release is available:

  • New package SSF.App.Worm models the spread of a network worm such as Code Red v2 or Sapphire/Slammer.
  • Package SSF.OS.BGP4 has new functionality, including route flap damping.
  • Package SSF.OS.OSPFv2 has been upgraded.
  • Out-of-core storage of routing table information is now supported as an experimental feature.

March 18, 2003: An SSFNet mailing list, hosted by Harvard University, is now available as a discussion forum for users of SSFNet.

July 23, 2002: A gallery of baseline networks has been installed; it contains DML models of large, realistic BGP topologies, heavily congested networks, and validation models, together with model descriptions and associated publications.

June 14, 2002: New SOS release 1.1.0 is available):
SOS ("Scripts for Organizing 'Speriments") is a set of MySQL database tools and Perl scripts that:

  • can automatically generate families of DML network models, to systematically explore the parameter space,
  • can automate the process of running a large number of simulation experiments and working with the resulting data, including plotting.
The authors of SOS are Tim Griffin (AT&T) with Srdjan Petrovic, Anna Poplawski and BJ Premore (Dartmouth).

...  old news archive

   
why we're
here

The SSFNet project has two components: research on and development of scalable modeling and simulation tools, and - using these tools - research on the dynamic behavior of very large networks.

The software research has been focused on scalability: This includes modeling scalability with number of nodes, traffic flows, bandwidth, system heterogeneity, as well as performance scalability with number of processors. Modeling scalability is a prerequisite for constructing global-scale network models; performance scalability is a prerequisite for their efficient simulation.

Some of the things you can learn about from this site include:

Scalable high performance Java simulation platforms, often distributed at no cost for research purposes. The best of these are stable, compact, and can execute either serially on a single processor, or in parallel on multiprocessor machines. Parallel execution under Linux, Solaris, and Windows NT using JDK1.2 and higher. Other platforms may support parallelism as well.
A simple, standardized syntax for high-level model description, the Domain Modeling Language (DML). DML has helped SSFNet users create complex topology Internet models with 100,000 multi-protocol hosts and routers. DML specifies a hierarchy of attributes, with inline attribute substitution and multiple inheritance. DML is simple and easy to read and write directly by modelers, is used in graphical network design and validation tools, and serves as a machine-independent model exchange format suitable for storage in databases.
The latest SSFNet distribution: a collection of DML-configurable Java components for Internet modeling and simulation. The distribution includes source code for:
  1. Two derivative frameworks, SSF.OS (for modeling of the host and operating system components, especially protocols) and SSF.Net (for modeling network connectivity, creating node and link configurations).
  2. Core Internet protocol models (IP, BGP4, OSPF, TCP, UDP), Sockets, and various workload-generating client and server application models. Protocol validation tests are included.
  3. Topological network component addressing and automated IP address allocation (CIDR compliant).
  4. Management of global traffic patterns.
  5. Management of parallel random number streams, employing a suite of strong random number generators and statistics from the CERN Colt package.
Tutorials explaining step-by-step how to create DML network models, and how to write configurable protocol models using SSF.OS (in x-kernel style).
Reference manuals for DML, Net configuration attribute hierarchy, and SSF API.

Networking research with the SSFNet tools can help address a number of modeling and simulation challenges, such as:

  • slow convergence in presence of long-range correlated traffic,
  • understanding of scaling conditions: some emergent phenomena can be seen only in sufficiently large networks, with sufficiently many traffic flows,
  • understanding relations between different abstraction levels,
  • predicting Internet behavior under alternative-futures scenarios.

A large amount of work remains to be done, as network simulations on such a large scale create new challenges at each step. This includes current research on monitoring of very large models (10e4 to 10e7 entities), and on scalable tools for interactive graphical model development and management.

The Dartmouth SSF web site distributes C++ DaSSF kernel.

   

Here is a list of people who were involved in the creation of the first SSFNet release (1998 - 1999):

Development of the SSF API, parallel implementations, derivative packages, and the SSFNet Internet models has been a collaborative project involving a number of people. Andy Ogielski, David Nicol and Jim Cowie have been the principal investigators.

The principal designer of the SSF API is Jim Cowie, who also developed its first Java and C++ reference implementations.

C++ DaSSF has been designed and implemented by David Nicol, Jason Liu and Anna Poplawski. Nicol designed, implemented and analyzed a number of very efficient techniques for parallel discrete event simulators.

DML (Domain Modeling Language) has been designed by Jim Cowie and Andy Ogielski. DML provides database-oriented capabilities for large model design and configuration, aided by multiple inheritance and substitution of attributes.

The derivative frameworks SSF.OS and SSF.Net have been implemented by Jim Cowie, improving the early design used by Ogielski and his students. The SSF.OS approach to efficient, configurable protocol graph design has been inspired by the x-kernel, but the design of SSF.OS is simpler, and it differs from the x-kernel in many ways.

Internet modeling has been led by Andy Ogielski. The first implementations of the major Internet protocol models have been created by BJ Premore (BGP4), Philip Kwok (OSPF), Hongbo Liu (TCP, UDP, Sockets, client/server); the released versions include revisions and upgrades by additional authors.

The list of people in the core SSFNet development team has been changing with time, of course. More recent - 2001 and later - SSFNet packages were contributed by Hagen Boehm and Dirk Jacob (SSF.OS.OSPFv2), Michael Liljenstam (SSF.Util.Plot) and Yougu Yuan (SSF.App.DDoS).

As always, there have been many more people who contributed code improvements and bugfixes.

some
history
SSFNet sponsors

DARPA

Institute for Security Technology Studies at Dartmouth

Renesys Corporation


The SSF Research Network does not endorse or warranty any particular SSF or DML implementation; links to download sites are provided as a convenience only.
Send email to
webmaster@ssfnet.org to have your SSF implementation listed here.

Copyright © 1999 - 2002 SSF Research Network.