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 |