Demonstrators

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,

V.Innocente

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,

V.Innocente,

D.Piparo

Real-time Trigger using GPUs Implement low latency and high throughput algorithms for NA62 online trigger

F. Pantaleo,

V.Innocente