In the first workshop at Fermilab it was proposed to develop "demonstrators" for different capabilities in a small scale with clear deliverables and metrics, and work in short cycles of a few months long. Eventually, success in the small scale for different areas will bring more developers to the effort, critical mass would be reached, and a plan for a prototype of a HEP framework could emerge.
This is the list of demonstrators that have been defined:
Demostrator | Summary | Contact Person(s) |
---|---|---|
'Whiteboard' service | Design and implementation of a ‘service’ able to schedule algorithms/modules based on their data dependencies |
B. Hegner, P. Mato, D.Piparo |
ng-go-gaudi | Investigate use of Go as a programming language to expose and harness concurrency in HEP | S. Binet |
CET multicore framework | Use of MPI and OpenMP parallelism on a DAQ project based on Darkside-50 |
M. Paterno, J. Kowalkowski |
libdispatch investigation | Further investigate use of libdispatch (GCD) | C. Jones |
Evaluation of frameworks | Define standard set of modules timings and configurations, data samples, and set of module dependencies. Define torture tests that will help determine performance limits. | C. Jones |
Multithreaded I/O | An attempt to integrate ROOT I/O subsystem and libdispatch by scheduling the different operations (disk I/O, compression, object serialization) concurrently |
C. Jones, Ph. Canal |
OpenCL for Physics Applications | Find a programming model to exploit current and future hardware for compute intensive tasks |
T. Hauth, D. Piparo, |
Virtualization | Can virtualization help in improving performance in many core environment | P. Buncic |
TBB investigation for SuperB | Implement a small system with the Intel Threading Building Blocks (TBB), which is a library offering a rich approach to expressing parallelism in a C++ program | F. Giacomini |
Data Locality in G4 | Try different data flow organizations within G4 and measure the actual effect on the use and leverage of CPU caches | Ph.Canal |
Adapting G4MT | Adapting G4MT prototype to an external concurrency model to be used by the experiment 's frameworks | J. Apostolakis |
High performance simulation (vector prototype) |
Develop a simulation aimed at achieving maximum performance on parallel architectures integrating fast and full simulation in the same framework. Study parallelism at different granularity levels. | F. Carminati |
Object sharing | Demonstrate sharing of C++ objects among processes | P. Calafiura |
Likelihood parallelization | Parallelization of likelihood functions for data analysis | A. Lazzaro |
Track Seeding parallelization | Parallelization of the seed builidng in the CMS reco software |
T.Hauth, D.Piparo |
Real-time Trigger using GPUs | Implement low latency and high throughput algorithms for NA62 online trigger |