CASA Parallelization Project Scope
With the expansion of the VLA and the construction of ALMA, data sets are increasing in size and data processing time is increasing proportionately. In addition, ALMA has the requirement to deliver science ready data products to users, which requires the use of the CASA pipeline in a production environment.
The scope of the project is to parallelize CASA in order to improve performance on computing clusters as well as modern PC architectures. This includes NRAO clusters, collaborator clusters, and power user clusters at academic or other research institutions.
The project high level deliverables are:
- A parallelization framework for CASA that can be implemented at both the task and tool level. (Python and C++)
- Parallelization of CASA (Interferometry) Tasks including
- Filling
- Calibration
- Flagging
- Imaging
- Analysis
- Display
- Parallelization of the Pipeline
- Development of configuration tools and heuristics to configure CASA to effectively use the resources allocated.
- Testing and benchmarking of the parallelized system to ensure both numerical accuracy (consistency with previous serial implementations) and that desired processing time improvements are being realized. Testing and benchmarking will also identify areas of improvement for subsequent development cycles.
- Documentation of installation and configuration procedures from both the user and system administrator perspectives respectively.
The project will be approached with an iterative/incremental development model, deploying the parallelization framework first, with sub-optimal parallelization of tasks at the python/task level. Deeper parallelization (at the C++ level) and optimization of resource use (I/O shaping, processing efficiency) will be added in subsequent cycles.