Distributed Code

Prescience Lab Related Codes

Note that there are additional codes available on the Prescience Lab Website
  • FPSpy. A tool for spying on the floating point behavior of existing, unmodified scientific applications.
  • Nautilus Aerokernel. A tiny, specialized kernel for building hybrid run-time systems for x64, Intel Xeon Phi, and other platforms. (With Kyle Hale)

  • Philix. A toolchain for building and booting third-party OSes on the Intel Xeon Phi. (With Kyle Hale)

  • Palacios VMM. A virtual machine monitor for modern x86 machines. (With Jack Lange and other members of the V3VEE Project)

  • VSched. A real-time scheduling tool for virtual machines. (with Bin Lin)

  • VNET. A virtual networking tool for virtual machines. (with Ananth Sundararaj)

  • TameParallelTCP. Predict throughput of parallel TCP. (with Dong Lu)

  • GridG. GridG is a generator of synthetic computational grids. (With Dong Lu)

  • RGIS. RGIS is a relational grid information service system.

  • Linux Diffusion. Linux Diffusion is a set of kernel modules and scripts that allow you to piggback additional information on existing packets. (With Brian Cornell and Jack Lange)

  • Resource Prediction System Toolkit (RPS). RPS is a toolkit for building on-line prediction systems.

  • Playload. Playload is used to play back realistic CPU workloads stored in host load traces. An archive of host load traces is also available.

  • Minet. Minet is a user-level network stack designed primarily for teaching. Minet code is available by request only.

  • LDOS. LDOS is a lightweight distributed object system. LDOS is available by request only.
  • Fx Project Related Codes

    These are codes distributed by the Fx project which I wrote or have contributed to.

  • ART: Address Relation Toolbox. ART lets you compute relations between source and destination addresses (currently support is included for multidimensional HPF block-cyclic arrays and their operations), compress them (using a variety of methods), and then use the compressed relations to do copies expressed by the relations at memory bandwidth. It is an example of an inspector/executor system. I wrote ART in 1995-6.
  • Related Papers: ACM SIGMETRICS '96 LCPC '95 LCR '95 (More details on my papers page.)
  • Contact me if you are interested in the sources.
  • CMU task parallel program suite. This is a series of Fortran 77 programs, mostly from the signal processing domain, that lend themselves to different combinations of data and task (control) parallelism. We provide them as a benchmark suite for the parallel computing community. I wrote the stereo vision code in 93-94. The suite is described in this tech report.

  • SCANMACS: C Macros For Scan (Parallel Prefix) Operations on Regular Block-Cyclic Distributed Arrays. The interface is similar to the HPF 1.1 Standard Library Scans. SCANMACS can be used in any C or C++ message-passing parallel program. It also includes an interface and compiler extensions for use in Fx. I wrote SCANMACS in 1996.
  • Technical Report
  • Sources (gzipped tar file)
  • My Stereo Vision Codes in Fx. These are a series of different implementations of Okutomi-Kanade multi-baseline stereo in Fx. The implementations use different combinations of task and data parallelism to optimize for throughput or latency. The best latency is about 100ms, which is within 30% of a handcoded version. The best throughput is about 18 frames/sec, which is faster than the handcoded version, and could be even faster, but memory limitations restrict the degree of replication that can be done on the iWarp. A description and detailed performance results appeared in Supercomputing '94.

  • Other Codes

    Warning: These codes are completely unsupported by NWU, the Prescience Lab, CMU, the Fx Project or by myself. If you decide to use them, you do so at your own risk. Neither NWU, the Prescience Lab, CMU, the Fx Project, my co-authors, nor myself are responsible for any damage or loss resulting from their use.

    The codes are, however, believed to be functional and stable.

  • GDSAMDI: A Framework for the Graphical Display of Search Algorithms in Microsoft Windows
  • Executable for Win32 (NT, 95, Win32s)
  • Sources for MS VC++ 4.0 (ZIP file)
  • MacFS: A Portable Macintosh Filesystem
  • Technical Report
  • Sources (gzipped tar file)