Anh Tuan

T Tran

Aude Sadet

Paolo Calligari

Philippe Lopes

Jamal Ouazzani

Matthieu Sollogoub

Emeric Miclet

Daniel Abergel

A T Tran

Targeting the Pentose Phosphate Pathway: Characterization of a New 6PGL Inhibitor

Keywords: 6PGL: 6-phosphogluconolactonase, 6-PGA: 6-phosphogluconic acid, G-6-P: Glucose-6-phosphate Nicotinamide Adenine Dinucleotide Phosphate

come   L'archive ouverte pluridisciplinaire

Introduction

Human African trypanosomiasis, or sleeping sickness, is a lethal disease caused by the protozoan parasite Trypanosoma brucei. [START_REF] Barrett | The trypanosomiases[END_REF][START_REF] Funayama | Trypanosoma cruzi:kinetic properties of glucose-6-phosphate dehydrogenase[END_REF] The parasite is transmitted to the human host through the bite of the Tse-Tse fly. Despite a significant reduction in the disease prevalence over the past 15 years, the sleeping sickness is still endemic in rural parts of sub-Saharan African countries with 3,000 new infections annually. [START_REF] Büscher | Human african trypanosomiasis[END_REF] These parasites have been the object of many studies in the recent decades, and great progress have been made in the understanding of their biochemistry. However, these efforts have led to the development of treatments that are of limited efficiency and of great toxicity. Therefore, in order to develop new drugs, it is important to identify new targets, and a natural way to achieve this goal is to focus on specific metabolic pathways. Several metabolic processes of trypanosomes have been proposed as drug targets. Among these, carbohydrate metabolism appears as a promising one. This was motivated by the fact that Trypanosomes contain a separate intracellular compartment, the glycosome, where the first seven steps of glycolysis, and the first three steps of the pentose phosphate pathway (PPP) take place. [START_REF] Opperdoes | Compartmentation of carbohydrate metabolism in trypanosomes[END_REF][START_REF] Kovárova | The pentose phosphate pathway in parasitic trypanosomatids[END_REF] This unusual location of such major pathways inside a specific organelle has endowed the parasitic enzymes with physicochemical properties that are different from those of their human counterparts, which are located in the cytosol. This may be exploited in a drug design process. In this drug development perspective, glycolysis has been investigated, and several of its enzymes have been identified as potentially good targets. [START_REF] Barrett | Recent advances in identifying and validating drug targets in trypanosomes and leishmanias[END_REF][START_REF] Crowther | Identification of attractive drug targets in neglected-disease pathogens using an in silico approach[END_REF] The focus on glycolysis has been supported by a series of studies, one of which has shown that a 50% reduction in ATP production in T. brucei leads to the parasite death (see [START_REF] Verlinde | Glycolysis as a target for the design of new anti-trypanosome drugs[END_REF] for a review).

The PPP has also been recognized as an attractive drug target, [START_REF] Barrett | The pentose phosphate pathway and parasitic protozoa[END_REF] and several pieces of work have focused on glucose-6-phosphate dehydrogenase (G6PDH), one of its key enzyme. However, only a limited number of studies are available on enzymes of the PPP, for parasites and for mammalian homologues, [START_REF] Opperdoes | Enzymes of carbohydrate metabolism as potential drug targets[END_REF] although this pathway is of particular importance. Indeed, PPP produces NADPH, which serves as a hydrogen donor in various biosynthetic processes, and has an important role in case of oxidative attack by the infected host. Besides, 3D structures of the second and third PPP enzymes of T. brucei, the 6-phospho-gluconolactonase (6PGL) and the 6-phosphogluconate dehydrogenase (6PGDH) have been solved. [START_REF] Delarue | Three dimensional structure and implications for the catalytic mechanism of 6phosphogluconolactonase from trypanosoma brucei[END_REF][START_REF] Phillips | A 2.8åresolution structure of 6-phosphogluconate dehydrogenase from the protozoan parasite trypanosoma brucei: comparison with the sheep enzyme accounts for differences in activity with coenzyme and substrate analogues[END_REF] This is of particular interest, as structural differences between the parasitic and mammalian 6PGDH have been exploited to design molecules that would be specific inhibitors of the T. brucei enzyme. [START_REF] Hanau | 6-phosphogluconate dehydrogenase: a target for drugs in african trypanosomes[END_REF] In this work, we present what is, to our knowledge, the first inhibitor of the protein 6PGL. This inhibitor, conceived as an analogue of the 6PGL substrate, was shown to bind the active site of the protein in place of the δ-phosphogluconolactone. Binding affinity was characterized by Nuclear Magnetic Resonance (NMR), and enzyme inhibition was studied by reaction rate measurements of the enzymatic activities through UV absorption. Moreover, in silico studies based on docking and Molecular Dynamics (MD) simulations allowed to shed light on the interaction mechanism between 6PGL and its inhibitor.

Materials and Methods

Chemical synthesis

The characterization of the various compounds in the synthesis of GP269 relied on 1 H and 13 C NMR spectroscopy, as well as Electrospray-ionization High-resolution mass spectroscopy (ESI-HRMS). Details are given in SI. An overview of the chemical synthesis and chemical formulas of the various intermediates and of the final product are depicted in Fig. 1.

Compound 3

To a solution of compound 2 (13 g, 18 mmol) in acetone (250 mL) at 0 o C was added NBS (3.8 g, 21 mmol). The mixture was stirred at room temperature for 30 min. The reaction was quenched dropwise with NaHCO 3 at 0 o C and the acetone was removed under reduced pressure. DCM was added to the residue and the organic layer was washed with sat. Na 2 S 2 O 3 , water, dried over MgSO 4 , filtered and concentrated. The residue was purified by chromatography on a short column (cyclohexane/EtOAc:86/14) to afford 6.55 g (60%) of hemiacetal 3 as a yellow oil.

Compound 4

Acetic anhydride (11.2 mL, 118.6 mmol) was added under an argon atmosphere to a solution of compound 3 (3.6 g, 5.93 mmol) in anhydrous DMSO (16.8 mL). The mixture was stirred at room temperature for 18h. The reaction mixture was diluted with Et 2 O, washed with water, a 10% aq. NaHCO 3 solution and saturated brine. The organic layer was dried, filtered, concentrated, and purified by column chromatography (cyclohexane/EtOAc: 9/1) to give 4 (2.9 g, 81%) as a yellow oil. [α] 23 D = 41.5 o (c = 0.9, CHCl 3 ).

Compound 5

Compound 4 (820 mg, 1.35 mmol) was treated with NH 3 (2M in anhydrous methanol, 20 mL) at 0 o C for 1h. The reaction mixture was evaporated, co-evaporated three times with toluene to give compound 5 as yellow oil (96%

Compound 8

To a solution of 7 (260 mg, 0.43 mmol) in THF (12 mL), TBAF (1M in THF, 0.86 mL) was added. The mixture was stirred at room temperature for 2h. After completion, water was added and the mixture was extracted with DCM. The organic layer was dried over MgSO 4 , evaporated under reduced pressure and purified by column chromatography (DCM/MeOH: 95/5) to give alcohol 8 (140 mg, 73%) as a white solid.

Compound 9

Dibenzyl N,N-diisopropyl phospharimidite (90%, 125 µL, 0.34 mmol) was added dropwise (30 min) under argon atmosphere to a solution of compound 12 (20 mg, 0.045 mmol) and tetrazole in acetonitrile (0.45M, 1.2 mL, 0.54 mmol). A suspension is observed. The reaction mixture was stirred at room temperature for 24 h. DCM (0.5 mL) was added and the mixture was cooled to -40 o C. A solution of MCPBA (150 mg, 0.87 mmol) in DCM was added dropwise and the mixture was left stirring at 0 o C for 3 h. The mixture was diluted with DCM and washed with a 10% aq. Na 2 SO 3 solution, sat. NaHCO 3 , water and brine. The organic phase was dried, concentrated and purified by column chromatography with a 20% to 50% EtOAc in cyclohexane gradients to give compound 14 as a pale yellow oil (20 mg, 65%) [α] 22 D = 60.0 (c = 0.85, CHCl 3 ).

Compound 10: GP269

The Pd(OH) 2 /C (10 mg) was added to a solution of compound 14 (10 mg) in MeOH/H 2 O/THF (8:2:1) under argon atmosphere. Argon was removed under vacuo. The suspension was stirred under H 2 (balloon) for 48 h at room temperature. The mixture was filtered through celite and concentrated. The solid was lyophilized in H 2 O to give desired lactam 10 as a white solid (3 mg, 73%).

NMR experiments

1 H-15 N HSQC experiments [14] were recorded on a Bruker Avance III spectrometer operating at a 1 H frequency of 500 MHz and equipped with a triple resonance, z-axis pulsed-fieldgradient cryogenic probehead, optimized for 1 H detection. Spectra were acquired at 25 o C, on a sample of 90 µM Tb6PGL, 20 mM KPO 4 pH 6.3, 120 mM NaCl, 11 µM DSS, 90% H 2 O/10% D 2 O. This sample was titrated with GP269 stock solutions of 35 mM or 5.3 mM GP269 in 50 mM KPO4 pH 6.3. Data were processed using TOPSPIN software using shifted sine-bell window functions and extensive zero-filling prior to Fourier transformation to yield high digital resolution.

For residues in fast exchange, the analysis of the variations of the chemical shift perturbations, ∆δ, upon titration was based on the following equation: [START_REF] Williamson | Using chemical shift perturbation to characterise ligand binding[END_REF] ∆δ = ∆δ max

([P ] t + [L] t + K d ) -([P ] t + [L] t + K d ) 2 -4[P ] t [L] t 2[P ] t , (1)
where [P ] t and [L] t are the total concentrations of protein and ligand, respectively, K d is the dissociation constant of the GP269:6PGL complex, and ∆δ max is the maximum shift change on saturation, obtained from the HSQC spectrum with 10 Eq GP269. Data were fitted to Eq. 1 using a Levenberg-Marquardt algorithm, as implemented in the Origin R software. 4).

Enzyme kinetics measurements

Enzymatic oxidation of G-6-P by G6PDH is associated to the production of one NADPH equivalent, the reduced enzyme cofactor. Therefore, at complete G-6-P oxidation, one expects the UV absorbance curve to reach a plateau. However, this was not exactly the case, because of the subsequent spontaneous lactone hydrolysis. For this reason, and in order to determine the time of complete G-6-P oxidation, the NADPH production curve in the absence of 6PGL was fitted to an empirical bi-exponential function:

s(t) = A(2 -e -(t-t 0 )/τ 1 -e -(t-t 0 )/τ 2 ). (2)
In this expression, τ 1 and τ 2 are the signal build-up times and A corresponds to the maximum DO jump magnitude of both the first (G-6-P oxidation) and second (spontaneaous hydrolysis of the lactone) reactions. All fits were performed using the Scilab software. [START_REF]Scilab, a free scientific software package[END_REF] 6PGL activity was indirectly assessed through the measurement of the absorbance of the NADPH produced by the following enzyme of the cascade (6PGDH). The slope of the linear portion of the UV signal corresponding to NADPH production by 6PGDH was determined by fitting experimental points to a straight line. In order to assess the accuracy of the slopes and the effect of contamination of the latter by erroneously including some nonlinear parts of the curve, computations were performed on various time intervals [t i , t i + ∆], with values of ∆ = 1 and 3 min, and t i = 5, 5.5, 6, 6.5, 7, 7.5, 8 min. Eventually, slopes were determined using measurements performed between times t = 5 and t = 8 min.

The approach used requires that 6PGDH activity be much larger than 6PGL activity, which ensures that the measured UV absorption curves reflect the sole 6PGL kinetics. This was assessed in the following way. Test experiments were first performed in a solution containing 6PGDH with an activity A 6pgdh ≈ 0.98 U and various amounts of 6PGL, m 6P GL = 150, 15, 0 ng (see Table 1 in Supplementary Information). The dramatically different NADPH kinetics in both experiments (red and black curves in Fig. 4(a)) are due to the tenfold difference in 6PGL quantities, therefore activities (m 6P GL = 150 ng and m 6P GL = 15 ng). Assuming that the lactonase activity is the limiting step of the cascade, its activity in the solution with m 6P GL = 150 ng (black curve in Fig. 4(a)) can be grossly estimated to be A 150 ≈ 0.04 U, from a linear interpolation between the first and second plateaus (1U corresponds to the transformation of 1 µmol of substrate per minute). Alternatively, for m 6P GL = 15 ng (red curve in Fig. 4(a)), the slope of the linear region of the absorption curve following the addition of 6PGL, between c.a. 3-4 min, leads to A 15 ≈ 0.005 U (µmol/min). Therefore, the production rate of NADPH scales with the 6PGL activity (and concentration), and in both cases, the 6PGL activity was clearly far lower than that of 6PGDH. Therefore, in these test experiments, 6PGL was the kinetic limiting step and NADPH, through UV absorption curves (from the first to the second equivalent), represents a spy molecule to monitor 6PGL kinetics. Now, the above conditions were fulfilled in all the inhibition experiments described in this work, as they have been performed with a 6PGDH activity of 0.3 U and with m 6P GL = 15 ng.

6PGDH activity Measurements of 6PGDH activity were performed by monitoring UV absorption produced from the natural substrate 6PGA (99% purity, Sigma-Aldrich). A 500 µL reaction medium containing [NADP + ] = 250 µM, [6PGA] = 100 µM, [Hepes] = 10 mM at pH= 7.5 and U 6pgdh = 88.10 -3 U was prepared from the stock solutions described above. Various amounts of the inhibitor were added from stock solutions to prepare reactive media with 0, 100, 200, 340 and 800 µM of GP269.

IC 50 determination The determination of the IC 50 , i.e., the concentration of inhibitor necessary to halve the reaction rate of the enzymatic reaction, was based on the fitting of the linear region of the UV absorption kinetics curves. The extracted slopes ∆(c) obtained for different inhibitor concentrations c were first corrected for spontaneous hydrolysis ∆ sh . The obtained values a(c) = ∆(c) -∆ sh were then fitted to the logistic function:

a(c) = a 0 1 + (c/ic 50 ) 1/dc , (3)
where a 0 is the activity corresponding to vanishing inhibitor concentration. Results of duplicate experiments were merged together to perform a global fit of the slopes extracted from all performed experiments. The normalized activity A n (c) was computed as A n (c) = a(c) a 0 .

In silico studies

Docking

For the docking of GP269, the Tb6PGL target structure was prepared from the x-ray protein structure of the crystallized complex Tb6PGL:6PGA (Protein Data Bank code: 3E7F). Polar hydrogen atoms were added to the protein. The side chains of residues R200, R77 were protonated while H165 was doubly protonated, and residues D75 and D163 were in their aspartate form. The docking of GP269 into the structure of Tb6PGL was performed using the SwissDock server [START_REF] Grosdidier | Swissdock, a protein-small molecule docking web service based on eadock dss[END_REF] which is a web implementation of the EADock DSS algorithm. [START_REF] Grosdidier | Fast docking using the charmm force field with eadock dss[END_REF] The latter uses a scoring function designed around the CHARMM22 all-atom force field [START_REF] Mackerell | All-atom empirical potential for molecular modeling and dynamics studies of proteins[END_REF] and the FACTS implicit solvent model [START_REF] Haberthür | Facts: Fast analytical continuum treatment of solvation[END_REF] to predict the ligand binding modes. Simulation grid had dimensions 30 × 30 × 32 Å and was centered on the position of atom C4 of the 6PGA ligand found in the experimental x-ray structure. [START_REF] Duclert-Savatier | Insights into the enzymatic mechanism of 6-phosphogluconolactonase from trypanosoma brucei using structuraldata and moleculardynamics simulation[END_REF] Side-chains found within a 5 Å radius from the ligand were made flexible during the docking process.

All-atom molecular dynamics

The best scoring binding modes of the protein:ligand complex obtained by the docking protocol were then refined by subsequent energy minimization and all-atom molecular dynamics simulations in explicit solvent. MD simulations were performed with the GROMACS software. [START_REF] Hess | Gromacs 4: Algorithms for highly efficient, load-balanced, and scalable molecular simulation[END_REF] We used the AMBER ff99SB-ildn force field [START_REF] Lindorff-Larsen | Improved side-chain torsion potentials for the amber ff99sb protein force field[END_REF] and the Generic Amber Force Field (GAFF) to model all the interactions involving both protein and ligand atoms. The system to be simulated was built by adding around 9000 water molecules in a periodic cubic box of side 68 Å. Water molecules were modelled by 4-particle TIP4P-Ew force field. [START_REF] Hans W Horn | Development of an improved four-site water model for biomolecular simulations: Tip4p-ew[END_REF] The resulting structure was minimized in order to remove possible steric clashes. System equilibration was performed in two steps. Firstly, in order to allow for correct relaxation of the water molecule around the protein, the system was equilibrated over 50000 steps (100 ps) in a NVT ensemble using positional restraints to all the protein atoms. Temperature control was achieved by a modified Berendsen thermostat with a 0.1 ps relaxation time. [START_REF] Bussi | Canonical sampling through velocity rescaling[END_REF] A further equilibration was performed for additional 1 ns at 1 atm constant pressure by a Parrinello-Rahman barostat with relaxation time of 2 ps. [START_REF] Parrinello | Polymorphic transitions in single crystals: A new molecular dynamics method[END_REF] We used a 10.4 Å cutoff radius for range-limited interactions, with Particle Mesh Ewald electrostatics evaluated every fifth step using a fifth-order spline interpolation on an FFT grid with maximum spacing equal to 0.16 nm. A time step of 1 fs was used in the simulations, with long-range electrostatics evaluated every other time step. The configuration with a volume that was the closest to the average volume in this short simulation was extracted and used as input for the production runs in a NVT ensemble. Random velocities reassignment was used to perform three independent production runs of 5 ns for a total 15 ns for each simulated system. To help the analysis of the structural effects of ligand binding, the unbound 6PGL was also modeled starting from the x-ray structure with PDB code 2J0E and MD simulations of the corresponding solvated system were performed following the aforementioned protocol.

For the determination of the bonding network in the active site, distances between centroids of oppositely charged groups were computed, using the following definitions. The centroid positions were calculated as the average position of the heavy atoms involved. Thus, the Arg centroid C ARG was defined by C ζ , N , N η1 and N η2 . Alternatively, C HIS was calculated from the C γ , C δ1 , N δ2 , C 1 and N 2 atoms. Finally, N and P were used for C LY S and C GP 269 .

Results and Discussion

Chemical synthesis of a 6PGL lactam analog of the substrate

The design of the inhibitor was based on simple considerations about the enzyme substrate, the 6-phosphogluconolactone, and was in fact conceived as an analogue of the substrate. Therefore, a lactam analogue of the δ-6-phosphogluconolactone was synthesized from commercially available D-Glucose. The various stages of the synthesis protocol is schematically represented in Fig. 1. Thus, the thioglycoside 2 bearing a silyl ether protected group in 6-position was obtained in 5 steps from D-glucose according to literature procedures. [START_REF] Balmond | αselective organocatalytic synthesis of 2-deoxygalactosides[END_REF] The thiol ether group was then hydrolyzed giving hemiacetal 3 which was efficiently oxidized in smooth oxidation condition with Ac 2 O in DMSO, with 81% yield. The amide 5, prepared from lactone 4 by treatment with ammonia in MeOH (96% yield), was oxidized again with Ac 2 O/DMSO giving ketone amide 6. This unstable intermediate was directly converted into lactame 7 in 44% yield over two steps, through a reductive dehydroxylation reaction. Selective removal of the silyl ether gave the alcohol, which was phosphorylated in 2 steps conducting to phosphorylated lactame 9 in 65% yield. Final hydrogenolysis of all the benzyl groups allowed to reach the desired compound 10 in 73% yield. The end product, GP269, shows no evidence of spontaneous hydrolysis or isomerisation and was thoroughly characterized by 1 H and 13 C NMR spectroscopy (see Supplementary Information).

NMR spectrocopy

In a first round of experiments aiming at the characterization of the ligand/6PGL interactions, simple NMR experiments were performed to assess the binding of GP269 with 6PGL. Thus, a series of 2D 15 N-1 H HSQC experiments was performed with increasing amounts of the ligand, with the following ligand to enzyme ratios: 0.33, 1, 2, 5 and 10 (Fig. 2(a)). From these experiments, a number of previously assigned peaks [START_REF] Miclet | Backbone hn,n,cα,ca, and cβ assignment of the 6-phosphogluconolactonase, a 266-residue enzyme of the pentosephosphate pathway from human parasite trypanosoma brucei[END_REF] was easily identified on the 2D experiment. On average, the difference of chemical shift perturbations on the 2D 15 N-1 H HSQC of 6PGL with respect to the values previously published was ≈ 0.03 ± 0.01 ppm. Peaks with ambiguous assignments were discarded. In the situation of fast exchange, the slight and progressive shifts of the resonances observed in the successive spectra upon titration were monitored. A quantification of the combined ( 15 N, 1 H) chemical shift alterations upon ligand binding was performed using the chemical shift perturbations (CSP) ∆δ, defined as [START_REF] Williamson | Using chemical shift perturbation to characterise ligand binding[END_REF] where ∆δ N and ∆δ H are the amide 15 N and 1 H chemical shift displacements of the protein in the presence and the absence of the ligand. In order to extract a value of K d , we considered the 25 residues displaying CSP values larger than CSP + σ csp = 0.10 ppm for ligand:enzyme concentration ratio of 10:1 (see Fig. 2(b)). The CSP variations of these residues upon titration were fitted to Eq. 1. The extracted values ranged between 1.0 µM and 17.3 µM (RMSD 4.05 µM). The value of K d averaged over all the residues was K d = 8.7±2.4 µM. Moreover, the value of the dissociation constant obtained by fitting the average CSP over all the residues listed above, for each ligand concentration, was very similar, K d = 8.6 ± 1.3 µM (see Fig. 2(c)).

∆δ = |∆δ H | + |∆δ N /7| (∆δ = |∆δ H | + |∆δ N /5| for Glycines),
An additional set of resonances disappeared upon addition of 0.33 equivalent of GP269, the smallest amount used in our experiments, and no CSP value could be computed for the corresponding amino acids. This provided evidence of an intermediate exchange regime, and the presence of protein motions between several conformations on slow time scales. Interestingly, a number of residues with high CSP variations, i.e., larger than CSP + 2σ csp = 0.16 ppm at a ligand:enzyme ratio of 10, are close neighbours of the latter. Taken together, these two kinds of amino acids define three 6PGL regions that very sensitive to ligand binding. As illustrated in Fig. 2, this includes A41-G45, L157-F170, and A218-K223 protein segments. Note that the appearance of sparse resonances was observed at 5 and 10 GP269 equivalents but the complete assignment of the bound 6PGL has not been performed at this stage.

GP269 is a 6PGL inhibitor

The enzymatic activity of 6PGL was assessed through the observation of NADPH produced during the enzymatic cascade, using UV spectroscopy. Indeed, NADPH is formed through the actions of the G6PDH and 6PGDH enzymes, both of which use NADP + as a cofactor (Fig. 3). Thus, NADPH is first produced during the synthesis of δ-6-phosphogluconolactone through oxidation of Glucose-6-Phosphate by G6PDH, and at the later stage of 6-phosphogluconic acid decarboxilation by 6PGDH that yields ribulose-5-Phosphate (see Figure 3). NADPH concentration was monitored through a characteristic UV absorption peak at 340 nm, which allows to distinguish it from the NADP + cofactor, with which it shares two additional absorption peaks around ∼ 215 nm and ∼ 255 nm. The experiment works as follows. In order to ensure that the lactonase activity of 6PGL was the kinetically limiting step of the cascade, much larger G6PDH and 6PGDH activities were used in the reaction medium. Upon addition of G-6-P (at t 0 = 1 min) an initial steep rise of UV absorption (t < 3 min) by NADPH produced through the action of G6PDH is observed (see Fig. 4(a)). It is followed by a second increase of UV absorption, indirectly attesting for the production of 6PGA, through its subsequent decarboxilation by 6PGDH and the associated NADPH creation. In the absence of 6PGL, this latter process is very slow, and corresponds to 6PGA production through spontaneous hydrolysis of the lactones (see Fig. 3). [START_REF] Miclet | Nmr spectroscopic analysis of the first two steps of the pentose-phosphate pathway elucidates the role of 6-phosphogluconolactonase[END_REF] Alternatively, when large quantities of 6PGL are used (150 ng), the second stage of UV absorption is very fast, and has almost reached its plateau by the time measurements are performed again after sample handling for the introduction of 6PGL (Fig. 4(a)). In the intermediate case where 6PGL activity is moderate (provided by 15 ng of the protein), the UV kinetics curve is linear in the region 5 min ≤ t ≤ 8 min. This constant rate of NADPH formation therefore indicates a pseudo zero-order hydrolysis kinetics with respect to δ-phosphogluconolactone. Under these conditions, 6PGL activity was thus extracted from the linear part of the kinetic curve.

Interference of both reactions was avoided by initiating 6PGL hydrolysis after G6PDH action was complete. The time of completion of the first reaction (G6PDH), τ 0 , was estimated by fitting the initial part of the curve to an empirical bi-exponential function (Eq.2). The faster time constant, corresponding to the initial rise of the UV curve was τ 1 ≈ 20 s in the absence of 6PGL. Therefore the delay τ 0 -t 0 = 2 min ( ≈ 6 × τ 1 ) following the addition of G-6-P was used (τ 0 was fixed to 3 min, the starting time of the G6PDH kinetics experiments being t 0 = 1 min). Inhibition of 6PGL by GP269 is clearly demonstrated in Figure 4(b), where the slopes of the kinetics curves systematically decay for increasing concentrations of the ligand (1 µM, 2.5 µM, 5 µM, 10 µM, 25 µM, 50 µM, 100 µM, and 250 µM). In order to provide quantitative values of 6PGL activity upon inhibition, to further characterize inhibition by extracting an IC50 from our data, the contribution of spontaneous hydrolysis was assessed by estimating the longer time constant τ 2 in Eq. 2. Owing to the large extracted value τ 2 ≈ 34 min on the observation time scale, a linear approximation of the kinetics was justified and an estimate of this spontaneous hydrolysis "activity" was simply given by the slope ∆ sh of the UV absorption curve. Thus, using this approximation, 6PGL activities under various inhibitor concentrations were obtained as the differences between the observed kinetics and ∆ sh (see Materials and Methods).

For each ligand concentration [GP269], a quantitative analysis was performed by fitting the initial linear regions of the absorption curves to straight lines. Thus, the kinetics in this time interval occurs with constant reaction rates, and therefore correspond to pseudo zeroorder kinetics in δ-6-phosphogluconolactone, in large excess at the early stage of the enzymatic hydrolysis by Tb6PGL (see Materials and Methods for details). Results are shown in Fig. 5, and the numerical values of the slopes are given in Table 1 Surprisingly, additional 6PGDH inhibition by GP269 was suspected from the observation that the spontaneous hydrolysis of the lactone was faster than the 6PGL-catalyzed hydrolysis at large inhibitor concentrations ([GP 269] = 250 µM). This was confirmed by inhibition experiments using 6PGA as the substrate, and inhibitor concentrations in the range [0;800] µM. Thus, 6PGDH is inhibited by GP269, albeit at concentrations higher than 100 µM (see Table 2 and Fig. 1 in the Supplementary Information). The values of the 6PGL activities were therefore analyzed in the presence of increasing concentrations of GP269, up to 100 µM, in order to extract an IC 50 value for the inhibitor and to avoid simultaneous inhibitory effects on both enzymes. Using Eq. 3 and data from both series of experiments, we obtained an IC 50 = 11.1 ± 1.6 µM (Fig. 6).

Docking and MD simulations

In an effort to further characterize the interactions between the protein and its inhibitor, we performed Docking and MD simulation studies. The docking protocol, including the force field and strategy are described in Materials and Methods. Thus, docking studies yielded 256 possible conformations of GP269 in the 6PGL active site. These were ranked according to the scoring functions defined within the framework of the algorithm EAdock DSS. [START_REF] Grosdidier | Fast docking using the charmm force field with eadock dss[END_REF][START_REF] Grosdidier | Swissdock, a protein-small molecule docking web service based on eadock dss[END_REF][START_REF] Vincent Zoete | Swissparam: a fast force field generation tool for small organic molecules[END_REF] According to the latter, the docked ligands are first ranked by the so-called SimpleFitness scoring function which is the sum of the intra-and inter-molecular energy terms of the protein:ligand complex calculated using the CHARM22 [START_REF] Mackerell | All-atom empirical potential for molecular modeling and dynamics studies of proteins[END_REF] force field. The resulting conformations are then clustered with respect to their RMSDs and clusters are ranked by the FullFitness protocol that adds a solvation free energy term, evaluated by the FACTS implicit model [START_REF] Haberthür | Facts: Fast analytical continuum treatment of solvation[END_REF], to the previous scoring function. Interestingly, among the best scoring poses of GP269, two clusters of conformations emerged. In one of them, the ligand appears to be docked into the active site of the enzyme, with its lactam ring in the vicinity of the Arg77 and Arg200 residues. In this case, the phosphate group points outwards, but remains relatively close (4.7 Å) to the N ζ nitrogen atom of the Lys223 side chain, and to the N 2 of His165 (5.0 Å), too. Alternatively, in the second cluster, the ligand is slightly tilted with respect to the previous case. Here, the phosphate group is located halfway between the N η nitrogen atoms of Arg77 and Arg200 side chains (∼ 4.0 Å) on one side, and the N 2 atom of His165 (3.7 Å) on the other. Consequently, due to this orientation, the lactam group reaches a region that is in the vicinity of residues G44 and G45. For each cluster a representative pose was selected according to its score. As expected, the first cluster yields conformation (conf1), associated with the best FullFitness scoring. More surprisingly, the second cluster contains the binding pose (conf2), which has the best Sim-pleFitness score. These two conformations were chosen as exemplars of the two clusters and were retained for further analysis. Both are represented in Figure 7, and ranking and scoring results of the selected conformations are indicated in Table [START_REF] Funayama | Trypanosoma cruzi:kinetic properties of glucose-6-phosphate dehydrogenase[END_REF]. Interestingly, both conf1 and conf2 poses share very similar SimpleFitness scoring, whereas their FullFitness values are slightly different (∼ 5 kcal/mol). Nevertheless, this difference is by far smaller than the expected error (∼ 3%) associated with the evaluation of solvation energies by the FACTS algorithm. [START_REF] Haberthür | Facts: Fast analytical continuum treatment of solvation[END_REF] Therefore, the two GP269:6PGL poses should be considered practically equivalent from the energy point of view. The GP269 docking poses found during this study are consistent with those found for the lactone counterpart and discussed in Ref [START_REF] Delarue | Three dimensional structure and implications for the catalytic mechanism of 6phosphogluconolactonase from trypanosoma brucei[END_REF]. In particular, the conf1 pose (Fig. 7(a)), in which the phosphate group points towards the Lys223 residue, is also consistent with the substrate binding pose in the NagB family. In the lactone case, this pose suggested an activation mechanism involving the protonated N 2 atom of His165 in close contact with the oxygen atom of the pyranose ring of the substrate.

Alternatively, the conf2 case (Fig. 7(b)) is compatible with the second cluster of orientations proposed in [START_REF] Delarue | Three dimensional structure and implications for the catalytic mechanism of 6phosphogluconolactonase from trypanosoma brucei[END_REF], for which a possible activation of the ring opening was mediated by the guanidinium group of Arg77 close to the oxygen in the lactone ring. Conversely, in the case of GP269 in conf2, the ring nitrogen is found halfway between His165 and Arg77. Moreover, it is worth noting that the phosphate group is located at a position that is only 0.3 Å away from its 6PGA counterpart, as observed in the crystal structure of the 6PGL:6PGA complex (PDB code: 3E7F). [START_REF] Duclert-Savatier | Insights into the enzymatic mechanism of 6-phosphogluconolactonase from trypanosoma brucei using structuraldata and moleculardynamics simulation[END_REF] Ligand-protein interactions In order to specify the various intermolecular interactions between GP269 and 6PGL that docking suggested, three independent 5 ns MD simulations were performed on both 6PGL:GP269 complex conformations. Convergence was reached, as attested by the C α RMSD (see Supplementary Information). These short MD simulations were used to assess the kinetic stability of each complex [START_REF] Vincent Zoete | Investigation of glucose binding sites on insulin[END_REF][START_REF] Park | Loop flexibility and solvent dynamics as determinants for the selective inhibition of cyclin-dependent kinase 4: Comparative molecular dynamics simulation studies of cdk2 and cdk4[END_REF] rather than to explore the protein internal motions. [START_REF] Calligari | Insights into internal dynamics of 6phosphogluconolactonase from trypanosoma brucei studied by nmr and molecular dynamics[END_REF] They also served to clarify the weak bonding network that stabilizes the complex, such as ion-pair interactions and hydrogen bonds, through the analysis of atomic distances between 6PGL and GP269.

Distances between the phosphate group and different amino acids in the 6PGL active site for conf1 and conf2 are shown in Figures 8 and9. The presence of salt bridges was inferred from the MD simulations when the following conditions were simultaneously fulfilled: [START_REF] Kumar | Relationship between Ion Pair Geometries and Electrostatic Strengths in Proteins[END_REF] i) the distance between the centroids of oppositely charged groups are ≤ 4.0 Å, and ii) there exists at least one pair of {phosphate oxygen, nitrogen} atoms distant by ≤ 4.0 Å. If either of these conditions is violated, [START_REF] Kumar | Close-Range Electrostatic Interactions in Proteins[END_REF][START_REF] Kumar | Salt bridge stability in monomeric proteins1[END_REF] two other kinds of ion-pair interactions may exist. These are the "N-O bridges", when only i) is not verified, and "long-range" electrostatic interaction if inter-atom distances fail to fulfill both conditions. The strengths of these electrostatic interactions decrease from salt bridges to longer-range ion pairs. In conf1, the phosphate group of GP269 is located in the region between His165 and Lys223. Our analysis shows that its distance with the side chain of Lys223 is suggestive of a salt bridge, whereas the side chain of His165 is essentially localized within a distance that is consistent with a N-O bridge interaction. Interestingly, in conf2 the phosphate group is involved in a somewhat larger number of electrostatic interactions. Indeed, it is located at a distance from His165 that is compatible with an N-O bridge, and in addition seems to form longer-range ion pairs with both Arg77 and Arg200 in the active site. These results are summarized in Figs. 8 and9. The fact that only one significant salt-bridge interaction was detectable in conf1, whereas the ligand is involved in a network of weak ion-pair interactions involving His165, Arg77 and Arg200 in conf2 is consistent with previous results on the 6PGL:6phosphogluconolactone complex, [START_REF] Duclert-Savatier | Insights into the enzymatic mechanism of 6-phosphogluconolactonase from trypanosoma brucei using structuraldata and moleculardynamics simulation[END_REF] and suggests that GP269 may interact with the active site similarly to the enzyme's own substrate.

In order to investigate the existence of further analogies between the inhibitor and the substrate, the existence of specific hydrogen bond networks was also investigated. To this aim, the usual angle-distance criteria were applied, according to which a hydrogen bond is assumed when the donor-acceptor distance is < 3.0 Å and the angle donor-H-acceptor is less than 20 degrees. Thus, donor-acceptor pairs that persisted for more than 20% of the overall MD length (15 ns) were identified. Results are listed in Table 3.

In both conformations, possible interactions were detected between the ligand and residues Gly44 and Asp75 in the active site. Surprisingly, only two donor-acceptor pairs seemed to exist in conf2, both with an occupancy smaller than 50%, indicating a rather unlikely hydrogen bond formation. However, separate analyses of the MD simulation runs showed that in two out of three runs, both donor-acceptor pairs are likely to form hydrogen bonds. In contrast, these interactions completely disappear from the third simulation (see Table 4). This difference is due to a conformational change in GP269 during the last simulation run, where the lactam ring moves from a region in close vicinity of Gly44 and Gly45 towards Lys223. This is clearly shown in Figure 10 (lower panel). Interestingly, in this alternate conformation, the O6 and O7 oxygen atoms of the lactam ring remain within a distance of 3 Å from the amino group of Lys223 during most of the simulation time (see Figure 10), although without satisfying the hydrogen bond criteria. Moreover, this tilt of GP269 occurs without significant changes of the phosphate group position, which remains close to Arg77 and Arg200. Note that the independence of the three simulation runs ensures that the observed differences in conf2 are sampled from the statistical fluctuations of the 6PGL:GP269 complex, although it is of course not possible to determine their respective weights from just these MD simulations. Besides, since for this pose the overall orientation of GP269 is similar to the previously determined X-ray conformation of the natural reaction product 6PGA, [START_REF] Duclert-Savatier | Insights into the enzymatic mechanism of 6-phosphogluconolactonase from trypanosoma brucei using structuraldata and moleculardynamics simulation[END_REF] this somehow suggests that such a conformational change of the complex might be involved as a precursor state of ligand unbinding.

Comparison with NMR experiments Finally, the proximities between ligand and enzyme atoms evidenced by the docking calculations, as well as the H-bond network and ionpair interactions identified by MD simulations, are complementary to the experimental NMR titration of 6PGL by GP269. In the latter case, a number of residues undergo intermediate exchange upon titration. This indicates the presence of protein slow motions, meaning that a new conformational state is induced by the interaction with GP269. The distribution of these residues is shown in Fig. 11 on the 3D structure of the protein. The NMR experiments performed in this work only provide a chemical exchange signature of ligand binding to 6PGL. Therefore, no straightforward mapping exists between the chemical shift perturbations of nuclei located at a distance from the active site and the protein:ligand inter-atomic weak bonds observed in our MD simulations. Nevertheless, it is clear that the results obtained by MD simulations show consistency with the NMR observations. In particular, several active site residues that are engaged in ion-pair interactions or H-bonds, in either pose, also exhibit conformational exchange in NMR experiments (Lys223, His165, Gly45). Moreover, the CSP values of residues Arg200 and Arg77 were respectively 0.09 and 0.07 ppm. Thus, despite the fact that these were only slightly below the rather stringent significance threshold imposed in the present analysis (0.1 ppm), such values are significant.

A particularly interesting feature is shown in Fig. 11, where the residues that undergo conformational exchange are mapped onto the 3D structure of the docking complex. This clearly shows that these are located in a region of the protein that caps the active site and the ligand binding site, whereas the rest of the protein seems to be largely unaffected by these changes. This gives further credit to the well-established involvement of such protein dynamics in protein-ligand interactions. In any event, it is clear that the dynamics taking place at fast (∼ns) or slow (µs or longer) time scales deserves a study in its own right, both in silico and experimental, to provide quantitative results. This is beyond the scope of this article and is delayed to further work.

Conclusion

In this work, a newly synthesized enzymatic inhibitor of the PPP was introduced, designed as a lactam analogue of the 6PGL substrate. This first known inihibitor of 6PGL was characterized in terms of affinity to its primary target, and also of inhibiting power, based on kinetics experiments. This opens new avenues for the future development of strategies against T. brucei that target the PPP. These results strongly motivate further studies to thoroughly determine its mechanism of action, including its likely competitive character. Considering its chemical structure, which makes it likely amenable to various chemical modifications, GP269 represents a potential lead for further drug development. Importantly, the results presented here lay the base for future investigations, which should develop along several lines. These include the testing of the actual toxicity of GP269 on various forms of the parasite T. brucei. On a more fundamental level, the relation between the docking results and the mobility of the ligand in the active site should be investigated by further in silico explorations, as well as NMR dynamical studies of the protein side chains.

Tables

Inhibitor concentration (µM ) 250 100 50 25 10 5 2.5 1 0 average slope (1) (µM.min -1 ) 0.58 1.03 1.44 1.79 2.43 2.62 3.13 3.42 3.54 average slope (2) (µM.min -1 ) 0.66 1.23 1.54 1.80 2.65 3.03 3.50 3.52 3.97 Table 1: Slopes ∆(c) extracted from the NADPH UV absorption curves recorded in the presence of 6PGL at different concentrations of the inhibitor. Two series of experiments have been performed and slopes have been determined in duplicate. The molar extinction of NADPH at λ = 340 nm is = 6300 M -1 .cm -1 . Data points acquired between t = 5 min and t = 8 min were used for fitting. In the absence of 6PGL, the slope ∆ sh = 1.04 µM.min -1 was obtained. In the absence of 6PGL (blue curve), the slow slope corresponds to spontaneous lactone hydrolysis into 6PGA. Experimental conditions are given in Table 1 in the Supplementary Information. b) 6PGL kinetics obtained for increasing concentrations of GP269: 0 µM (black), 1 µM (cyan), 2.5 µM (purple), 5 µM (black), 10 µM (red), 25 µM (dark green), 50 µM (blue), 100 µM (light green), 250 µM (red). The linear part of the NADPH kinetic curve at t ≥ 5 min is associated to zero-order kinetics in δ-6-phosphogluconolactone. The different plateau values before addition of 6PGL reflect experimental errors on G-6-P volumes added to the reactive medium at t = 0. This error, though irrelevant for our analysis, was estimated to be on the order of 7%.

[α] 22 D

 22 = 99.2 (c = 1.1, CHCl 3 ); mp = 115 o C.

Figures

  Figures

Figure 2 :

 2 Figure 2: 2(a) Overlay of the [ 1 H-15 N]-HSQC spectra of a 90 µM sample of Tb6PGL obtained upon GP269 titration. The assigned peaks on the full spectrum correspond to residues that disappear with 0.33 Eq. GP269 (residues in intermediate exchange). In the inset, examples of residues in fast exchange (S162 and E222) are shown together with the G172 peak, which is unaffected by addition of the ligand; 2(b) Residues with significant CSP shifts upon ligand addition (A11, T12, A41, A43, Y52, D75, S86, R92, H97, D98, L158, S162, T166, A167, F170, G188, M194, V198, A218, E222, K224, V227, L254, D256, E261) are shown. Residues exhibiting intermediate exchange, as attested by the disappearance of their NMR peaks, are indicated above the graph. 2(c): CSP measured during titration of the residues in fast exchange and obtained with 0, 0.33, 1, 2, 5 and 10 equivalent of GP269 (open diamonds). Red filled circles indicate the average of CSP over all used residues, for each G-6-P concentration. The red line is the associated fit, with Kd = 8.6 ± 1.3 µM.

Figure 3 :

 3 Figure 3: Schematic representation of the oxidative stage of the PPP. In the absence of 6PGL, δ-6-phosphogluconolactone undergoes spontaneous hydrolysis into 6PGA.

25

 25

Figure 4 :

 4 Figure 4: Monitoring of 6PGL enzymatic activity through UV absorption. a) The first steep rise (t 0 = 1 min) corresponds to UV absorption by NADPH produced by G6PDH upon G-6-P addition. The next UV absorption jump at τ 0 = 3 min in the black and red curves corresponds to NADPH creation associated with 6PGA decarboxilation by 6PGDH. Data were obtained for 150 ng (black) and 15 ng (red) 6PGL. In the absence of 6PGL (blue curve), the slow slope corresponds to spontaneous lactone hydrolysis into 6PGA. Experimental conditions are given in Table1in the Supplementary Information. b) 6PGL kinetics obtained for increasing concentrations of GP269: 0 µM (black), 1 µM (cyan), 2.5 µM (purple), 5 µM (black), 10 µM (red), 25 µM (dark green), 50 µM (blue), 100 µM (light green), 250 µM (red). The linear part of the NADPH kinetic curve at t ≥ 5 min is associated to zero-order kinetics in δ-6-phosphogluconolactone. The different plateau values before addition of 6PGL reflect experimental errors on G-6-P volumes added to the reactive medium at t = 0. This error, though irrelevant for our analysis, was estimated to be on the order of 7%.

Figure 5 :

 5 Figure 5: Inhibition experiments -The linear regions of the UV kinetics curves (5 min ≤ t ≤ 8 min) upon increasing concentrations of GP269, and depicted in Fig. 4, are least-square fitted to straight lines. The relevant GP269 concentrations are indicated in the figure box. The titration has been performed in duplicate, values are given in Table1.

Figure 6 :

 6 Figure 6: Fit (solid line) of the experimental activities A n (c) to Eq. 3, for 6PGL. The IC50 concentration corresponds to the inflexion point of the curve.

Figure 7 :

 7 Figure 7: Docking of GP269 into the 6PGL active site reveals two different poses, depending on the protocol used (see text for details). Only side chains of residues that belong to the active site are shown.

Figure 8 :

 8 Figure 8: Distances between the GP269 phosphate group and active site residues in conf1. Dashed lines indicate the boundaries of different ion-pair interaction.

Figure 9 :

 9 Figure 9: Distances between the GP269 phosphate group and active site residues in conf2.

Figure 10 :

 10 Figure 10: Time evolution of distances between GP269 in conf2 conformation and residues in the active site.

  ). The structure of this intermediate was quickly analyzed and confirmed by 1 H NMR and 13 C NMR. Acetic anhydride (2.4 mL, 25.8 mmol) was added under argon atmosphere to a solution of compound 6 (800 mg, 1.29 mmol) in anhydrous DMSO (3.7 mL). The mixture was stirred at room temperature for 24h. The reaction mixture was diluted with Et 2 O, washed with water, a 10% aqueous NaHCO 3 solution and brine. The organic layer was dried, filtered and concentrated under reduced pressure to give compound 6 as a yellow oil. Formic acid (2.45 mL, 65 mmol) was slowly added to a solution of NaBH 3 CN (138 mg, 2.2 mmol) and compound 6 in anhydrous acetonitrile. The reaction mixture was refluxed for 3h. After cooling to 0 o C, the mixture was quenched by addition of aqueous HCl (1M, 1.8 mL).

	Compound 7

After stirring for 15 min, the mixture was poured into a stirred (1/1) mixture of EtOAc/ aqueous NaHCO 3 (10%). The aqueous layer was extracted with EtOAc and then the organic layer was washed with brine, dried over MgSO 4 , filtered, concentrated and purified by column chromatography with a 10% to 20% EtOAc in Cyclohexane gradients to give lactame 7 as a colorless oil (342 mg, 44%) over 2 steps. [α] 23 D = 85.0 o (c = 0.4, CHCl 3 ).

Table 2 :

 2 Ranking and scoring for the two configurations selected for further analysis. The FullRank and SimpleRank columns show the ranking of each pose with respect to the FullFitness and SimpleFitness scoring functions, respectively. All the values are expressed in kcal/mol.

		FullFitness FullRank SimpleFitness SimpleRank
	conf1	-1619.87	1	-80.07	5
	conf2	-1614.21	5	-81.89	1
	Conformation donor		acceptor occupancy (%)
	conf1	ASP75-O δ1		GP269-O3	70.75%
		GP269-O2		ASP75-O δ2	61.09%
		ARG200-N η1		GP269-O1	59.15%
		GLY44-Main-N GP269-O3	24.31%
	conf2	GP269-O4		ASP75-O δ1	49.25%
		GP269-O2		GLY44-O	31.49%

Table 3 :

 3 Hydrogen bonds between GP269 and 6PGL. Hydrogen bonds are detected along the production runs. Only pairs with occupancy larger than 10% are shown.

Acknowledgements

Marie Grimaldi and Paul Robin are gratefully acknowledged for their help with preliminary experiments. The authors declare that they have no conflicts of interest with the contents of this article.

Author contributions statement

ATT performed chemical synthesis. AS performed UV experiments. PC carried out in silico studies. PL and JO performed protein expression and purification. MS supervised chemical syntheses and contributed to the writing of the paper. EM conceived the study, performed UV and NMR experiments, and contributed to the writing of the paper. DA coordinated the study and wrote the paper.

Supplemental information

NMR and HRMS characterizations of compounds 3-10; experimental procedures for UV kinetics measurements and UV data analysis; NMR conditions for titration experiments; RMSD trajectories of the MD simulations.


Jérôme Gurhem

Miwako Tsuji

Serge G Petiton

Mitsuhisa Sato

Distributed and Parallel Programming Paradigms on the K computer and a Cluster

In this paper, we focus on a distributed and parallel programming paradigm for massively multi-core supercomputers. We introduce YML, a development and execution environment for parallel and distributed applications based on a graph of task components scheduled at runtime and optimized for several middlewares. Then we show why YML may be well adapted to applications running on a lot of cores. The tasks are developed with the PGAS language XMP based on directives. We use YML/XMP to implement the block-wise Gaussian elimination to solve linear systems. We also implemented it with XMP and MPI without blocks. ScaLAPACK was also used to created an non-block implementation of the resolution of a dense linear system through LU factorization. Furthermore, we run it with different amount of blocks and number of processes per task. We find out that a good compromise between the number of blocks and the number of processes per task gives interesting results. YML/XMP obtains results faster than XMP on the K computer and close to XMP, MPI and ScaLAPACK on clusters of CPUs. We conclude that parallel and distributed multi-level programming paradigms like YML/XMP may be interesting solutions for extreme scale computing.

Parallel and distributed programming paradigms Graph of task components Resolution of linear system

Introduction

Due to the increasing complexity and diversity of the machines architectures, most of current applications may have to be optimized to take advantage of the 1 upcoming supercomputers. They are more and more hierarchised and heterogeneous. Indeed, there are several levels of memory, the nodes contain several multi-core processors and the network topology is more complex too. The nodes can also be mixed with accelerators like GPU or FPGA. This results in a lot of different middlewares to use those architectures. The applications highly depend on the middlewares installed on the machines on which they will be executed. Thus, an application is usually more optimized for a middleware but the application will probably not be able to take advantage of a different middleware.

The use of the current and new machines has to be easier and more efficient. Then, we need new high level parallel programming paradigms independent from the middleware to produce parallel and distributed applications. The paradigm has to manage the data automatically and allow multiple levels of programming. For instance, the YML paradigm allows the user to develop an application based on a graph of parallel tasks where each task is a parallel and distributed application written using XMP, a PGAS language. The tasks are independent and the data moving between them are managed by YML.

In this paper, we implement the Gaussian elimination as a parallel direct block-wise methods to solve dense linear systems since this method is very suitable to task-based programming paradigms. We will summarize the distributed and parallel programming model used in YML/XMP in which we implemented the parallel block method. We use XMP since it is a PGAS language and they may be used on the exascale machines. Moreover, YML already had a backend able to manage XMP tasks through OmniRPC. OmniRPC deploy the different tasks on the supercomputer since systems to deploy tasks are not built-in yet. We compare our YML/XMP implementation with our XMP and our MPI implementation of the Gaussian elimination. We also compare it to the ScaLA-PACK implementation of the LU factorization to solve a linear system. We aim to contribute to find a programming paradigm adapted to the future exascale machines. We try to evaluate the efficiency of multi-level of programming models on supercomputers as we expect it to be really efficient in the future on exascale supercomputers.

The Section 2 gives more details about the YML programming paradigm and XMP. The Section 3 explains how we implemented the block-wise Gaussian elimination using YML/XMP. The section 4 shows the results obtained on the K computer with the Gaussian elimination while comparing YML/XMP to XMP. The section 5 compares the results obtained on Poincare, a cluster of CPUs, with the Gaussian and the Gauss-Jordan eliminations using YML/XMP, XMP alone, MPI and ScaLAPACK. The Section 6 outlines related work on task programming. The last section discusses about the obtained results and introduces the future work.

Distributed and parallel programming model

The increasing complexity and diversity of the supercomputers architecture leads to difficulties to develop adapted applications. Actually, applications tend to be optimized for a given middleware so the applications may not have the expected performances on a machine different from the targeted one. The optimizations made to follow a middleware are often important and may not be compatible with another one so optimizing an application to several middlewares may make the application difficult to maintain or modify. Therefore, we need new programming paradigms that are easier to adapt to different middlewares. In this section we present YML, a development and execution environment for parallel and distributed applications that will help with this issue then XMP, a PGAS language used in the experiments.

YML

YML [START_REF] Delannoy | A peer to peer computing framework: Design and performance evaluation of YML[END_REF] is a development and execution environment for scientific workflow applications over various platforms, such as HPC, Cloud, P2P and Grid. YML defines an abstraction over the different middlewares, so the user can develop an application that can be executed on different middlewares without making changes related to the middleware used. YML can be adapted to different middlewares by changing its back-end. Currently, the proposed back-end [START_REF] Tsuji | Multiple-spmd programming environment based on pgas and workflow toward post-petascale computing[END_REF] uses OmniRPC-MPI, a grid RPC which supports master-worker parallel programs based on multi SPMD programming paradigm. This back-end is developed for large scale clusters such as Japanese K-Computer and Poincare, the cluster of the Maison de la Simulation. A back-end for peer to peer networks is also available. The Figure 1 shows the internal structure of YML.

YML applications are based on a graph and a component model. They represent the front-end. YML defines components as tasks represented by nodes of a graph which is expressed using the YvetteML language. It expresses the parallelism and the dependencies between components. The application is a workflow of components execution. Components can be called several times into one application. The graph can be seen as the global algorithm of the application and the components as the core code.

The component model defines three classes of components : Graph, Abstract and Implementation. They are encapsulated using XML. They are made to hide the communication aspect and the code related to data serialization and transmission.

• Graph components contain the name, a description of the application and the graph written using YvetteML. This component also defines global parameters. They are data that can be used in components. Abstract components are called with the keyword compute, their name and the list of parameters they need.

Figure 1: YML software architecture

• Abstract components contain the name, the type (abstract) and a description of the component. They also define the parameters of the data coming from the global application and describe their use in the component (if the data are consumed, modified or created).

• Implementation components contain the name, the type (implementation), a description, the name of the abstract component associated, the language used, the external libraries that YML has to deploy and the source code. The links of the libraries are installed in YML then they can be used in the implementation component and YML deploys them when needed. The source code can also be written in several programming languages, including, for the moment, C/C++, Fortran or XscalableMP (XMP) [START_REF] Lee | Implementation and performance evaluation of xcalablemp: A parallel programming language for distributed memory systems[END_REF].

These categories of component allow re-usability, portability and adaptability.

The Component generator registers the Abstract and Implementation components in YML and the data they need. The Component generator starts to check if the abstract components exist then it extracts the source code and the information needed to create a standalone application. The generator also adds the code to import and export the data from the file system. Afterwards, the Component generator calls the Binary Generator (Figure 1) to compile the generated application. It uses the compiler associated to the language filled in the Implementation component.

The Graph compiler generates the YML application by compiling the Graph component. It checks that all the components called exist, then verifies that the YvetteML graph is correct. It also extracts the control graph and the flow graph from the Graph component and the Abstract components. It creates a binary file containing the application executable with the YML scheduler.

The scheduler manages the computational resources and the data of the application during its execution. A set of processes is allowed to YML to run the application. The scheduler explores the graph at runtime (Figure 1) to determine which component has to be run. A component can be run if the execution of the previous components is finished, the data and the computational resources are available. The scheduler runs the component of the application on a subset of the processes through a worker. The scheduler sends the component (as shown in the Figure 1) to a worker through the middleware. It executes the component on the subset of processes that manages the worker. Several workers can run at the same time if there are enough processes available.

Data are stored in a repository created in the current repository at the launch of the application. The data are read by the components that need them. The components produce or/and create data and write them in the repository.

XscalableMP

XcalableMP (XMP) [START_REF] Lee | Implementation and performance evaluation of xcalablemp: A parallel programming language for distributed memory systems[END_REF] is a directive-based language extension for C and Fortran, which allows users to develop parallel programs for distributed memory systems easily and to tune the performance by having minimal and simple notations. XMP supports (1) typical parallelization methods based on the data-/task-parallel paradigm under the "global-view" model and (2) the co-array feature imported from Fortran 2008 for "local-view" programming.

The Omni XMP compiler translates an XMP-C or XMP-Fortran source code into a C or Fortran source code with XMP runtime library calls, which uses MPI and other communication libraries as its communication layer. Figure 2 is an example of XMP programming. A dummy array called template indicates data index space and is distributed onto the nodes. Each element of the array is allocated to the node where corresponding template element is distributed.

YML/XMP

For the experiments, we use XMP to develop the YML components as introduced in [START_REF] Tsuji | Multiple-spmd programming environment based on pgas and workflow toward post-petascale computing[END_REF]. This allows two levels programming. The higher level is the graph (YML) and the second level is the PGAS component (XMP). In the components, YML needs complementary information to manage the computational resources and the data at best : the number of XMP processes for a component and the distribution of the data in the processes (template). The Figure 3 shows the additional information provided to YML by the user in the implementation component in XMP. With this information, the scheduler can anticipate the resource allocation and the data movements. The scheduler creates the processes that the XMP components need to run the component. Then each process will get the piece of data which will be used in the process from the data repository. <param t e m p l a t e="t " name="B0 ( 5 1 2 , 5 1 2 ) " a l i g n ="[ i ] [ j ] : ( j , i )"/> <param t e m p l a t e="t " name="A0 ( 5 1 2 , 5 1 2 ) " a l i g n ="

[ i ] [ j ] : ( j , i )"/> </ d i s t r i b u t e > </component>
In this approach, there are no global communications along all the processors (like scalar products or reductions) in the application since applications are divided on component calls that use a subset of the computational resources allowed to the application. The components running at the same time don't communicate with each other and are run independently. Global communications take time and consume a lot of energy so reducing them and finding other ways to get the same results saves time and is more power efficient.

3 Parallel block implementation of the resolution of linear systems in YML/XMP

Block Gaussian method to solve linear systems

Let A be a block matrix of size np × np and p × p blocks so each block is of size n × n . Let b and x be block vectors of size np and p blocks so each block is of size n. We want to solve the linear system Ax = b.

In the Algorithm 1, A

i,j represents the k th version of the block at the i th row and j th column of the block matrix A. Thus, b (k) i represents the k th version of the block at the i th row of the block vector b. The algorithm is expressed using assignments on the blocks of A . They consist on operations on blocks like matrix matrix product, inversion of a matrix and matrix vector product. Each assignment will correspond to a task in the implementation of the algorithms so the number of task will correspond to the number of assignments.

The Gaussian elimination [START_REF] Petiton | Parallelization on an mimd computer with realtime scheduler, gauss-jordan example[END_REF] [5] (Algorithm 1) solves the system by doing a block triangularization of the block matrix A, and by solving the triangular system. In this algorithm, the number of assignments is p 3 +3p 2 +2p 3 ∼ p 3 3 . We implemented the block-wise Gaussian elimination and back substitution using YML/XMP.

Block and parallel implementation using YML/XMP

For our experiments, the Algorithm 1 is expressed as YvetteML graph and the operations on blocks are implemented using XMP. Each operation is performed on a matrix of a vector which are a subdivision of the global matrices and vectors. In YvetteML, there are two means to express the parallelism between components : the par loop and the par statement. To implement the block-wise Gaussian elimination, we expressed all the call to the components in parallel and we used the event management system of YvetteML to express the dependencies between the tasks. In the Algorithm 1, we observe that each block i,j at step k of the Gaussian Elimination is updated only once. Then, it is possible to associated the corresponding tasks to the triplets (i,j,k). Each task may be launched only when some tasks of the previous steps are completed and when the data are migrated to the allocated computing resource. Therefore, the dependency graph is equivalent in this case of the precedence between triplets: Algorithm 1: Gaussian elimination and back substitution For k from 0 to p-1 do

(1)

Inv (k) = [A (k) k,k ] -1 (2) b (k+1) k = Inv (k) • b (k) k For i from k+1 to p-1 do (3) A (k+1) k,i = Inv (k) • A (k) k,i end for For i from k+1 to p-1 do (4) b (k+1) i = b (k) i -A (k) i,k • b (k+1) k For j from k+1 to p-1 do (5) A (k+1) i,j = A (k) i,j -A (k) i,k • A (k+1) k,j
end for end for end for For k from

1 to p-1 do For i from 0 to p-k-1 do (6) b (k+i+1) i = b (k+i) i -A (i+1) i,p-k • b (p) p-k
end for end for for example (i,j,k) will always depend of (i,j,l<k), for the adequate value of i,j, and k. If we associate each triplet to a Yvette array of events, each assignment of the block (i,j) at step k in the Algorithm 1 have to be preceded by a wait expressing the dependence between (i,j,k) and previous triplets. For the block i of a given step of the back substitution, we use the same properties.

The XMP components that make the different operations are also written to take advantage of the XMP directives and use the processors allocated by YML to efficiently run the operations on the block matrices.

In the first place, we will compare the multi-level programming YML/XMP to XMP on the K computer where OmniRPC and XMP are installed and optimised. Then, we will compare YML/XMP and XMP to ScaLAPACK and our custom implementation of the resolution of a dense linear in MPI on Poincare, an IBM cluster. OmniRPC and XMP are installed on this cluster but their implementation is not optimised for this machine.

YML/XMP versus XMP on the K computer

This section presents the K Computer then the experiments and the results we obtained on it.

K Computer

In this section, the tests were performed on the K Computer from Riken AICS in Kobe, Japan. This supercomputer was manufactured by Fujitsu. There is 88,128 compute nodes containing an eight-core SPARC64 VIIIfx processor and 16 Go of memory. The network is based on Tofu interconnect.

Resolution of a linear system of size 16384 on 1024 cores

This experiment consists in solving a dense linear system of size 16384 with the block-wise Gaussian elimination with YML/XMP. The matrix is already generated and each YML component has to load its data from the file system, makes the computations on the data then saves its results to the file system. The matrix is stored by blocks and each task makes an operation on blocks of the global matrix. YML expresses the operations on blocks while XMP is used to implement them. We experiment different numbers of blocks and numbers of cores per task. Only one process runs on each core. We used from 1 × 1 block to 16 × 16 blocks with tasks from 16 to 512 cores from the 1024 cores of the K Computer allocated to each run. We evaluate the time needed to solve the linear system without the generation of the matrix.

In the Figure 4, we observe the impact of the number of blocks and the number of cores per task on the execution time. We also compare the YM-L/XMP application to a XMP implementation of the resolution of a linear system through the non-block Gaussian elimination. We reached the best time in YML/XMP with 4 × 4 blocks and 128 cores per task for 141s while the XMP code took 102s.

The number of blocks determines the number of tasks in the application. For p × p blocks, there are p 3 +3p 2 +2p parallelism without decreasing to significantly the execution time of each task. The number of blocks also influences the size of the block since the size of a block is 16384/p × 16384/p values for the matrices and 16384/p values for the vectors in the case of a linear system of size 16384. If the number of blocks is large then the size of the block is small and the tasks on the blocks will be quick. In the opposite, a small number of blocks implies a large size of blocks so the task will be longer since it will need more operations. Moreover, if the application has too many tasks, the tasks execution will not compensate the overhead from YML.

The number of cores per task sets the number of YML workers since all the tasks use the same amount of cores and the total number of cores is fixed. Each worker launches a task at a time so there is the same number of parallel tasks as there is number of workers. For instance, we use 1024 cores in total and 128 cores per task so there are 8 parallel tasks maximum. The number of blocks needs to be high enough to use all the workers most of the time or there is unused compute power and the application will take more time. The number of cores per task also influences the speed of the execution of a task since a large number of cores will have more compute power but will also introduce more communications between cores. On the opposite, a small number of cores will induce less communications but the task will take more time.

A compromise between the number of blocks and the number of cores per task is mandatory to obtain good performances. The number of blocks gives enough tasks so there is a great number of those tasks that can be run in parallel and determines the size of the data in the task. The number of cores per task gives the number of parallel workers and the execution time of each task. The good compromise gives enough parallel tasks so the workers are busy most of the time and the execution time of the tasks is balanced with the size of the data that need to be treated. It results in applications that use efficiently the available resources.

In this case, XMP was faster than YML/XMP. We think that the number of cores is too small thus the overhead from YML doesn't compensate for direct communications across all the cores. Then, we tried to solve a bigger system on a higher number of cores.

Prediction of the optimal parameters

The prediction of the optimal values for the number of blocks (size of the block) and the number of processes per task (number of parallel tasks) is not a deterministic problem since it depends on the machine and the available resources. On a given machine, the job manager will allow the unused resources which differ each time a job is submitted. Thus, the communications time between two cores will depend on their distance. The execution time of a task also depends on the loading of the machine since each user can use the network. Moreover, the computation time has to be higher than the scheduling time so it is worth scheduling the tasks. The execution time of the application will also depend on the scheduling strategies since it will change the order of execution of the tasks. The parameters are highly related. Indeed, the size of a block depends on the number of blocks which influences the total number of tasks. Furthermore, the size of the block will define the number operation in the task while the number of communications will depend on the number of processes and the size of the block.

To conclude, the prediction of the optimal values is difficult but, for a given machine, the machine learning may be able to give an estimation of the value of the parameters.

Resolution of a linear system of size 32768 and 65536 on 8096 cores

We also made experiments on larger systems with more cores : 32768 and 65536 on 8096 cores. The Table 1 summarize the execution times obtained.

In this experiment, we increased the size of the system and the number of cores. In this case, YML/XMP performed better than XMP alone for the two different size whereas XMP was faster than YML/XMP on smaller cases. This is mainly due to the fact that YML doesn't make any global communications like broadcast over all the cores allocated to the application. Indeed, each task runs on a subset of the resources and the communications between tasks are made through the data server. Although, the overhead of YML is noticeable (this will be discussed in the next section), YML/XMP runs faster than XMP alone on 8096 cores of the K Computer. Thus YML/XMP and the task programming languages may be a good solution to develop and execute complex applications on huge numbers of cores on large super-computers.

We compared YML/XMP to XMP for several cases on the K computer to evaluate the multi-level distributed/parallel programming associated to the studied programming paradigm on such supercomputer, even if the system of these machines does not yet propose smart scheduling. As YML and XMP were introduced by authors of this paper, as the OmniRPC middleware used fore these experiments, we have to evaluate such programming on a more general cluster and compare it to more classic end-user programming. Then, in the next section, we compare YML/XMP and XMP to ScaLAPACK and our MPI implementation of the resolution of a dense linear system on Poincare, an IBM cluster.

5 Evaluation and analysis on a cluster

Poincare

The tests were performed on Poincare, the cluster of La Maison de la Simulation in France. It is an IBM cluster mainly composed of iDataPlex dx360 M4 servers, hosted at the CNRS supercomputer centre in Saclay, France. Several research teams work in this computer and we did not have dedicated access or any special assistance. There is 92 compute nodes with 2 Sandy Bridge E5-2670 processors (8 cores each, so 16 cores per nodes) and 32 Go of memory. The file system is constituted of two parts : a replicated file system with the homes of the users and a scratch file system with a faster access from the nodes. The network is based on QLogic QDR InfiniBand.

The experiments

We performed the same tests on YML/XMP as on the K Computer. We also compared those results to ScaLAPACK, to our custom MPI implementation of the non-block Gaussian elimination and 1 × 1 block in YML/XMP.

In the case of 1 × 1 block, there is only one assignment performed on a dense linear system with a XMP component. The component which runs the resolution of linear system is developed using XMP so we can evaluate the time that YML need to schedule the data, import it, run the XMP application then export the data. The data is loaded from the file system. This is the worst case for YML since it does not use the advantages of YML like scheduling and high grain parallelism.

We also compare the YML/XMP implementation of the Gaussian elimination to a XMP and a MPI implementations. Finally, we also compare to a ScaLAPACK implementation of the resolution of a dense linear system through LU factorization. In each case, we load the data from disk using MPIIO then we solve the linear system and save the result vector on disk using MPIIO.

In the MPI case, we used a cyclic distribution of the columns to keep a good load balancing in the cores. Moreover, we created a distributed cyclic array type in MPI in order to use it with MPIIO. This results in a matrix well stored by columns in the file. The cyclic distribution takes more time since it is easier to store the data without reordering them during the import/export.

Results for the block Gaussian elimination

The Figure 5 shows the execution times to solve a linear system of size 16384 and 32768 by the block Gaussian elimination and the block resolution of the resulting triangular system using YML/XMP. The best execution time for YML/XMP is obtained with 4 × 4 blocks and 128 cores per tasks for 51.9s for the size of 16768. The 1 × 1 block case with YML/XMP takes more time than the XMP only program (34.5s vs 313s). The Table 2 gives a summary of the results obtained with the different programming paradigms. We have the values for two sizes of system 16384 and 32768. Moreover, for the MPI, XMP and ScaLAPACK cases, we also have the time spent in computation between parenthesis. The rest of the time is spent in IO to load and save the data as it is done for each component in YML/XMP.

Comparison between YML/XMP, XMP, MPI and ScaLA-PACK

We can see a huge overhead in YML/XMP for 1 × 1 blocks compared to XMP alone in the Table 2. This is the case for the two sizes of system. Thus, we can expect a pretty huge overhead from YML for each component. But, the most favourable case in YML/XMP solve the linear system in 51.9s whereas XMP took 34.5, MPI took 66.9s and ScaLAPACK took 115.9s. Although, from the 66.9s only 60.6s is spent on computing. The rest is spent in MPIIO to load and save the data. In the MPI case, we used a distributed cyclic array so the data in memory and the data on disk are not mapped the same way. This is why the IO take a bit more time in MPI than XMP since, the data are stored as they are in memory without reordering them. Moreover, we didn't optimize our MPI implementation to the maximum. There is a margin of amelioration to get faster results with our MPI implementation. This implementation is close to the algorithm and use some properties of MPI while trying to reduce the communications between the cores. In this case, we observe that YML/XMP is slightly faster than our simple MPI implementation and the XMP is relatively close to YML/XMP (It takes 1.58 times more time in the case 16384 and 1.3 in the case 32768). We can expect that with larger size of systems, YML/XMP will be closer to XMP.

Finally, ScaLAPACK provides the best results if we only consider the computation time as shown in the Table 2. Indeed, most of the time is spent in the import of the matrix. This is due to the distribution of the data in memory. In this application, ScaLAPACK uses a cyclic distribution of the matrix in a two dimensional grid of cores while the matrix is stored as huge vector representing a row-wise matrix. Then the values that have to be put in a core are scattered trough the file without any value close to another one. Thus the import of the matrix is very costly. ScaLAPACK is the fastest in the of computation time but the import of the matrix from the file system is very costly. The distribution of the data in this application using ScaLAPACK is not suited for IO.

With a good compromise between the number of blocks and the number of cores per task, we got results relatively close to XMP and MPI. Moreover, we can expect to get closer results with greater sizes of systems and even get better results at some point. YML allows more local communications than XMP and MPI. In YML, the communications are only made on a subset of cores while, in XMP, communications are made across all the cores. Furthermore, YML has a scheduler that manage the tasks and the data migrations between the tasks in order to optimize them. YML also allows to make asynchronous communications between tasks.

The Gauss-Jordan implementation

We also performed tests on another method to solve a linear system; the Gauss-Jordan elimination. The Figure 6 and the Table 3 show the performance we obtained on Poincare with a system of size 16384 and 32768 on 1024 cores. We performed the same experiments as for the Gaussian elimination.

In the Gauss-Jordan elimination, the operations are a bit different from the Gaussian elimination since the operations above the diagonal in the Gaussian elimination are also performed below the diagonal in the Gauss-Jordan elimination. Thus there is no resolution of triangular system. The system is solved directly. Although there is more operations, there is more parallelism between them and the critical path of the graph is shorter.

With the Gauss-Jordan method, YML/XMP runs faster than XMP on Poincare for the two sizes of systems and the difference increases with the size of the system. We observe the same effect of balance between the number of cores per task and the number of blocks as we seen previously. The parallelism inside the Gauss-Jordan elimination is greater so the task parallel programming paradigm take advantage of this parallelism to execute the application. Moreover, there is no global communications in YML/XMP but they are widely used in XMP so the increase of operations from the Gaussian elimination to the Gauss-Jordan elimination is more impacting in XMP. Our MPI implementation is unexpectedly quite fast on a system of size 163824 but ScaLAPACK is more efficient in term of computation for the 32768 system. Finally, the Gaussian elimination performed almost two times better on XMP than the Gauss-Jordan elimination but the two methods got very close results on YML/XMP.

In this case, we globally see the same results although, the Gauss-Jordan elimination has more operations and uses more communications than the Gaussian elimination. We run faster with YML/XMP than XMP due the parallelism of the method being highly exploited by the parallel task paradigm and not using any global communications. The efficiency of the YML/XMP depends on the method implemented since the Gaussian elimination and the Gauss-Jordan elimination performed quite close on the two sizes of system while the Gauss-Jordan elimination has a significantly higher number of operations. The methods with a high parallelism are very suited to the parallel task programming paradigm and perform very well compared to XMP and ScaLAPCK. The format of the data stored in files by the data server (row-wise) wasn't suited for the distribution of the data used by ScaLAPACK so it didn't performed well as an application. The use of a better distribution of the data in ScaLAPCK and a data server making IO with the file system in YML/XMP may have shown better performances but YML/XMP and the parallel task programming paradigm show that, even with a high overhead for each task, we can get good performances.

Related work

The graph of tasks programming was previously used on Grid and Cloud. It has also been adapted from the distributed systems to the super-computer. Some of the main programming models using graph of tasks are listed in this section.

The DAGMan (Directed Acyclic Graph Manager) is designed to run complex sequences of long-running jobs on the Condor [START_REF] Thain | Condor and the grid[END_REF] middleware. The DAGMan language allows to describe control dependencies between tasks but there is no high level statement to easily describe a graph. Moreover, the data dependencies are not explicit so there is no optimization possible for the data communications.

Legion [START_REF] Bauer | Legion: Expressing locality and independence with logical regions[END_REF] is a data-centric parallel programming model. It aims to make the programming system aware of the structure of the data in the program. Legion provides explicit declaration of data properties and their implementation via the logical regions which are used to describe data and their locality. A Legion program executes as a tree of tasks spawning sub-tasks recursively. Each tasks specifies the logical region they will access. With the understanding of the data and their use, Legion can extract parallelism and find the data movement related to the specified data properties. Legion also provides a mapping interface to control the mapping of the tasks and the data on the processors.

TensorFlow [START_REF] Abadi | Tensorflow: Largescale machine learning on heterogeneous distributed systems[END_REF] is an open source library. It aims for high performance numerical computation. A TensorFlow program is based on a Graph where each node is an Operation that process Tensors. The Tensors are multidimensional arrays used to store the data. The Operations are computations applied to the input Tensors and may produce other Tensors. The Graph is instanced through a Session which runs the computations on the given on several available platforms like CPUs, GPUs or TPUs.

PaRSEC [START_REF] Bosilca | Parsec: Exploiting heterogeneity to enhance scalability[END_REF] (Parallel Runtime Scheduling and Execution Controller) is a framework which schedules and manages micro-tasks. It allows to express different types of tasks and their data dependencies. The control graph is never built and the parallel execution is only based on the data dependencies.

OmpSs [START_REF] Duran | Ompss: A proposal for programming heterogeneous multicore architectures[END_REF] is based on OpenMP and StarSs. StarSs is a parallel programming model that manage tasks. Each task is a piece of code which can be executed asynchronously in parallel. OmpSs uses the Mercurium source-to-source compiler to transform the high-level directives into a parallelized version of the application and the Nanos++ Runtime Library to manage the task parallelism in the application. The tasks are expressed through the task construct via the in, out, inout clauses to express data dependencies.

CnC [START_REF] Budimlić | Concurrent collections[END_REF] (Current Collections) is a graph parallel programming model. A CnC graph uses three types of nodes : the step collections is a computation task, the data collections stores the data needed in the computations, and the control collections creates instances of one or more step collections. With this structure, it is possible to represent both the control and data flow graphs. In CnC, there are two ordering requirements : producer/consumer linked to data dependencies and controller/controlee linked to computation dependencies. It allows important scheduling optimizations with the two graphs directly available.

Condor and PaRSEC are middlewares created for Grid then adapted to super-computers but they don't provide all the functionalities the next generation of supercomputer will need. Argo [START_REF] Ellsworth | Systemwide power management with argo[END_REF] is an operating system for extreme scale computing. It allows to reconfigure the resource nodes dynamically depending on a workload, to support massive concurrency, to present a hierarchical framework for power and fault management and a communication infrastructure. Legion and OmpSs are two programming model based on data dependencies. With OmpSs, the original code is not much modified but it may not be enough to face the challenge of the exascale computing. CnC has some potential but don't seem to be used in practice since the definition of the graph is not trivial.

On the other hand, YML provides a graph programming model based on components with different back-ends which can be adapted to several middlewares. YML comes with a high-level graph language that allows the user to express parallelism and dependencies between tasks. The Abstract component gives information on the data in, out and inout of a task. With this information and the graph, YML uses the control and the data flow graph. The Implementation component contains the code of a task and can be expressed in several programming languages including C/C++, Fortran or XMP. The YML scheduler launches the tasks through the back-end. There also is a fault-tolerant version [START_REF] Tsuji | Fault tolerance features of a new multi-spmd programming/execution environment[END_REF] of YML/XMP developed by the Japanese team which works on XMP.

Conclusion and future work

We experimented YML/XMP, a programming paradigm based on a graph of parallel and distributed tasks, on the cluster of the Maison de la Simulation in France and the K computer in Japan We solved a dense linear system of different size with 1024 and 8096 cores. We obtained results relatively close to XMP and MPI even though that YML/XMP on Poincare uses the file system to implement the asynchronous data migrations, the YML scheduler is not very efficient at this point that the overhead induced by YML is substantial. On the K computer, with a larger number of cores and and size of the system, YML/XMP ran faster than XMP. ScaLAPACK is slower because of the special distribution of the data used within it. In this application, we need to change the definition of the distribution of the data in order to reduce the import time. We can expect the same outcome on the K Computer if we run the ScaLAPACK application on it; the computation time would be excellent but the IO to import the data will slow down the application. As we are using ScaLAPACK, a YML task which make a call to the ScaLAPACK functions will not be efficient since YML load the data from disk and the distribution of the data in ScaLAPACK makes the IO difficult. Finally, we compared the Gaussian elimination to the Gauss-Jordan elimination and we find out that the Gauss-Jordan elimination has execution time close to the Gaussian elimination although the Gauss-Jordan elimination has more operations. So the parallel task programming paradigm seems well suited to execute methods with high parallelism. Thus a programming paradigm using a graph of parallel tasks where each task can also be parallel may be interesting to create efficient parallel and distributed applications on exascale super-computers.

We can outline the fact that a programming paradigm based on a graph of parallel and distributed tasks can obtain better performances on a huge amount of cores. Future supercomputers and post-petascale platforms would propose middle-ware and systems with smarter schedulers [START_REF] Ellsworth | Systemwide power management with argo[END_REF] and dedicated I/O systems [START_REF] Hugues | Asiods -an asynchronous and smart i/o delegation system[END_REF] which will allow some efficient data persistence and anticipation of data migrations. In those machines, programming paradigms such as YML/XMP would be well-adapted and efficient. As the increasing number of nodes on such distributed and parallel architectures, with large latency for communications between farthest nodes, will penalize global communications, our approach which avoid global operations along all the nodes but generate operations just inside subsets of nodes, would be well-adapted.

We are planing to experiment on such machines as soon as there will be available and before we have to experiments with other applications to evaluate the assets of this paradigm.

Figure 2 :

 2 Figure 2: Example of XMP programming

Figure 3 :

 3 Figure 3: Informations provided to YML in the implementation component in XMP <?xml v e r s i o n ="1.0"? > <component t y p e="impl " name="prodMat xmp" a b s t r a c t ="prodMat " d e s c r i p t i o n ="A = B x A"> <impl l a n g="XMP" nodes="CPU: ( 1 6 , 1 6 ) " > <t e m p l a t e s > <t e m p l a t e name="t " f o r m a t="b l o c k , b l o c k " s i z e ="512 ,512"/ > </t e m p l a t e s > <d i s t r i b u t e ><param t e m p l a t e="t " name="B0 ( 5 1 2 , 5 1 2 ) " a l i g n ="[ i ] [ j ] : ( j , i )"/> <param t e m p l a t e="t " name="A0 ( 5 1 2 , 5 1 2 ) " a l i g n ="[ i ] [ j ] : ( j , i )"/> </ d i s t r i b u t e > </component>

Figure 4 :

 4 Figure 4: Resolution of linear system using Gaussian elimination + back substitution (size of 16384) on the K computer

Figure 5 :

 5 Figure 5: Resolution of linear system using Gaussian elimination + back substitution (size of 16384 on the top and 32768 on the bottom) on Poincare

Figure 6 :

 6 Figure 6: Resolution of linear system using Gauss-Jordan elimination (size of 16384) on Poincare

Table 1 :

 1 Execution time (s) to solve a linear system with the Gaussian elimina-

	tion on the K computer with 8096 cores
	Size	YML/XMP		XMP
	blocks cores/task best time
	32768 4 × 4	512	276.8	508.5
	65536 8 × 8	512	690	2512

Table 2 :

 2 Execution time (s) to solve a linear system with the Gaussian elimina-

	time (s)	150 200 250 300	XMP MPI SCA 1x1 blocks 2x2 blocks 4x4 blocks 8x8 blocks 16x16 blocks					time (s)	800 1,000 1,200 1,400 1,600		XMP MPI SCA 1x1 blocks 2x2 blocks 4x4 blocks 8x8 blocks 16x16 blocks
									600
		100							400
		50							200
		16	32	64	128	256	512	1024	0	16	32	64	128	256	512	1024
					#cores/task								#cores/task
	tion + back substitution
					Language			16384			32768
			YML/XMP (best case)	51.9			168.3
			YML/XMP (1 × 1 block)	313			1252
					MPI		66.9 (60.6) 183.7 (161.9)
					XMP		34.5 (32.7) 131.4 (129.6)
				ScaLAPACK	115.9 (18.5) 632.1 (55.6)

Table 3 :

 3 Execution time (s) to solve a linear system with the Gauss-Jordan

	elimination	Language	16384	32768
		YML/XMP (best case)	49.9	180
		YML/XMP (1 × 1 block)	385	1502
		MPI	7.4 (4.5)	62.1 (59)
		XMP	53.4 (52.8)	289.7 (289)
		ScaLAPACK	115.9 (18.5) 632.1 (55.6)

tasks in the Gaussian elimination application. Thus, the application needs to have enough tasks to contain enough

Acknowledgements

This work is supported by the project MYX of SPPEXA, a French-Japanese-German project (ANR-JST-DFG). A part of the result were obtained by using K computer at the RIKEN Center for Computational Science.