Skip to Main content Skip to Navigation
Conference papers

fwk: a go-based concurrent control framework

S. Binet 1, 2
1 LAL - Sce Informatique
LAL - Laboratoire de l'Accélérateur Linéaire
Abstract : Current HEP control frameworks have been designed and written in the early 2000's, when multi-core architectures were not yet pervasive. As a consequence, an inherently sequential event processing design emerged. Evolving current frameworks' APIs and data models encouraging global states, non-reentrancy and non-thread-safety to a more concurrent friendly environment, in an adiabatic way, is a major undertaking, even more so when relying on the building blocks provided by C++. This paper reports on the development of fwk, a framework investigating and leveraging the built-in tools of the Go language to enable concurrency at the event- and sub-event-levels. The concurrency features, code distribution and tooling of Go will be first presented to set the scene and explain why Go -and its ecosystem at large- is a natural fit for a concurrent framework. The aim for such a framework is to be usable as a big HEP experiment's control framework. fwk is also meant to be a nimble application for analyses which require quick development/deployment cycles but without paying the price of a VM on the runtime performances side. The paper will then discuss the design decisions applied to the various components of fwk, introduce its current capabilities (I/O, histogramming, dataflow, ...) and highlight how the design decisions of the Go language adequately paved the way for fwk. Then, fads, a fast detector simulation toolkit, will be introduced. 'fads' is the port of a single-threaded fast detector simulation toolkit (Delphes) to fwk. The paper will present benchmarks (CPU, RSS, I/O, scalability) of real Delphes use cases against fads, as well as comparisons of fads performances with regard to other next-generation concurrent frameworks, using synthetic data. Performance tools and concurrency debugging tools provided with the Go toolchain and used for this comparison will also be presented. Finally, the paper will present prospects and prototypes to fill the gap in the nascent Go-based HEP ecosystem and landscape - namely: histograms interactive displays and interactive analysis tools.
Complete list of metadata
Contributor : Sabine Starita <>
Submitted on : Monday, April 13, 2015 - 3:45:10 PM
Last modification on : Wednesday, September 16, 2020 - 5:45:22 PM


  • HAL Id : in2p3-01141711, version 1



S. Binet. fwk: a go-based concurrent control framework. 21st International Conference on Computing in High Energy and Nuclear Physics – CHEP2015, Apr 2015, Okinawa, Japan. ⟨in2p3-01141711⟩



Record views