Julien Monniot
email: julien.monniot@inria.fr

François Tessier

Matthieu Robert

Gabriel Antoniu

Supporting Dynamic Allocation of Heterogeneous Storage Resources on HPC Systems

Keywords: Intermediate storage resources, Storage disaggregation, Simulation, Job scheduling. Default setting

Scaling up large-scale scientific applications on supercomputing facilities is largely dependent on the ability to scale up efficiently data storage and retrieval. However, there is an ever-widening gap between I/O and computing performance. To address this gap, an increasingly popular approach consists in introducing new intermediate storage tiers (node-local storage, burst-buffers, ...) between the compute nodes and the traditional global shared parallel file-system. Unfortunately, without advanced techniques to allocate and size these resources, they remain underutilized. In this paper, we investigate how heterogeneous storage resources can be allocated on an HPC platform, just like compute resources. To this purpose, we introduce StorAlloc, a simulator used as a testbed for assessing storage-aware job scheduling algorithms and evaluating various storage infrastructures. We illustrate its usefullness by showing through a large series of experiments how this tool can be used to size a burst-buffer partition on a top-tier supercomputer by using the job history of a production year.

Introduction

The execution of highly complex scientific applications usually leverages largescale compute-intensive infrastructures (typically, supercomputers). Traditionally, such High-Performance Computing (HPC) systems have been designed with the main objective of improving computing power. However, scientific applications have recently evolved from compute-intensive codes towards complex datacentric workflows bridging the domains of modeling, simulation, data analytics and AI. The data deluge engendered by these workloads has been observed in major supercomputing centers: the National Energy Research Scientific Computing Center (NERSC), USA, noticed that the volume of data stored by applications has been multiplied by 41 over the past ten years while the annual growth rate is estimated to 30% [START_REF] Lockwood | Storage 2020: A Vision for the Future of HPC Storage[END_REF]. While absorbing these data requires extended I/O performance and advanced technologies, storage systems on HPC platforms have been mostly based on an old paradigm: a centralized parallel file-system shared by all the computing resources. This storage architecture, not very adaptable from a user perspective, suffers a relative performance decrease: a study of the top three supercomputers from the Top500 ranking between 2009 and 2022, as depicted in Figure 1, shows that the ratio of I/O bandwidth of the parallel file-system (PFS) to computing power has been divided by 25 during that period. To mitigate this gap, recently proposed approaches rely on new tiers of intermediate storage, such as node-local disks or burst buffers [START_REF] Henseler | Architecture and design of Cray DataWarp[END_REF], backed by diverse technologies (Flash memory, NVDIMM, NVMeoF, CXL storage ...), and placed between the compute nodes and the global shared parallel file-system. This storage disaggregation offers new alternatives to a centralized storage system. However, to fully exploit the benefits of such approaches, advanced techniques for sizing and allocating these resources have yet to be devised. Some of the limitations which make it difficult to investigate new methods for allocating such storage resources are the difficult access to hardware (with enough privileges) or the limited range of technologies deployed on the studied system. Simulation is one means to overcome these constraints. At the cost of a loss of accuracy, ideally as moderate as possible [START_REF] Cornebize | High Performance Computing : towards better Performance Predictions and Experiments[END_REF], simulation offers much better flexibility for representing a wide variety of storage architectures and can be used to estimate the benefits of storage infrastructures before their actual deployment.

This paper proposes to explore how storage resources can be allocated on HPC systems, i.e. to investigate which method (scheduling algorithm) and with which efficiency (metric) a set of I/O intensive jobs can be scheduled on a pool of heterogeneous storage resources. To this purpose, we introduce StorAlloc, a Discrete-Event Simulator (DES) of a batch scheduler able to play (or replay) the scheduling of I/O intensive jobs on intermediate storage resources.

A preliminary description of our approach has been made in a previous workshop paper [START_REF] Monniot | StorAlloc: A Simulator for Job Scheduling on Heterogeneous Storage Resources[END_REF]. This extended paper aims to provide a more refined view of our contribution. New experimental results have been added while previous results have been reinforced through additional experiments. Supplementary discussions of related work and extended explanations of our approach have also been added.

The remainder of this paper is organized as follows. Section 2 details the main motivational facts underlying our work. We then discuss the gaps that our contribution aims to fill in related work (Section 3). The architecture of StorAlloc is described in Section 4. Then we evaluate the tool on a set of basic scheduling algorithms and on multiple models of infrastructures featuring heterogeneous storage resources (Section 5). From our simulations, we can conclude on the right sizing of intermediate storage resources among a set of architectures and analyze the utilization rate of the underlying disks. Based on this use-case and thanks to the data that StorAlloc collects during the simulations, we provide an in-depth study of the scheduling algorithms and the storage layouts. Finally, Section 6 summarizes our contribution and discusses open research directions.

Context and Motivation

For many years, supercomputers have followed a hyper-centralized paradigm regarding storage: a unique global shared parallel file-system such as Lustre [START_REF]Lustre filesystem website[END_REF], BeeGFS [1] or Spectrum Scale (formerly GPFS [START_REF] Schmuck | Gpfs: A shared-disk file system for large computing clusters[END_REF]), used as a staging area from which data is read or written by applications or workflow components. These file-systems, although increasingly powerful, suffer the drawbacks of any highly centralized system: contention and interference make them very prone to performance variability [START_REF] Jay | Managing variability in the io performance of petascale storage systems[END_REF]. In order to overcome this problem, we have seen the emergence of new storage systems, closer to the computing nodes. Node-local SSDs, burst buffers or dedicated storage nodes with network-attached storage technology (NVMeoF, CXL), to name a few, are all technologies that provide fast storage, albeit with limited capacity, various data lifetime, cost and performance, and different means of access.

This last point in particular makes the use of these resources complicated. To illustrate this, Table 1 presents the multiple ways of accessing resources for a subset of storage tiers that tend to become popular on large-scale systems. The usual scope of the storage space and the commonly deployed data manager, if any, are also listed.

This variety, which would require working on new levels of abstraction, also raises another problem: how to preempt all or part of these storage resources so as to make them available for the duration of an I/O-intensive job's execution, as we do for compute nodes? Allocation methods exist for storage tiers but they are numerous and not interoperable: storage allocated at the same time as the compute node, dedicated APIs integrated or not into the job scheduler, complex low-level configurations. Thus, while it is common on HPC systems to get access exclusively to compute nodes (usually through a job scheduler), the allocation of those intermediate levels of storage remains minor in practice and 1. Type of access, scope and default data management system on a subset of storage resources that tend to be democratized on large-scale systems.

often limited to homogeneous resources. In order to use these new storage tiers to their full potential, new allocation techniques must be devised and deployed on supercomputers.

The development of such solutions would, however, require access to intermediate storage resources with enough rights to repurpose them, which is usually not possible on deployed infrastructures for various reasons such as security or maintenance efforts. In addition, such experimentation can easily disrupt other users' workloads on production systems. An alternative approach is to use simulations as a way to reproduce with a certain degree of accuracy the behavior of a system with a very low footprint. While experiments on real systems would be limited to the embedded technologies, a simulator can also evaluate new types of architectures combining existing and emerging storage tiers, for example to make decisions about their sizing or their design. Using traces from actual HPC workloads, a number of uses cases can thus be modelled, ranging from realistic scenarios where replaying the allocations can help better understand past and current resource usage, to more theoretical ones where improbable platform configurations can be studied as well. Several simulators already exist for scheduling jobs on compute nodes or for optimizing I/O, yet very few has been done to model and allocate storage resources. Therefore, in this paper, we propose StorAlloc, a simulator of a storage-aware job scheduler whose main objective is to explore heterogeneous storage resource allocation on supercomputers.

3 Related work

Simulation frameworks

To the best of our knowledge, there is no tool whose goal is to simulate the scheduling of jobs on heterogeneous storage resources of a supercomputer. Simulators allowing to play or replay the execution of parallel and distributed applications on HPC systems exist and have been studied for many years. However, most frameworks essentially address the computational aspect. SimGrid [START_REF] Casanova | Versatile, scalable, and accurate simulation of distributed applications and platforms[END_REF], for example, is a powerful framework for simulating the scheduling and execution of a large number of applications on real or made-up infrastructure models. The I/O aspect is limited to simulating data movement but storage resource allocation is absent from the framework, although preliminary work was started a few years ago [START_REF] Lebre | Adding storage simulation capacities to the simgrid toolkit: Concepts, models, and api[END_REF]. Similarly, CODES [START_REF] Cope | Codes: Enabling co-design of multi-layer exascale storage architectures[END_REF], while initially presented as a simulation framework for storage systems, has eventually specialized in network topology simulation offering various built-in models for high-radix networks but showing the same limitations as SimGrid in terms of storage model.

Like StorAlloc, a few SimGrid-derived simulators have job scheduling oriented approaches. This is the case of batsim [START_REF] Dutot | Batsim: A realistic languageindependent resources and jobs management systems simulator[END_REF] or Wrench [START_REF] Casanova | Developing Accurate and Scalable Simulators of Production Workflow Management Systems with WRENCH[END_REF] for example. However, the support of heterogeneous storage levels as allocatable resources is not implemented: batsim does not include a model for disk capacity while Wrench only manipulates files located on an abstract storage location without considering the underlying hardware. Another recent work [START_REF] Khetawat | Evaluating burst buffer placement in hpc systems[END_REF] built upon CODES evaluates burst buffers placement through the study of network topologies, I/O workload patterns and job scheduling techniques. Again the focus is mostly on data movement, while underlying resources and dynamic allocation are not in scope. The above-mentioned solutions also differ from StorAlloc in their monolithic design. As described in Section 4, StorAlloc has all its components decoupled. Therefore, the servers can be distributed on multiple nodes while the simulator component can be disabled to turn StorAlloc into a real storage-aware job scheduler.

Scheduling models and studies of intermediate resources

A large number of solutions for optimizing HPC storage systems performance consider the issue from the point of view of I/O requests. That is, they offer algorithms to orchestrate individual I/Os or I/O phases of concurrently executing applications. They can be specifically directed at the application level [START_REF] Gainaru | Scheduling the i/o of hpc applications under congestion[END_REF][START_REF] Zhou | I/o-aware batch scheduling for petascale computing systems[END_REF][START_REF] Li | Ascar: Automating contention management for high-performance storage systems[END_REF][START_REF] Liu | Hierarchical i/o scheduling for collective i/o[END_REF], the I/O forwarding level [START_REF] Bez | Twins: Server access coordination in the i/o forwarding layer[END_REF][START_REF] Vishwanath | Accelerating i/o forwarding in ibm blue gene/p systems[END_REF], or can be integrated into middlewares in charge of offloading such I/O requests [START_REF] Isaila | A scalable message passing interface implementation of an ad-hoc parallel i/o system[END_REF]. Another common approach consists of considering the availability of I/O resources as a constraint when placing the scheduled tasks onto the compute nodes, without subsequently interfering with the way the applications do I/Os [START_REF] Herbein | Scalable i/o-aware job scheduling for burst buffer enabled hpc clusters[END_REF][START_REF] Bleuse | Interference-Aware Scheduling Using Geometric Constraints[END_REF]. In these approaches, the storage system is often considered as statically configured or even represented as a black box, and applications and their I/Os are the parameters to be acted upon. Our work takes an opposite stance. For each job, previously scheduled based on its compute requirements, we want to allocate an optimal set of storage nodes and disks that will fit the job's storage and I/O needs without needing to change the way the application does I/Os.

Allocating storage resources involves partitioning and sizing these resources to meet the needs of submitted jobs. In that field, models such as burst buffers have been studied [START_REF] Aupy | Sizing and Partitioning Strategies for Burst-Buffers to Reduce IO Contention[END_REF][START_REF] Ruiu | Automatic dynamic allocation of cloud storage for scientific applications[END_REF][START_REF] Gainaru | Scheduling the i/o of hpc applications under congestion[END_REF][START_REF] Kougkas | Harmonia: An interferenceaware dynamic i/o scheduler for shared non-volatile burst buffers[END_REF]. This research is complementary to StorAlloc. The proposed techniques are the basis of storage-aware job scheduling algorithms that could be evaluated in our simulator. For instance, the Harmonia dynamic I/O scheduler [START_REF] Kougkas | Harmonia: An interferenceaware dynamic i/o scheduler for shared non-volatile burst buffers[END_REF] considers I/O interference in the allocation process. It targets burst-buffer systems and offers multiple scheduling policies (such as maximizing buffer efficiency and improving application bandwidth) which achieve better performances than vendor software for these resources.

More generally, a better understanding and management of storage resources in HPC is decisive to improve data management at extreme scale. This has been highlighted in an analysis of the NERSC systems [START_REF] Lockwood | Understanding data motion in the modern hpc data center[END_REF]. The authors demonstrate, among other findings, that the parallel file system on this platform receives at least 8 times more reads and 16 times more writes than the burst buffers. On the same system, the authors also point out that some specific I/O forwarding nodes remain vastly unutilized by applications. More recently, a study [START_REF] Daley | Performance characterization of scientific workflows for the optimal use of burst buffers[END_REF] also shows how much work is still needed to better use intermediate storage tiers, both in terms of storage API and workflow configuration. This work hints that richer and more complex software between hardware resources and scientific applications is necessary to correctly address the needs of the workflows. Our work ultimately aims to address this kind of issues by streamlining the way storage is allocated to the users.

Finally, it is necessary to note that our approach can be similar to what has been done in the world of Cloud Computing for several years although these fully virtualized systems with very limited low-level access are different from HPC systems. On Clouds, the allocation of storage tiers as well as compute or network resources is more familiar. Work comparable to StorAlloc has been done to simulate the allocation of resources between different users [START_REF] Núñez | Icancloud: A flexible and scalable cloud infrastructure simulator[END_REF][START_REF] Calheiros | Cloudsim: a toolkit for modeling and simulation of cloud computing environments and evaluation of resource provisioning algorithms[END_REF] in virtualized environment but these works are outdated and have very limited storage support. A variety of works have also addressed the issue of storage scheduling, but they tend to focus on requirements that are not necessarily in phase with HPC needs, such as SLAs, end-user costs or Cloud-specific infrastructures [START_REF] Lee | Block storage scheduling based on sla in cloud storage systems[END_REF][START_REF] Chikhaoui | Multi-objective optimization of data placement in a storage-as-a-service federated cloud[END_REF][START_REF] Negru | Cost-aware cloud storage service allocation for distributed data gathering[END_REF]. Some of the methods employed in these works could however prove useful for the next iterations of our work.

Architecture

StorAlloc is a tool able to simulate the scheduling of I/O-intensive jobs on heterogeneous storage resources available on a HPC system. In this section, we present its design and discuss implementation choices.

General design

The objective of StorAlloc is to provide a simple way to develop and evaluate storage-aware job scheduling algorithms targeting heterogeneous storage resources (any kind of disk-based storage can be described). Therefore, StorAlloc has been designed following the basic principles of a job scheduler, i.e. a middleware allowing clients to request resources available on a supercomputer. Extending from this architecture, we then added the ability to run it as a simulator, using a single code base.

Fig. 2. StorAlloc core scheduling components

Core components StorAlloc's design is based on the composability of several components, which can be run together and extended in order to provide the desired behavior. Figure 2 depicts the core components: one or multiple server and client agents are communicating through a central orchestrator. The clients request storage allocations to the orchestrator and expect connection settings to the newly allocated storage space in return. The server components declare a pool of available resources under their responsibility to the orchestrator and perform the storage management operations when needed (partitioning, rights granting, exposure on the network, releasing). In between, the orchestrator handles routing messages between components, keeps track of running and pending allocations and hosts the scheduler process. Additional components In addition to these core components, we have extended StorAlloc with two simulation units (client and server), a visualisation server for real-time plotting during simulation and an external log aggregator. They are presented on Figure 3. The simulation client offers an efficient way to serve requests to the orchestrator from a dataset file. Its counterpart, the simulation server, accumulates scheduling decisions in order to build a Discrete Event Simulation, and outputs results to file. The visualisation server provides a convenient way to setup a live display of major metrics while the log server aggregates logs from all components in a single place, even when they are all distributed on several nodes.

The architecture of the tool makes it possible to add additional elements if necessary. All of these components are interconnected using a message-based protocol we have defined. They can be deployed across a set of hosts, or run on a single machine. While the former case is intended to properly map clients and servers onto an actual HPC platform, the latter is sufficient for simulations. The current design only allows for one orchestrator component to be running at any time. This constraint creates a single point of failure when deployed as a middleware in a production setting, and will be addressed in further developments.

In the following sections, we detail design choices for StorAlloc. In particular, we explain the general functioning of the scheduler, a central component in our simulator. Then we describe the storage abstraction layer used to characterize the pool of resources. In 4.4, we present the simulation capability with a focus on the real-time collection of scheduling data. We end this section with some technical considerations about StorAlloc.

Scheduling storage requests

We define a storage request as a triple consisting of a capacity in GB, an allocation time in minutes and a submission time in a datetime format. The scheduling of storage requests takes place in a scheduler sub-component of the orchestrator, as depicted in Figure 2. This sub-component receives requests through messages from clients and process them asynchronously in the receiving order. The scheduler has access to both the entire list of available storage resources and the list of currently allocated requests. Any algorithm can thus make a resource allocation decision backed by a full view of the platform state. So far, four algorithms have been implemented in StorAlloc as listed below:

random: storage resources are picked randomly with a chance of failure; round-robin: storage space is allocated in a round-robin manner; worst-fit: disks are filled until no more space is available; best-bandwidth: nodes and disks on nodes are selected according to the best remaining bandwidth, considering a permanent maximum I/O regime for the existing allocations.

At launch time, the scheduler chooses one of these algorithms through a userdefined parameter. The scheduling algorithms share a common interface which accepts a storage request and a list of available storage resources, and returns an identifier for the resource(s) on which the desired storage space will be allocated. A request can also be refused (no space left for instance). In this case, we assume that the job falls back to a traditional parallel file-system, instead of using the intermediate storage tiers available through StorAlloc.

Only two out of four algorithms have been implemented with the capacity to refuse requests (round-robin and best-bandwidth). For each new request, they lookup on-going and planned allocations and try to determine if the new allocation has a chance to fit on any of the available resources. They do so in a deliberately conservative manner: deciding on future resource availability has to be fast and doesn't return an exact result. This is driving us to implement policies with a small bias towards refusing requests, instead of risking to allow too many requests that have good chances to fail once forwarded to the storage servers. The other two algorithms, random and worst-fit, always accept requests, but do not provide any guarantee on the availability of the selected resources. This implementation choice entails a pronounced difference in the behaviours of our algorithms, which is reflected in the analysis and help us check the coherency of our results.

At a higher level, the scheduling of storage requests can also be adjusted by leveraging two strategies presented in Table 2. They are meant to help allocate requests when resources are constrained. The first, called "Split", is to divide an allocation into several sub-allocations of equal size in order to distribute them over multiple nodes and disks. The second strategy, called "Requeued", consists of defining criteria for resubmitting unsuccessful allocations. This strategy only applies to algorithms able to proactively refuse requests. Both strategies have default values but are configurable in StorAlloc. The impact of these strategies, independent of the scheduling algorithms, is evaluated in Section 5. Again, we make the assumption that in case of allocation failure, I/O will be performed on the global shared parallel file system. Comment

Split

Threshold at 200GB Split requests whose capacity > threshold and allocate the parts on multiples resources.

Requeued 5 retries, one every 5m Postpone starting time and retry a refused allocation.

Table 2. Optional scheduling strategies

Discussion on algorithms choice Let us note that the four algorithms used throughout this work, while being relatively simple, are still rather comparable to the level of complexity found in current production systems. For instance, in Lustre [START_REF]Lustre filesystem website[END_REF], objects may be internally load-balanced between OSTs using roundrobin, and the policy switches to a basic weighted allocator only if inbalance between OSTs exceeds 20%. Similarly, in BeeGFS [1], files can be stripped in a RAID0 fashion (same mechanism as round-robin) between targets inside a storage pool. In both cases, a user must manually provide a chunk size and decide which paths in the filesystem should use stripping. In OpenStack, the Cinder scheduler [START_REF]Cinder block scheduler[END_REF], selects storage hosts in a fairly simple manner: the first step is to filter the list of hosts based on a capacity or placement criteria for instance. Then in a second step, remaining storage hosts are weighted according to their already allocated capacity, system health, or simply by volume number. Eventually the storage host with the best weight is chosen. This process is similar to the method used in best-bandwidth, using the criteria of storage access bandwidth as weight.

The main purpose of our current work being to evaluate the usefulness of a simulator such as StorAlloc, we chose to limit ourselves to the four algorithms listed above, and the evaluation of more complex or innovative scheduling algorithms (eg. multi-objective optimizations based on genetic algorithms) will be left to future works.

Storage abstraction

Because the available storage tiers can be extremely heterogeneous, an abstraction layer is needed to allow scheduling algorithms to accommodate the variety of technologies without needing to know the technical details of each level. In StorAlloc, storage platforms are represented through a hierarchy of three objects: servers, nodes and disks. Servers are top-level StorAlloc components which act as an interface between the orchestrator and one or many storage nodes. Nodes embed at least one disk. Nodes and disks may be of heterogeneous nature (number of disks, disk capacity, read and write bandwidth, node's network bandwidth). Disk or node characteristics don't have a fixed format. Anyone can define new fields, and it's up to the selected scheduling algorithm to make use of the information in order to achieve its own optimization goal. Whenever required by a parent server, a node should be able to setup and expose a specific partition of its storage resources, whose ownership will be transferred to a client. In simulation mode, servers passively accept requests without taking any action, but we still ensure that any allocation would be legal in terms of available resources. It has to be noted that when defining a storage layout, we consider the network to be flat i.e., with all the nodes connected to the same switch and at equal distance from each other. This is motivated by the fact that dynamic routing policies are unpredictable, either because the vendor does not provide enough details (such as on the Cray XC40 Theta platform which provided the input data used in Section 5 [START_REF] Chunduri | Performance evaluation of adaptive routing on dragonfly-based production systems[END_REF]) or because there are too many factors involved in packet routing decisions to be accurately modeled. Hence we only define the bandwidth at the node and disk levels and let the scheduling algorithm model the impact of concurrent allocations on these resources.

Simulation

A longer-term goal of StorAlloc is to provide a single code base for a storageaware job scheduler and its simulator. Therefore, we have designed our simulation server with a "component in the middle" approach. The core components run as if they were actually deployed on a real system except that, if the simulation mode is enabled, the requests are rerouted to the simulation server which stacks them until a specific message triggers the actual execution of the simulation.This mode of operation allows us to seamlessly switch from the theoretical case to real allocations if StorAlloc needs to be tested on an actual platform. Then, the simulation is unrolled and go through the scheduler, using a discrete event simulation (DES) model [START_REF] Fishman | Principles of discrete event simulation[END_REF]. During that phase, we replay the allocation decisions that were made by the scheduler onto the simulated storage. StorAlloc traces any possible allocation failures, and collect data measuring the impact of scheduling to feed a visualization server in real-time and output a result file. We have defined a number of indicators that allow us to study the behavior of the storage infrastructure. These indicators are defined below:

-sum_cap is the total capacity that should be allocated and deallocated during a simulation:

sum_cap = j∈J V j -mean_disk_use is the mean disk usage (in % of C di ): mean_disk_use = 1 T T -1 t=0 U di (t) * 100 C di , ∀d i ∈ D
-max_disk_use is the maximum disk usage:

max_disk_use = max{ U di (t) : t = 1..T }, ∀d i ∈ D
-mean_alloc is the mean number of concurrent allocations:

mean_alloc = 1 T T -1 t=0 A di (t), ∀d i ∈ D
-max_alloc is the maximum number of concurrent allocations:

max_alloc = max{ A di (t) : t = 1..T }, ∀d i ∈ D
Where:

T : The simulation duration, in seconds J: The set of jobs scheduled on the platform V j : The storage space that needs to be allocated for a job j, with j ∈ J D: The set of disks available on the storage infrastructure d i : The i th disk of the platform, with i ∈ D C di : Total capacity of disk i U di (t): Used space on disk i at time t A di (t): Number of allocations on disk i at time t At the request level, although we only record their cardinality, we also define the following sets:

Implementation details

The simulator presented in this paper is implemented using Python3. Our messaging protocol relies on ZeroMQ, while the DES model used for the simulation comes from the SimPy library1 . These choices allow us to limit the size of the source code by relying on robust on-shelf implementations. Our simulation is nevertheless constrained by the use of DES instead of more complex and accurate model: the potential impact of allocations choices, for instance on the runtime of a job, cannot be taken into account due to the lack of any form of feedback loop. However we believe this limitation, which will be addressed in future works, is acceptable when experimenting with static traces and focusing on the storage system usage. The source code of StorAlloc can be found at https://github.com/hephtaicie/storalloc.

Evaluation

In this section, we evaluate the benefits of our simulator to assess storage-aware job scheduling algorithms on heterogeneous resources. To do so, we run multiple configurations and show their impact on the storage tiers.

Simulation setup

To simulate storage requests from clients representative of real applications, we used a dataset composed of one year (2020) of Darshan2 logs on Theta, a 11.7 PFlops Cray XC40 supercomputer at Argonne National Laboratory3 . We extracted from these traces jobs spending at least 10% of their run time doing IO, and reading or writing at least 10 GB of data. It resulted in about 24 000 jobs out of approximately 624 000 jobs, each one translating into a storage request in StorAlloc: the requested capacity is conservatively based on the maximum of either read or write volume while the allocation time uses the initial job duration. Using Darshan traces as input data allows us to work with multiple HPC platforms which offer datasets of traces generated with this broadly available library. As the traces are pre-processed, other formats could also be adapted to be used with StorAlloc, thus making the simulator accessible for a large array of use case on various platforms.

Request ordering. We submitted these requests to the simulation process with the same ordering as in the original Darshan file, which is the order in which the traced jobs were initially scheduled on their host system. Consequently, the overall scheduling process could be seen as a two-step operation: a first scheduling happened independently from StorAlloc, based on compute criteria only, and StorAlloc is in charge of a second operation, where we allocate storage resources based on I/O criteria. One of our future plans is to extend our simulator and use it to help design algorithms that rely on both criteria to make scheduling decisions.

In order to have a good overview of what can be observed with our simulator, we have run 256 different simulation setups based on the settings presented in Table 3. The average simulation time is around 5m9s per run, in a range of [4m50s; 6m51s] on a single core of a Intel Xeon E5-2630 processor. This variability is due to the difference in complexity of the algorithms and the activation or not of the requeuing and splitting strategies. It has to be noted that total capacity, individual disk size and layout parameters have been chosen based on the study of our dataset, and allow us to simulate platforms which bracket a wide range of practical scenarios, from under-provisioned to over-provisioned storage resources. 1N1D serves as baseline.

Settings

Requeued

Enabled or disabled When enabled, new attempts every 5m, until a 60m delay.

Split 200 GB or disabled

When disabled, some requests will be too large for any of the disks.

Table 3. Simulation settings

Analysis

We present here results plotted based on StorAlloc simulation data. From these figures, we can conclude on a right sizing of the intermediate storage architecture while we can compare the efficiency of the tested scheduling algorithms. For this analysis, platforms and algorithms have been chosen to reflect a variety of behaviors.

Platform sizing In our dataset, the sum of all the storage capacities requested by clients, called sum_cap, reaches 1.6 PB. In Figure 4, we plot the percentage of this value achieved by each of the 256 runs of our simulation according to storage layouts and algorithms, grouped by platform capacity and split strategy. On the top row (no request split), only the 1N1D layout at 32TB and 64TB capacities reaches 100% of sum_cap. However this layout is merely a baseline which shouldn't be used, as it leads to a high concurrency and consequently a very low I/O bandwidth. From this result, we can also conclude that never more than 32TB are needed at the same time in our dataset. This information must be balanced by the fact that we exclude from Theta's traces several hundreds of thousands of jobs that we do not consider I/O intensive. The best results with other layouts peak slightly above 60%, which hints towards an underprovisioning of storage resources.

Impact of request splitting on the allocation success rate

The bottom row depicts the same analysis when using the split strategy with chunks of 200GB. We see that all layouts reach a 100% of sum_cap for 64TB. With a capacity of 32TB, the result is similar, although suggesting an ordering of the algorithms: worst-fit and random unsurprisingly rank last most of the time because they still fail on a few allocations. More generally, request splitting allows a better use of resources and requires less storage space (even the 16TB platform reaches between 91% and 96% of sum_cap). In the following plots, we present data from simulation runs exclusively using the split strategy, as it has proven to bring more efficiency in the resource utilization, and even stands out as one of the leading criteria for maximizing request allocations. Additionally, with many simulations runs reaching over 95% of sum_cap, split-enabled setups offer the opportunity to study the behaviour of our algorithms at a boundary between sufficient and insufficient storage capacity.

Impact of request splitting on disk utilization

The above results give little information, however, about the use of the disks composing the modeled platform. Figure 5 proposes to study this. Here, we plot the maximum disk utilization, called max_disk_use, for 16TB, 32TB and 64TB infrastructures (excluding 1N1D layout). As expected, the disk utilization rate correlates with the ability to absorb split requests for storage space (Figure 4). For instance, with 16TB of storage capacity, all disks end up full at least once during the simulation. This is an expected result, granted that Figure 4 already exposes this capacity choice as being slightly underprovisioned. The 32TB case presents a different outcome: although disk utilization is globally still very high, only random and worst-fit algorithms now have disks reaching a 100% of their total capacity. The other two algorithms would instead make a 32TB platform suitable, although with a very small margin before entirely filling up disks. Eventually, it is possible to quantify a potential underutilization, as seen for the 64TB platform where the best algorithms now never use more than 50% of max_disk_use. The worst-fit algorithm is specifically intended for maximising the use of a single disk from a single node, which explains that it still reaches 100% of max_disk_use for one of its disks.

This first analysis shows that a 32TB intermediate storage tier can handle at least 99% of all the I/O intensive jobs in our dataset, as long as the requests are split into 200GB blocks. In that case, some of the targeted disks are used at their full capacity at least once, leaving little flexibility in case of a sudden overload, while the average disk utilization rate is however still very low (1.53%). This is explained by the sparsity of the jobs studied spread over a whole year. Finally, the different layouts tested (1NnD, nN1D, nNnD) behave in much the same way. Nevertheless, they have an impact on the available aggregated bandwidth as long as the scheduling algorithms can efficiently take advantage of the storage disaggregation, as shown in the rest of this paper.

Comparison of scheduling algorithms fairness We have implemented four different storage-aware job scheduling algorithms in StorAlloc, as described in 4.2. To evaluate their efficiency, we propose to define a fairness metric that looks at the maximum and average number of concurrent allocations per disk allocated by each algorithm. This metric provides information on the balancing of the distribution of requests and consequently on the potential bandwidth available for the allocated jobs: in a permanent maximum I/O regime hypothesis (all jobs with continuous I/O operations), the less allocations are concurrent on resources, the more I/O bandwidth is available. Figure 6 depicts this fairness for our four algorithms, in the case of split requests. First, we can see that the general variability (standard deviation) in both the mean and max numbers of allocations per disk are lower for round-robin and best-bandwidth than for random and worst-fit. As expected, worst-fit stands out, as its design clearly goes against fairness. We also observe that round-robin and best-bandwidth have a quite similar fairness, with a slight advantage to bestbandwidth. This latter is the most advanced algorithm as it takes into account existing allocations on disks and nodes to make a decision. In terms of maximum number of allocations per disk, best-bandwidth is almost as stable as round-robin and random, and also leads to the smallest maximums. In other words, this algorithm can be expected to provide the best average bandwidth to jobs in the permanent regime case. best-bandwidth has a strong effect on the maximum number of allocations per disk compared to worst-fit, and a small but perceptible effect when compared to round-robin or random algorithms. However, we also observe that in this experimental context, round-robin doesn't actually present any clear effect when compared to the random baseline.

Impact of allocation failures and refused requests Our fairness metric must also be balanced with the ability of an algorithm to allocate all the requests sent to it. As noted earlier, two negative outputs for requests are the failure of an allocation that was accepted by the scheduler and the refusal of a request which is expected to fail. As mentioned in 5.1, only best-bandwidth and round-robin may refuse requests, but all algorithms may lead to failures. Actively refusing large requests might help with fairness, due to less allocations to deal with, but it obviously goes against the primary goals of our scheduler. Figure 9 presents the maximum number of requests in R Split ∩ R F ailed and R Split ∩ R Ref used among all simulation runs for a given capacity and a given algorithm. When the storage resources are very constrained (8TB), we observe up to 217 failures for random. In comparison, best-bandwidth and round-robin both have a combined number of failed and refused requests more than twice as low. This is comparable to the results of worst-fit, and shows that refusing requests doesn't have a negative impact compared to other solutions. In the 16TB case, however, there is no clear winner although random and worst-fit appear to be slightly ahead. Indeed, in this case the relatively high number of refused requests for best-bandwidth and round-robin still doesn't prevent them from experiencing failures. We can assume that the policy they use to refuse requests is not ideal when storage is only slightly underprovisioned and many requests could either succeed or fail by a small margin. Nevertheless, looking back at Figure 4, we see that for the 16TB case, random clearly leads to fewer allocations than bestbandwidth, even though it records fewer missed allocations (38 failures for the former, and 41 failed or refused requests for the latter). The advantage for bestbandwidth comes here from selecting which requests should be refused rather than facing random failures. As for the 32TB case, no more refused requests are recorded, and only random and worst-fit algorithms still end up with a handful of failures.

As a result, we show that it is possible to compare our algorithms not only in terms of fairness but also regarding their allocation capabilities. This lets us make sure that aiming for the best fairness, or other comparable goals, doesn't unnecessarily affect the basic capabilities of our algorithms. In this situation, best-bandwidth and round-robin are once again better choices than the other two algorithms.

Behavior in the face of more heterogeneity The previous observations led us to conclude that a possible solution to allocate all the requests in our dataset was to use a 32TB platform, in conjunction with the best-bandwidth algorithm and a split request strategy. Requeuing doesn't seem necessary in this case. Using these parameters, we now run a final simulation with a different platform that presents more heterogeneity than our other simulated systems. It is composed of two types of nodes, as described in Table 4 4. Heterogeneous platform description Fig. 10. mean_alloc and max_alloc per disk, grouped by node, when using a 32TB heterogeneous platform composed of nodes using either SSDs or HDDs.

Figure 10 displays the mean and maximum number of allocations per disk during the simulation, grouped by node. We can conclude on a much more frequent use of SSD nodes, whose disks support up to 25 concurrent allocations when HDDs see at most 9 allocations per disk. Similarly, mean number of allocations is much higher for SSDs than for HDDs. In that regard, best-bandwidth worked as expected and indeed strongly favored the SSD partition. The offloading of some allocations onto the HDDs was also expected as, as shown in Figure 4, best-bandwidth wasn't able to allocate 100% of sum_cap on a 16TB platform which is the size of the SSD-based partition. Nevertheless, best-bandwidth proved to be resilient to this new level of heterogeneity. It once again reached 97% of sum_cap, with no more than 17 failed split requests, and all SSD disks ended-up full before the HDDs were used. These results are compatible with the observations made in the previous sections, and show that the algorithm is adaptable and performs well in this new setting.

Using this experimental setting, we can also compare effect sizes between algorithms when the layout changes. Best-bandwidth is the only algorithm in our study able to distinguish between SSDs and HDDs when granting allocations. Consequently, we expect that using it instead of any other algorithm will have a much greater effect than what was reported in First of all, we plot the maximum number of allocations per disk for all four algorithms, grouping data by disk type, in Fig 11. We show that only bestbandwidth and worst-fit grant more allocations on SSDs than on HDDs. However in the case of worst-fit, the decision is entirely based on the smaller capacity of the SSDs, and we can observe that HDDs still receive a considerable amount of allocations. In general, best-bandwidth appears to display some of the smallest maximums for the number of allocations per disk.

Random choice

Worst-Fit Round-robin Best bandwidth In Table 5, we confirm the observations from Fig 11, using a Cohen's d metric computed between best-bandwidth and each one of the three other algorithms, for the maximum number of allocations per disk. We observe that Cohen's d is always greater or comparable to the values presented in Fig 8 . In particular, we show a very large effect when looking only at SSDs or only HDDs disks, which support the initial design goal of the best-bandwidth algorithm.

Conclusion

This paper builds upon our previous work on StorAlloc, and offers a detailed perspective on this tool. StorAlloc is a DES-based simulator integrated on top of a job scheduler architecture. It helps investigate scheduling strategies for I/O intensive jobs on heterogeneous storage resources distributed across a HPC system. Through an extensible design and flexible configuration settings, this tool can be used to model diverse storage infrastructures, and to implement various scheduling strategies. In this work, we have explored a large parameter space, using multiple simulated platforms and algorithms. We demonstrated how StorAlloc can efficiently ingest a consequent number of allocation requests generated from production traces and output storage-related metrics. They provide valuable insights for storage platform sizing and scheduling algorithms evaluation. In particular, we have shown that a 32TB burst-buffer partition on Theta, a top-tier supercomputer at Argonne National Laboratory, would be sufficient to absorb the I/O burden of the I/O intensive jobs running on the system. Eventually, we proposed to assess the reliability of one of our algorithms, best-bandwidth, capturing its behaviour through multiple metrics and a statistical analysis.

In future work, we plan to carry out additional experimental campaigns using other datasets, along with new metrics, infrastructures and storage-aware scheduling algorithms. We are also currently evaluating the benefits we can obtain from simulation frameworks such as Wrench [START_REF] Casanova | Developing Accurate and Scalable Simulators of Production Workflow Management Systems with WRENCH[END_REF] for the implementation of our simulation component. In that regard, we started to work on the necessary foundations for porting features from StorAlloc to Wrench. We hope this will allow us to eventually combine compute and storage criteria into a single scheduling algorithm and analyse its behaviour with advanced feedback, thanks to the state-of-the-art models in Wrench. Another goal will be to add support for Cloud storage in order to simulate emerging hybrid workflows distributed across HPC and Cloud infrastructures, using storage as a staging area for coupling components.

Fig. 1 .

 1 Fig. 1. Ratio of PFS I/O bandwidth (GBps) to computing power (TFlops) of the top 3 supercomputers of the Top500 from 2009 to 2022

Fig. 3 .

 3 Fig. 3. StorAlloc simulation components

R

  Delay : The set of delayed requests during the simulation (and D r the total delay time) R Requeued : The set of requeued requests during the simulation R Split : The set of splitted requests during the simulation R Allocated : The set of allocated requests during the simulation R Ref used : The set of refused requests during the simulation R F ailed : The set of failed requests during the simulation

Fig. 4 .

 4 Fig. 4. Percentage of sum_cap (sum of the requested capacities in the entire dataset) per simulation run, grouped by capacity and split strategy. Ordered in each plot by total allocation volume (GB)

Fig. 5 .

 5 Fig. 5. Maximum disk capacity utilisation (% of capacity), for 16TB, 32TB and 64TB platforms with split strategy and 200G threshold. The 1N1D layout has been removed.

Fig. 6 .

 6 Fig.[START_REF] Bleuse | Interference-Aware Scheduling Using Geometric Constraints[END_REF]. mean_alloc (top) and max_alloc (bottom) per disk, grouped by algorithms, for 32TB platform and split strategy. Storage layout 1N1D excluded. Dots plot the mean and max number of allocations of each disk separately. σ denotes the standard deviation of each group.

Fig. 7 .Fig. 8 .

 78 Fig. 7. Cohens d metric for mean_alloc

Fig 7

 7 shows that the choice of algorithm has no effect on the mean number of allocations between disks. This is expected as the platform capacity and layout is the same for all four algorithms and they all manage to grant almost all allocations. On the other hand, Fig 8 validates the observation from Fig 6 that

  Fig 8 (same capacity HDDs only).

Fig. 11 .

 11 Fig. 11. Maximum number of allocations per disk, grouped by algorithm and disk type (32TB platform with heterogeneous disk layout). Given the platform capacity, all algorithms almost manage to grant every allocation from the dataset.

  . These nodes have different numbers of disks, disk size, disk bandwidth, and network link bandwidth. Considering past results, an algorithm like best-bandwidth should be able to strongly minimize the use of HDD nodes, and prefer the SSD partition, which presents enough storage to accommodate most requests.

	Disks / node Disk bandwidth # of nodes Total capacity Network
	5 x 1.6TB SSD 2.93Gbps	2	16TB	200Gbps
	2 x 2TB HDD 0.08Gbps	4	16TB	100Gbps
	Table

Table 5 .

 5 Cohen's d metric for compared use of Best-Bandwidth and other algorithms, computed on the max_alloc metric.

	Best-bandwidth compared to Random Round-robin Worst-fit
	Values from Fig 8 (HDD-only)	0.24	0.21	0.95
	All nodes / all disks	0.42	0.21	1.77
	SSD nodes only	1.18	0.99	1.66
	HDD nodes only	-3.68	-5.20	2.59

Resp. https://zeromq.org/ and https://simpy.readthedocs.io/en/latest/

Darshan I/O monitoring tool. https://www.mcs.anl.gov/research/projects/darshan/

This data was generated from resources of the Argonne Leadership Computing Facility, which is a DOE Office of Science User Facility supported under Contract DE-AC02-06CH11357.


Nawel Redjem

Salima Lakehal

Aicha Lakehal

Christophe Morell

Lynda Merzoud

Henry Chermette

Reactivity and a Charge-Transfer Model Analysis in Aminopolycarboxylic-Metal Complexes

published or not. The documents may come   L'archive ouverte pluridisciplinaire

INTRODUCTION

The contamination by heavy metals has been a serious problem in the last decades. The aminopolycarboxylates acids (APCs) have been widely used as ligands to capture the heavy metals. Therefore, the APC structures are also known for their good possibilities of heavy atom recovery. The chelation and dechelation of APCs complexes have been proposed as a novel green approach for heavy metal capture. However, the reactivity of the heavy metals with the APCs complexes is still the subject of several investigations [START_REF] Schmidt | Occurrence of Aminopolycarboxylates in the Aquatic Environment of Germany[END_REF][START_REF] Kropacheva | The Influence of Aminopolycarboxylates on the Sorption of Copper (II) Cations by (Hydro)Oxides of Iron, Aluminum, and Manganese[END_REF][START_REF] Królicka | Application of Aminopolycarboxylic Complexes of V ( IV ) in Catalytic Adsorptive Stripping Voltammetry of Germanium[END_REF][START_REF] Rahman | The Significance of Biodegradable Methylglycinediacetic Acid (MGDA) for Iron and Arsenic Bioavailability and Uptake in Rice Plant[END_REF][START_REF] Lewis | The Structural Basis of the Binding of Various Aminopolycarboxylates by the Periplasmic Edta-Binding Protein Eppa from Chelativorans Sp. BNC1[END_REF] . Conceptual density functional theory is widely applied in various fields for understanding chemical reaction using the isolated properties of reactants 6- 16 . It has been successfully exploited to unravel chemical reactivity and sites selectivity. To explain the chemical reaction without knowing a detailed knowledge of the reaction path, conceptual density functional theory uses global and local chemical descriptors [START_REF] Chattaraj | Update 1 of: Electrophilicity Index[END_REF][START_REF] Chattaraj | Electrophilicity Index[END_REF][START_REF] Parr | Density Functional Theory of Atoms and Molecules[END_REF] which contain reactivity information of the whole system. Among chemical descriptors the most common ones involving global reactivity information are the chemical potential μ, the hardnessη and global softness S [START_REF] Parr | Electronegativity: The Density Functional Viewpoint[END_REF][START_REF] Parr | Absolute Hardness: Companion Parameter to Absolute Electronegativity[END_REF] . Another important local descriptors are the Fukui functions f(r) [START_REF] Parr | Density Functional Approach to the Frontier-Electron Theory of Chemical Reactivity[END_REF] , dual descriptors [START_REF] Morell | New Dual Descriptor for Chemical Reactivity[END_REF][START_REF] Morell | Theoretical Support for Using the Δf(r) Descriptor[END_REF] and the local softness s(r) [START_REF] Yang | Softness, and the Fukui Function in the Electronic Theory of Metals and Catalysis[END_REF] . These and other chemical reactivity indexes have been reviewed in the literature 18,25- 28 .

In the association reaction X + Y→ XY, one can show that the change in the energy involved can easily be expressed in terms of the electronegativities and hardnesses of the reacting species, by using the Parr and Pearson (PP) model [START_REF] Pearson | Absolute Electronegativity and Hardness: Applications to Organic Chemistry[END_REF][START_REF] Pearson | Absolute Electronegativity and Hardness: Application to Inorganic Chemistry[END_REF] Aiming to determine the charge-transfer mechanism, electrophilic or nucleophilic, prevailing in an association chemical reaction, Orozco-Valencia et al. presented recently a partitioning scheme for the number of electrons exchanged in a reaction considering that both species accept and donate charge [START_REF] Orozco-Valencia | Global and Local Partitioning of the Charge Transferred in the Parr-Pearson Model[END_REF][START_REF] Orozco-Valencia | Donation and Back-Donation Analyzed through a Charge Transfer Model Based on Density Functional Theory[END_REF] .

The main objective of this study is to explore the reactivity of the APC acids with respect to the complexation of some transition metals, namely Ni, Co and Mn, as presented in Figure 1. Therefore, we carried out our study on three steps. The first one is the analysis of APCs reactivity by calculating different reactivity indices to determine which atoms in all of these acids plays the most important role in the reactions. In a second step, the charge transfer partition is calculated based on the global PP model, aiming to establish a correlation between the charge quantities transferred and the equilibrium constants. In the third step, the molecular orbitals of eight stable structures of EDTA are analyzed to understand the behaviour of APCs in these reactions. Besides, a natural population analysis (NBO) is carried out on all the nickel complexes.

EDTA EDDS EDDM EDDG

CDTA IDS

Fig. 1 the different aminopolycarboxylic acids with four carboxylic functions

The paper is organized as follows: after the description of computational methodology, we will study in the first part the relative reactivity prediction, the second part will be devoted to the dual descriptor and the Molecular Electrostatic Potentials, the last part will focus in the charge transfer between metal and ligand. The natural bond orbitals (NBO) analyses is also carried out and discussed. The paper ends with some concluding remarks 2.

COMPUTATIONAL METHOD

All DFT calculations reported in this work were done employing the hybrid B3LYP functional [START_REF] Becke | Density-Functional Thermochemistry. III. The Role of Exact Exchange[END_REF][START_REF] Becke | Density-Functional Exchange-Energy Approximation with Correct Asymptotic Behavior[END_REF][START_REF] Lee | Into a Functional of the Electron Density F F[END_REF] and the 6-311++G (d, p) basis set [START_REF] Krishnan | Self-Consistent Molecular Orbital Methods. XX. A Basis Set for Correlated Wave Functions[END_REF][START_REF] Mclean | Contracted Gaussian Basis Sets for Molecular Calculations[END_REF] . For transition metals, we use the LANL2DZ basis set. This standard and widely used functional is known to deliver rather good structures of organometallic systems (see, e.g. ref. [START_REF] Latouche | TD-DFT Benchmark on Inorganic Pt(II) and Ir(III) Complexes[END_REF][START_REF] Stoliaroff | Accurate Computations to Simulate the Phosphorescence Spectra of Large Transition Complexes: Simulated Colors Match Experiment[END_REF][START_REF] Stoliaroff | Accurate Ab Initio Calculations on Various PV-Based Materials: Which Functional to Be Used?[END_REF] ). A frequency analysis was done to confirm that all the stationary points located by the optimization procedure correspond to minima in the potential energy surface. Optimized APCs molecules in the gas phase were further re-optimized at the B3LYP/6311++G (d, p) level employing CPCM solvation model [START_REF] Miertus | Approximate Evaluations of the the Electrostatic Free Energy and Internal Energy Changes in Solution Processes[END_REF][START_REF] Miertus | Electrostatic Interaction of a Solute with a Continuum.A Direct Utilization of Ab Inition Molecular Potentials for the Prevision of Solvent Effects[END_REF] in the aqueous medium. All the calculations reported here were performed with the Gaussian 09 package 42 , visualized with the Gauss View 43 and Gabedit packages [START_REF] Allouche | Software News and Updates Gabedit -A Graphical User Interface for Computational Chemistry Softwares[END_REF] . Electronic chemical potential and chemical hardness and softness were calculated from the frontier molecular orbital (FMO) eigenvalues. The natural bond orbital (NBO) calculations have been performed for each reactant using the NBO 3 program [START_REF] Glendening | NBO Version 3.1. Gaussian Inc[END_REF] interfaced with Gaussian 09 42 .

Global reactivity descriptors indices such as electronegativity, electronic chemical potential (μ)(which is equal to the negative of the electronegativity), hardness (η), electrophilicity index (ω) [START_REF] Ayers | Perturbative Perspectives on the Chemical Reaction Prediction Problem[END_REF][START_REF] Chattaraj | Electrophilicity Index[END_REF][START_REF] Shu-Bin | Conceptual Density Functional Theory and Some Recent Developments[END_REF][START_REF] Gázquez | Perspectives on the Density Functional Theory of Chemical Reactivity[END_REF][START_REF] Geerlings | Conceptual Density Functional Theory[END_REF][START_REF] Chermette | Chemical Reactivity Indexes in Density Functional Theory[END_REF][START_REF] Johnson | Modern Charge Density Analysis[END_REF] , are calculated according to Koopmans' theorem as follow:

µ ≈ - 1 2 +
where I = -EHOMO and A= -ELUMO

(1 µ ≈ ε + ε 2 2 ≈ - ( 3
) ≈ ε -ε (4)
The global softness (S) is defined as the reciprocal hardness as follow:

S = 1 η (5)
The absolute electronegativity (χ) is defined as 20 χ = -µ 6

The nucleophilicityindex [START_REF] Domingo | Understanding the Reactivity of Captodative Ethylenes in Polar Cycloaddition Reactions. A Theoretical Study[END_REF] is calculated referred to tetracyanoethylene (TCE) is given by:

N = ε -ε !" 7
where: % !" = -9.367eV 47 (In our computational conditions (same functional, same basis set, same solvent), one gets ε !" =-9.303 eV). The tiny shift does not affect the trends, evidently. The global electrophilicity index + was introduced by Parr 8,18,25 and it is calculated using the electronic chemical potential μ and the absolute hardness η: Accordingly, ω measures the ability of a species to accept electrons. Thus, low values of ω indicate a good nucleophile while high values characterize good electrophiles.

Relative reactivity prediction

The relative reactivity of substitutions has been rationalized using the global nucleophile index proposed by Domingo et al. [START_REF] Domingo | Understanding the Reactivity of Captodative Ethylenes in Polar Cycloaddition Reactions. A Theoretical Study[END_REF] defined according to equa-tion 7. As is well known, the HOMO and LUMO frontier molecular orbitals provide understanding in the efficiency in the interaction between chemical reactants: A high value of the quantum chemical descriptor %HOMO favors the molecule to electron donation, whereas a low value of %LUMO favors the electron capture by the molecule. The hardness helps us to characterize the chemical reactivity and the kinetic stability of the molecular product.

From Table 1, the results reveal that all of the acids have strong gap values, which indicates good stability. On the other hand, by examining the values of global nucleophilicity index, we note that the CDTA ligand has the greatest nucleophilic index (N = 3.727, 3.545 in gas, solvent phases, respectively) compared to the other ligands. The analysis of HOMO energy, which acts as an electron donor [START_REF] Özcan | Organic Sulphur-Containing Compounds as Corrosion Inhibitors for Mild Steel in Acidic Media: Correlation between Inhibition Efficiency and Chemical Structure[END_REF] , indicates a tendency for the molecule to donate an electron to the appropriate metal as an electron acceptor. Let us recall that a good nucleophile has high chemical potential and a high value of HOMO energy, and has low electrophilicity index ω. This tendency is: CDTA>EDTA>EDDM≈>EDDS>EDDG>IDS It can be observed from Table1 that the global hardness η is slightly modified when the solvent is taken into account with respect to the gas phase. One of the reasons is that a polar solvent, such as water, could stabilize the charged species with respect to the gas phase, therefore modifying the value of η without having a direct implication on the reactivity of the APCs.

DUAL DESCRIPTOR

The dual descriptor (DD) Δf(r), introduced by Morell 22,23 measures how the absolute hardness changes with an external potential change. Typically, this occurs when reactants approach each other during a bimolecular reaction. The DD can also be defined as the second derivative of the electron density with respect to the number of electrons, and it can be calculated as the difference between the electrophile and nucleophile Fukui functions:

ω = µ - 2η ≈ + - 8 -
∆0 1 = 0 2 1 -0 3 1 9
Accordingly, where Δf(r) > 0, nucleophilic attack is favored rather than electrophilic attack, whereas if Δf(r) < 0, point r favors electrophilic attack. Consequently, positive values of Δf(r) point out electrophilic regions within a molecular topology, whereas negative values of Δf(r) highlight nucleophilic regions. Maps of the dual descriptors for each APCs acids are shown in Fig. 2.Negative (Δf(r) < 0) regions are col-ored in red, whereas positive (Δf(r) > 0) regions are blue. As expected, the negative regions of the DD are located on the nitrogen atoms, indicating that any electrophilic attack would take place on the nitrogen lone pairs. This is expected because the HOMO (and HOMO-1) should be located on the lone pairs of the nitrogen(s). We will discuss this point below.

MOLECULAR ELECTROSTATIC POTENTIALS (MEP)

MEPs are also used to investigate the chemical reactivity of a molecule. Former works on the application of MEP to chemical facts [START_REF] Scrocco | The Electrostatic Molecular Potential as a Tool for the Interpretation of Molecular Properties[END_REF][START_REF] Sjoberg | Use of the Electrostatic Potential at the Molecular Surface to Interpret and Predict Nucleophilic Processes[END_REF][START_REF] Murray | The Electrostatic Potential: An Overview[END_REF][START_REF] Gadre | Electrostatic Potential Topology for Probing Molecular Structure, Bonding and Reactivity[END_REF] highlighted the possibilities of MEP in the interpretation of reactivity. This is especially important for the identification of the reactive sites of nucleophilic or electrophilic attack.

The MEP surface shows the charges distribution in the different acids. The electrostatic potential increases in the following order: red <yellow< green <blue. The negative regions are red and the blue ones indicate positive regions. The resulting overall MEP of the different APCs (Figure 3) shows that the red regions are located on the oxygen atoms (C=O) indicating that those oxygen atoms will be the preferred sites for electrophilic attack.

MO OCCUPATION

The MOs diagrams show clearly that the HOMO and HOMO-1 (for the five chelating ligands holding two nitrogens) are typically the orbitals holding the lone pairs of the nitrogen(s), as expected. Since several stable conformations can be optimized, it is interesting to see, among these conformations, if these lone pairs are identically occupied by the two orbitals or if the HOMO is more localised on a given nitrogen, whereas the HOMO-1 is in the majority localised on the other nitrogen. Table 2 reports the case of 8 different structures of EDTA for which we can observe that the energy gap between the HOMO and HOMO-1 is neither related to the stability of the structure, nor to a localisation/delocalisation on the nitrogens. It clearly shows that the localization is maximum on a given nitrogen in the HOMO (and consequently maximum for the other nitrogen in the HOMO-1) for the most stable structure, but also for least stables ones (among the calculated structures). On the contrary, a few structures exhibit rather equally distributed lone pair electrons on the nitrogens among the HOMO and HOMO-1. This large variation of the electron density among the different conformers lets expect an easy transformation towards more or less reactive conformations.The reactivity is probably in fine not necessarily related to the electronic proper- ties of the most stable conformation of the ligand, but to one conformation exhibiting a more localized density on one nitrogen in the HOMO, leading to a starting complexation process. That will involve a geometry deformation relocalizing the density on the second nitrogen on the ligand fragment within the complex formation. A full analyse of the complexation process is out of the scope of the present work.

METAL-LIGAND NET CHARGE TRANSFER

In the density functional theory of chemical reactivity [START_REF] Parr | Absolute Hardness: Companion Parameter to Absolute Electronegativity[END_REF][START_REF] Berkowitz | Density Functional Approach to Frontier Controlled Reactions[END_REF] , the charge transfer terms are related to the interaction energy as part of a covalent contribution.

Orozco-Valencia et al. [START_REF] Orozco-Valencia | Global and Local Partitioning of the Charge Transferred in the Parr-Pearson Model[END_REF][START_REF] Orozco-Valencia | Donation and Back-Donation Analyzed through a Charge Transfer Model Based on Density Functional Theory[END_REF] have provided expressions for the transfer of charge ΔN and of energy difference ΔΕ which complete the formation of a complex between an acid A and a base B, namely:

45 = µ46 + 1 2 46 - (10)
Considering the interaction between two systems X and Y, and analyzing the process of charge transfer occurring between these two species, the charge ;<= (11) where 6 7 89: is the electrophilic component, representing the charge transferred in the electrophilic channel of reactant X, which means that X is accepting electrons (it must take positive value). 6 7

;<= is the nucleophilic component, which means that6 7

;<= is the charge transferred through the nucleophilic channel of X, X being then donating electrons (it must be negative). There are similar equations for reactant Y where the roles are inverted in accordance with the charge conservation. In general, when the two reacting systems X and Y are neutral, the directions of charge transfer agree with the chemical potential differences. The expressions to calculate the amount of electrons transferred in these two channels are:

∆6 7 89: = 7 -> 2 7 + > = -∆6 > ;<= 12 ∆6 7 ?<= = 7 -> 2 7 + > = -∆6 > 89:
13

When the charge transfer increases, the interaction between the metal and the ligand is stronger [START_REF] Mclean | Contracted Gaussian Basis Sets for Molecular Calculations[END_REF] .According to the expressions 12 and 13, one can determine the back-donation and the donation between metals and APCs acids respectively. To apply these relationships to our systems, we need first to calculate the first vertical ionization potential I, and the vertical electron affinity A defined in eq(1), of the APCs acids, here considered as species X, and of the metal identified as species Y. The average chemical potential and the hardness η, of both species are collected in Table 3 Fig

The variation of charge transfer according to metals

According to the results plotted in Fig. 5, it can be seen that the charge transfer for the same metal follows the descending order: IDS<EDDG< EDDM< EDDS< EDTA<CDTA. It is the same order as that we obtained for the HOMO eigenvalue and the electrophilicity index

We have gathered in Table 4 the calculated values of∆6 7 ,46 7 :9: and 46 7 ?<= obtained from Eq. ( 11), ( 12) and (13), respectively. We have also reported the experimental values of stability constants log K corresponding to the (APCs) metal complexes. A negative sign of 46 7

?<= indicates that charge is transferred from the ligand to the metal, while a positive value of 46 7 :9: indicates the opposite direction, the charge is transferred from the metal to the ligand. Their absolute values indicate the amount of charge transferred through the two channels. Therefore, the stronger electron-withdrawing ligands correspond to those with largerΔN 7 :9: , and the stronger electron-donating groups correspond to those with larger absolute value ofΔN 7 ?<= .

Figure 6 shows the overall correlation between 46 7 ?<= and the log K values of metal complexes, using Eqs. (10), (11) and (12), one can show that: 15

This approach provides a tool for measuring the capacity of the electron donor or the nucleophilicity of, in this case the APC ligands with46 7 ?<= , and the electron acceptor capacity or electrophilicity with 46 7 :9: , of Mn, Co and Ni. From calculated results in Table 4, a good linear correlation is found by plotting the equilibrium constants of the complexation reaction with the amount of electrons transferred through the nucleophilic channel(see Figure 6).The same correlation is found for the amounts of electrons transferred, as defined in equations 11 and 14 [START_REF] Orozco-Valencia | Global and Local Partitioning of the Charge Transferred in the Parr-Pearson Model[END_REF] .

It is important to note that the electron acceptordonor properties measured with 46 a ?<= and 46 a :9: clearly depend on the chemical nature of the APCs. The APCs ligands have electron donator atoms, such as the four O atoms and two N atoms which have the greatest electrodonation capacity, so that they give more charge to Mn, Co and Ni. These ligands can be arranged according to the absolute values of46 7 ?<= sorting them in decreasing order of their nucleophilicity, one gets: CDTA> EDTA> EDDS> EDDM> EDDG> IDS, (and the opposite trend for the values of 46 a :9: ). This is the order already found in Table 1. Fig. 6.. The equilibrium constant of the complexation reaction between APCs and Mn, Co, and Ni metals with the amount of electron transfer through the nucleophilic channel using values reported in Table 4.

NBO NICKEL COMPLEXES ANALYSIS

To highlight the donation and the back-donation of the metal-ligand, the NBO analysis is applied to the nickel complexes. The second order perturbation analysis of the Fock matrix between the APCs and the transition metals are reported in Tables S.2-7 in SI.The NBO results show that, in those complexes, there is the interaction between σ (N-C), σ (C-O), LP (N) and LP (O) of the ligand with the nickel lone pair LP (Ni)and the weak interaction with Ry* (Ni).However, a weak retrodonation from the Ni atom lone pairs to the ligand is noted except for the EDDS complex case, where a larger retrodonation is observed between LP* (Ni) and Ry* (C), σ* (C-O)(see Table S.6. in SI).Therefore, the APCs complexes stabilization is due to the intramolecular charge transfer resulting from the N-C, C-O bonds as well as the nitrogen and oxygen atoms lone pairs of ligand to the nickel atom lone pairs.

CONCLUDING REMARKS

The results obtained in this work shed light on the driving forces in the complexation reactions of transition metals by APCs. MEPs and DD approaches allow one to clearly identify the atoms involved in the complexation reactions. The values of 46 a ?<= and 46 a :9: derived through the application of partitioning provide information on the electrophilicity and nucleophilicity of the chemical species. Interestingly, we have found good correlations between these quantities and the complexation equilibrium constants for these metals.

Finally, the donation σ and the back-donation π, which is clearly framed in orbital language, can be reinterpreted in terms of charge transfer processes framed in the approach of the DFT for chemical reactivity [START_REF] Gázquez | Perspectives on the Density Functional Theory of Chemical Reactivity[END_REF][START_REF] Roy | Careful Scrutiny of the Philicity Concept[END_REF] , and expressed in terms of important chemical concepts like chemical potential (electronegativity) and hardness of interacting species .The NBO results show that, the APCs complexes stabilization is due to the intramolecular charge transfer resulting form the sigma N-C, C-O bonds as well as the nitrogen and oxygen atoms lone pairs of ligand to the nickel atom lone pair. However, a weak retrodonation from the Ni atom lone pairs to the ligand is noted, the EDDS complex case excepted, where a more important retrodonation is observed between LP* (Ni) and Ry* (C), σ* (C-O).

ACRONYMS OF THE APCs

Figure 2 .

 2 Figure 2. Dual descriptors of the 6 APCs (isocontours = 0.005au)

Figure 3 .

 3 Figure 3. Electrostatic potentials mapped on the electron density surfaceof the 6 APCs

Fig. 4

 4 Fig.4 HOMO-(HOMO-1) gap vs bonding energy among EDTA structures (kcal/mol).The N populations are that of HOMO (left) and HOMO-1 (right) for N1 and N2..

  -0.3336 -0.1675 19.7 Ni 0.1902 -0.3097 -0.1195

  EDTA: Ethylenediaminetetraacétic acid EDDS: Ethylenediamine-N,N'-disuccinic acid EDDM: Ethylenediiminopropanedioic acid EDDG: Ethylenediamine-N,N'-diglutaric acid CDTA: Cyclohexanediaminetetraaceticacid IDS: Iminodisucciniqueacid ASSOCIATED CONTENT Supporting Information Table S1: structures and atom numbers Tables S2-S7: NBO charges in the 6 complexes

Table 1 :

 1 Calculated quantum chemical parameters and global reactivity descriptors of the studied APCs ligands (italic values for solvated species) in eV.(eV -1 for S)

	Ligand	EHOMO	ELUMO	Nu	µ	Χ	η	S	ω	ΔNmax
										100 0.604/0.609
	EDDS -6.772/-6.952 -0.859/-0.769 2.592/2.416-3.815/-3.861 3.815/3.861 5.913/6.182 0.169/0.162 1.231/1.205 0.645/0.624
	EDDM -6.773/-6.905 -0.927/-0.999 2.595/2.462-3.850/-3.952 3.850/3.952 5.846/5.906 0.171/0.169 1.268/1.322 0.658/0.669
	EDDG -7.061/-6.736 -0.953/-0.674 2.306/2.632-4.007/-3.705 4.007/3.705 6.108/6.062 0.164/0.165 1.314/1.132 0.656/0.611
	IDS	-7.126/-6.871 -0.993/-0.894 2.242/2.497-4.060/-3.882 4.059/3.882 6.133/5.977 0.163/0.167 1.343/1.261 0.662/0.649

CDTA -5.641/-5.823 -0.979/-1.017 3.727/3.545-3.310/-3.420 3.310/3.420 4.662/4.805 0.214/0.208 1.174/1.217 0.710/0.712 EDTA -6.040/-6.548 -0.572/-0.646 3.328/2.820-3.306/-3.597 3.306/3.597 5.468/5.902 0.183/0.169 0.999/1.

Table 2 :

 2 The calculated energy gap for 8 different structures of EDTA (eV)

	Structure number	Total Bonding Energy kcal/mol	"Gap" HOMO-HOMO-1	HOMO-1 π N12	HOMO-1 π N11	HOMO π N12	HOMO π N11	HOMO-1 eigenvalue	HOMO eigenvalue
	1	-5040.48	0.282	0	56	61	2	-5.853	-5.571
	2	-5041.89	0.791	51	13	7	46	-5.896	-5.105
	3	-5041.97	0.518	38	23	22	38	-5.913	-5.395
	4	-5042.84	0.709	53	8	9	49	-5.967	-5.258
	5	-5043.41	0.349	23	34	36	24	-5.42	-5.071
	6	-5044.96	0.515	4	50	60	4	-5.911	-5.396
	7	-5045.29	0.549	12	46	47	12	-5.497	-4.948
	8	-5047.93	0.582	10	49	43	12	-5.472	-4.890

Table 4 .

 4 Net charge Eq.11 , electrophilic charge Eq.12 , nucleophilic charge Eq.13 , log K experimental values[START_REF] Martell | NIST Critically Selected Stability Constants of Metal Complexes[END_REF]

		Metal	ΔN 7 :9:	ΔN 7 ?<=	∆6 7 log K
		Mn	0.2074 -0.2925 -0.0851 13.9
	EDTA	Co	0.1747 -0.3252 -0.1505 16.31
		Ni	0.1967 -0.3032 -0.1055 18.62
		Mn	0.2428 -0.2571 -0.0143 9.0
	EDDS	Co	0.2082 -0.2917 -0.0835 14.02
		Ni	0.2336 -0.2663 -0.0327 16.7

Table 3 .

 3 Ionization potential, electron affinity, chemical potential and hardness, in eV, for a set of APC ligands, and Mn, Co and Ni atoms.

		IY	AY	µY	ηY
	Mn	4.837	3.016	-3.926	1.821
	Co	5.886	3.195	-4.540	2.691
	Ni	4.884	3.242	-4.051	1.641
		IX	AX	µX	ηX
	CDTA	5.641	0.979	-3.310	4.662
	EDTA	6.040	0.572	-3.306	5.468
	EDDS	6.772	0.859	-3.815	5.913
	EDDM	6.773	0.927	-3.850	5.846
	EDDG	7.061	0.953	-4.007	6.108
	IDS	7.126	0.993	-4.059	6.133

Acknowledgments:

The authors gratefully acknowledge the GENCI/CINES for HPC resources/computer time (Project cpt2130), as well as the PSMN of the ENS-Lyon for computing resources.N.R acknowledges HPC UFMC 1, Unité de Recherche de Chimie de l'Environnement et Moléculaire Structurale, CHEMS, Université FréresMentouri Constantine 1,for support and computingresources.

AUTHOR INFORMATION

* To whom correspondence should be addressed. E-mail: s.lakehal@univ-batna2.dz E-mail: henry.chermette@univ-lyon1.fr

ORCID:

Aicha Lakehal: a.lakhal@univ-batna2.dz, 0000-0001-6785-9643 Nawel Redjem: nawelrjm@hotmail.fr 0000-0002-5411-7082 Salima Lakehal: s.lakehal@univ-batna2.dz 0000-0003-1265-3597 Christophe Morell: Christophe.Morell@univ-lyon1.fr, 0000-0002-6321-8723 Lynda Merzoud: Lynda.Merzoud@isa-lyon.fr, 0000-0002-6003-8882 Henry Chermette: henry.chermette@univ-lyon1.fr, 0000-0002-5890-7479

Notes

Any additional relevant notes should be placed here.