The current computational approach, of a single thread per core scales
well but requires prohibitive large amounts of memory and sequential
file merging. We propose to develop new algorithms and capabilities
that will allow multi-threaded applications that will run efficiently
on the new multi-core hardware.
The objective of our FY12 work will be to implement processing
decomposition of different data "chunks" utilizing
high-performance-computing techniques, develop efficient scheduling
algorithms, and deploy prototype applications to study and
characterize the performance of the new capabilities.
Trimester 1: (artdaq, using MPI) Begin converting our existing
single-threaded event reconstruction/filtering framework to a
multithreaded application, using HPC computing techniques and
technologies (high performance networks, MPI). Implement strategies
for the decomposition of the processing of each event into ‘chunks’
that can be executed concurrently. We
Trimester 2: (Multi-schedule art) Develop and prototype dispatcher algorithm for
multi-threaded applications. Instrument code for performance studies,
Trimester 3: Utilize framework for evaluating real-time processisng
configurations and determining design parameters for compact,
high-throughput systems. Study dataflow in a streaming realtime
environments to determine system design parameters for
experiments. Implement typical filtering algorithm on multi-core
system (e.g. GPU) and study performance.