WARPED Logo

NOTICE

These pages refer to the version 1.x series of the SAVANT/TyVIS/warped toolset. Updated web pages for the SAVANT project are available at Clifton Labs. These pages are maintained for historical purposes and relate to the version 1.x series software which can be downloaded here.

Introduction

WARPED is a public domain Time Warp simulation kernel written in C++.  The software (version 1.02) is freely available via anonymous ftp (as gzip'ed, tar file). Users may modify, distribute, and use the software contained in the WARPED distribution under this license agreement. We encourage you to use this software and report problems or bug fixes :-), however, please be reasonable. Sending a 10,000 line program that runs for 10 hours and then core dumps is not likely to receive any of our attention. We are happy to work with reported errors, but they must be carefully identified by YOU.  Please respond accordingly and accept our apologies if your problems require some time for fixing.



WARPED Software WARPED Documentation Papers

WARPED Applications (included in the WARPED distribution)

Related Software

Some Details about the WARPED Kernel Code

The WARPED simulation kernel has been developed and is undergoing testing, debugging, and performance enhancement. The current release is version 1.02, patchlevel 0. The distribution includes a plug-in sequential kernel to support comparative analysis to parallel executions. Primary development has been on Linux-based Pentium PCs, Sun Workstations, a 4-processor Sun SparcCenter 1000,  and the Intel Paragon. Limited testing has occurred on an IBM SP1 and an  SGI Origin 2000. The entire WARPED kernel consists of slightly less than 8000 lines of C++ source code and compiled with the g++ (version 2.7.2 or later) compiler (-O2) generates almost 650K bytes of object code. The system has been profiled and tested in various configurations. We have successfully run queuing simulations up to 10 million tokens and simulations with slightly more than 100,000 Time Warp objects. The parallel kernel can be configured to employ varying Time Warp optimizations. In the current release, the following configurations are supported:
 
Configurations available in WARPED
Scheduling Lowest Time-stamp First (LTSF) Scheduling
State Saving Algorithms Periodic (Fixed and Dynamic ) State Saving (currently Linn's, Fleischmann's,  Ronngren's, and Palaniswamy's Adaptive State Saving algorithms are supported)
Memory Management Algorithms 1. A simple variant of CustoMalloc 
2. Brent's implementation of First Fit Allocation Strategy 
3. Knuth's Buddy System Memory Allocation Strategy 
4. A Segregated Allocation Strategy 
Event List Management Simple Sorted Linked List Data Structures  (other data structures like heaps and trees will be added)
Cancellation Strategies 1. Aggressive Cancellation 
2. Lazy Cancellation 
3. Dynamic Cancellation 
GVT Estimation Algorithms 1. pGVT (w/o message acknowledgement, assuming FIFO messaging) 
2. Mattern's GVT Estimation Algorithm (assuming FIFO messaging)
Fossil Collection Algorithms 1. A variant of Fujimoto's "on-the-fly" fossil collection algorithm 
Communication Optimizations 1. For distributed memory machines, the MPICH message passing library is  used for communication. 
2. For clusters of SMPs (clumps), a combination of light-weight thread-based messaging *and MPICH is used. 
Termination Algorithm Simple circulating token-based algorithm
 
*Note: To use the light-weight thread-based messaging facility you will need the TCPMPL library , a light weight message passing library based on TCP/IP, developed by us. More information about the TCPMPL package is available here.

These options are controlled by a configuration file. In addition, we assume a strict message passing paradigm using the MPI standard (we are using version 1.1.1 of MPICH). All development has been performed using various versions of the GNU g++ compiler. The current version requires at least version 2.7.0 and we have been using 2.7.2.1 (and later versions).

The parallel WARPED kernel will also has configuration parameters to cause the collection and reporting of various statistics regarding the simulated system. In addition, a set of debug capabilities are included.

The WARPED kernel has been analyzed using Pure (now Rational) Software's suite of performance analysis tools, namely: purify, quantify, and purecov. Purify is a tool that detects run-time memory leaks and corruption errors. Purify also allows for the detection of many other types of errors, such as free memory reads, deleting memory multiple times, and stack corruption. The current version of WARPED has been extensively tested with purify and has been shown to run for hours without memory loss. Quantify and PureCov have also been useful in the analysis and tuning of WARPED. Quantify is a code profiler that works via basic block counting. With this information, the appropriate sections of the kernel can be tuned for greater performance. PureCov is a code coverage tool that can point out, on a per-line basis, what code has actually been executed. Code marked as unexecuted can then be analyzed, and removed if necessary or exercised with additional tests to ensure its integrity.

WARPED Project Contributors

The following individuals have made significant contributions to the WARPED project. If you like the WARPED system and would like to thank someone: thank them; buy them a beer, pizza, or Coke (the drink); hire them....

Nael Abu-Ghazaleh, Vijay Balakrishnan,  Curtis Brunswick, David Charley, Malolan Chetlur,  Peter Frey, Balakrishnan Kannikeswaran, Venkatram Krishnaswamy, Dale MartinTim McBrayer, Lantz Moore, Avinash Palaniswamy, John Penix, Krishnan Subramani, Radharamanan Radhakrishnan, Raghunandan Rajan,  Umesh Kumar V. Rajasekaran, Dhananjai Madhava Rao, Girindra D. Sharma,  Ardhendu Singh, Krishnan Subramani, Karthik Swaminathan, Narayanan Thondugulam, Chris Young, Philip A. Wilsey.

This research was supported in part by the Advanced Research Projects Agency, monitored by the  Department of Justice under contract number J-FBI-93-116. In addition, we benefited greatly from the technical support and guidance by the ARPA and DOJ program managers, notably: Bob Parker, John Hoyt,  and Lt. Col. John Toole. Without their support and interaction, the work documented on this web page would  not have been possible. Thank you.

Other Simulation Links

  1. I see no need to duplicate the excellent page found here....
  2. or here....
  3. PDES at the Indian Institute of Science, Anurag Kumar
  4. Key Resource Links2Go Key Resource Simulation Software Topic

WARPED, version 1.02
warped@ece.uc.edu