The fast evolution of hardware capabilities in terms of wide area
communication, computation and machine virtualization leads to the
requirement of another step in the abstraction of resources with respect to
parallel and distributed applications. These large scale platforms based on the aggregation of large
clusters (Grids), datacenters (Clouds) with IoT (Edge/Fog), or high performance machines (Supercomputers)
are now available to researchers of different fields of science as well as to
private companies. This variety of platforms and the way they are accessed
also have an important impact on how applications are designed (i.e., the
programming model used) as well as how applications are executed (i.e., the
runtime/middleware system used). The access to these platforms is driven
through the use of multiple services providing mandatory features such as
security, resource discovery, load-balancing, monitoring, etc.
The goal of the Avalon team is to execute parallel
and/or distributed applications on parallel and/or distributed
resources while ensuring user and system objectives with respect to
performance, cost, energy, security, etc. Users are generally not interested
in the resources used during the execution. Instead, they are
interested in how their application is going to be executed:
the duration,
its cost,
the environmental footprint
involved, etc. This vision of utility computing has been strengthened
by the cloud concepts and by the short lifespan of supercomputers
(around three years) compared to application lifespan (tens of
years). Therefore a major issue is to design models, systems, and
algorithms to execute applications on resources while ensuring user
constraints (price, performance, etc. ) as well as system
administrator constraints (maximizing resource usage, minimizing
energy consumption, etc. ).
To achieve the vision proposed in the previous section, the Avalon project aims at making progress
on four complementary research axes: energy, data, programming models and runtimes, application scheduling.
Avalon will improve the profiling and modeling of
scientific applications with respect to energy consumption. In
particular, it will require to improve the tools that measure the
energy consumption of applications, virtualized or not, at large
scale, so as to build energy consumption models of applications.
Avalon will improve the profiling, modeling, and
management of scientific applications with respect to CPU and data
intensive applications. Challenges are to improve the
performance prediction of parallel regular applications, to model
and simulate (complex) intermediate storage components, and
data-intensive applications, and last to deal with data management
for hybrid computing infrastructures.
Avalon will design component-based models to capture the different facets of parallel and
distributed applications while being resource agnostic, so that they
can be optimized for a particular execution. In particular, the
proposed component models will integrate energy and data modeling results. Avalon in particular targets OpenMP runtime as a specific use case and contributes to improve it for multi-GPU nodes.
Avalon will propose multi-criteria mapping and
scheduling algorithms to meet the challenge of automating the
efficient utilization of resources taking into consideration
criteria such as performance (CPU, network, and storage), energy
consumption, and security. Avalon will in particular focus on
application deployment, workflow applications, and security
management in clouds.
All our theoretical results will be validated with software prototypes
using applications from different fields of science such as
bioinformatics, physics, cosmology, etc. The experimental testbeds
Grid'5000 and SLIES will be our platforms of choice for
experiments.
Despite recent improvements, there is still a long road to follow in order to obtain energy efficient, energy proportional and eco-responsible exascale systems. Energy efficiency is therefore a major challenge for building next generation large-scale platforms. The targeted platforms will gather hundreds of millions of cores, low power servers, or CPUs. Besides being very important, their power consumption will be dynamic and irregular.
Thus, to consume energy efficiently, we aim at investigating two research directions. First, we need to improve measurement, understanding, and analysis on how large-scale platforms consume energy. Unlike some approaches 22 that mix the usage of internal and external wattmeters on a small set of resources, we target high frequency and precise internal and external energy measurements of each physical and virtual resource on large-scale distributed systems.
Secondly, we need to find new mechanisms that consume less and better
on such platforms. Combined with hardware optimizations, several works
based on shutdown or slowdown approaches aim at reducing energy
consumption of distributed platforms and applications. To consume
less, we first plan to explore the provision of accurate estimation of
the energy consumed by applications without pre-executing and knowing
them while most of the works try to do it based on in-depth
application knowledge (code instrumentation 25,
phase detection for specific HPC applications 28,
etc. ). As a second step, we aim at designing a framework model that
allows interaction, dialogue and decisions taken in cooperation among
the user/application, the administrator, the resource manager, and the
energy supplier. While smart grid is one of the last killer scenarios
for networks, electrical provisioning of next generation large IT
infrastructures remains a challenge.
The term “Big Data” has emerged to design data sets or collections so large that they become intractable for classical tools. This term is most of the time implicitly linked to “analytics” to refer to issues such as data curation, storage, search, sharing, analysis, and visualization. However, the Big Data challenge is not limited to data-analytics, a field that is well covered by programming languages and run-time systems such as Map-Reduce. It also encompasses data-intensive applications. These applications can be sorted into two categories. In High Performance Computing (HPC), data-intensive applications leverage post-petascale infrastructures to perform highly parallel computations on large amount of data, while in High Throughput Computing (HTC), a large amount of independent and sequential computations are performed on huge data collections.
These two types of
data-intensive applications (HTC and HPC) raise challenges related to profiling and
modeling that the Avalon team proposes to address. While the
characteristics of data-intensive applications are very different, our
work will remain coherent and focused. Indeed, a common goal will be
to acquire a better understanding of both the applications and the
underlying infrastructures running them to propose the best match
between application requirements and infrastructure capacities. To
achieve this objective, we will extensively rely on logging and
profiling in order to design sound, accurate, and validated
models. Then, the proposed models will be integrated and consolidated
within a single simulation framework (SimGrid). This will allow us to explore
various potential “what-if?” scenarios and offer objective
indicators to select interesting infrastructure configurations that
match application specificities.
Another challenge is the ability
to mix several heterogeneous infrastructures that scientists have at
their disposal (e.g., Grids, Clouds, and Desktop Grids) to execute
data-intensive applications. Leveraging the aforementioned results, we
will design strategies for efficient data management service for
hybrid computing infrastructures.
With parallel programming, users expect to obtain performance improvement, regardless its cost. For long, parallel machines have been simple enough to let a user program use them given a minimal abstraction of their hardware. For example, MPI 24 exposes the number of nodes but hides the complexity of network topology behind a set of collective operations; OpenMP 21 simplifies the management of threads on top of a shared memory machine while OpenACC 27 aims at simplifying the use of GPGPU.
However, machines and applications are getting more and more
complex so that the cost of manually handling an application
is becoming very high 23.
Hardware complexity also stems from the unclear path towards next
generations of hardware coming from the frequency wall: multi-core
CPU, many-core CPU, GPGPUs, deep memory hierarchy, etc. have a strong
impact on parallel algorithms. Parallel languages (UPC, Fortress, X10,
etc. ) can be seen as a first piece of a solution. However, they will still face
the challenge of supporting distinct codes corresponding to different
algorithms corresponding to distinct hardware capacities.
Therefore, the challenge we aim to address is to define a model,
for describing the structure of parallel and distributed applications that enables
code variations but also efficient executions on parallel and
distributed infrastructures. Indeed, this issue appears for HPC
applications but also for cloud oriented applications. The challenge is to adapt
an application to user constraints such as performance, energy, security, etc.
Our approach is to consider component based models 29 as they offer the ability to manipulate the software architecture of an application. To achieve our goal, we consider a “compilation” approach that transforms a resource-agnostic application description into a resource-specific description. The challenge is thus to determine a component based model that enables to efficiently compute application mapping while being tractable. In particular, it has to provide an efficient support with respect to application and resource elasticity, energy consumption and data management. OpenMP runtime is a specific use case that we target.
This research axis is at the crossroad of the Avalon team. In particular, it gathers
results of the other research axis.
We plan to consider application mapping and scheduling addressing the following three issues.
Application mapping and software deployment consist in the process of
assigning distributed pieces of software to a set of resources.
Resources can be selected according to different criteria such as
performance, cost, energy consumption, security management, etc. A first issue
is to select resources at application launch time.
With the wide adoption of elastic platforms, i.e., platforms that let the number of
resources allocated to an application to be increased or decreased
during its execution, the issue is also to handle resource selection at runtime.
The challenge in this context corresponds to the mapping of applications onto distributed resources. It will consist in designing algorithms that in particular take into consideration application profiling, modeling, and description.
A particular facet of this challenge is to propose scheduling algorithms for dynamic and elastic platforms. As the number of elements can vary, some kind of control of the platforms must be used accordingly to the scheduling.
Many scientific applications are described through workflow structures. Due to the increasing level of parallelism offered by modern computing infrastructures, workflow applications now have to be composed not only of sequential programs, but also of parallel ones. New applications are now built upon workflows with conditionals and loops (also called non-deterministic workflows).
These workflows cannot be scheduled beforehand. Moreover cloud platforms bring on-demand resource provisioning and pay-as-you-go billing models. Therefore, there is a problem of resource allocation for non-deterministic workflows under budget constraints and using such an elastic management of resources.
Another important issue is data management. We need to schedule the data movements and replications while taking job scheduling into account. If possible, data management and job scheduling should be done at the same time in a closely coupled interaction.
The Avalon team targets applications with large computing and/or data
storage needs, which are still difficult to program, deploy, and
mantain. Those applications can be parallel
and/or distributed applications, such as large scale simulation
applications
or code coupling applications. Applications can also be workflow-based as
commonly found in distributed systems such as grids or clouds.
The team aims at not being restricted to a particular application field, thus avoiding any spotlight. The team targets different HPC and distributed application fields, which brings use cases with different issues. This will be eased with our participation to the Joint Laboratory for Extreme Scale Computing (JLESC) , to BioSyL, a federative research structure about Systems Biology of the University of Lyon, or to the SKA project. Last but not least, the team has a privileged connection with CC-IN2P3 that opens up collaborations, in particular in the astrophysics field.
In the following, some examples of representative applications that we are targeting are presented. In addition to highlighting some application needs, they also constitute some of the use cases that will used to valide our theoretical results.
The world's climate is currently changing due to the increase of the greenhouse gases in the
atmosphere. Climate fluctuations are forecasted for the years to come. For a proper study
of the incoming changes, numerical simulations are needed, using general circulation
models of a climate system.
Simulations can be of different types: HPC applications (e.g., the NEMO
framework 26 for ocean modelization), code-coupling applications (e.g., the OASIS coupler 30 for global climate modeling), or workflows (long
term global climate modeling).
As for most applications the team is targeting, the challenge is to
thoroughly analyze climate-forecasting applications to model
their needs in terms of programing model, execution model, energy consumption, data access pattern, and
computing needs. Once a proper model of an application has been
set up, appropriate scheduling heuristics can be designed, tested,
and compared. The team has a long tradition of working with Cerfacs on this topic, since for example in the LEGO (2006-09) and SPADES (2009-12) French ANR projects.
Astrophysics is a major field to produce large volumes of data. For instance, the Vera C. Rubin Observatory will produce 20 TB of data every night, with the goals of discovering thousands of exoplanets and of uncovering the nature of dark matter and dark energy in the universe. The Square Kilometer Array will produce 9 Tbits/s of raw data. One of the scientific projects related to this instrument called Evolutionary Map of the Universe is working on more than 100 TB of images. The Euclid Imaging Consortium will generate 1 PB data per year.
The SKA project () is an international effort to build and operate the world’s largest radiotelescopes covering all together the wide frequency range between 50 MHz and 15.4 GHz. The scale of the SKA project represents a huge leap forward in both engineering and research & development towards building and delivering a unique Observatory, whose construction has officially started on July 2021. The SKA Observatory is the second intergovernmental organisation for ground-based astronomy in the world, after the European Southern Observatory. Avalon participates to the activities of the SCOOP team in SKAO's SAFe framework that deals with platforms related issues such as application benchmarking and profiling, hardware-software co-design.
Large-scale data management is certainly one of the most important applications of distributed systems in the future. Bioinformatics is a field producing such kinds of applications. For example, DNA sequencing applications make use of MapReduce skeletons.
The Avalon team is a member of BioSyL, a
Federative Research Structure attached to University of Lyon. It
gathers about 50 local research teams working on systems
biology.
Avalon is in particular collaborating with the Inria Beagle team on artificial evolution and
computational biology as the challenges are around high performance
computation and data management.
Through its research activities on energy efficiency and on energy and environmental impacts reductions, Avalon tries to reduce some impacts of distributed systems.
Avalon deals with frugality in clouds with the leadership of the challenge (Défi) betwwen Inria and OVHcloud. Laurent Lefevre is also involved in the steering committe of the EcoInfo GDS CRNS group which deals with eco-responsibility of ICT.
XKBLAS is yet an other BLAS library (Basic Linear Algebra Subroutines) that targets multi-GPUs architecture thanks to the XKaapi runtime and with block algorithms from PLASMA library. XKBLAS is able to exploit large multi-GPUs node with sustained high level of performance. The library offers a wrapper library able to capture calls to BLAS (C or Fortran). The internal API is based on asynchronous invocations in order to enable overlapping between communication by computation and also to better composed sequences of calls to BLAS.
This current version of XKBlas is the first public version and contains only BLAS level 3 algorithms, including XGEMMT:
XGEMM XGEMMT: see MKL GEMMT interface XTRSM XTRMM XSYMM XSYRK XSYR2K XHEMM XHERK XHER2K
For classical precision Z, C, D, S.
IQ-orchestra (previously Qirinus-Orchestra) is a meta-modeling software dedicated to the securized deployment of virutalized infrastructures.
It is built around three main paradigmes:
1 - Modelization of a catalog of supported application 2 - A dynamic securized architecture 3 - An automatic virtualized environement Deployment (i.e. Cloud)
The software is strongly modular and uses advanced software engineering tools such as meta-modeling. It will be continuously improved along 3 axes:
* The catalog of supported applications (open source, legacy, internal). * The catalog of security devices (access control, network security, component reinforcement, etc.) * Intelligent functionalities (automatic firewalls configuration, detection of non-secure behaviors, dynamic adaptation, etc.)
Functional Description
The Grid'5000 experimental platform is a scientific instrument to support computer science research related to distributed systems, including parallel processing, high performance computing, cloud computing, operating systems, peer-to-peer systems and networks. It is distributed on 10 sites in France and Luxembourg, including Lyon. Grid'5000 is a unique platform as it offers to researchers many and varied hardware resources and a complete software stack to conduct complex experiments, ensure reproducibility and ease understanding of results.
Functional Description
The SLICES-FR infrastructure, that was known as SILECS, aims at providing an
experimental platform for experimental computer Science (Internet of
things, clouds, HPC, big data, etc. ). This new infrastructure will supersede
two existing infrastructures, Grid'5000 and FIT.
Functional Description
SLICES is an European effort that aims at providing a flexible platform designed to support large-scale, experimental research focused on networking protocols, radio technologies, services, data collection, parallel and distributed computing and in particular cloud and edge-based computing architectures and services. SLICES-FR is the The French node of SLICES.
Honey bees have been domesticated by humans for several thousand years and mainly provide honey and pollination, which is fundamental for plant reproduction. Nowadays, the work of beekeepers is constrained by external factors that stress their production (parasites and pesticides, among others). Taking care of large numbers of beehives is time-consuming, so integrating sensors to track their status can drastically simplify the work of beekeepers.
Precision Beekeeping is a subfield of Precision Agriculture. It collects data on colonies of bees using sensors to assist beekeepers and preserve bees. The existing solutions include collecting voluminous data, such as images and sound, from up close or inside a beehive. The collection, transfer, and processing of such data are energy-intensive processes. However, most Precision Beekeeping systems work under a limited energy budget. Thus, such systems must take this constraint into account. This research focuses on the placement of energy-aware Precision Beekeeping services at the edge and in the cloud. We deploy a set of smart beehives in order to conduct experiments and collect real data. Then, we simulate large-scale systems with embedded services to add more realism to the experimental study. Our results show that parameters like the number of smart beehives, the frequency of data collection, and the characteristics of the cloud server impact the placement of these services to enhance energy efficiency. Some experimental parts of this work occur in the CPER LECO/GreenCube project and some parts are financially supported by aivancity School for Technology, Business & Society Paris-Cachan. This work, within the the Ph.D. of Hugo Hadjur is co-advised by Doreid Ammar (Academic Dean and Professor at aivancity School for Technology, Business & Society Paris-Cachan and external member of Avalon team) and Laurent Lefevre 8.
Creating energy aware application with limited environnemtal impacts needs a complete redesign. Laurent Lefevre with some colleagues from the GDS EcoInfo group have explored the various facets of ecodesign. This has resulted to a new version of a brochure available for software developers. This brochure 18 has been downloaded several thousands of times since the publication of the first version.
With colleagues from the GDS EcoInfo group (Anne-Laure Ligozat, Dernis Trystram) we explore criteria for assessing the environmental impacts of responses to calls for projects involving Artificial Intelligence (AI) methods. When proposing these criteria, we take into account, in addition to the general impacts of digital services, the specificities of the AI field and in particular of machine learning: impacts of the learning and inference phases and data collection 17.
Efficient resource management is a challenge for Cloud service providers. They need to respond to growing demand by limiting the oversizing of their infrastructures, which can generate avoidable costs and environmental impact. Mechanisms derived from virtualization are used to optimize infrastructure sizing, such as elasticity and consolidation, but economic or physical constraints can hinder their adoption. In this work, we propose a consolidation method based on the observation of the resource consumption of virtual machines (VMs) in the infrastructure of a private Cloud host. With a suitable evaluation algorithm and using memory over-allocation mechanisms, we are able to generate sets of VMs positioned in such a way as to limit the number of physical machines used, while ensuring the quality of service required by users 14.
EcoIndex has been proposed to evaluate the absolute environmental performance of a given URL using a score ranging from 0 to 100 (the higher, the better). In this article, we make a critical analysis of the initial approach and propose alternatives that no longer calculate a plain score but allow the query to be situated among other queries. The generalized critiques come with statistics and rely on extensive experiments (first contribution). Then, we move on to low-cost Machine Learning (ML) approaches (second contribution) and a transition before obtaining our final results (third contribution). Our research aims to extend the initial idea of analytical computation, i.e., a relation between three variables, in the direction of algorithmic ML computations. The fourth contribution corresponds to a discussion on our implementation, available on a GitHub repository. Beyond computational questions, it is important for the scientific community to focus on this question in particular. We currently promote using well established ML techniques because of their potential. However, we also question techniques for their frugality or otherwise. Our data science project is still at the data exploration stage. We also want to encourage synergy between technical expertise and business knowledge because this is fundamental for advancing the data project 5.
Generative AI (Gen-AI) represents a major growth potential for the digital industry, a new stage in digital transformation through its many applications. Unfortunately, by accelerating the growth of digital technology, Gen-AI is contributing to the significant and multiple environmental damage caused by its sector. The question of the sustainability of IT must include this new technology and its applications, by measuring its environmental impact. To best respond to this challenge, we propose various ways of improving the measurement of Gen-AI's environmental impact. Whether using life-cycle analysis methods or direct measurement experiments, we illustrate our methods by studying Stable Diffusion a Gen-AI image generation available as a service. By calculating the full environmental costs of this Gen-AI service from end to end, we broaden our view of the impact of these technologies. We show that Gen-AI, as a service, generates an impact through the use of numerous user terminals and networks. We also show that decarbonizing the sources of electricity for these services will not be enough to solve the problem of their sustainability, due to their consumption of energy and rare metals. This consumption will inevitably raise the question of feasibility in a world of finite resources. We therefore propose our methodology as a means of measuring the impact of Gen-AI in advance. Such estimates will provide valuable data for discussing the sustainability or otherwise of Gen-AI solutions in a more transparent and comprehensive way 3.
The global energy demand for digital activities is constantly growing. Computing nodes and cloud services are at the heart of these activities. Understanding their energy consumption is an important step towards reducing it. On one hand, physical power meters are very accurate in measuring energy but they are expensive, difficult to deploy on a large scale, and are not able to provide measurements at the service level. On the other hand, power models and vendor-specific internal interfaces are already available or can be implemented on existing systems. Plenty of tools, called software-based power meters, have been developed around the concepts of power models and internal interfaces, in order to report the power consumption at levels ranging from the whole computing node to applications and services. However, we have found that it can be difficult to choose the right tool for a specific need. In this work, we qualitatively and experimentally compare several software-based power meters able to deal with CPU or GPU-based infrastructures. For this purpose, we evaluate them against high-precision physical power meters while executing various intensive workloads. We extend this empirical study to highlight the strengths and limitations of each software-based power meter. This research is a joint work with Denis Trystram (LIG Laboratory) and Anne-Cécile Orgerie (IRISA, Rennes) 9.
Data centers are very energy-intensive facilities that can generate various environmental impacts. Numerous energy, power, and environmental leverages exist and can help cloud providers and data center managers to reduce some of these impacts. But dealing with such heterogeneous leverages can be a challenging task that requires some support from a dedicated framework. This research presents a new approach for modeling, evaluating, and orchestrating a large set of technological and logistical leverages. Our framework is based on leverages modeling and Gantt chart leverages mapping. Some experimental results based on selected scenarios show the pertinence of the proposed approach in terms of management facilities and potential impacts reduction 2. The research is done inside the challenge (Défi) between Inria and OVHcloud company.
Today, a massive shift is ongoing in telecommunication networks with the emergence of softwarization and cloudification. Among the technologies which are assisting these shifts, one of them is NFV (Network Function Virtualization). NFV is the network architecture that decouples network functions from hardware devices (middleboxes) with the help of a virtual component known as VNF (Virtual Network Function). VNF has shifted the network technological paradigm. Before: Network Function was performed by physical equipment, and service providers acquired its property for the lifetime of the relying hardware (instead counted in years). Today, Network functions are software that service providers develop or acquire purchasing licenses. A license defines software's Right to Use (RTU).
Therefore, if licensing in NFV is not appropriately managed, service providers might (1) be exposed to counterfeiting and risk heavy financial penalties due to non-compliance; (2) might overbuy licenses to cover poorly estimated usages. Thus, mastering network function license through implementing Software Asset Management and FinOps (Finance and DevOps) is essential to control costs. In this research, our primary problem is to minimize the TCO (Total Cost of Ownership) of software cost (VNF), providing Quality of Services (QoS) to a specific amount of users. Software costs include various costs, from development to maintenance, integration to release management, and professional services. Our research focuses on proprietary software (developed by a publisher and sold via a paid license).
We considered that TCO consists of the software license cost, the resources necessary to execute and operate SW, and the energy consumed by this execution. In this research, first, we have identified the need for a standardized VNF licensing model, which is highly dependent on the VNF provider's creativity; This lack of standards places CSPs (Communication Service Providers) at risk of having to delegate the management of rights to suppliers. Hence, we proposed a licensing model based on the metrics, which help to quantify the usage of the VNF. After estimating the license of VNF, we estimated the license cost. Afterward, we presented several ways to minimize the license cost depending upon the different use cases, which depend on the user's scenario and needs. Then after, with the help of industrial knowledge, we found that reducing resource consumption to minimize the TCO providing QoS affects the deployment of the VNF directly or indirectly, which impacts the licensing. Thus, the licenses and resources are interdependent. We used these costs to construct the software's total cost. After that, we proposed several ways to reduce the software's total cost by fulfilling the client's requirements. Then after, we considered the energy and its associated cost of VNF. The energy consumption of the VNF is dependent on resource consumption, and resources usages impact the license. Thus, we can see that these three costs are interdependent: license, resources, and energy cost of VNF. Hence, we consider these costs and constructed TCO. Minimizing TCO fulfilling the client's requirements is challenging since it is a multi-parameter. Therefore, we proposed several heuristical algorithms based on resource sharing and consolidation to reduce the TCO depending on the license, resource preference, and the client's scenarios.
This work 16 was obtained during the PhD of Ghoshana Bista co-advised by Anne-Lucie Vion (Orange) and Eddy Caron.
With the rise of Data as a Service, companies understood that whoever controls the data has the power. The past few years have exposed some of the weakenesses of traditional data management systems. For example, application owner can collect and use data to their own advantage without the user's consent. We defined the SkyData concept, which revolves around autonomous data evolving in a distributed system. This new paradigm is a complete break from traditional data management systems. This paradigm is born from the many issues associated with traditional data management systems, such as resells or private information collected without consent, for example. Self managed data, or SKDs, are agents endowed with data, capabilities and goals to achieve. They are free to behave as they wish and try to accomplish their goals as efficiently as possible. They use learning algorithms to improve their decision making and learn new capabilities and services. We introduced how SKDs could be developed and provided some insight on useful capabilities.
In 10 we investigated to show a way to define autonomous data as well as some challenges associated with their specificities. A first version of a SKYDATA Environment is being developed using JADE and JASON to implement SKDs using the Beliefs-Desires-Intentions model with AgentSpeak.
Modeling and simulation are crucial in high-performance computing (HPC), with numerous frameworks developed for distributed computing infrastructures and their applications. Despite node-level simulation of shared-memory systems and task-based parallel applications, existing works overlook non-uniform memory access (NUMA) effects, a critical characteristic of current HPC platforms. In this work, we introduce a modeling for complex NUMA architectures and enhance a simulator for dependency-based task-parallel applications. This facilitates experiments with varied data locality models: we refine a communication-oriented model leveraging topology information for data transfers, and devise a more intricate model incorporating a cache mechanism for last-level cache data storage. Dense linear algebra test cases are used to validate both models, demonstrating that our simulator reliably predicts execution time with minimal relative error. This work 6 was one of the result obtained during the PhD of Idriss Douadi co-advised by Samuel Thibault (Prof. Univ. Bordeaux, EPI STORM) and Thierry Gautier.
Many-core and heterogeneous architectures now require programmers to compose multiple asynchronous programming model to fully exploit hardware capabilities. As a shared-memory parallel programming model, OpenMP has the responsibility of orchestrating the suspension and progression of asynchronous operations occurring on a compute node, such as MPI communications or CUDA/HIP streams. Yet, specifications only come with the task detach(event) API to suspend tasks until an asynchronous operation is completed, which presents a few drawbacks. In this paper, we introduce the design and implementation of an extension on the taskwait construct to suspend a task until an asynchronous event completion. It aims to reduce runtime costs induced by the current solution, and to provide a standard API to automate portable task suspension solutions. The results show twice less overheads compared to the existing task detach clause. This work 11 was one of the result obtained during the PhD of Romain Peirera co-advised by Adrien Roussel (CEA), Patrick Carribaut (CEA) and Thierry Gautier.
The paper 13 introduces a new approach to handle implicit parallelism in library functions. If the library already utilizes a thirdparty programming model like OpenMP, it may run in parallel. Otherwise, if the library remains sequential, OpenMP directives in client code cannot be used for direct parallelization. To express implicit parallelism and, in the meanwhile, dynamically adjust the parallel degree of a task when its starts, we propose to use moldable tasks. We handle this by introducing a new construct called taskmoldable that generates multiples tasks from a single function call and an iteration space. For the Lapack Cholesky factorization algorithm, our taskmoldable directive allows simple code annotation to express parallelism between tiles and improves programmability. Performance results on a beamforming application indicates that our moldable implementation is slightly faster by 5% in mean, than a parallel execution achieved with Intel MKL. This work is one of the result of the PhD of Pierre-Etienne Polet co-advised by Ramy Fantar(Thales) and Thierry Gautier
The architecture of supercomputers is evolving to expose massive parallelism. MPI and OpenMP are widely used in application codes on the largest supercomputers in the world. The community primarily focused on composing MPI with OpenMP before its version 3.0 introduced task-based programming. Recent advances in OpenMP task model and its interoperability with MPI enabled fine model composition and seamless support for asynchrony. Yet, OpenMP tasking overheads limit the gain of task-based applications over their historical loop parallelization (parallel for construct). This paper identifies the OpenMP task dependency graph discovery speed as a limiting factor in the performance of task-based applications. We study its impact on intra and inter-node performances over two benchmarks (Cholesky, HPCG) and a proxy-application (LULESH). We evaluate the performance impacts of several discovery optimizations, and introduce a persistent task dependency graph reducing overheads by a factor up to 15 at run-time. We measure 2x speedup over parallel for versions weak scaled to 16K cores, due to improved cache memory use and communication overlap, enabled by task refinement and depth-first scheduling. This work 12 was one of the result obtained during the PhD of Romain Peirera co-advised by Adrien Roussel (CEA), Patrick Carribaut (CEA) and Thierry Gautier.
Heterogeneous supercomputers with GPUs are one of the best candidates to build Exascale machines. However, porting scientific applications with millions of lines of code lines is challenging. Data transfers/locality and exposing enough parallelism determine the maximum achievable performance on such systems. Thus porting efforts impose developers to rewrite parts of the application which is tedious and time-consuming and does not guarantee performances in all the cases. Being able to detect which parts can be expected to deliver performance gains on GPUs is therefore a major asset for developers. Moreover, task parallel programming model is a promising alternative to expose enough parallelism while allowing asynchronous execution between CPU and GPU. OpenMP 4.5 introduces the « target » directive to offload computation on GPU in a portable way. Target constructions are considered as explicit OpenMP task in the same way as for CPU but executed on GPU. In this work 15, we propose a methodology to detect the most profitable loops of an application that can be ported on GPU. While we have applied the detection part on several mini applications (LULESH, miniFE, XSBench and Quicksilver), we experimented the full methodology on LULESH through MPI+OpenMP task programming model with target directives. It relies on runtime modifications to enable overlapping of data transfers and kernel execution through tasks. This work has been integrated into the MPC framework, and has been validated on distributed heterogeneous system.
We defined here some guidelines for critical applications to reduce the arithmetic numerical issue and we provide additional guidelines dedicated to Cloud platform. Many architecture was evaluted (OS native, Virtual Machine or container architecture). With some care, porting numerical software from a micro-controller to the Cloud, or directly writing applications to the Cloud, can be done provided that some recommendations listed below be followed. It is in fact not more difficult than porting software from a micro-controller to any general-purpose processor. The result of this research is an internal unpublished report dedicated to a private partner.
We have a collaboration with Bosch and AriC (a research team of the LIP laboratory, jointly supported by CNRS, ENS de Lyon, Inria and Université Claude Bernard (Lyon 1)). We conducted a study to provide guidelines for writing portable floating-point software in Cloud environments. With some care, porting numerical software from a micro-controller to the Cloud, or directly writing applications to the Cloud, can be eased with the help of some recommendations. It is in fact not more difficult than porting software from a micro-controller to any general-purpose processor.
We have a collaboration with CEA / DAM-Île de France. This collaboration is based on the co-advising of a CEA PhD. The research of the PhD student (Romain Pereira) focuses high performance OpenMP + MPI executions. MPC was developed for high performance MPI application. Recently a support for OpenMP was added. The goal of the PhD is to work on better cooperation of OpenMP and MPI thanks to the unique framework MPC.
We have a collaboration with CEA INSTN/SFRES / Saclay. This collaboration is based on the co-advising of a CEA PhD. The research of the PhD student (Gabriel Suau) focuses on high performance codes for neutron transport. One of the goal of the PhD is to work on better integration of Kokkos with a task based model.
We have a collaboration with Octo Technology (Part of Accenture). This collaboration is sealed through a CIFRE PhD grant. The research of the PhD student (Adrien Berthelot) focuses on accelerated and driven evaluation of the environmental impacts of an Information System with the full set of digital services
We have a collaboration with Orange. This collaboration is sealed through a CIFRE PhD grant. The research of the PhD student (Ghoshana Bista) focuses on the software asset management dedicated to the VNF (Virtual Network Function).
We have a collaboration with SynAApps (part of Cyril Group). This collaboration is sealed through a CIFRE PhD grant. The research of the PhD student (Simon Lambert) focuses on forecast and dynamic resource provisioning on a virtualization infrastructure.
We have a collaboration with Thalès. This collaboration is sealed thanks to a CIFRE PhD grant. The research of the PhD student (Pierre-Etienne Polet) focuses on executing signal processing application on GPU for embedded architecture. The problem and its solutions are at the confluence of task scheduling with memory limitation, optimization, parallel algorithm and runtime system.
We have a collaboration with TotalLinux around the data center project Itrium. More specially we study the impact, the energy consumption, the behavior and the performances of new architectures based on immersion cooling.
New infrastructures, such as Edge Computing or the Cloud-Edge-IoT computing continuum, make cloud issues more complex as they add new challenges related to resource diversity and heterogeneity (from small sensor to data center/HPC, from low power network to core networks), geographical distribution, as well as increased dynamicity and security needs, all under energy consumption and regulatory constraints.
In order to efficiently exploit new infrastructures, we propose a strategy based on a significant abstraction of the application structure description to further automate application and infrastructure management. Thus, it will be possible to globally optimize the resources used with respect to multi-criteria objectives (price, deadline, performance, energy, etc.) on both the user side (applications) and the provider side (infrastructures). This abstraction also includes the challenges related to the abstraction of application reconfiguration and to automatically adapt the use of resources.
The Taranis project addresses these issues through four scientific work packages, each focusing on a phase of the application lifecycle: application and infrastructure description models, deployment and reconfiguration, orchestration, and optimization.
Though significant efforts have been devoted to the implementation and optimization of several crucial parts of a typical HPC software stack, most HPC experts agree that exascale supercomputers will raise new challenges, mostly because the trend in exascale compute-node hardware is toward heterogeneity and scalability: Compute nodes of future systems will have a combination of regular CPUs and accelerators (typically GPUs), along with a diversity of GPU architectures.
Meeting the needs of complex parallel applications and the requirements of exascale architectures raises numerous challenges which are still left unaddressed.
As a result, several parts of the software stack must evolve to better support these architectures. More importantly, the links between these parts must be strengthened to form a coherent, tightly integrated software suite.
Our project aims at consolidating the exascale software ecosystem by providing a coherent, exascale-ready software stack featuring breakthrough research advances enabled by multidisciplinary collaborations between researchers.
Phd in progress: