Wednesday, November 4, 2020

Trends in Computing


The challenges of computing in science and technology have grown in several aspects: computing software and infrastructure is mission critical, the requirements in communication, storage, and CPU capacity are often above the currently feasible and affordable level, and the large science projects have a lifetime that is much longer than one cycle in hardware and software technology. Cross-disciplinary solutions in physics and detector simulation, data analysis, as well as in software engineering and Grid technology, are presented, with examples of their use in global science projects in the fields of physics, medicine, and space. 


I. CHALLENGES OF PARTICLE PHYSICS COMPUTING 


A. Physics Challenges COMPUTING in particle physics and related research domains faces unprecedented challenges, determined by the complexity of physics under study, the detectors, and the environments where they operate. The complexity of physics of the Large Hadron Collider (LHC) experiments at CERN  derives from the need to extract rare events from an overwhelming QCD background, whose cross section exceeds the interesting signals by nine orders of magnitude. The high machine luminosity necessary to produce such rare events contributes to the complexity of the patterns to be studied, where the interesting physics features must be recognized, reconstructed, and analyzed from detector signals resulting from the overlap of several events occurring at every bunch crossing. The large number of 10 events recorded annually per experiment together with the complexity of the physics and of detection techniques is the source of the enormous computational requirements of LHC experiments: 12–14 petabytes of data will be generated each year, and their analysis will require the equivalent of 70 000 of today’s fastest PC computers. About 5000 scientists in institutes spread around the globe require access to the data and computing resources. Moreover, the LHC software project lifetime of 20 years requires that the software system be prepared for several technology changes. The software for astro-particle experiments, which embrace a wide spectrum of scientific programs, from underground neutrino physics and dark matter searches to astrophysics measurements on satellites to cosmic ray physics, is characterized by an ample variety of requirements. In such experiments, the physics interactions involved may span many orders of magnitude in energy range, for instance, from the scale of X-ray fluorescence Manuscript received November 22, 2003. 

Modeling physics interactions over such an extended energy range, as well as complex environments, such as underground experimental areas, or sophisticated spacecrafts enclosing science instruments, represents a computing challenge, especially for simulation software. This challenge is even strengthened by the fact that software often plays a mission-critical role in many of such experiments: The characteristics of detectors and radiation shielding of an experiment hosted on a satellite, usually based on software simulations, cannot be modified after the launch. Therefore, the need to deal with the risks intrinsic to mission-critical applications generates strict requirements of software quality and reliability, in addition to the functional requirements specific to the physics scope of such experiments. Similar needs of quality and reliability are also fundamental in medical applications, such as oncological radiotherapy and medical imaging. Other requirements derive from the peculiar environment of operation of particle physics software in this domain: friendly user interface and easy configuration of the experimental setup are essential characteristics for usage by hospital staff, without requiring specific software knowledge. The major challenge in this field, especially concerning the usage of particle physics software in radiotherapy practice, consists of achieving adequate speed for clinical application, without sacrificing precision and reliability. 



II. SOFTWARE TECHNOLOGY

Software technology is a key element, enabling science projects to cope with the challenges described in the previous section. The availability of a new software technology—object-oriented techniques. first adopted for particle physics in the 1990s—has significantly contributed to address many of these challenging issues. Object-oriented technology has offered the means to achieve apparently contradictory objectives, fundamental for particle physics experiments and related applications: its characterizing features (inheritance, polymorphism, and dynamic binding) grant the experiments’ software openness to change together with stability of core code, robustness for intensive application, as well as flexibility for alternative implementations. The object-oriented technology, and in particular the component-based architectural approach it supports, play a fundamental role in large size experiments, facilitating the maintainability of software over a long time scale and the integration of developments widely distributed geographically. The relatively recent introduction of this new technology in particle physics experiments and related domains has represented a revolution with respect to well-established techniques in these fields; in fact, the move to the object-oriented technology has implied a change of paradigm, rather than just the adoption of a new programming technique. While the benefits of the technology are significant, the difficulty of its penetration in an environment educated to, and familiar with, procedural programming are the source of many problems in the experiments. Integration of past expertise into the framework offered by the new technology represents new challenges in the experiments.

 The effective usage of the technology itself mastered only by a relatively small number of specialists needs to be established. At the same time, while the object-oriented technology has not been fully digested yet in the field of particle physics software, new emerging technologies (generic programming, generative programming, aspect-oriented programming, etc.) have appeared and have started to be used in pioneering projects in the same field. One of the benefits of the adoption of the object-oriented technology consists in the possibility of defining protocols—in terms of abstract interfaces, thus facilitating the interoperability of different systems. This feature has been exploited by the AIDA project—a common effort among a variety of individual projects for the development of data analysis systems—to define common interfaces. This strategy allows the user to select specific implementations at run time, by loading shared libraries, while the code only uses the common abstract interfaces. The technology allows even to go across the language barrier; in fact, AIDA interfaces allow the interoperability of C++ systems, like Anaphe  or Open Scientists , and of a Java system like JAS 0. This strategy offers various advantages: The user has the freedom to configure the software application with the analysis tools best fitting his specific needs, at the same time minimizing the risk of introducing dependencies on external software systems that could complicate the long term maintenance of the application. The technology adopted is also instrumental to enable new functional capabilities in the software which, in turn, may open new perspectives to experimental research. Object-oriented technology has been the key to the strategy of the Geant4  Toolkit to offer a variety of models for the simulation of the same physics processes: different approaches, specialized by energy range, particle type, and material, coexist in the toolkit, allowing the user to select the option most appropriate to any specific application, while the Geant4 kernel treats all of them transparently through the same abstract interfaces.


III. SOFTWARE ENGINEERING 

While technology is a key factor, it is hard to expect that technology itself may represent a breakthrough with respect to the many challenges in particle physics software. Past observations have confirmed that, because of the intrinsic nature of software, it is hard to expect a technology revolution in the software domain, with effects comparable to significant innovations in computing hardware, like advancements in electronics and large-scale integration. Indeed, in the recent years, the attention has shifted from mere software technology to the software process, that is, to the way software is developed; quantitative standards, such as the Capability Maturity Model and ISO/IEC 15504 , have been defined to evaluate the software process itself. The discipline of software engineering is as essential as software technology to cope with the challenges of computing for particle physics experiments and related fields; in particular, it is fundamental to address the many nonfunctional requirements associated with the challenges listed in Section I-B. 

Geant4 has been the first one among large particle physics software projects to adopt a rigorous software engineering approach . This move has been fundamental to the success of the project, allowing to fully exploit the advantages of the software technology in response to the needs of multidisciplinary applications in the most diverse fields. The adoption of a rigorous software engineering has also contributed to the transparency of implementations of various physics processes in the toolkit, thus contributing to the validation of experimental results. While the role of software engineering, in general, and of software process, in particular, is well established in the professional software environment as the key to achieve software quality, and has been adopted for several years in physics environments characterized by mission critical software applications, such as space science, this discipline is relatively new to the domain of particle physics software, and is often perceived with some skepticism in particle physics research. 


 IV. COMPUTING GRIDS 

The emerging grid paradigm represents the most promising solution to provide seamless, global computing resources for particle physics, biomedical research, astronomy, and other sciences and fields where similar requirements exist. Grid computing is different from conventional distributed computing by providing transparent resource sharing for virtual organizations . At the heart of “The Grid” are several software components called middleware that hide the complexity of the underlying system of CPU servers, data servers, and performing networks from the end users providing seamless access to these resources. The major components of the system provide replication and location of data sets, allocation of resources, and authentication of users. Other components address the monitoring and management of the computing fabrics. The LHC Computing Grid  project sets out to provide the computing infrastructure for the LHC experiments that will start to take data in 2007. While the grid technology has been developed outside of high-energy physics, the presently ongoing debugging, certification, deployment, and operation in a global production quality environment constitutes a major contribution to the expected success of grids in many other fields. The LCG project has chosen that the compute elements are built from commodity components such as standard PCs running the Linux operating system. Although the regional computer centers  are classified as Tier-0, Tier-1, Tier-2, etc., with decreasing requirements on compute power and mass-storage capability, the grid is designed in a decentralized way where the roles of operation centers and support centers can be geographically spread over several time zones. 

A first version of the middleware software (LCG-1) deployed in the LCG project has been installed at 23 sites worldwide. The first data challenges of the LHC experiments consist in rather controlled simulation and reconstruction productions with well defined programs run by a small number of experts. The grid will later be put to the real test when data analysis by many physicists will be tried on distributed data using a large diversity of software in a rather random fashion. Projects for grid computing are currently in progress in diverse domains, from earth observation science to biology. Grids being a new technology, several projects have set out to develop middleware leading to the problem of inter-operability between different incarnations of the Grid. International Software Collaboration The complexity of the software to be developed in response to the physics challenges, the wide geographical spread of expertise required, the long-time scale of development, and maintenance over the life cycle of the experiments require significant investments of resources. While in the past the development of general-purpose software systems was usually confined to small, specialized groups in a laboratory, a recent trend in particle physics consists in the creation of large international collaborations around software and computing projects of general interest. Examples of this trend are the Geant4 Collaboration, consisting of more than one hundred members, and the projects funded by the European Union for the development of computing grids. The global nature of particle physics software is highlighted not only by the creation of large international collaborations dedicated to software projects, but also by the multidisciplinary spectrum of applications of the major simulation and analysis systems. Similar requirements of functional capabilities—such as physics models or mathematical algorithms—are shared by largely different experimental domains: 

The ability to offer solutions capable to go across the boundaries of a single experiment, or even of a field of scientific research, represents one of the major challenges of today’s software development. However, in a few cases, only the common needs have been formally recognized and lead to a cooperation of different domains for the development and maintenance of common software: the Geant4 Collaboration, gathering particle physics laboratories and institutes, space agencies, and industry and medical organizations, are some of such examples


 A trend is observed in the experimental physics computing, where different research domains—high energy physics, astrophysics and space science, and medical physics—share similar needs and adopt common technological solutions. Software systems developed in the recent years for simulation and data analysis are characterized by a wide spectrum of applications, made possible by the versatility and openness enabled by object-oriented methods. The emerging grid paradigm offers global access to computing resources in response to the similar challenging needs of diverse fields. Software and computing solutions originally developed for advanced fundamental physics research are applied in other domains, like medicine, with potential social impact for their sophisticated technical capabilities at low cost.

No comments:

Post a Comment

මොනවද මේ NFT කියන්නේ..

  NFT යනු දිලීර නොවන ටෝකන යන්නයි. නමුත් එය වඩා හොඳින් තේරුම් ගැනීමට, අපි පියවරෙන් පියවර කිමිදෙමු... 🏊🏊 NFT තේරුම් ගැනීමට, ඔබ blockchains ත...