Work at LANL

I'm part of the Performance and Architecture team in the Advanced Computing Lab.

This page is far out of date. Some years ago I wrote what appears below. My publication list gives a better idea of what I've been up to.


(circa 2002) Currently I am working on a parallel simulation project that seeks to provide predictive performance analysis of extreme-scale, novel, or hypothetical computer architectures,

There are several years' of intervening projects to be filled in here including Coupled Environmental Modeling (using, among other things, the modular modeling system MMS), Aldebaran (notably requiring defining new components in Midas 2K), and PADRE and Rose (part of the Overture project, now at Lawrence Livermore National Laboratory).

In 1996 I worked on the Open Architecture Controller project in CIC-15. The goal was to produce a truly extensible machine controller to run on commodity hardware. The implementation language was Java, running on Windows 95 and the real-time kernel IA-SPOX. Part of the project entailed producing a compiler from Java bytecode to C (for performance), and writing the needed part of the Java run-time system (so that it could run on IA-SPOX). I was involved in both of those efforts.

Previously I was P.I. on a joint effort with Cray Research Inc., defining and developing new performance analysis tools for their current and future supercomputers, starting with the CRAY T3D MPP. Here's the overview.

I came to LANL to LANL as a postdoc to pursue research in high-performance computing. My first project was to port the Glasgow Haskell Compiler to the Thinking Machines Inc. CM-5 SPMD supercomputer, and undertake various scaling studies of applications written in this lazy, parallel, strictly functional language. I'm reasonably certain that the result was the fastest functional language implementation extant. Here is the first draft of the report.

Despite the fact that performance modeling and benchmarking are a central theme of the CCS-3 Parallel Architectures Lab, I quickly discovered that functional programming is not of interest to LANL. I was enjoined to more relevant performance work; here was my first effort.