SimSET is Monte Carlo simulation software for emission tomography. SimSET can use NetSolve, a client-server
system for distributed computation, as a simple but effective scheme for parallel execution.
NetSolve is “grid middleware” which enables a user (the client) to
run specific computations remotely and simultaneously on a grid of networked computers (the servers).
Since the servers do not have to be identical machines, computation may take place in a hetergeneous
SimSET is a public domain package of routines written in C. SimSET is summarized as follows:
The SimSET package uses Monte Carlo techniques to simulate the physical processes and in-strumentation
in emission imaging.
The Photon History Generator, performs Monte Carlo simulations of photon creation and
transport through heterogeneous attenuators for both SPECT and PET, i.e., it generates photons
and transports them through the “object” to the face of the collimator or detector.
The Collimator Module, receives and tracks photons through the collimator being modelled.
The Detector Module, tracks photons through the specified detector, recording the interactions
within the detector for each photon. The interactions are used to compute a detected location
and total energy deposited.
The Binning Module, is used to process photon and detection records. Histograms and images,
together with photon history files, make up the final output from a simulation.
A realistic simulation may require millions of emission decay events. This may result in an extremely long
execution time when a simulation is run as conventional sequential computation on a single processor. But
the individual decay events are stochastically independent; therefore, if multiple processors are available, the
heavy computational load can be partitioned into subcomputations that run in parallel on different processors,
the outputs of which are combined upon completion.
One way to access multiple processors is to use a parallel computer. Another way is to implement
distributed computation on a network of computers, a mode of computation in which the individual
machines do not have to be identical. We implemented distributed computation of SimSET by using
NetSolve, a public domain package of routines in C (plus some environment-specific interfaces)
which enables a user to run application-specific code remotely on networked computers.