Loïc Favergeon
email: favergeon@emse.fr

Jacques Morandini
email: jmorandini@astek.fr

Michèle Pijolat
email: mpijolat@emse.fr

Michel Soustelle
email: msoustel@emse.fr

L A Déshydroxylation De

L A Kaolinite

A General Approach for Kinetic Modeling of Solid-Gas Reactions at Reactor Scale: Application to Kaolinite Dehydroxylation // Une approche générale de la modélisation cinétique des réactions solide-gaz à l'échelle du réacteur : application à la déshydroxylation de la kaolinite

Keywords: kinetics, simulation, heat and mass transfers, multi-scale

come

Notations

α Fractional conversion of the powder β Fractional conversion of a grain C Concentration (mol.m -3 ) c p Heat capacity at constant pressure (J.kg -1 .K -1 ) D Diffusivity (m 2 .s -1 ) D ij Multicomponent diffusion coefficient (m 2 .s -1 ) S m Space function (m 2 .mol -1 ) ε Porous medium porosity ε 0 Initial porous medium porosity ε r Emissivity φ Areic reactivity of growth (mol.m -2 .s -1 ) g acceleration of gravity (m.s -2 ) γ Areic frequency of nucleation (nuclei.m -2 .s -1 ) h Heat transfer coefficient (W.m -2 .K -1 ) H Hydrodynamic charge (m) J D Diffusion flow vector (mol.m -2 .s -1 ) k Thermal conductivity (W.m -1 .K -1 ) k p diffusion coefficient (m 2 .Pa -1 .S -1 ) K Darcy's permeability (m 2 ) M i Molar mass for constituent i (kg mol -1 ) η Dynamic viscosity of the fluid (Pa.s) P Total pressure (Pa) P i Partial pressure of reactive gas (Pa) Q T Heat sources density (W.m -3 ) Q C Concentration sources density (mol.m -3 .s -1 ) R Ideal gas constant (= 8.314 J.K -1 .mol -1 ) r 0 Initial radius of the grain (m) ρ Density (kg.m -3 )

Introduction

Solid-gas reactions are of great interest in many industrial fields such as nuclear, chemistry, metallurgy, CO 2 capture , etc… Industrial reactors in which these reactions take place are difficult to quantitatively describe. Indeed the solid phase is a granular medium through which circulate gaseous reactants and products. The properties of such a medium are modified in space and time due to reactions occurring at a microscopic scale. The thermodynamic conditions are driven not only by the operating conditions but also by the heat and mass transfers in the reactor. Several models have been developed to account for the complexity of these transformations such as the grain model [START_REF] Szekely | A structural model for gas-solid reactions with a moving boundary[END_REF], the pore model [START_REF] Bhatia | A random pore model for fluid-solid reactions: 1. Isothermal, kinetics control[END_REF] and related incremented models. However most of these models are based on the law of additive reaction times first used by Sohn [START_REF] Sohn | The law of additive reaction times in fluid-solid reactions[END_REF] for which the order respective to the gas in the kinetic rate equation must be equal to 1. However such condition is scarcely encountered in many gas-solid reactions, which may results in erroneous results.

Moreover, such approaches necessitate to describe the reaction kinetics using the shrinking core model or similar laws, so that the rate follows equation (1):

) ( ) exp( α α f RT E A dt d - =
(1) in which α is the fractional conversion, A is a pre-exponential term, E is the apparent activation energy, and f(α) a mathematical function which depends of the kind of model of transformation. About ten different f(α) are available from the literature data [START_REF] Galwey | Thermal decomposition of ionic solids[END_REF][START_REF] Sharp | Numerical data for some commonly used solid state reaction equations[END_REF]. However such an equation implies very restrictive assumptions that make them suitable in many cases either due to the Arrhenius temperature dependence term, or due to nucleation and growth competition [START_REF] Pijolat | From the drawbacks of "Arrhenius-f(α)" rate equation towards a more general formalism and new kinetic models for the kinetic analysis of solid-gas reactions[END_REF].

We thus use a more general approach for kinetic modeling, including the previous models, and models based on surface-nucleation and growth processes (anisotropic or isotropic growth), for the three usual symmetries (spheres, cylinders, planes), and other possible kinetic assumptions depending of where the rate-determining step occurs, and the sense of development of the new phase. We propose [START_REF] Pijolat | From the drawbacks of "Arrhenius-f(α)" rate equation towards a more general formalism and new kinetic models for the kinetic analysis of solid-gas reactions[END_REF] a large variety of models at the microscopic scale based on a general equation of the reaction rate which accounts for the real influence of the partial pressures P i of the relevant gases:

( ) ( ) 0 , , , ,... , r t S P T dt d m i γ φ φ α = (2)
where φ(T,P i ,…) is the areic reactivity of growth, function of the thermodynamic conditions only (temperature, partial pressure, etc…) and

( ) 0 , , , r t S m γ φ
is a function of the initial and current morphology of the sample and therefore of time, of φ, of the areic frequency of nucleation γ, and of the grains dimensions (e.g.: r 0 is the radius for spherical grain).

Using equation [START_REF] Bhatia | A random pore model for fluid-solid reactions: 1. Isothermal, kinetics control[END_REF], about forty kinetic models may be derived based on various assumptions on the nucleation and growth processes in order to simulate heterogeneous reactions. These models can be simulated using CIN3 software (N° IDDN FR001130014.000.SP.2009.000.30625).

Nevertheless CIN3 is able to simulate reactions if the temperature and the partial pressures of the gases involved in the reaction are uniform inside the granular medium (even if these uniform temperature and partial pressure evolve during the transformation), so it is not adapted for modeling large amounts of solid sample. Indeed in the case of real industrial heterogeneous reactors, the situation is much more difficult to simulate than the case of a reaction with a very small amount of solid sample. In fact, the medium properties are modified by chemical reactions occurring at a microscopic scale. The thermodynamic conditions are driven not only by operating conditions but also by mass and heat transfers inside the granular medium. In order to overcome such problems, we have developed a multiphysic approach based on the finite elements method which combines the resolution of the thermohydraulic equations with the kinetic laws describing the heterogeneous reactions at the scale of dense particles. This is the aim of the multi-physic software CIN4.

In order to validate CIN4, we have chosen to study the influence of the powder bed thickness in the case of the dehydroxylation of kaolinite according to the reaction:

( ) ( ) ( ) ( ) g O H s O Al Si s OH O Al Si 2 7 2 2 4 5 2 2 2 + →
(3) This reaction has well been studied in the past and many authors [START_REF] Achar | Kinetics and mechanism of dehydroxylation rocesses. III. Applications and limitations of dynamic models[END_REF][START_REF] Holt | Thermal dehydration of kaolinite in vacuum[END_REF][START_REF] Brindley | Kinetics and mechanism of dehydroxylation processes, I. Temperature and vapor pressure dependence of dehydroxylation of kaolinite[END_REF][START_REF] Horvath | Kinetics and compensation effect in kaolinite dehydroxylation[END_REF][START_REF] Redfern | The kinetics of dehydroxylation of kaolinite[END_REF][12][START_REF] Nahdi | Nucleation and anisotropic growth model for isothermal kaolinite dehydroxylation under controlled water vapour pressure[END_REF] agree that the ratedetermining step of growth is a diffusion step.

Section 2 presents the experimental procedures for characterizing the kaolinite powder and for obtaining kinetic curves. Experimental results are also given. Section 3 presents the various scales approach and the main assumptions made in CIN4. Then section 4 and 5 summarize a simplified presentation of the different mathematical and numerical models used, for kinetic modeling at grains scale as well as for heat and mass transfers at reactor scale. Finally section 6 presents the results of CIN4 simulations for the dehydroxylation reaction at the reactor scale (i.e. the thermobalance) with different heights of the powder bed in the crucible.

Experimental: methods and results

The sample under investigation was obtained from AGS. The BET surface area of this material was determined by means of a Micromeritics ASAP 2010 apparatus using the nitrogen adsorption isotherm at 77 K. It was found equal to 24.2 m 2 g -1 .

Scanning electron microscopy (JEOL JSM-840) of the initial material is shown in Fig. 1. The individual particles are hexagonal-shaped platelets, their mean radius size r 0 being around 0.15 µm. By approximating the thickness h to 0.05 µm, the calculated surface area is equal to 25.7 m 2 g -1 (with a volumic mass of 2.65 g cm -3 ) which is in agreement with the BET measurement. The dehydroxylation of kaolinite was followed by means of a SETARAM TAG16 balance. Isothermal and isobaric curves were obtained by heating the studied kaolinite in an alumina crucible (2 cm height, 1 cm diameter) at different temperatures in the range 420-460°C under water vapor pressure fixed at 2.5hPa, 7hPa, 10hPa, 15hPa and 20hPa by means of SETARAM WETSYS. The sample was first heated at 100°C under vacuum (<10 -3 hPa) for water degassing then water vapor was introduced and the sample was heated at the desired temperature with a heating rate of 30°C min -1 . In consequence the first part of the curves is not in isothermal condition since temperature increased from 100°C to the operating condition. This non-isothermal part represents a value of the fractional conversion in the range 0.06 -0.10 depending on the operating temperature.

A first series of experiments was performed with about 25 mg of powder. During the entire transformation, the sample weight was low enough to prevent any effect of pressure gradients in the powder layer. Figure 2 shows the rate curves dα/dt(α) obtained in isothermal and isobaric conditions for different temperatures under P(H 2 O)=7 hPa (Figure 2a) and different water vapor pressure at T=450°C (Figure 2b). As expected, the reaction rate increases with temperature and decreases with water vapor pressure.

a) b)

Figure 2: Reaction rate versus fractional conversion for the dehydroxylation of kaolinite. a) influence of temperature (P(H 2 O) 7 hPa) and b) influence of water partial pressure (T=450°C).

The second series of experiments was done with various heights of the powder bed. In the same crucible as previously, two distinct TGA experiments were performed at 450°C under a water vapor pressure of 7hPa: the first one with 50 mg of powder corresponding to a powder bed height of 3 mm; the second one with 300 mg corresponding to 10 mm. The kinetic curves and rates curves obtained with both bed heights are presented on Figure 3. One can see that the powder bed height has an important effect on the kinetic curves since the maximum reaction rate obtained for 3 mm is about twice more that obtained with 10 mm (and is about twice less than that obtained with 1 mm -see Figure 2).

General presentation of the modeling 2.1 The scales for modeling

Various geometrical scales characterize all phenomena which occur in a reactor. A rigorous description of our modeling process requires a precise definition of these different scales. We have deliberately set these scales from the objects: mesh, grain, grains population, agglomerate and reactor. In this paper, only three scales will be discussed: grain, grain population and reactor. At the grain scale, the nuclei appear at the grain surface 1 and grow at the expense of the initial solid phase: the kinetic rate depends of the shape of the grain, the type of growth, the localization of the rate limiting-step of growth, the direction of development of the new phase. Then a microscopic population is a set of grains in the same thermodynamic conditions, i.e. the gradients of temperature and gas partial pressure are extremely small inside the population. When the nucleation process is concomitant to the growth one, statistical considerations allow to define average behavior of this population from grain's one. Finally at the reactor scale, the chemical reaction is coupled with mass and heat transfers.

The assumptions of the model

Six assumptions are done in this model: 1 Avrami's laws cannot be used for solid-gas heterogeneous reactions involving powders since they are based on bulk nucleation in an infinite volume, which is not physically acceptable. A1: the gas production and consumption by the reaction do not disturb the total pressure spatial distribution, A2: the gases are diluted in a carrier gas, A3: the gas flow rates are low (less than 5 l h -1 for a diameter of 2 cm), A4: the gases are considered as ideal, A5: the growth process can be described by a succession of elementary steps, one of them controls the growth kinetics (rate-determining step approximation), A6: the grains shape and the size distribution are known.

Mathematical modeling 3.1 Kinetic laws at grain and microscopic population scale

As previously recalled, in order to model reactions which involve surface nucleation and growth of the nuclei, one can use equation [START_REF] Szekely | A structural model for gas-solid reactions with a moving boundary[END_REF]. For isothermal and isobaric conditions, the S m function can take various expressions calculated from assumptions on the growth type (isotropic or anisotropic), the development direction of the new phase (inwards or outwards), the localization of the rate determining step of growth and the grains shape (spheres, cylinders, plates). Soustelle [START_REF] Soustelle | Handbook of Heterogeneous Chemistry[END_REF] detailed the laws establishment and the expressions of S m for each model.

In the software CIN4 about forty kinetic models of heterogeneous reactions are available. Some of these models are derived at grain scale: in this case nucleation is considered as instantaneous compared to growth, so all the grains take the same kinetic law. Other models are derived at microscopic population scale: both nucleation and growth are taken into account, which leads to two kinds of models. According to the growth type (isotropic or anisotropic), two methods are used to calculate the fractional conversion of the reaction:

-in the case of isotropic growth of the nuclei, we used a statistical approach based on the works of Johnson and Mehl [START_REF] Johnson | Reaction kinetics in processes of nucleation and growth[END_REF] and Mampel [START_REF] Mampel | Zeitumsatzformeln für heterogene Reaktionen an Phasengrenzen fester Körper[END_REF], then of Delmon [START_REF] Delmon | Introduction à la cinétique hétérogène[END_REF],

-in the case of anisotropic growth, each grain starts its transformation at various times and the whole microscopic fractional conversion can be obtained considering the nuclei appearing on each grain of the microscopic population [START_REF] Favergeon | A surface nucleation and anisotropic growth model applied to the kinetics of UO2F2 pyrohydrolysis[END_REF].

Moreover, CIN4 enables to consider a grain size distribution which is much more realistic than a single grain size.

Heat and mass transport at reactor scale

The macroscopic scale is the center of heat and mass exchanges that are described by the thermal and hydrodynamic models, as well as by a mass transfer equation.

Thermal model

Heat transfer is described by the following equation valid throughout each part of the reactor T Ω :

( ) [ ] ( ) T pg g pg g ps s Q T k T u c t T c c = ∇ - • ∇ + ∇ • + ∂ ∂ + - r r r r ερ ερ ρ ε 1 ( 4
)
where s and g indexes refer to solids and gases respectively. This equation is accompanied by two kinds of boundary conditions: -Neumann conditions which impose the value of the heat flow on

T N Ω ∂ boundary: ( ) ( ) 4 4 a r a imposed T T T T h n T k - + - + = • ∇ - σ ε φ r r (5)
-Dirichlet conditions which impose the value of the temperature on

T D Ω ∂ boundary: D T T = (6)
These equations are valid for each part of the reactor: solid (ε=0), gas (ε=1), porous media (0<ε<1).

Hydrodynamic model

As the granular medium is static and as we consider solid-gas reactions, mass transfers are only due to the flowing of the gas produced or consumed inside the porous medium. The modeling of this flow inside the porous medium is based on notions of hydrodynamic charge and flow rate considerations. Hydrodynamic charge is calculated according to: 2 u g 2

1 g P z H + ρ + = (7)
The flow rate is not the rate of fluidic particles inside the pores but an equivalent continuous rate. This flow rate is linked to the mass gradient according to the Darcy's law, which is expressed by: ( )

P k P K gh K u p d ∇ - = ∇ η - ≈ ρ ∇ η - = r r r r (8)
The whole pressure field (or charge) is solution of a conservation equation. Neglecting source terms due to gas production and consumption (reaction is slow compared to the gas flow), the hydrodynamic problem can be written as: (

)

0 P k p = ∇ - • ∇ r r (9)
with the boundary conditions:

Mass transport

Gas phase is governed by the ideal gas law. Thus the total molar concentration inside the gas is equal to

RT P C r = .
The molar convective flow is due to the transport by the gas displacement and is expressed by:

u RT P u C J i C i r r r - = = (10)
Diffusion in porous media is a complex phenomenon including diffusion flow, Knudsen diffusion, Soret effect, which is well explained by Reid et al. [START_REF] Reid | The properties of gases and liquids[END_REF]. Here, only the diffusion flow is taking into account:

j D ij j D ij D i P RT D C D J ∇ - = ∇ - = r r r (11)
and finally each partial pressure is solution of the following equation:

C i j D ij i d i Q P RT D P u RT t P RT =         ∇ • ∇ - ∇ • + ∂ ∂ r r r r ε ε (12)
with the boundary conditions:

i j D ij R n P T D φ = • ∇ - r r on T N Ω ∂
and

iD i P P = on T D Ω ∂ .

Coupling between the microscopic population scale and the reactor scale

At the microscopic scale, the reaction fractional conversion is evaluated for a representative population of grains. By finite difference it is possible to derive the reaction rate dt dα , which in turn allows to calculate the heat and mass sources produced by the reaction. Thus the heat source density is equal to:

∑ = ∆ - = g n i i mA A i T H dt d V M Q 1 1 α ε ν (13)
and the mass (partial pressure) source density for a gas i is equal to:

dt d V Q mA i C i α ε ν - = 1 ( 14
)
So, due to these sources terms, the chemical reaction at the microscopic scale impacts the spatial and temporal evolution of the thermodynamic processes at the reactor scale. Inversely since temperature and partial pressure change modify the areic frequency of nucleation and the areic reactivity of growth, thermodynamic influences fractional conversion of the microscopic reaction. It is worthwhile to notice that CIN4 allows to simulate the behavior of reactions for which the kinetic rate at time t (at the microscopic population scale) depends on the local thermodynamic conditions that were established between t=0 and t. CIN4 highly improves the previous approaches which were limited to kinetic model based at grain scale only, excluding models based on competing surface nucleation and growth processes. The equations used in CIN4 require numerous physical properties (porosity, viscosity, density, heat capacity, thermal conductivity, diffusivity). CIN4's user should be able to calculate these properties using empirical laws or mathematical models like for example those given by Bird et al. [START_REF] Bird | Transport phenomena[END_REF].

Numerical modeling

At grain and microscopic population scales, two types of modeling are possible according to the type of growth: anisotropic or isotropic. In the first case, the method allows to calculate the change of the fractional conversion versus time for all grains in each granulometric class. When the growth is isotropic, we used the Mampel's method [START_REF] Mampel | Zeitumsatzformeln für heterogene Reaktionen an Phasengrenzen fester Körper[END_REF] for three possible grain shapes: spheres, cylinders and plates. At reactor scale, for each equation ( 4), ( 9) and (12) (i.e. heat, hydrodynamic and mass transport problems), two finite element formulations were built, depending on the system symmetry (cylindrical or cartesian coordinates). A classical way is followed to obtain weak formulations for each state variable: temperature, hydrodynamic charge and partial pressures.

Application to the dehydroxylation of kaolinite 5.1 Kinetic modeling at the grains population scale

In order to interpret the experimental curves obtained with thin powder beds (Figure 2), we used a model involving random nucleation followed by anisotropic growth of the nuclei [START_REF] Favergeon | A surface nucleation and anisotropic growth model applied to the kinetics of UO2F2 pyrohydrolysis[END_REF]. Nucleation is supposed to occur at the surface of the individual particles with an areic frequency (γ). Once a nucleus has been formed, the anisotropy of growth is such that the particle is instantaneously covered with a very thin layer of solid product. In this case the tangential component of the growth rate is very high compared to its radial component. This model was proposed for the dehydroxyaltion of kaolinite few years ago [12,[START_REF] Nahdi | Nucleation and anisotropic growth model for isothermal kaolinite dehydroxylation under controlled water vapour pressure[END_REF]. In the following, the particles will be considered as flat cylinders, as suggested by the micrography shown in Fig. 1, with a mean radius r 0 equal to 0.15 µm and a thickness h equal to 0.05 µm. The rate-determining step is a diffusion step through the metakaolinite already present in the periphery of the particle. Moreover the growth of the metakaolinite is considered as occurring toward the center of the grain. With these assumptions and by considering the volumic expansion coefficient equal to 1 [12] (i.e. kaolinite and metakaolinite have the same molar volume V mA = 97.3 10 -6 m 3 mol -1 ), the reaction rate dα/dt for the powder can be determined by solving the following equations system [START_REF] Favergeon | A surface nucleation and anisotropic growth model applied to the kinetics of UO2F2 pyrohydrolysis[END_REF]: [START_REF] Mampel | Zeitumsatzformeln für heterogene Reaktionen an Phasengrenzen fester Körper[END_REF] where l 0 is an arbitrary length, that we choose equal to one.

∫ - - = t m d r h r l V h dt d A ς τ β τ γ π φ γ π α
) ( . . 4 1 1 ) 1 ( ) 1 ( 2 0 0 τ φ β β - = + - - - t r l V Ln A m
CIN4 offers the possibility of fitting experimental data obtained at fixed temperature and partial pressures of gases by seeking for the best values of γ and φ due to an optimization procedure. For γ and φ, a range of values is explored. The optimization procedure calculates the rate of reaction for each couple (γ,φ) in these ranges, and for each of these calculated curves a deviation from the experimental one is calculated by the least square method. The couple (γ,φ) for which the deviation is the lowest is kept. The ranges around this couple are then narrowed and the procedure is done again until obtain the lowest deviation between calculated and experimental curves.

These two parameters are both only ones to be adjusted with regard to the experimental curves. Values of γ and φ have been looked for using the isothermal part of the experimental curves. Figure 4 shows the results of this optimization procedure at 420 and 460°C (P(H 2 O)=7hPa). The values of γ and φ obtained for each temperature and each partial pressure allow to determine the laws of variation of γ (in nb nuclei m -2 s -1 ) and φ (in mol m -2 s -1 ) with T (in Kelvin) and P(H 2 O): The second part of modeling concerns the results obtained with thick powder beds. Indeed in such cases, at a given moment, all the dense grains are not in the same conditions of temperature and partial pressure. It is thus necessary to model the whole reactor taking account the heat and mass transfers.

Kinetic modeling at the reactor scale

The first step consists in defining the domain of calculation. The system being axi-symmetric, we have used weak forms written in cylindrical coordinates. Figure 5 shows the mesh used for solving heat and mass transfers' equations throughout the reactor by the finite elements method (the mesh was done by using Gmsh freeware [START_REF] Geuzaine | Gmsh: a three-dimensional finite element mesh generator with built-in pre-and post-processing facilities[END_REF]).

Figure 5: mesh of a thermobalance containing the crucible and a 10mm-height powder bed

There are three areic regions in this mesh: the granular medium (constituted by kaolinite and gas), the alumina crucible and the zone of free gas (He/H 2 O mixture). We consider also the following boundary conditions:

-on the incoming boundary, the temperature, flow and composition (He/H 2 O mixture) of the entering gaseous mixture is fixed;

-on the outgoing boundary: free for the temperature, total pressure imposed at 1 atm, -on the sidewall: the boundary is adiabatic and is impassable for the mass flow, -on the symmetry axis: the radial derivatives of all physical values are equal to 0.

For each areic region, the physical properties were calculated from those of the pure phase. For example, the thermal conductivity k of the granular medium is calculated as follow:

( ) g s k k k ε ε + - = 1 ( 19
)
where ε is the porosity of the granular medium, k s the thermal conductivity of kaolinite and k g the thermal conductivity of the gas mixture. The viscosity of the gas mixture is calculated using the semi-empirical formula of Wilke [START_REF] Wilke | A viscosity equation for gas mixtures[END_REF]:

He O H O H O H He He O H O H He He mixture x x x x / 2 2 2 / 2 2 φ φ η η η + + = (20) with 2 4 1 2 1 2 1 / 1 1 8 1                         +         + = - j i j i j i j i M M M M η η φ
, M i the molar mass of species i, η i the viscosity of species i, x i the molar fraction of species i.

Inside the granular medium, heat and mass sources are calculated simulating the reaction phenomena at the microscopic level. Figures 6 a andb show the gas flow rate obtained as well as temperature and fractional conversion fields at a given time for bed heights of 3 and 10 mm, respectively. Figure 7 presents a comparison of the whole rate of reaction versus fractional conversion between the experimental data and the simulation for both bed heights. Figure 7 shows that the simulation is able to discriminate the height of the powder bed from 3 to 10 mm. It is important to notice that these results at reactor scale are obtained by means of numerical simulation without any adjustment of parameters.

Nevertheless the calculated curves are not perfectly superimposed with the experimental ones. Some improvements should be done in order to get better simulations. For example several points could be improved:

-at the grain scale, the particles size distribution (PSD) can be taken into account to obtain more precise values of γ and φ. Indeed Johnson et al. [START_REF] Johnson | Kaolinite dehydroxylation kinetics[END_REF] and Ortega et al. [START_REF] Ortega | The multistep nature of the kaolinite dehydroxylation: kinetics and mechanism[END_REF] have pointed out the fact that PSD has an impact on the shape of the kinetic curves and should be considered to determine properly kinetic constants in the case of dehydroxylation of kaolinite. This importance of PSD on kinetic modeling has also been underlined by several authors [START_REF] Hutchinson | Effect of particle-size distribution on the thermal decomposition of a-lead azide[END_REF][START_REF] Bircumshaw | The thermal decomposition of ammonium perchlorate II. The kinetics of the decomposition, the effect of particle size and discussion of results[END_REF] or from a theoretical point of view [START_REF] Sasaki | Introduction of particle-size distribution into kinetics of solid-state reaction[END_REF][START_REF] Mcilvried | Effect of particle size distribution on gas-solid reaction kinetics for spherical particles[END_REF][START_REF] Kapur | Kinetics of solid-state reactions of particulate ensembles with size distributions[END_REF][START_REF] Lahiri | The effect of particle size distribution on TG[END_REF][START_REF] Miyokawa | Influence of particle size distribution of a sample on the kinetic parameters determined by thermogravimetric curves[END_REF][START_REF] Urrutia | The influence of particle size distribution on the conversion/time profiles under contracting-geometry kinetic regimes[END_REF][START_REF] Koga | Influence of the particle size distribution on the CRTA curves for the solid-state reactions of interface shrinkage type[END_REF][START_REF] Koga | Kinetic analyses of solid-state reactions with a particle size distribution[END_REF], -at the reactor scale, the change in the physical properties of the granular medium (including the porosity) due to the transformation of kaolinite into metakaolinite should be considered. It could be done by writing a function of the physical properties of the granular medium versus fractional conversion.

Conclusion

This work presents a general approach for kinetic modeling of heterogeneous reactions by coupling kinetic models at grain and microscopic population scales with both heat and mass transfers by means of the finite element method. The software CIN4 includes kinetic models based on general concepts representative enough of the physical reality; about forty models of chemical transformation of powders are available depending on the shape of the grains, the growth type (isotropic or anisotropic), 3 mm the development direction of the new phase and the localization of the rate determining step of growth (internal interface, external interface or diffusion volume). Among these models, twenty-one include surface nucleation and growth processes. Heat and mass transfers are governed by differential equations and solved by a finite element method. This modeling process allows to simulate not only thermobalances but also industrial reactors. An example of results obtained with CIN4 was presented showing the influence of the powder bed height on the rate curves for the dehydroxylation of kaolinite.

Figure 1 :

 1 Figure 1: SEM picture of the kaolinite.

Figure 3 :

 3 Figure 3: Kinetic curves (a) and rate curves (b) for kaolinite dehydroxylation (T=450°C, P(H 2 O)=7hPa) obtained for3-mmand 10-mm bed heights.

Figure 4 :

 4 Figure 4: Results of the optimization procedure: comparison of experimental (full line) and calculated curves (dotted line) for (a) rate curves at 420°C, P(H 2 O)=7hPa and (b) kinetic curves at 460°C, P(H 2 O)=7hPa.

Figure 6 :

 6 Figure 6: Representation of the temperature field, the fractional conversion and the flowing rate (arrows) at a given time for (a) 3 mm-height bed and (b) 10mm-height bed.

Figure 7 :

 7 Figure 7: Reaction rate vs. fractional conversion from the experiment and from the simulation for both powder bed heights.


Sébastien Badia
email: sebastien.badia@inria.fr

Alexandra Carpen-Amarie
email: alexandra.carpen-amarie@inria.fr

Adrien Lèbre
email: adrien.lebre@inria.fr

Lucas Nussbaum
email: lucas.nussbaum@loria.fr

Enabling Large-Scale Testing of IaaS Cloud Platforms on the Grid'5000 Testbed

Keywords: C.2.4 [Computer-Communication Networks]: Distributed Systems, Cloud Computing, B.8.2 [Performance and Reliability]: Performance Analysis and Design Aids, K.6.2 [Management of Computing and Information Systems]: Installation Management Experimentation, Design, Management, Measurement, Performance Cloud computing, IaaS, virtualization, Grid'5000, reproducibility, large-scale experiments, isolation, OpenNebula, OpenStack, Nimbus, Cloudstack

Almost ten years after its premises, the Grid'5000 platform has become one of the most complete testbeds for designing or evaluating large-scale distributed systems. Initially dedicated to the study of High Performance Computing, the infrastructure has evolved to address wider concerns related to Desktop Computing, the Internet of Services and more recently the Cloud Computing paradigm. In this paper, we present the latest mechanisms we designed to enable the automated deployment of the major open-source IaaS cloudkits (i.e., Nimbus, OpenNebula, CloudStack, and OpenStack) on Grid'5000. Providing automatic, isolated and reproducible deployments of cloud environments lets end-users study and compare each solution or simply leverage one of them to perform higher-level cloud experiments (such as investigating Map/Reduce frameworks or applications).

INTRODUCTION

The evolution of technology allows larger and highlydistributed systems to be built, which provide new capabilities, in terms of applications, as well as in terms of infrastructures like peer-to-peer systems, Grids, and more recently (federations of) cloud platforms. Such large-scale distributed and parallel systems raise specific research issues and computer science, as other sciences, needs instruments to validate theoretical research results, as well as software developments. Although simulation and emulation are generally used to get a glance of the behavior of new algorithms, they use over-simplified models in order to reduce their execution time and thus cannot be accurate enough. Leveraging a scientific instrument to perform actual experiments is an undeniable advantage. However, conducting experiments on real environments is still too often a challenge for researchers, students, and practitioners: first, because of the unavailability of dedicated resources, and second, because of the inability to create controlled experimental conditions, and to deal with the wide variability of software requirements. Started in 2003 under the initiative of the French ministry of Research, the Grid'5000 testbed is a scientific instrument for the study of large-scale parallel and distributed systems. With the aim of providing a highly reconfigurable, controllable and monitorable experimental platform [START_REF] Cappello | Grid'5000: A large scale and highly reconfigurable grid experimental testbed[END_REF], Grid'5000 was solid enough to attract more than 600 users and led to a large number of research results and publications.

Considering the phenomenal impact of Cloud Computing solutions over the last five years, it became essential for the Grid'5000 consortium to extend the testbed in order to be able to study and address Cloud Computing concerns. Among them, Quality of Service (QoS), fault-tolerance, energy management, and scalability are a few major ones. Extending the Grid'5000 software and services stack to investigate such issues is a critical aspect for the community, as experimenting with cloud platforms in a rigorous and scientific manner is rather difficult. Lacking access to open and configurable cloud platforms, a large number of scientific experiments have been and are performed on the Amazon EC2/S3 [START_REF][END_REF] commercial Infrastructure-as-a-Service Cloud, where the isolation and reproducibility criteria are simply impossible to achieve.

Several Grid-targeted platforms were also developed along with Grid'5000. DAS-4 [START_REF]DAS-4[END_REF] is an experimental grid built in the Netherlands. It allows reproducible results but the software stack cannot be configured. FutureGrid [START_REF] Futuregrid | [END_REF], which is part of the NSF's TeraGrid high-performance cyber infrastructure in the USA, provides an architecture taking its inspiration from to the one developed in Grid'5000. It targets research on Grids and Clouds, providing access to lower levels of the grid software stack, the networking software stack, and to virtualization and workflow orchestration tools. Additionally, a large number of production platforms (such as the GENCI supercomputers in France) are used for different areas of research. Typically, their software stacks cannot be adapted for low-level experiments and the end users are not allowed to customize the environment installed on the machines.

In this paper, we describe the latest contributions of the Grid'5000 software and services stack to enable large-scale experiments involving new IaaS (Infrastructure-as-a Service) cloud technologies. These contributions make Grid'5000 one the very few platforms that allow the orchestration of such experiments between multiple sites and in an isolated and reproducible manner. The Open Cirrus [START_REF] Cirrus | [END_REF][START_REF] Avetisyan | Open Cirrus: A Global Cloud Computing Testbed[END_REF] platform targets a similar objective around clouds on bare hardware using distributed clusters available over the world. Led by private institutions, it allows multiple experiments using different services (physical resource allocation service, virtual machine resource allocation service, distributed storage service, distributed computing frameworks). However, as far as we know, the software stack is not as advanced as the one we propose.

The reminder of this paper is structured as follows. In Section 2, we give an overview of the Grid'5000 instrument. Section 3 describes the latest contributions enabling the use of virtualization technologies at the level of the Grid'5000 software and service stack. Section 4 focuses on deployment tools for open-source IaaS environments, designed to install fully-functional clouds on the Grid'5000 testbed and to tune them according to user requirements. Finally, Section 5 concludes the article.

GRID'5000 OVERVIEW

In 2003, several teams working around parallel and distributed systems designed a platform to support experimentdriven research in parallel and distributed systems. This platform, called Grid'5000 [START_REF] Cappello | Grid'5000: A large scale and highly reconfigurable grid experimental testbed[END_REF] and opened to users since 2005, was solid enough to attract a large number of users. It has led to a large number of research results: 575 users per year, more than 700 research papers, 600 different experiments, 24 ANR projects and 10 European projects, 50 PhD, and the creation of startup companies as well.

Grid'5000 is located mainly in France (see Figure 1), with one operational site in Luxembourg and a second site, not implementing the complete stack, in Porto Alegre, Brazil. Grid'5000 provides a testbed supporting experiments on various types of distributed systems (high-performance computing, grids, peer-to-peer systems, cloud computing, and others), on all layers of the software stack. The core testbed currently comprises 10 sites. Grid'5000 is composed of 26 clusters, 1,700 nodes, and 7,400 CPU cores, with various generations of technology (Intel (60%), AMD (40%), CPUs from one to 12 cores, Myrinet, Infiniband {S, D, Q}DR and 2 GPU clusters). A dedicated 10 Gbps backbone network is provided by RENATER (the French National Research and Education Network). In order to prevent Grid'5000 machines from being the source of a distributed denial of service, con- nections from Grid'5000 to the Internet are strictly limited to a list of whitelisted data and software sources, updated on demand.

From the user point of view, Grid'5000 is a set of sites with the exact same software environment. The driving idea is that users willing to face software heterogeneity should add controlled heterogeneity themselves during their experiments. Three basic workflows are supported when staging an experiment on Grid'5000: a web interface-based workflow, an API-based workflow, and a shell-based workflow. These differ not only in the interfaces used, but also in the processes they support.

The core steps identified to run an experiment are (1) finding and booking suitable resources for the experiment and (2) deploying the experiment apparatus on the resources. Finding suitable resources can be approached in two ways: either users browse a description of the available resources and then make a booking, or they describe their needs to the system that will locate appropriate resources. We believe both approaches should be supported, and therefore a machinereadable description of Grid'5000 is available through the reference API. It can be browsed by using a web interface or by running a program over the API. At the same time, the resource scheduler on each site is fed with the resource properties so that a user can ask for resources describing the required properties (e.g., 25 nodes connected to the same switch with at least 8 cores and 32 GB of memory). Once matching resources are found, they can be reserved either for exclusive access at a given time or for exclusive access when they become available. In the latter case, a script is given at reservation time, as in classical batch scheduling.

Several tools are provided to facilitate experiments. Most of them were originally developed specifically for Grid'5000. Grid'5000 users select and reserve resources with the OAR batch scheduler [START_REF] Capit | A batch scheduler with high level components[END_REF][START_REF]The OAR Project[END_REF]. Users can install their own system image on the nodes (without any virtualization layer) using Kadeploy [START_REF] Jeanvoine | Kadeploy3: Efficient and Scalable Operating System Provisioning for HPC Clusters[END_REF]. Experiments requiring network isolation can use KaVLAN to reconfigure switches and isolate nodes from the rest of the testbed. Several monitoring tools (resource usage on nodes with Ganglia, energy consumption) are also available. All tools can be accessed by a REST API to ease the automation of experiments using scripts. The tools used to support the experiments over Grid'5000 will be described in Section 3.

Different approaches to deploying the experimental apparatus are also supported. At the infrastructure level, users either utilize the preconfigured environment on the nodes, called the production environment, or they install their own environment. An environment consists of a disk image to be copied on the node and of the path in the disk image of the kernel to boot. This environment can be prepared in advance by modifying and saving reference environments made available to users, or a reference environment can be dynamically customized after it is deployed on the resources. The approach chosen can affect the repeatability of the results. Therefore, choices concerning the employed testbed environment are left to the experimenters.

Whatever approach used for the first two steps described here, access to resources (sites and nodes) is done through ssh. Each site has its own NFS server. This design decision was taken to ensure that resources of a particular site can be used even when the link to other sites is undergoing maintenance. In other words, the infrastructure does not depend on a single site to stay operational-an important consideration as maintenance events become frequent when 10 sites are concurrently operated.

A SOFTWARE STACK FOR CLOUD EX-PERIMENTS

This section describes three key Grid'5000 services that contribute to support cloud experiments on Grid'5000. Kadeploy (Section 3.1) enables users to deploy their software stacks of choice on the nodes. g5k-subnets (Section 3.2) and KaVLAN (Section 3.3) provide two different ways to configure the network (respectively by reserving IP address ranges, and by isolating an experiment from the rest of the testbed using on-the-fly switch reconfiguration).

Providing Custom Experimental Environments with Kadeploy

On most clusters, users do not have the option of changing the operating system installed on nodes. This is a severe limitation for experimentation, since users often need to assess the scope of the obtained results, verifying that is not limited to specific experimental conditions (specific kernel, library or compiler version, configuration, etc.). Grid'5000 enables the deployment of custom software stacks (including the operating system) on bare hardware 1 . This feature allows users to perform experiments without being bound to one particular Linux distribution or version, or even operating system.

While it is common for cloud infrastructures to provide the ability to deploy custom OS images in virtual machines, Grid'5000 implements this feature on physical machines, which brings two advantages. First, it avoids the overhead of the virtualization layer, which can be a problem when doing experiments involving performance measurements. While 9 1 This has been recently named as Hardware-as-a-Service.

the overhead is extremely low for CPU-intensive workload, it can be much higher for IO-intensive workloads. Second, it allows deployed environments to contain virtual machines themselves, without requiring the use of nested virtualization (hypervisor inside a virtual machine), which is not supported very well by today's hypervisors.

On Grid'5000, the installation of custom OS images on nodes is implemented using the Kadeploy [START_REF] Jeanvoine | Kadeploy3: Efficient and Scalable Operating System Provisioning for HPC Clusters[END_REF] cluster provisioning system, which has been developed in the context of the Grid'5000 project. Kadeploy achieves efficient and scalable installation of system images using advanced mechanisms (adaptative tree-based command execution thanks to TakTuk [START_REF] Claudel | Taktuk, adaptive deployment of remote executions[END_REF]; chain-based image broadcast [START_REF] Jeanvoine | Kadeploy3: Efficient and Scalable Operating System Provisioning for HPC Clusters[END_REF]). The deployment process is controlled by an automaton that handles the unavoidable errors (caused by unreliable protocols and hardware), and the corresponding retry policies. Due to these features, the installation of a 1.5 GB image on 130 nodes takes less than 10 minutes. Additionally, instead of restricting deployments to the system administrator, Kadeploy provides flexible permissions management to allow users to start deployments on their own. This is used on Grid'5000 to enable users to deploy their own customized environments.

Network Reservation with g5k-subnets

Virtual machines used during experiments must be accommodated on the testbed's network. While it is sometimes possible to limit experiments to purely virtual networks (inside one physical machine, or spanning several physical machines using e.g. Open vSwitch), this would be a severe limitation. Additionally, Grid'5000 is composed of several sites with routing between sites (Figure 1), and different users can run concurrent experiments on the same Grid'5000 site. Therefore, techniques to reserve address ranges or to isolate an experiment from the rest of the testbed are needed. Grid'5000 provides two such solutions: g5k-subnets (described in this section) extends Grid'5000 resource reservation mechanism to allow users to reserve IP ranges for their virtual machines; KaVLAN (presented in the next section) reconfigures network switches so that an experiment is isolated from the rest of the testbed.

The whole 10/8 subnet (10.0.0.0 -10.255.255.255) is dedicated to user virtual machines on Grid'5000. The first half (10.0 -10.127) is used for KaVLAN, while the second half (10.128 -10.255) is used by g5k-subnets. Since Grid'5000 sites are interconnected via L3 routing, the 10.128/9 network is divided into one /14 network per site (2 18 = 262144 IP addresses per site). This /14 network per site is again divided, with the last /16 network (2 16 = 65536 IP addresses) dedicated to attributing IP addresses over DHCP for machines in the 00:16:3E:XX:XX:XX MAC range (which is the Xen reserved MAC range).

The last 3 * 2 16 = 196608 IP addresses are allocated through reservation with g5k-subnets. g5k-subnets is integrated in the Resource Management System used on Grid'5000, OAR [START_REF]The OAR Project[END_REF]. Users can reserve a set of network IP addresses (from /22 to a /16) at the same time as nodes. As an example,the following command reserves two /22 ranges and 8 nodes:

oarsub -l slash_22=2+nodes=8 -I Once a specific IP range has been allocated, users can retrieve it using a command-line tool. Additional information, such as DNS servers, default gateway, broadcast address, etc. is made available through this tool.

It reservation of IP address ranges, not of MAC addresses. Since the available MAC address range (47 bits, since one is used to indicate multicast frames) is much larger than the available IP range (18 bits), choosing MAC addresses at random does not result in significant chances of collision. This strategy is also used by several cloud software stacks. Finally, g5k-subnets does not enforce the reservation. A malicious user could steal IP addresses from a concurrent user. If a user requires stronger protection, the use of KaVLAN is recommended.

Network Isolation with KaVLAN

In some cases, the reservation of IP ranges, as provided by g5k-subnets, is not sufficient to satisfy the experimenters' needs. Some experiments are either too sensitive to external noise (coming from broadcasts, or from unsolicited connections), or too disruptive (e.g. when using network discovery protocols that rely on network broadcast). A typical example of experiments involving virtualization is the installation of a DHCP server to serve IP addresses to virtual machines. If not properly configured, it could start answering DHCP requests from other nodes on the testbed. Such experiments cannot be performed on the same network as other experiments, as they could compromise the testbed's infrastructure or other experiments, or be compromised themselves.

KaVLAN is a tool developed inside the Grid'5000 project that provides controlled isolation of user experiments at the network level. KaVLAN isolates experiments in their own 801.1q VLAN by reconfiguring the testbed's switches for the duration of the experiment. It can connect to switches using SNMP, SSH and telnet, supports a number of different routers and switches (from Cisco, HP, 3com, Extreme Networks and Brocade), and can easily be extended to support other products.

Several different types of VLANs are provided by KaVLAN to meet different user needs (Figure 2):

• Local VLAN provides users with a fully isolated network that is only accessible through a machine connected to both the VLAN and the testbed's network (generally by using SSH). • Routed VLAN also provides users with a separate L2 network. The network is however not isolated at the L3 level, thus being reachable from any node of the testbed. It can typically be used to deploy a complex infrastructure including a DHCP server (e.g., a cloud middleware) inside the VLAN. • Instead of providing isolation limited to one site (as with local and routed VLAN), a Global VLAN provides a separate L2 network at the scale of the testbed, using 802.1ad (Q-in-Q) on the testbed's backbone network. It is accessible from the default testbed's network through routing.

DELIVERING READY-TO-USE CLOUD PLATFORMS ON GRID'5000

The first step towards investigating Infrastructure-as-a-Service environments within Grid'5000 was achieved through a set of "sky computing" experiments [START_REF] Riteau | Large-Scale Cloud Computing Research: Sky Computing on FutureGrid and Grid'5000[END_REF]. They involved a federation of several Nimbus Clouds [START_REF] Keahey | Science Clouds: Early Experiences in Cloud Computing for Scientific Applications[END_REF] spanning across Grid'5000 and FutureGrid [START_REF] Futuregrid | [END_REF] and harnessing over 1500 cores for MapReduce applications. These experiments showed that testbeds such as Grid'5000 may play an essential role in enabling experimental research at all levels of the Cloud Computing stack and providing configurable cloud platforms similar to commercially available clouds. However, the complexity of managing the deployment and tuning of large-scale private clouds emerged as a major drawback. Typically, users study specific cloud components or carry out experiments involving applications running in cloud environments. A key requirement in this context is seamless access to ready-to-use cloud platforms, as well as full control of the deployment settings.

To address these needs, we developed a set of deployment tools for open-source IaaS environments, capable of installing and tuning fully-functional clouds on the Grid'5000 testbed [START_REF]One-click Cloud deployment tools[END_REF]. The deployment tools support four widely-used IaaS clouds, namely OpenNebula [START_REF] Moreno-Vozmediano | Elastic management of cluster-based services in the cloud[END_REF][START_REF]OpenNebula[END_REF], CloudStack [START_REF]Apache CloudStack[END_REF], Nimbus [START_REF] Keahey | Science Clouds: Early Experiences in Cloud Computing for Scientific Applications[END_REF][START_REF]The Nimbus Project[END_REF] and OpenStack [START_REF]OpenStack[END_REF]. This section provides insights on the design of these tools, detailing the cloudspecific issues that drove their development. We introduce two approaches for providing cloud platforms to Grid'5000 users, based on the networking requirements and limitations of each cloud.

One-Click IaaS Clouds with g5k-campaign

This section describes a cloud deployment utility that makes use of g5k-subnets to provision the virtual IP addresses used within the cloud. While simple and flexible, this approach poses some limitations on the networking configuration of the cloud environment, being available only for platforms that can accommodate IP ranges served by external DHCP servers. As OpenNebula, CloudStack and Nimbus support such configurations, we designed a generic deployment utility to install and configure any one of these cloud platforms over Grid'5000.

The deployment tool is built on top of g5k-campaign, a framework devised for coordinating experiment workflows and launching repeatable experiments on Grid'5000. G5kcampaign relies on experiment description files called engines. An engine represents the implementation of a Grid'5000 experiment and defines all of its stages: physical node reservations in Grid'5000, environment deployment, configuration, and experiment execution. We developed specific engines for each cloud framework, which can be activated through easy-to-use configuration files passed to the g5k-campaign framework. Thus, users can supply customized requirements for each stage of the Grid'5000 experiment execution, ranging from Grid'5000 node reservation constraints to cloud deployment settings.

Implementation.

The deployment tools are designed to support a wide range of cloud-specific parameters, which are either automatically configured with default values or customized by the user. Such parameters include hypervisor and virtualization settings, host nodes configuration, installation of external packages, authentication settings, virtual networks creation, configuration of various storage mechanisms for VM images and of cloud user interfaces, cloud services initialization.

The implementation of the deployment tools heavily relies on the latest version of the Grid'5000 software stack introduced in Section 3. First, to provide support for virtualization and full control over the environment, the cloud platforms are installed on standard environments deployed on the physical machines through Kadeploy. The interaction with the Grid'5000 services is implemented on top of the Grid'5000 API, which is in charge of managing the node reservations and deployments, as well as of retrieving the available nodes and reporting errors. Another essential building block is represented by the g5k-subnets tool. It provides the virtual networks needed by the cloud services to equip VMs with appropriate IP addresses on each site. The deployment tools are written in Ruby and the installation and configuration are done on each physical node by using the Chef [19] configuration management framework. The Chef cookbooks are designed in a modular manner, to allow users to add or extend the current configuration options.

We validated these tools by installing each cloud platform on tens of physical nodes capable of executing hundreds of virtual machines. As an example, the OpenNebula environment was tested on 80 physical nodes belonging to 3 Grid'5000 sites. On this platform we deployed a virtual cluster comprising 350 VMs that was used to run Hadoop applications. The average time to deploy such a ready-to-use OpenNebula cloud is less than 20 minutes, with about 6 minutes spent on infrastructure installation and configuration, while the rest is taken up by nodes reservation and deployment. Moreover, subsequent re-deployments take only 5 minutes, as the environments are already running and required packages are installed.

Zoom on the cloud deployment engine.

The deployment tools rely on cloud deployment engines for each specific cloud platform. Each such engine is responsible for handling the installation process of the cloud environment, either from Linux packages or from specific source code archives. It automatically carries out the deployment and configuration, featuring two types of installation modes. The first one is fully automatic and does not require any specific configuration from the user. It thus enables users without any knowledge on the internal design of the cloud platform to use it through standard interfaces and to run cloud applications in a similar fashion to public clouds. The second one allows users to customize the various cloud services to meet their needs.

A cloud engine can be executed by passing a configuration file to the g5k-campaign tool, which is in charge of interpreting it and delivering the ready-to-use cloud platform. The sequence diagram in Figure 3 describes the execution workflow of each such engine. First, a node reservation is made for each site specified in the configuration file through the Grid'5000 API, along with g5k-subnets-based ranges of virtual IPs corresponding to each site. The next step is the parallel deployment of one or more environments on the reserved nodes enabled by Kadeploy. In each cloud platform, a node can play one of the following roles: cloud frontend, compute node or client node. Once the nodes are operational, the cloud engine retrieves the reserved IP ranges from each site and then creates specific configuration settings for each node, according to their role. Finally, the selected cloud is installed and configured on each node in parallel. When the execution of the engine is successfully completed, the user can access and perform experiments on the deployed cloud platform, for the duration of the Grid'5000 reservation defined in the configuration file. These execution stages apply to both multi-site and mono-site deployments, as their outcome is similar: a single cloud comprising one controller and a set of host nodes. The specificity of a multi-site cloud is that it is configured with several virtual networks, each of them corresponding to a group of host nodes belonging to the same site.

OpenStack in FlatDHCP mode thanks to KaVLAN

While it is useful and proved to work very well, the approach described in the previous section is limited when applied to more complex cloud stacks or configurations.

Specifically, the recommended way to use OpenStack (until its folsom release) is nova-network's FlatDHCP mode, where a DHCP server is started and managed by OpenStack. This mode is not usable with g5k-subnets reservations, as the OpenStack DHCP server would conflict with the testbed's DHCP server.

To alleviate this problem, we designed another approach, using a KaVLAN routed VLAN to host the OpenStack cloud and its own specific network environment. Connections to the outside world are made either through the VLAN gateway, or via special nodes that have two network interfaces (one on the KaVLAN network, the other one on the standard network). This approach avoids all possible perturbations between OpenStack and the rest of the testbed.

This approach also differs in terms of software used to automate the setup of the cloud infrastructure. The previous approach used custom-made Chef cookbooks. In the case of OpenStack, we used the official Puppet recipes, as provided by PuppetLabs (and more recently, StackForge). This facilitates the maintenance, as the maintenance effort is shared with other OpenStack users, especially when new OpenStack releases are made available. It also eases the sharing with the community, since the resulting OpenStack deployment has less specificities.

We validated our tools by deploying an OpenStack cloud on about 30 physical machines in less than 20 minutes. Our cloud included one Cloud Controller (API, network, scheduler, dashboard, object store, database, authentication, etc.), and all the other nodes hosting virtual machines (novacompute) and providing block storage with Cinder. The deployment of OpenStack on Grid'5000 was used as a staging area to port a bioinformatics data-oriented workflow to AWS.

CONCLUSION

The ability to design and support evaluations of large-scale distributed algorithms and software is now a mandatory aspect of computer science. When it was started in 2003, the objective of the Grid'5000 project was to ensure the availability of a scientific instrument for experiment-driven research in the fields of large-scale parallel and distributed systems. It has since demonstrated that its fundamental concepts and tools are solid enough to attract a large number of users and to be internationally recognized. As large-scale platforms evolved towards virtualized infrastructures and clouds, we enhanced the Grid'5000 reconfigurable testbed with new features and tools that allow such experiments to be deployed over multiple sites. In this paper, we gave an overview of these tools. However the story is not over and some work remains to be done around new functionnalities. A first challenge is to extend the Grid'5000 software stack to completely virtualize the network abstractions. By leveraging technologies implementing the OpenFlow [START_REF]OpenFlow[END_REF] standard, end-users will be able to study new concerns around the Network-asa-Service paradigm and propose new routing and switching protocols to ensure the QoS of network communications. Big Data is also a major research issue where end-users expect a lot from cloud computing platforms. Allowing the design of new middleware frameworks for such applications require at least new hardware for our experimental platforms (including a large number of SSD drives, currently not available on the Grid'5000 testbed). Finally, we learned that the tools used for the deployment of large scale experiments involving sev-eral different software stacks need to be as simple as possible. Simplifying the use of our platform for users is thus one of our major tasks in the near future as well. Furthermore, we plan to enhance the cloud deployment tools with support for other IaaS frameworks, such as Eucalyptus [START_REF] Nurmi | The Eucalyptus Open-Source Cloud-Computing System[END_REF], and to investigate their capabilities for hosting Platform-as-a-Service offerings. The background of the scientific and the technical boards of Grid'5000 is an important advantage in the design of new facilities dedicated to distributed system experimentations. Supported by the FIRE unit (Future Internet Research and Experimentation), several Grid'5000 members take part to the FP7 European BonFIRE project [3] that aims at the construction of a European-wide facility for experiment-driven research in Future Internet technologies.

Figure 1 :

 1 Figure 1: Grid'5000 sites and their number of nodes.

Figure 2 :

 2 Figure 2: Types of VLAN provided by KaVLAN .

Figure 3 :

 3 Figure 3: Sequence diagram of a cloud deployment engine execution.

ACKNOWLEDGMENTS

Experiments presented in this paper were carried out using the Grid'5000 experimental testbed, being developed under the INRIA ALADDIN development action with support from CNRS, RENATER and several universities as well as other funding bodies (see https://www.grid5000.fr).