Go-HEP: writing concurrent software with ease and Go

08/02/2018
by   S. Binet, et al.
0

High Energy and Nuclear Physics (HENP) libraries are now required to be more and more multi-thread-safe, if not multi-thread-friendly and multi-threaded. This is usually done using the new constructs and library components offered by the C++11 and C++14 standards. These components are however quite low-level and hard to use and compose. However, Go provides a set of better building blocks for tackling concurrency: goroutines and channels. This language is now used by the whole cloud industry: docker/moby, rkt, Kubernetes are obvious flagships for Go. But to be able to perform any meaningful physics analysis, one needs a set of basic libraries (matrix operations, linear algebra, plotting, I/O, ...) We present Go-HEP, a set of packages to easily write concurrent software to interface with legacy HENP C++ physics libraries.

READ FULL TEXT
research
06/20/2019

Program Generation for Linear Algebra Using Multiple Layers of DSLs

Numerical software in computational science and engineering often relies...
research
04/04/2021

LAGraph: Linear Algebra, Network Analysis Libraries, and the Study of Graph Algorithms

Graph algorithms can be expressed in terms of linear algebra. GraphBLAS ...
research
07/01/2020

Is Rust Used Safely by Software Developers?

Rust, an emerging programming language with explosive growth, provides a...
research
02/05/2019

Fearless Concurrency? Understanding Concurrent Programming Safety in Real-World Rust Software

Rust is a popular programming language in building various low-level sof...
research
10/31/2020

Mir: Automated Quantifiable Privilege Reduction Against Dynamic Library Compromise in JavaScript

Third-party libraries ease the development of large-scale software syste...
research
09/29/2021

preCICE v2: A Sustainable and User-Friendly Coupling Library

preCICE is a free/open-source coupling library. It enables creating part...
research
07/19/2021

Limited Associativity Makes Concurrent Software Caches a Breeze

Software caches optimize the performance of diverse storage systems, dat...

Please sign up or login with your details

Forgot password? Click here to reset