Massively parallel SpecTcl uses the MPITcl package, batch SpecTcl and additional getters and distributor establishing commands to support running a massively parallel SpecTcl analysis on a cluster. The computing models that are supported all involve running the full analysis pipeline, raw data to histograms in parallel and collecting the resulting histograms when all workers are done.
In this chapter we will:
Describe the mpispectcl package and its contents.
Describe two methods by which SpecTcl can be run in parallel using these tools.
Provide a sample detailed script that supports one of those models.
Again, please refer to the reference pages in the appendix for full reference information.
The mpispectcl package provides an additional getter an distributor for SpecTcl as well as commands that allow you to set these up for the analyzer.
The additional distributor, MPIDistributor, supports distributing data to a set of MPI clients using a 'pull' protocol. In a pull protocol, each client requests its next block of data from the distributor. When no more data is available, the distributor, indicates that to all clients on their next data requests until all clients have been told there's no more data. The command that sets this distributor up is mpisink
The additional data getter, MPIDataGetter is a data getter that gets data from an MPIDistributor. The command that sets this data getter up is mpisink