Chapter 1. Introduction

This manual describes the parallel feature of SpecTcl that was introduced in version 6.0. Parallel SpecTcl supports both interactive and offline processing of event files. When run on a multi-core machine, Parallel Spectcl performs multi-threaded unpacking and histogramming being limited only by the I/O throughput.

This document is organized as follows:

Some notes before diving into the details. Parallel SpecTcl is an extended version of SpecTcl. It parallelizes the analysis pipelines speeding up the unpacking and histogramming process. Just like the normal SpecTcl, to use Parallel SpecTcl you'll need to define and register an analysis pipeline. The same even processors you use in Spectcl can be used in the parallel alternative, although they have to be setup and implement differently. Thread safety is the principle behind the new implementation. Thread-safe code only manipulates shared data structures in a manner that ensures that all threads behave properly and fulfill their design specifications without unintended interaction. Examples of implementation for VMUSB and DDAS analyses will be provided. Once implemented correctly, set of parameters, spectra, gates and gate applications can be applied just like the normal SpecTcl.