Abstract

The commonalities between the ALICE and FAIR experiments and their computing requirements led to the development of large parts of a common software framework in an experiment independent way. The FairRoot project has already shown the feasibility of such an approach for the FAIR experiments and extending it beyond FAIR to experiments at other facilities[1, 2]. The ALFA framework is a joint development between ALICE Online- Offline (O2) and FairRoot teams. ALFA is designed as a flexible, elastic system, which balances reliability and ease of development with performance using multi-processing and multithreading. A message- based approach has been adopted; such an approach will support the use of the software on different hardware platforms, including heterogeneous systems. Each process in ALFA assumes limited communication and reliance on other processes. Such a design will add horizontal scaling (multiple processes) to vertical scaling provided by multiple threads to meet computing and throughput demands. ALFA does not dictate any application protocols. Potentially, any content-based processor or any source can change the application protocol. The framework supports different serialization standards for data exchange between different hardware and software languages.

Highlights

  • ALFA is the new ALICE-FAIR concurrency framework for high quality parallel data processing and reconstruction on heterogeneous computing systems

  • Each process in ALFA assumes limited communication and reliance on other processes. Such a design will add horizontal scaling to vertical scaling provided by multiple threads to meet computing and throughput demands

  • The scalability of the system has been demonstrated on a computing cluster equipped with QDR and FDQ InfiniBand Host Channel Adapters (DDS)

Read more

Summary

Introduction

ALFA is the new ALICE-FAIR concurrency framework for high quality parallel data processing and reconstruction on heterogeneous computing systems It provides a data transport layer and the capability to coordinate multiple data processing components. With multi-processing, each process assumes limited communication and reliance on other processes Such applications are much easier to scale horizontally (i.e: start new instances on the same node or a newly added node) to meet computing and throughput demands than applications that exclusively rely on multiple threads which can only scale vertically (to scale we need to create more threads to the already existing threads in the same process). The data transport layer in ALFA provides a number of components that can be connected to each other in order to construct a processing topology They all share a common base class called device. Content-based Processor: This is the place where the message content is accessed and the user algorithms process the data

FairMQ
Findings
Conclusion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call