Grid Computing
My interest in grid computing began as an offshoot of my primary interest in automated reasoning. Grid computing allows the computing resources of several organizations to be used together towards a common goal. Since automated reasoning is a very demanding computational task, I began to wonder if grid computing could be used for this purpose.
With generous support from the National Science Foundation (NSF), we were able to set up a grid computing laboratory in our department. The "fish" cluster, as we call it, has roughly 40 computers. We have used it to explore grid-enabled versions of classic algorithms in automated reasoning, including propositional satisfiability and model checking. We are currently building a grid-aware theorem prover, in the tradition of the Boyer-Moore family of provers.
My interest has grown in other directions. Besides automated reasoning, what other applications benefit from grid computing? For their master's work, Todd Bollinger applied grid computing to scientific visualization, and Andrey Nifatov looked at training neural networks over a grid.
As my interest in grid computing applications grew, I decided to offer a course on Grid Computing Applications to Scientific Computing. This course, developed in part by a grant from the Wyoming Space Grant Consortium (WySGC), was offered for the first time in the Spring of 2006. With further support from the NSF CSUMS project, Siguna Müller and I have morphed this course into a course on distributed computation for cryptographic applications.