R Fekih-Salem

J Harmand
email: harmand@supagro.inra.fr

C Lobry

A Rapaport
email: rapaport@supagro.inra.fr

T Sari

Extensions of the chemostat model with flocculation

Keywords: Chemostat, density dependent growth functions, flocculation

In this work, we study a model of the chemostat where the species are present in two forms, isolated and aggregated individuals, such as attached bacteria or bacteria in flocks. We show that our general model contains a lot of models that were previously considered in the literature. Assuming that flocculation and deflocculation dynamics are fast compared to the growth of the species, we construct a reduced chemostat-like model in which both the growth functions and the apparent dilution rate depend on the density of the species. We also show that such a model involving monotonic growth rates may exhibit bistability, while it may occur in the classical chemostat model, but when the growth rate is non monotonic.

Introduction

In culture of micro-organisms, the attachment of microbial individuals occurs frequently. The attachment can be either a "wall attachment" such as in the growth of biofilms or simply an aggregation such as in the formation of flocks or granules [START_REF] Costerton | Overview of microbial biofilms[END_REF][START_REF] Thomas | Flocculation modelling: A review[END_REF]. Flock or granule formation has a direct impact on growth dynamics, as the access to the substrate is limited for micro-organisms inside such structures. The mechanisms of attachment and detachment result from the coupling of hydrodynamics conditions and biological properties, but are not yet completely understood at the level of microbial individuals. Several attempts of computer models, using individual based representations, have been proposed and are under investigation for the simulation of these phenomenons, cf. for instance [START_REF]IWA Task Group on Biofilm Modeling Mathematical Modeling of Biofilms[END_REF][START_REF] Saravanan | Modeling anaerobic biofilm reactors, a review[END_REF]. At a macroscopic level, substrate limitation can be measured experimentally in biofilms or flocks [START_REF] Chiu | Oxygen diffusion and consumption in active aerobic granules of heterogeneous structure[END_REF][START_REF] Li | Micro-profiles of activated sludge floc determined using microelectrodes[END_REF][START_REF] Topiwala | Effect of wall growth in steady state continuous culture[END_REF]. A rough representation, suited to the macroscopic level, consists in splitting the overall biomass into two parts: a "planktonic biomass", composed of free individuals and an "attached biomass" composed of individuals that are tied together [START_REF] Kreikenbohm | Application of a two-compartment model to the wall growth of Pelobacter acidigallici under continuous culture conditions[END_REF]. This consideration leads to a significant change on the performances predicted by the models, compared to purely planktonic cultures. In a chemostat-like device, planktonic cells are expected to consume easily the substrates necessary for their growth, but are more keen to be carried out by the flow. On the contrary, cells among aggregates or biofilms have a more difficult access to the resources of the bulk fluid, but are more resistant to detachment induced by the hydrodynamical conditions. Therefore, mathematical models are expected to understand and predict the issues of these trade-offs. Several extensions of the well-known chemostat model [START_REF] Smith | The Theory of the Chemostat, Dynamics of Microbial Competition[END_REF], considering two compartments of free and attached biomass for each species have been proposed and studied in the literature. In models with wall attachment, attached biomass is assumed to be fixed while detached individuals return directly to the planktonic compartment [START_REF] Pilyugin | The simple chemostat with wall growth[END_REF][START_REF] Stemmons | Competition in a chemostat with wall attachment[END_REF]. In models with aggregation, 1 aggregates are carried out by the flow but bacteria inside flocks are assumed to have no or reduced access to bulk resources [START_REF] Haegeman | Modeling Bacteria Flocculation as Density-Dependent Growth[END_REF][START_REF] Haegeman | How flocculation can explain coexistence in the chemostat[END_REF].

Literature reports flocculation time scales of the order of 1 to 10 min [START_REF] Ding | Population balance modelling of activated sludge flocculation: Investigating the size dependence of aggregation, breakage and collision efficiency[END_REF][START_REF] Wahlberg | Influence of activated sludge flocculation time on secondary clarification[END_REF] to be compared with bacterial growth times of 1 h to 1 day, and with retention times of a few hours to a few days. Thus, considering that attachment and detachment processes may be fast compared to biological time, it is shown in [START_REF] Haegeman | How flocculation can explain coexistence in the chemostat[END_REF] that the reduced dynamics of such systems amounts to have a single biomass compartment for each strain but with a density dependent growth rate. This justifies the consideration of density dependent growth functions in the chemostat model, as already introduced in the literature in the field of mathematical ecology [START_REF] Arditi | Coupling in predator-prey dynamics: ratio-dependence[END_REF] or wastewater process engineering [START_REF] Harmand | Density-dependent kinetics models for a simple description of complex phenomena in macroscopic mass-balance modeling of bioreactors[END_REF]. In [START_REF] Leenheer | Crowding effects promote coexistence in the chemostat[END_REF][START_REF] Lobry | A new hypothesis to explain the coexistence of n species in the presence of a single resource[END_REF][START_REF] Lobry | Persistence in ecological models of competition for a single resource[END_REF][START_REF] Lobry | Sur un modèle densité-dépendant de compétition pour une resource[END_REF], it has been shown that this could lead to the coexistence of several species in competition on a same limiting resource, thus invalidating the Competitive Exclusion Principle [START_REF] Hardin | The competition exclusion principle[END_REF] (different mechanisms with considerations on the nutrient uptake could also lead to species coexistence [START_REF] Arino | Considerations on yield, nutrient uptake, cellular growth, and competition in chemostat models[END_REF]).

In [START_REF] Haegeman | How flocculation can explain coexistence in the chemostat[END_REF], the aggregates are assumed to have no biological growth (i.e. the attachment process is the only source of increase of the attached biomass). Aggregates are also assumed to be washed-out with the same dilution rate than planktonic cells. On the opposite, in wall attachment models, the attached biomass is not washed out at all. We believe that these two opposite cases (same dilution rate than planktonic biomass or no dilution rate) are too extreme to be fully realistic. In this paper, we revisit the chemostat model with two compartments, planktonic and aggregated biomass, but assuming that each biomass has its own growth rate and apparent dilution rate. This generalizes the two kind of models that we mentioned previously.

The paper is organized as follows. In the Section 2, the general model of the system under interest is presented. In particular, for specific choices of different kinetics and mortality terms, it is shown that this model captures in fact many models of literature. In Section 3, this general model is reduced assuming the attachment/detachment processes are fast with respect to others. In the Section 4, the reduced model is analyzed for a specific class of models while its extension to the multi-species case and its analysis are carried out in Sections 5 and 6, respectively. Finally, discussion and conclusions are drawn in the last section.

Modeling flocks or aggregates in the chemostat

Consider the following model of the chemostat in which a population of microorganisms compete for a single growth-limiting substrate [START_REF] Smith | The Theory of the Chemostat, Dynamics of Microbial Competition[END_REF][START_REF] Monod | La technique de culture continue[END_REF]:

Ṡ = D(S in -S) -kµ(S)x ẋ = (µ(S) -D x )x .
In these equations, S(t) denotes the concentration of the substrate at time t; x(t) denotes the concentration of the population of microorganisms at time t; µ(•) represents the per-capita growth rate of the population and so Y = 1/k is the growth yield; S in and D denote, respectively, the concentration of substrate in the feed bottle and the dilution rate of the chemostat; D x represents the removal rate of the population. Assume that the species is present in two forms: isolated or planktonic bacteria, of density u, and attached bacteria or flocks of bacteria, of density v. Isolated bacteria and flocks can stick together to form new flocks, with rate α(•)u, and flocks can split and liberate isolated bacteria, with rate β(•)v:

u α(•)u ---→ v, u β(•)v ← ---v.
One obtains the following equations :

   Ṡ = D(S in -S) -f (S)u -g(S)v u = (f (S) -D 0 )u -α(•)u + β(•)v v = (g(S) -D 1 )v + α(•)u -β(•)v . (1)
In these equations, S(t) denotes the concentration of the substrate at time t; u(t) and v(t) denote, respectively, the concentration of the population of planktonic microorganisms and flocks of bacteria at time t; f (S) and g(S) represent, respectively, the per-capita growth rate of the populations; S in and D denote, respectively, the concentration of substrate in the feed bottle and the dilution rate of the chemostat; D 0 and D 1 represent, respectively, the removal rate of the microorganisms. The dot in attachment rate α(•) and detachment rate β(•) means that these rates can depend on the state variables, so that system (1) recovers some of the models which were considered in the existing literature. For instance, the model of adaptive nutrient uptake, where u denotes the low growing cells and v denotes the fast growing cells considered in [START_REF] Tang | Population dynamics and competition in chemostat models with adaptative nutrient uptake[END_REF] is obtained with attachment and detachment rates depending only on S α(•) = α(S), β(•) = β(S).

The model of wall growth, where u denotes the density of planktonic bacteria, and v denotes the density of wall-attached bacteria, considered by Pilyugin and Waltman [START_REF] Pilyugin | The simple chemostat with wall growth[END_REF], is obtained with constant rates

α(•) = a, β(•) = b.
The Freter model [START_REF] Freter | An understanding of colonization resistance of the mammalian large intestine requires mathematical analysis[END_REF] is given by

   Ṡ = D(S in -S) -f (S)u -g(S)v u = (f (S) -D 0 )u -a(1 -W )u + bv + g(S)(1 -G(W ))v v = (g(S)G(W ) -D 1 -b)v + a(1 -W )u (2)
where W = v/v max and G(•) is decreasing. Notice that this model is a particular case of the model (1) with

α(•) = a(1 -W ), β(•) = b + g(S)(1 -G(W )) .
Actually, if v max = ∞ one obtains W = 0 and if G(0) = 1 then α(•) = a, β(•) = b, and ( 2) is simply the model of Pilyugin and Waltman [START_REF] Pilyugin | The simple chemostat with wall growth[END_REF].

A model with flocks of two bacteria has been considered in [START_REF] Haegeman | How flocculation can explain coexistence in the chemostat[END_REF] 

  Ṡ = D(S in -S) -f (S)u -g(S)v u = (f (S) -D 0 )u -au 2 + bv v = (g(S) -D 1 )v + au 2 -bv (3)
that is a particular case of model (1) obtained with

α(•) = au, β(•) = b.
This model has been studied by Haegeman and Rapaport [START_REF] Haegeman | How flocculation can explain coexistence in the chemostat[END_REF] in the case of g(•) = 0 where the bacteria in flocks are assumed to do not consume any substrate, and by Fekih-Salem and al [START_REF] Fekih-Salem | La flocculation et la coexistence dans le chemostat[END_REF] in the more general case of 0 g(•) f (•) where the bacteria in flocks consume less substrate than the isolated bacteria. This model has been also extended to the case of flocks with an arbitrary numbers of bacteria in [START_REF] Haegeman | Modeling Bacteria Flocculation as Density-Dependent Growth[END_REF].

In the present paper we will not consider the size or the number of bacteria in flocks in our model. We simply distinguish the biomass in flocks and the isolated biomass. The biomass of isolated bacteria is denoted by u and the biomass in flocks is denoted by v. Hence isolated bacteria and isolated bacteria or flocks can stick together to form new flocks, with rate a(u + v)u, where a is a constant, proportional to both the density of isolated bacteria, that is u, and the total biomass density, that is u + v, and flocks can split and liberate isolated bacteria, with rate bv, where b is a constant, proportional the their density v. Hence, taking 1), one obtains the following dynamical system

α(•) = a(u + v), β(•) = b in model (
   Ṡ = D(S in -S) -f (S)u -g(S)v u = (f (S) -D 0 )u -a(u + v)u + bv v = (g(S) -D 1 )v + a(u + v)u -bv (4)
that we aim to study in the present paper, as well as its extensions to multi-species populations.

A two time scales dynamics

The general model for the flocculation is

   Ṡ = D(S in -S) -f (S)u -g(S)v u = (f (S) -D 0 )u -α(S, v, u)u + β(S, u, v)v v = (g(S) -D 1 )v + α(S, v, u)u -β(S, u, v)v .
If we assume that the dynamics of flocculation and deflocculation is much faster than the growth of the species, one can write the model the following way

         Ṡ = D(S in -S) -f (S)u -g(S)v u = (f (S) -D 0 )u - α(S, u, v) ε u + β(S, u, v) ε v v = (g(S) -D 1 )v + α(S, u, v) ε u - β(S, u, v) ε v (5)
where ε is expected to be a small non-negative number. Notice that the dynamics of the total biomass x = u + v is given by the equation

ẋ = (f (S) -D 0 )u + (g(S) -D 1 )v.
Thus, u and v are fast variables, while S and x are slow ones. The fast dynamics is given by

u ′ = -α(S, u, v)u + β(S, u, v)v ,
and the slow manifold is defined by the positive solutions of the system

α(S, u, v)u = β(S, u, v)v with u + v = x .
Hence one has

u = p(S, x)x, v = (1 -p(S, x))x.
Assuming that this slow manifold is asymptotically stable for the fast equation, the reduction of the system to the slow system gives an approximation of the solutions of (5) for arbitrarily small ε, in accordance with the theories of singular perturbations or variables aggregation [START_REF] O'malley | Singular perturbation methods for ordinary differential equations[END_REF][START_REF] Auger | Aggregation and Emergence in Systems of Ordinary Differential Equations[END_REF][START_REF] Sanchez | Two-time scales in spatially structured models of population dynamics: a semigroup approach[END_REF]. The reduced model is obtained by replacing the fast variables u and v in the equations of S and x:

Ṡ = D(S in -S) -µ(S, x)x ẋ = (µ(S, x) -d(S, x)) x (6)
where

µ(S, x) = p(S, x)f (S) + (1 -p(S, x))g(S), d(S, x) = p(S, x)D 0 + (1 -p(S, x))D 1 .
Notice that p(•) depends on functions α(.) and β(.). Consequently the growth function µ(•) is a density dependent growth function model, as already studied in [START_REF] Lobry | A new hypothesis to explain the coexistence of n species in the presence of a single resource[END_REF][START_REF] Lobry | Persistence in ecological models of competition for a single resource[END_REF][START_REF] Lobry | Sur un modèle densité-dépendant de compétition pour une resource[END_REF]. But, here the removal rates are replaced by a function d(•) that depends also on functions α(.) and β(.). This last property is new in the literature, to our knowledge.

For the slow and fast case of (3) one has, see [START_REF] Haegeman | How flocculation can explain coexistence in the chemostat[END_REF]

α(•) ε = a ε u, β(•) ε = b ε and p(x) = 2 1 + 1 + 4 a b x
.

The slow and fast case of ( 4) is given by

   Ṡ = D(S in -S) -f (S)u -g(S)v u = (f (S) -D 0 )u -a ε (u + v)u + b ε v v = (g(S) -D 1 )v + a ε (u + v)u -b ε v . ( 7
)
The slow manifold is defined by the positive solutions of the system

a(u + v)u = bv with u + v = x .
Hence one has

u = p(x)x, v = (1 -p(x))x, where p(x) = b b + ax .
Hence, the reduced model corresponding to ( 7) is given by

Ṡ = D(S in -S) -µ(S, x)x ẋ = (µ(S, x) -d(x)) x (8)
where

µ(S, x) = bf (S) + axg(S) b + ax , d(x) = bD 0 + axD 1 b + ax . ( 9
)
In the rest of the section, we use Tikhonov's theory [START_REF] Lobry | On Tikhonov's theorem for convergence of solutions of slow and fast systems[END_REF][START_REF] Tikhonov | Systems of differential equations containing small parameters multiplying the derivatives[END_REF][START_REF] Wasow | Asymptotic Expansions for Ordinary Differential Equations[END_REF] (see also [START_REF] Khalil | Nonlinear Systems Third Edition[END_REF]), and we justify that the solutions of ( 7) are approximated by the solutions of the reduced model [START_REF] Freter | An understanding of colonization resistance of the mammalian large intestine requires mathematical analysis[END_REF][START_REF] Ginovart | Flocculation in brewing yeasts: A computer simulation study[END_REF].

Theorem 3.1 Let (S(t, ε), u(t, ε), v(t, ε
)) be the solution of [START_REF] Fekih-Salem | La flocculation et la coexistence dans le chemostat[END_REF] with initial condition (S 0 , u 0 , v 0 ) satisfying S 0 0, u 0 > 0, and v 0 0. Let (S(t), x(t)) be the solution of the reduced problem [START_REF] Freter | An understanding of colonization resistance of the mammalian large intestine requires mathematical analysis[END_REF] with initial conditions

S(0) = S 0 , x(t) = u 0 + v 0 . Then as ε → 0, S(t, ε) = S(t) + o(1), x(t, ε) = x(t) + o(1) (10)
uniformly for t ∈ [0, T ], and

u(t, ε) = b b + ax(t) x(t) + o(1), v(t, ε) = ax(t) b + ax(t) x(t) + o(1) (11)
uniformly for t ∈ [t 0 , T ], where 0 < t 0 < T are arbitrary but fixed and independent of ε. If the solution (S(t), x(t)) of the reduced problem converges to an asymptotically stable equilibrium, then we can put T = +∞ in the the approximations [START_REF] Haegeman | Modeling Bacteria Flocculation as Density-Dependent Growth[END_REF] and [START_REF] Haegeman | How flocculation can explain coexistence in the chemostat[END_REF] given.

Proof. In the variables S, x = u + v and u, system (7) is written

     Ṡ = D(S in -S) -f (S)u -g(S)(x -u) ẋ = f (S)u + g(S)(x -u) -D 0 u -D 1 (x -u) u = (f (S) -D 0 )u - a ε xu + b ε (x -u) . ( 12
)
This is a slow and fast system with two slow variables S and x and one fast variable, u. The fast equation is

u ′ = -axu + b(x -u) = bx -(ax + b)u. ( 13
)
The slow manifold (or quasi-steady-state) is given by

u = xp(x), where p(x) = b b + ax .
Since ax + b > 0 this slow manifold is globally asymptotically stable. Thus, the Tikhonov's Theorem [START_REF] Lobry | On Tikhonov's theorem for convergence of solutions of slow and fast systems[END_REF][START_REF] Tikhonov | Systems of differential equations containing small parameters multiplying the derivatives[END_REF][START_REF] Wasow | Asymptotic Expansions for Ordinary Differential Equations[END_REF] applies and asserts that after a fast transition toward the slow manifold, the solutions are approximated by a solution of the reduced equation, which is obtained by replacing the fast variable u in (12) by the quasi steady state u = xp(x). This reduced system is

Ṡ = D(S in -S) -(f (S)p(x) + g(S)(1 -p(x))) x ẋ = (f (S)p(x) + g(S)(1 -p(x)) -D 0 p(x) -D 1 (1 -p(x)))
x .

This is system [START_REF] Freter | An understanding of colonization resistance of the mammalian large intestine requires mathematical analysis[END_REF][START_REF] Ginovart | Flocculation in brewing yeasts: A computer simulation study[END_REF]. The approximations [START_REF] Haegeman | Modeling Bacteria Flocculation as Density-Dependent Growth[END_REF] and [START_REF] Haegeman | How flocculation can explain coexistence in the chemostat[END_REF] follow from the Tikhonov's Theorem. Recall that when the reduced problem has an asymptotically stable equilibrium, then these approximations hold for all t > 0 and not only on a compact interval [0, T ). Recall also that there is a boundary layer for the fast variables u and v, that is the approximations (11) hold only for t t 0 where t 0 > 0 can be arbitrarily small but fixed. Therefore, very quickly, the density v(t) of flocks tends to

a(x(0)) 2 b + ax(0) ,
and the density u(t) of planktonic bacteria tends toward bx(0) b + ax(0) .

These values depend only on the initial total biomass x(0) = u(0) + v(0), and on the ratio a/b between the rate of flocculation and deflocculation. After this boundary layer, one has a slow variation of the densities of flocks and isolated bacteria according to the density dependent reduced model [START_REF] Freter | An understanding of colonization resistance of the mammalian large intestine requires mathematical analysis[END_REF][START_REF] Ginovart | Flocculation in brewing yeasts: A computer simulation study[END_REF].

Study of the reduced model for one species

We consider in this section the mathematical analysis of the reduced model [START_REF] Freter | An understanding of colonization resistance of the mammalian large intestine requires mathematical analysis[END_REF]. We do not assume that the functions µ(S, x) and d(x) are of the particular form [START_REF] Ginovart | Flocculation in brewing yeasts: A computer simulation study[END_REF]. We assume that H0: µ(0, x) = 0 and µ(S, x) > 0 for all S > 0 and all x 0. Otherwise one lets λ k = +∞, k = 0, 1. We add the following assumption H3: If λ 0 < λ 1 , then for all S ∈ [λ 0 , λ 1 ) and x 0 one has d ′ (x) > ∂µ ∂x (S, x).

H4: If λ 1 < λ 0 , then for all S ∈ (λ 1 , λ 0 ] and x 0 one has d ′ (x) < ∂µ ∂x (S, x).

Lemma 4.1 Assumptions H0-H4 are satisfied in the case

µ(S, x) = f (S)p(x) + g(S)(1 -p(x)), d(x) = D 0 p(x) + D 1 (1 -p(x))
where f (•) > g(•) are increasing functions and p(x) is a decreasing functions such that p(0) = 1, p(+∞) = 0 with [xp(x)] ′ > 0.

Proof. Since p ′ (x) < 0 and f (S) > g(S) for all S > 0, one has

∂µ ∂S = f ′ (S)p(x) + g ′ (S)(1 -p(x)) > 0, ∂µ ∂x = (f (S) -g(S))p ′ (x) < 0.
Thus H1 is satisfied. On the other hand

d ′ (x) = (D 0 -D 1 )p ′ (x) < 0, [xd(x)] ′ = D 1 + (D 0 -D 1 )[xp(x)] ′ > 0 since p ′ (x) < 0, [xp(x)] ′ > 0 and D 0 > D 1 . Thus H2 is satisfied. Moreover ∂µ ∂x (S, x) -d ′ (x) = [f (S) -D 0 + D 1 -g(S)]p ′ (x) < 0
for all S ∈ [λ 0 , λ 1 ) and x 0, since p ′ (x) < 0 and f (S) D 0 , D 1 > g(S) for λ 0 S < λ 1 , see Figure 1. Thus Assumption H3 is also satisfied. Similarly one has

f (S) g(S) f (S) g(S) D0 D1 D0 D1 λ0 λ1 λ0 λ1 S S
Figure 1: On the left, the case λ 0 < λ 1 . On the right, the case λ 1 < λ 0 .

∂µ ∂x (S, x) -d ′ (x) = [f (S) -D 0 + D 1 -g(S)]p ′ (x) > 0
for all S ∈ (λ 1 , λ 0 ] and x 0, since p ′ (x) < 0 and f (S) D 0 , D 1 < g(S) for λ 1 < S λ 0 , see Figure 1. Thus Assumption H4 is satisfied.

Notice that, if p(x) = b b+ax , then the properties of p(•) stated in the lemma are satisfied. Indeed

p ′ (x) = -ab (b + ax) 2 , [xp(x)] ′ = b 2 (b + ax) 2 .

Existence of equilibria

The equilibria of the system are solutions of the set of equations

D(S in -S) -µ(S, x)x = 0 (µ(S, x) -d(x))x = 0
The second equation is equivalent to x = 0 or µ(S, x) = d(x). If x = 0 then from the first equation one has S = S in . This is the washout equilibrium

E 0 = (S in , 0). If µ(S, x) = d(x)
Since ∂µ ∂S > 0, by the implicit function theorem, thus equation defines a function S = φ(x), such that λ 0 = φ(0), and

φ ′ (x) = d ′ (x) - ∂µ ∂x (φ(x), x) ∂µ ∂S (φ(x), x)
.

The sign of φ ′ (•) is given by assumptions H1, H3 and H4. The cases λ 0 < λ 1 and λ 0 > λ 1 have to be distinguished. When λ 0 < λ 1 the function S = φ(x) is defined for all x 0 and satisfies

λ 0 = φ(0), λ 1 = φ(+∞), φ ′ (x) > 0.
The equilibria are the intersection points of the graphs of functions S = φ(x) and S = γ(x).

Since the first function is increasing and the second one is decreasing, there is a unique solution if λ 0 < S in , and no solution if λ 0 > S in , see Figure 2. When λ 1 < λ 0 the function S = φ(x) is defined for all x 0 and satisfies

λ 0 = φ(0), λ 1 = φ(+∞), φ ′ (x) < 0. Sin S = φ(x) S = γ(x) λ0 λ1 S = φ(x) S = γ(x)

Sin λ0 λ1

Figure 3: Null-clines S = φ(x) and S = γ(x) in the case λ 0 > λ 1 . On the left, the case λ 0 < S in with at least one intersection point. On the right, the case λ 0 > S in with no intersection point. In the second case it is possible to have two intersection points, see Figure 4.

Both functions S = φ(x) and S = γ(x) are decreasing and

φ(0) = λ 0 , S in = γ(0).
Thus, if λ 0 < S in the graphs intersect at at least one non-negative point (see Figure 3). If λ 0 > S in , the graphs of functions S = φ(x) and S = γ(x) can interest or not (see Figures 3 and4).

Proposition 4.3 If λ 1 < λ 0 < S in , then there exists at least one positive equilibrium. Generically one has an odd number of positive equilibria. If λ 1 < S in < λ 0 , then the system has generically no positive equilibrium or an even number of positive equilibria. given by [START_REF] Horn | Morgenroth Simulation of Growth and Detachment in Biofilm Systems Under Defined Hydrodynamic Conditions[END_REF]. On the right, the corresponding nullclines S = φ(x) and S = γ(x) for the parameter values [START_REF]IWA Task Group on Biofilm Modeling Mathematical Modeling of Biofilms[END_REF], showing the existence of two positive equilibria in the case when λ 0 > S in .

Stability of equilibria

The Jacobian matrix of ( 8) is given by

J =    -D -x ∂µ ∂S (S, x) -x ∂µ ∂x (S, x) -µ(S, x) x ∂µ ∂S (S, x) µ(S, x) -d(x) + x ∂µ ∂x (S, x) -xd ′ (x)   
At washout E 0 = (S in , 0) this matrix is

J 0 = -D -f (S in ) 0 f (S in ) -D 0
The eigenvalues are -D and f (S in ) -D 0 . Hence one has the following result Proposition 4.4 If λ 0 < S in , then E 0 is unstable (saddle point). If λ 0 > S in , then E 0 is locally exponentially stable (stable node).

At a positive equilibrium E 1 = (S, x), one has necessarily µ(S, x) = d(x), and the Jacobian matrix is

J 1 =    -D -x ∂µ ∂S (S, x) -x ∂µ ∂x (S, x) -µ(S, x) x ∂µ ∂S (S, x) x ∂µ ∂x (S, x) -xd ′ (x)    The trace of J 1 is tr(J 1 ) = -D -x ∂µ ∂S (S, x) + x ∂µ ∂x (S, x) -xd ′ (x). Since [xd(x)] ′ = d(x) + xd ′ (x), one has tr(J 1 ) = -D + d(x) -x ∂µ ∂S (S, x) + x ∂µ ∂x (S, x) -[xd(x)] ′ < 0 since d(x) D, ∂µ ∂S > 0, ∂µ ∂x < 0 and [xd(x)] ′ > 0. The determinant of J 1 is det(J 1 ) = Dx d ′ (x) - ∂µ ∂x + x ∂µ ∂S [xd(x)] ′ .
One can write this determinant as

det(J 1 ) = Dx ∂µ ∂S    d ′ (x) - ∂µ ∂x ∂µ ∂S + [xd(x)] ′ D    = Dx ∂µ ∂S (φ ′ (x) -γ ′ (x)) .
Thus, If φ ′ (x) > γ ′ (x), then the determinant is positive and hence the eigenvalues are of negative real parts: the equilibrium E 1 is locally asymptotically stable. On the other hand, if φ ′ (x) < γ ′ (x), then the determinant is negative, and the eigenvalues are of opposite sign: the positive equilibrium is a saddle point. Thus we have shown the following result Proposition 4.5 The following cases occur.

1. If λ 0 < min(λ 1 , S in ), the unique positive equilibrium is locally asymptotically stable (and fulfills φ ′ (x) > 0 > γ ′ (x)).

2. If λ 1 < λ 0 there are possibilities of multiple positive equilibria, that are saddle points when φ ′ (x) < γ ′ (x) or stable nodes when φ ′ (x) > γ ′ (x):

-when λ 0 < S in , there exists at least one positive equilibrium and one has an odd number of equilibria which are alternatively stable and unstable, -when λ 0 > S in , there is no or an even number of equilibria which are alternatively stable and unstable.

One concludes that in the case λ 1 < λ 0 , the system can exhibits bi-stability of the washout equilibrium and a positive equilibrium. If the initial density of flocks is small enough, the solutions will converge to the washout equilibrium, otherwise it will converge to the positive equilibrium, see Figure 5. In this figure we notice that the washout equilibrium is stable together with the positive equilibrium corresponding the lowest value of S. The domains of attraction of the stable equilibria are separated by the stable separatrix of the positive saddle node. The simulations shown in Figures 4 and5 where obtained for [START_REF] Freter | An understanding of colonization resistance of the mammalian large intestine requires mathematical analysis[END_REF][START_REF] Ginovart | Flocculation in brewing yeasts: A computer simulation study[END_REF], with the following Monod functions

f (S) = 2 S 1 + S , g(S) = 1.5 S 0.8 + S ( 15
)
and the following values of the parameters 16), the system exhibits bi-stability.

D 0 = D = 1, D 1 = 0.5, a = 4, b = 1, S in = 0.9. ( 16

Flocculation with several species

We assume that n species are competing on a same limiting resource, and that each species is present in two forms: isolated bacteria, of density u i , and bacteria in flocks, of density v i , for i = 1 • • • n. We assume that isolated bacteria can stick with isolated bacteria with flocks to form new flocks, with rate α i (•)u i . We assume also that flocks can split and liberate isolated bacteria with rate β i (•)v i .

u i αi(•)ui ----→ v i , u i βi(•)vi ← ----v i .
Then the equations are

         Ṡ = D(S in -S) - n i=1 (f i (S)u i + g i (S)v i ) ui = (f i (S) -D 0i )u i -α i (•)u i + β i (•)v i , 1 i n vi = (g i (S) -D 1i )v i + α i (•)u i -β i (•)v i (17)
The dynamics of the total biomass densities

x i = u i + v i of the species i is ẋi = f i (S)u i + g i (S)v i -D 0i u i -D 1i v i .
We consider here the case where

α i (•) = n j=1 A ij x j , β i (•) = B i
where A ij and B i are non-negative constants.

Remark 5.1 By letting the functions α i (•) depending on x j with j = i, we implicitly consider that flocks or aggregates can incorporate individuals of different species.

The removal rate D 1i has to be interpreted as the sum of the removal rate of the aggregates and the mortality rate of each species i in its attached form.

Moreover, we assume that the dynamics of flocculation and deflocculation are fast compared with the dynamics of the growth of bacteria, that is

A ij = a ij ε , B i = b i ε .
In the variables S, x i , u i , the system is written

               Ṡ = D(S in -S) - n i=1 [f i (S)u i + g i (S)(x i -u i )] ẋi = f i (S)u i + g i (S)(x i -u i ) -D 0i u i -D 1i (x i -u i ), i = 1 • • • n ui = (f i (S) -D 0i )u i - 1 ε n j=1 a ij x j u i + b i ε (x i -u i ) (18)
This is a slow/fast system with the variables S, x i are slow and the variables u i fast. The fast equations are

u ′ i = - n j=1 a ij x j u i + b i (x i -u i ), i = 1 • • • n (19)
where x i are considered as parameters. The slow manifold (or quasi steady-state) is given by

u i = b i x i b i + n j=1 a ij x j , i = 1 • • • n . (20)
Since one has n j=1 a ij x j > 0, for i = 1 • • • n, this slow manifold is globally asymptotically stable for [START_REF] Jones | Bacterial wall attachment in a flow reactor[END_REF]. Thus, the Tikhonov's Theorem [START_REF] Lobry | On Tikhonov's theorem for convergence of solutions of slow and fast systems[END_REF][START_REF] Tikhonov | Systems of differential equations containing small parameters multiplying the derivatives[END_REF][START_REF] Wasow | Asymptotic Expansions for Ordinary Differential Equations[END_REF] applies and asserts that, after a fast transition toward the slow manifold, the solutions are approximated by a solution of the reduced equation, which is obtained by replacing the fast variables u i in (18) by the quasi steady states [START_REF] Khalil | Nonlinear Systems Third Edition[END_REF]. One obtains the following reduced model

     Ṡ = D(S in -S) - n i=1 µ i (S, x)x i ẋi = (µ i (S, x) -d i (x)) x i , i = 1 • • • n (21)
where

µ i (S, x) = f i (S)p i (x) + g i (S)(1 -p i (x)), d i (x) = D 0i p i (x) + D 1i (1 -p i (x)), i = 1, • • • , n (22)
with

p i (x) = b i b i + n j=1 a ij x j , x = (x 1 , • • • , x n ). (23)
Hence, we have shown the following result

Theorem 5.2 Let (S(t, ε), u 1 (t, ε), v 1 (t, ε), • • • , u n (t, ε), v n (t, ε
)) be the solution of [START_REF] Jones | Microbial competition for nutrient and wall sites in plug flow[END_REF] with initial conditions S(0) 0 and u i (0) > 0, v i (0) 0, for 1 i n. Let S(t), x 1 (t), • • • , x n (t) be the solution of the reduced problem [START_REF] Kissel | Numerical simulation of mixed culture biofilm[END_REF] with initial conditions

S(0) = S(0), x i (t) = u i (0) + v i (0), 1 i n.
Then as ε → 0

S(t, ε) = S(t) + o(1), x i (t, ε) = x i (t) + o(1), 1 i n uniformly for t ∈ [0, T ],
and for all 1 i n, as ε → 0

u i (t, ε) = b i x i (t) b i + n j=1 a ij x j (t) + o(1), v i (t, ε) = n j=1 a ij x j (t) x i (t) b i + n j=1 a ij x j (t) + o(1)
uniformly for t ∈ [t 0 , T ], where T > t 0 > 0 are arbitrarily fixed. If the solution of the reduced problem tends to an asymptotically stable equilibrium, then we can put T = +∞ in the approximations given above.

Since the planktonic bacteria have a better access to the substrate than the bacteria in flocks one assumes f i (S) > g i (S). Notice that one has ∂pi ∂xj < 0 for any i, j. Hence

∂µ i ∂x j = (f i (S) -g i (S)) ∂p i ∂x j < 0 with ∂µ i ∂S = f ′ i (S)p i (x) + g ′ i (S)(1 -p i (x)) > 0 .
As for the one species case this approach give a motivation to density dependent growth function models, that may lead to species coexistence [START_REF] Lobry | A new hypothesis to explain the coexistence of n species in the presence of a single resource[END_REF][START_REF] Lobry | Persistence in ecological models of competition for a single resource[END_REF][START_REF] Lobry | Sur un modèle densité-dépendant de compétition pour une resource[END_REF].

Study of the reduced model for several species

The results of this section apply to the reduced model [START_REF] Kissel | Numerical simulation of mixed culture biofilm[END_REF][START_REF] Kreft | Individual-based modelling of biofilms[END_REF][START_REF] Kreikenbohm | Application of a two-compartment model to the wall growth of Pelobacter acidigallici under continuous culture conditions[END_REF] in the particular case where the rate of attachment and detachment of species x i with species x j are negligible for i = j, that is to say a ij = 0 for i = j. In that case the function p i depends only on x i and is given by

p i (x) = b i b i + a ii x i
so that the growth function µ i and removal rates d i in [START_REF] Kissel | Numerical simulation of mixed culture biofilm[END_REF] depend only on x i . We consider then the model

     Ṡ = D(S in -S) - n i=1 µ i (S, x i )x i ẋi = [µ i (S, x i ) -d i (x i )]x i i = 1, • • • , n (24)
This model was studied in [START_REF] Lobry | A new hypothesis to explain the coexistence of n species in the presence of a single resource[END_REF], in the case when d i (x i ) = D. We do not assume that the functions µ i (S, x i ) and d i (x i ) are of the particular form given by [START_REF] Kreft | Individual-based modelling of biofilms[END_REF]. We assume that H5: µ i (0, x i ) = 0 and µ i (S, x i ) 0 for all S > 0 and all x i 0.

H6: ∂µ i ∂S > 0 and ∂µ i ∂x i < 0 for all S > 0 and all x i 0.

H7:

d i (0) = D 0i , d i (+∞) = D 1i < D 0i D, d i (x i ) > 0, d ′ i (x i ) < 0 and [x i d i (x i )]
′ > 0 for all x i 0. Let us denote by f i (S) = µ i (S, 0) and g i (S) = µ i (S, +∞).

The functions f i (.) and g i (.) are increasing and positive for all S > 0. If equations f i (S) = D 0i and g i (S) = D 1i have solutions, one let

λ 0i = f -1 i (D 0i
) and λ 1i = g -1 i (D 1i ) otherwise one let λ ki = +∞, k = 0, 1. As for the case of one species (see Assumption H3), we add the following assumption H8: λ 0i < λ 1i for i = 1 • • • n. For all S ∈]λ 0i , λ 1i [ and x i 0, one has d ′ i (x i ) > ∂µi ∂xi (S, x i ). If the inequality λ 0i < λ 1i is reversed for some i = 1 • • • n, then the situation is much more difficult and will be studied in the future. Denote λ0 = max{λ 0i ; i = 1, • • • , n} and λ1 = min{λ 1i ; i = 1, • • • , n}.

We assume that H9: λ0 < min( λ1 , S in ).

We consider here the existence of a positive equilibrium. The equilibria of ( 24) are solutions of the set of equations

     D(S in -S) = n i=1 µ i (S, x i )x i µ i (S, x i ) = d i (x i ) or x i = 0 i = 1, • • • , n. (25)
Thus we have to solve the equations

µ i (S, x i ) = d i (x i ).
Since H6, by the implicit function theorem, this equation gives a function S = φ i (x i ) defined for all x i 0, such that φ i (0) = λ 0i , φ i (+∞) = λ 1i and

φ ′ i (x i ) = d ′ i (x i ) - ∂µ i ∂x i (S, x i ) ∂µ i ∂S (S, x i ) > 0.
The sign of φ ′ (•) is given by assumptions H8. We define the function X

i : S → X i (S) on [0, λ 1i [ by X i : [0, λ 1i [ -→ R + S -→ X i (S) = 0 if 0 S λ 0i x i = φ -1 i (S) if λ 0i S < λ 1i .
Let h i (S) = µ i (S, X i (S))X i (S). Since X i (•) is increasing over [λ 0i , λ 1i [, so is h i (•) over this interval. Indeed, one has

h ′ i (S) = ∂µ i ∂S + ∂µ i ∂x i X ′ i (S) X i (S) + µ i (S, X i (S)) X ′ i (S).
Moreover, for S ∈]λ 0i , λ 1i [, µ i (S, X i (S)) = d i (X i (S)) and

X ′ i (S) = ∂µ i ∂S (S, X i (S)) d ′ i (X i (S)) - ∂µ i ∂x i (S, X i (S)) > 0. Then h ′ i (S) = [d ′ i (X i (S)) X i (S) + d i (X i (S))] X ′ i (S), for S ∈]λ 0i , λ 1i [. Using H7, [d i (x i )x i ] ′ = d ′ i (x i )x i + d i (x i ) > 0, for x i 0. Hence the sign of h ′ i (S)
is the same as the sign of X ′ i (S), that is, h i (•) is increasing over [λ 0i , λ 1i [ (see Fig. 6). Consider now the function

H(S) = n i=1 h i (S) -D(S in -S). Lemma 6.3 Consider the matrix A =        -D -n i=1 a i c 1 c 2 • • • c n a 1 -b 1 0 • • • 0 a 2 0 -b 2 • • • 0 . . . . . . . . . . . . . . . a n 0 0 • • • -b n        (29)
Assume that D > 0 and for i = 1 • • • n, a i 0, b i > 0 and c i b i . Then all eigenvalues of A have negative real part.

Proof. Let λ be an eigenvalue of A and V

= (v 0 , v 1 , • • • , v n ) = 0 a corresponding eigenvector. Hence we have        -D - n i=1 a i v 0 + n i=1 c i v i = λv 0 a i v 0 -b i v i = λv i i = 1, • • • , n. (30)
Assume that α = Re(λ) 0. Since b i > 0, then λ + b i = 0. Therefore, Since a i 0 then Then, we state the following result : Proposition 6.4 If E * exists, then it is locally exponentially stable.

v i = a i v 0 λ + b i for i = 1 • • • n. If v 0 = 0 then v i = 0 for i = 1 • • • n, so that V =
a i c i (b i + α) (b i + α) 2 + β 2 a i for i = 1 • • • n.
Proof. Since µ i (S * , x * i ) = d i (x * i ), the Jacobian of the system ( 24) at E * is of the form (29) where

a i = ∂µ i ∂S (S * , x * i )x * i b i = - ∂µ i ∂x i (S * , x * i )x * i + x * i d ′ i (x * i ), c i = - ∂µ i ∂x i (S * , x * i )x * i -d i (x * i ).
Since H6, a i > 0. Since H7, d i (x * i ) + x * i d ′ i (x * i ) > 0, then -d i (x * i ) < x * i d ′ i (x * i ) and hence c i < b i . Since H8, b i > 0. The result follows from Lemma 6.3.

Discussion and conclusion

In this work, we considered a general model of a bio-process with three compartments involving the substrate, the planktonic and the attached biomass densities, respectively. Each compartment of the biomass is characterized by its own specific growth rate and apparent dilution rate, generalizing previous models of biofilms (with no dilution rate for the attached bacteria) or models of perfect flocks (with no growth rate for aggregated individuals). We have analyzed a class of such models with planktonic and structured biomass, under the assumption that attachment and detachment processes are fast compared to the biological scale. Notice that it is only under this assumption that the main results of the paper are valid, notably the fact that the three order model (1) can be reduced to the second order model [START_REF] Ding | Population balance modelling of activated sludge flocculation: Investigating the size dependence of aggregation, breakage and collision efficiency[END_REF]. If it is not the case, the analysis of the original three order model must be done to establish its qualitative behavior. Our study reveals two main characteristics of this model:

1. the reduced dynamics may exhibit a bi-stable behavior even though each growth function is monotonic.

This phenomenon is new and is usually met in the chemostat but when the growth function is nonmonotonic (such as the Haldane law);

2. for bio-processes in which part of the biomass is under a structured form (in flocks or biofilm), the macroscopic models (with reduced dynamics involving only the aggregated biomass and the substrate) should include a growth rate and an apparent dilution rate that are both density dependent. This result contributes to the actual debate in biotechnological engineering involving bio-processes with structured biomass, where it was not clear whether it is better to modify the growth rate functions or the hydrodynamical terms in the macroscopic equations of the system, to cope with the specificity due to the attachment process.

  all S > 0 and all x 0.H2: d(0) = D 0 , d(+∞) = D 1 < D 0 D, d(x) > 0, d ′ (x) < 0 and [xd(x)] ′ > 0 for all x 0.Let us denote by f (S) = µ(S, 0), and g(S) = µ(S, +∞).The functions f (•) and g(•) are increasing and positive for all S > 0. If equations f (S) = D 0 and g(S) = D 1 have solutions, one lets λ 0 = f -1 (D 0 ), and λ 1 = g -1 (D 1 ).

  , the first equation gives D(S in -S) = xd(x). Hence S = γ(x) := S in -xd(x) D . Since γ(0) = S in , and γ ′ (x) = -[xd(x)] ′ D < 0 the function γ(•) is decreasing. Thus one have to solve the equation µ(S, x) = d(x).

Figure 2 :Proposition 4 . 2

 242 Figure2: Null-clines S = φ(x) and S = γ(x) in the case λ 0 < λ 1 . On the left, the case λ 0 < S in with a unique intersection point. On the right, the case λ 0 > S in with no intersection point.

Figure 4 :

 4 Figure4: On the left, the growth functions f (•) and g(•) given by[START_REF] Horn | Morgenroth Simulation of Growth and Detachment in Biofilm Systems Under Defined Hydrodynamic Conditions[END_REF]. On the right, the corresponding nullclines S = φ(x) and S = γ(x) for the parameter values[START_REF]IWA Task Group on Biofilm Modeling Mathematical Modeling of Biofilms[END_REF], showing the existence of two positive equilibria in the case when λ 0 > S in .

Figure 5 :

 5 Figure 5: For the Monod functions (15) and the parameters values (16), the system exhibits bi-stability.

  0 which is impossible. Thus v 0 = 0 and from the first equation of (30), we deduce, after simplification by v 0 that Let λ = α + iβ. Taking real part of both sides one obtainsα = -D -i (b i + α) (b i + α) 2 + β 2 • Since c i b i and b i + α > 0 then c i (b i + α) (b i + α) 2 + β 2 b i (b i + α) (b i + α) 2 + β 2 b i (b i + α) (b i + α) 2 = b i b i + α 1.

Acknowledgments. This work has been supported by the DISCO (Multi-scale modelling bioDIversity Structure COupling in biofilms) project, granted by the French National Research Agency ANR (AAP215-SYSCOMM-2009).

Proof. Since h i (S) = 0 for S ∈ [0, λ 0i ] and h i (S) is increasing over [λ 0i , λ 1i [ (see Fig. 6), the function H(•) is increasing over (0, λ1 ), and

Hence, there exists a unique S * ∈]0, λ1 [ such that H(S * ) = 0. We have the following result : Proposition 6.2 Assume that H5-H9 hold. System (24) has a unique positive equilibrium if and only if

Proof. A positive equilibrium

and

Equation ( 28) is equivalent to x * i = X i (S * ). Thus, ( 27) can be written

that is H(S * ) = 0. Since n i=1 h i (S * ) > 0, then one must have S * < S in and S * > λ0 .

Notice that λ0 < S * < λ1 and S * < S in are satisfied if H9 holds. Then, since H(S) est increasing over [0, λ1 [, λ0 < S * ⇐⇒ H( λ0 ) < H(S * ) = 0.

Therefore there exists a unique positive equilibrium S * exactly when H( λ0 ) < 0, which is equivalent to [START_REF] Lobry | A new hypothesis to explain the coexistence of n species in the presence of a single resource[END_REF].

We study now the asymptotic behavior of the positive equilibrium. First, we establish the following result :


Radu Tudoran

Alexandru Costan

Gabriel Antoniu
email: gabriel.antoniu@inria.fr

Luc Bougé
email: luc.bouge@irisa.fr

A Performance Evaluation of Azure and Nimbus Clouds for Scientific Applications

The emergence of cloud computing brought the opportunity to use large-scale computational infrastructures for a broad spectrum of scientific applications. As more and more cloud providers and technologies appear, scientists are faced with an increasingly difficult problem of evaluating various offerings, like public and private clouds, and deciding which model to use for their applications' needs. In this paper, we make a performance evaluation of two public and private cloud platforms for scientific computing workloads. We compare the Azure and Nimbus clouds, considering all the primary needs of scientific applications (computation power, storage, data transfers and costs). The evaluation is done using both synthetic benchmarks and a real-life application. Our results show that Nimbus incurs less varaibility and has increased support for data intensive applications, while Azure deploys faster and has a lower cost.

INTRODUCTION

Cloud computing has recently emerged as a viable alternative to the acquisition and management of hardware or software: it allows resources to be dynamically provisioned on a fine-grained, elastic basis, in a scalable way. As this model relieves users from the resource management burden, more and more applications are being ported on clouds. With multiple cloud providers and technologies emerging, developers are faced with an increasing difficulty to evaluate and compare the various offerings and to decide which model or platform to use for their applications. Considering cloud service delivery, the options are threefold. Private clouds are built using in-house resources from a local cluster or data center: this option favors a high degree of control on resources, but requires a certain management overhead. In contrast, public clouds are not restricted within an organization: multiple users typically share resources and environments for application development and deployment. These services are proposed by commercial providers using a payper-use model. Hybrid clouds combine private and public cloud infrastructures, possibly from several providers.

In all their flavors, clouds prove to be a cheap and customizable alternative to supercomputers and, moreover, they have been proven much more reliable than grids. Because of these advantages, cloud computing is gaining increasing attention for scientific applications, which typically consist of a very large number of tasks that process massive datasets to extract meaningful information. However, most current commercial clouds have been built to support web and small database workloads, which are very different from typical scientific computing workloads. Moreover, the use of virtualization and resource time sharing may introduce substantial performance penalties for data-intensive or computationintensive scientific applications. Under these circumstances, an important step in the process of choosing a specific cloud model is to extensively characterize the performance of the provided services and resources.

In this paper, we evaluate the performance of public and private cloud platforms for scientific computing workloads. We assess the benefits and the drawbacks of the two models, the constraints they impose to the targeted applications and the costs they incur. Motivating this work is a typical researcher's dilemma when choosing the appropriate platform for large scale scientific experimentation. One option would be to deploy an open-source cloud on the local cluster in order to be able to fully customize the environment where the applications are running, since usually users don't have complete control on the physical nodes in the cluster. Faced with the burden of managing the open-source cloud, the alternative is represented by the public commercial clouds. Several previous studies have compared supercomputers and public clouds showing an increasing improvement in the scalability and performance of cloud-based HPC systems [START_REF] He | Case study for running hpc applications in public clouds[END_REF]. However, Linpack numbers do not always translate into application performance, which depends on the composition and pattern of computation, communication and I/O within each individual parallel application.

We make a subtler evaluation, by considering besides performance, other factors that impact scientific applications: ease of management, cost and performance stability. We evaluate whether the Azure commercial cloud is a feasible and cost effective alternative for offloading computation and storage resources from an in house maintained Nimbus cloud, for scientific applications. To this end, we characterize both platforms using several metrics: data access performance, computation speed, variability and cost models. We rely on synthetic benchmarks to assess the network efficiency when using several communication protocols and models (e.g. TCP, RPC). For evaluating the computation power we use a real life genetic and neuro-imaging application. In addition, we make an evaluation of the transfer time of data from users' local storage to the cloud storage and from there to the computation instances, and vice versa, as this is an inherent step in any data-intensive application.

The contributions of this paper are:

• An overview of the issues related to running scientific applications on public and private clouds.

• A comparison between the performance of Azure, a public commercial cloud, and Nimbus, an open source cloud built on top of a private infrastructure. We make a broad-range performance analysis, that in contrast with the existing work, takes into considerations all primary needs of scientific applications (computation power, storage and data transfers). To our knowledge, no prior studies evaluated the moving of the initial and final data between the local hosts and the cloud compute and storage nodes. The evaluation is done using both synthetic benchmarks and a real-life application.

• An analysis of the cost of running applications on the Azure and Nimbus clouds. The rest of the paper is structured as follows. Section 2 discusses the related research and the novelty of this contribution with respect to the existing work. Section 3 presents the public and private cloud models. In Section 4 we introduce the metrics used for the performance and cost evaluation presented in Section 5. Section 6 concludes this paper.

RELATED WORK

Much previous research has investigated the feasibility of using clouds for scientific applications. The great majority of these studies evaluated public clouds, focusing on tightly coupled, MPI-style applications. Our work differs from these in several ways. First, we consider both public and private clouds in order to assess the performance trade-offs, scalability issues and the main limiting factors for applications relying on these two solutions. Second, our study is not limited to tightly-coupled applications; the analysis we perform also considers the loosely-coupled parallel ones, with their specific requirements. Third, most previous efforts provided a limited set of performance metrics with no in-depth analysis of the detected behavior; they focused mainly on micro benchmarks such as NAS [START_REF]NAS[END_REF] or Linpack [START_REF] Napper | Can cloud computing reach the top500?[END_REF]. In comparison, our work makes a comprehensive examination of issues relevant to the scientific community, including performance, cost, scalability and cloud variability, illustrated by a realworld application.

There has been a recent spur of research activity in assessing the performance of virtualized resources, in public cloud computing environments (with a focus on Amazon EC2). In [START_REF] Jackson | Performance analysis of high performance computing applications on the amazon web services cloud[END_REF] the authors quantitatively examined the performance of a set of benchmarks designed to represent a typical HPC workload run on Amazon EC2. Results showed a strong correlation between the percentage of time an application spends communicating and its overall performance on EC2. However, no indication is given on the potential sources of the communication problems, although multi-tenancy and node heterogeneity could impact on them. A recent study [START_REF] Zhai | Cloud versus in-house cluster: evaluating amazon cluster compute instances for running mpi applications[END_REF] on the new EC2 Cluster Compute Instances confirms that even the use of the 10-Gigabit Ethernet interconnection, rather than the traditional Gigabit one, still dramatically affects applications handling a lot of small messages. However, the authors notice that for many typical HPC workloads, the cloud performance relative to that using in-house InfiniBand-connected clusters justifies the option of going for clouds as cost-effective, unless the inhouse cluster achieves a rather high utilization level, which is often not the case. Also close to our work are the early observations on Windows Azure [START_REF] Hill | Early observations on the performance of windows azure[END_REF], which include a performance evaluation of its compute and storage resources. In contrast to this body of previous work, ours is broader in scope: besides the commercial public clouds, usually used as black boxes, we are interested in the performance of private clouds, deployed on owned and controllable infrastructures. We compare the performance of Windows Azure with a private, Nimbus-based, cloud by considering a broader set of metrics (e.g. cloud variability, cost analysis).

A few prior efforts have investigated data sharing and storage issues in cloud environments. Experiments with several storage and file systems deployed on the Amazon EC2 clouds are compared in [START_REF] Juve | Data sharing options for scientific workflows on amazon ec2[END_REF] to assess their suitability for executing task workflows. As expected, the cost closely follows performance. Palankar et al. evaluate Amazon S3's ability to provide storage support to large-scale science projects from a cost, availability and performance perspective [START_REF] Palankar | Amazon s3 for science grids:a viable solution?[END_REF]. However, their experiments are limited to the performance of downloading data, which is only relevant for a subset of cloud applications. In [START_REF] Kobayashi | The gfarm file system on compute clouds[END_REF], the authors use an open source IaaS cloud, Eucalyptus, running on private infrastructures to examine the performance of the Gfarm filesystem. Evaluations with micro benchmarks and with MapReduce applications showed scalable I/O performance when compared to other file systems. To our best knowledge, our work is the first to evaluate and compare the I/O performance of both public and private platforms; we complement the existing studies focused mainly on throughput evaluation with considerations on staging in and out the data.

CLOUD DEPLOYMENT MODELS

Scientists adopt different deployment models based on their particular requirements. This casts the differences between private and public clouds into a clear perspective. The adopted model can be sometimes more complex, as a user owning a private cloud can acquire public cloud resources to form a hybrid cloud; two or more private clouds could also interact for common goals and thereby form a federated cloud. In this section we give a brief overview of public and private clouds and their impact on scientific applications.

Public clouds

The public clouds provide compute and storage resources on demand, using a pay-as-you-go model. They offer wide availability and economies of scale that only very large data center operators can achieve. Several commercial offerings exist from providers like Microsoft, Amazon or Google. Building on their elasticity, scientists have started to migrate applications in the public clouds. These allow users to customize the environment and replicate experiments through the use of VM images, while proving an efficient collaboration tool that enables the global sharing of information.

The compute and storage nodes are usually distinct, as the cloud storage is a stand-alone system providing persistency to applications. The storage is accessed using HTTP based protocols and consists of binary large objects with sizes in the orders of GBs, that are usually structured in a higher level namespace (buckets, containers). The main issues for the scientific applications arise from the impact of the data transfer protocols on the throughput, size limitations on the data objects, the coarse-grain access and the little support for heavy concurrency (e.g. no or little versioning support).

While commercially available public clouds could be used for scientific computing, they were not designed with such applications in mind. Several studies presented in the previous section showed that many public cloud platforms have slow network connections between the VMs, which often becomes a bottleneck for running some scientific applications. Also, the multitenancy model of the cloud implies that applications from different users can share the same physical machine and the network infrastructure, leading to performance variability. In this paper, we choose a Platform-as-a-Service public cloud, Microsoft's Azure. It allows scientists to install applications, customize the computing environment and it provides a comprehensive API for building applications: role based workers, message queues, tables, blobs etc. The computing service of Azure is composed of two types of nodes: web and worker roles, typically used by scientific applications as a master-slave / replicated workers model. The provided resources are described in Table 1: there is a one to one relationship between the virtual cores and the physical cores and an Extra Large VM acquires the whole physical machine. The storage service of Azure is composed of 3 systems: BLOBs, Tables and Queues. This work will concentrate on evaluating the Azure BLOBs as this is the default mechanism to store large sets of scientific data.

Private clouds

Open-source cloud frameworks such as Eucalyptus, Open-Nebula and Nimbus [START_REF] Keahey | Science clouds: Early experiences in cloud computing for scientific applications[END_REF] are designed to allow an organization to set up a private group of machines as their own cloud. Private clouds are typically deployed behind a firewall where access is controlled and the target users are known. Hence, the primary distinction between private and public clouds may be more of a relative distinction concerning the ownership of resources and the ability to enforce security policies, etc., versus delegating those responsibilities to a second party. For scientific applications, users can create arbitrary size clusters of cloud servers. Private clouds provide an integrated set of tools that deliver the power and versatility of infrastructure clouds to scientists. Their implementation specifically targets features of interest to the scientific community such as batch schedulers, best-effort allocations, increased security through credentials, etc.

We chose Nimbus as a representative private cloud since it was designed to address the needs of the scientific community in multiple contexts, ranging from high-energy physics to bioinformatics. Nimbus is an open-source Infrastructureas-a-Service cloud platform, which enables clients to lease a set of virtualized computational resources and to configure customized environments. The architecture of a Nimbus cloud is based on several modular components, on top of which new modules are added to enable easy cluster configuration, interfaces to other IaaS Clouds or building PaaS clouds. The Workspace Service provides an implementation of a compute cloud allowing users to lease computational resources by deploying VMs. A complementary tool, Cumulus, provides an implementation of a quota-based storage cloud, allowing multiples implementations and playing the role of the front end to the Nimbus storage repository for VM images. Nimbus is an interesting option for scientists since it provides functionality well beyond homemade scripts: it offers a structure and APIs for launching, configuring, and monitoring applications.

PERFORMANCE METRICS

We have selected several metrics, structured according to the execution phases of scientific applications. A first step consists of deploying the customized environment and fetching the initial data. In a second phase, the application is executed, so we are interested in the computation performance and the efficiency of the network transfers. We then give some considerations about the estimated costs.

Staging data

Before actually executing an application in a cloud, one has to acquire the nodes, set the environment and prepare the data to be fed into the application. One time consuming step consists of copying the data from the local storage (exterior to the cloud) to the cloud storage and from there to the computation nodes (and vice-versa for the final results). Our first metric measures these times to move data to and from the cloud. Such a metric is relevant for data intensive applications like the ones that have to index huge collections of documents or process massive data sets.

Tracing applications' performance

This can be done by investigating two main components. On one hand, the computation power is influenced by the CPU and memory usage. On the other hand, the data transfers between the VM nodes are affected by the underlying network and the existing traffic.

Computation speed. To assess the performance differences between Azure and Nimbus, we used A-Brain, a reference real-life application, that joins neuro-imaging and genetic analysis [START_REF] Poline | Imaging genetics: bio-informatics and bio-statistics challenges[END_REF]. The application compares brain regions of MRI images with genes for finding significant links between the two. This application is representative for a large class of scientific workloads that split an initial large domain into subdomains, perform the computation (e.g., matrix operations) and combine the final results (e.g., image processing, weather simulations, etc). A-Brain reads data from the local storage into memory, stressing the caching mechanisms of the machine, performs floating point operations on large matrixes and then writes the results back to the local storage. We track readings from the CPU, memory usage and virtual disk I/O to have a clear picture on how the application performs on Azure and Nimbus. We further take into account how the multitenancy model influences the computations and investigate if there is a way around it.

Data transfers. It is interesting to observe the impact of the network performance, considering that in private settings user applications typically run in isolation, while on public clouds they share the network infrastructure. We use a synthetic benchmark in which we transfer large sets of random data between the cloud computing instances. Since TCP is the default underlying protocol for data transfers we examine its performance in both settings. We also noticed that many scientific applications rely on RPC to implement their functionalities, and therefore evaluated the overhead introduced by this communication paradigm in clouds. Again, we take into account the sustained network performance during long time intervals, since variability can impact the overall performance of applications [START_REF] Zhai | Cloud versus in-house cluster: evaluating amazon cluster compute instances for running mpi applications[END_REF].

Cost

Computing the costs of resources in public clouds is straightforward using the lists of pricing for the charged services (hours of computation, storage capacity in time, transfer of data etc.). However, when it comes to computing the costs in private clouds things are more complex. From the scientist's perspective, the cost is zero, as he usually has free access to the local cluster. To make a fair comparison with the public clouds, in this paper we consider the infrastructure owner's perspective. The cost of the hardware (servers, racks, network switches etc.), the energy cost (consumed power and cooling) and the human costs for the management make up a total cost from which one can derive a "virtual" price per hour, taking into account some reference period and the utilization level of the platform.

EVALUATION AND RESULTS

In this section we evaluate the Azure and Nimbus clouds with respect to the previous metrics. We then provide a cost-estimation of running scientific applications in a private cloud and compare it with the costs of commercial clouds.

Experimental setup

For our evaluation we used 40 nodes in the Azure cloud, half of them with Small instances and the others with Ex-traLarge instances (occupying the entire physical machine). We chose these two types of instances in order to better understand the multitenancy model of Azure. The interconnection network between the machines is Gigabit Ethernet. We also created a Nimbus cloud on top of the Grid5000 infrastructure and executed the synthetic benchmarks and the ABrain application inside the VMs deployed in the cloud. We used 40 nodes belonging to the griffon cluster, as it is equipped with a large amount of memory and has 8 cores per node (similar to the ExtraLarge machines used in Azure). These nodes provide an efficient support for virtualization and each of them can host several VMs while being used as Workspace control agents. To install and deploy Nimbus, we used a set of Ruby scripts that take advantage of the Grid5000 API to deploy one's own customized operating system image. Intracluster communication is done through a Gigabit Ethernet network as well.

Cloud deployment and data fetching

A first step for running applications in the clouds consists of setting the environment. For public clouds this means that a certain number of resources are leased and the targeted application is deployed on them. In Azure, we observed 10-20 minutes startup times, which is consistent with the observations of [START_REF] Hill | Early observations on the performance of windows azure[END_REF]. For private clouds, two steps are required. First, the cloud environment is deployed on the local infrastructure; the observed time for this operation with Nimbus on Grid5000 is about 15 minutes. Next, the VM images containing the targeted environment are uploaded to the Cumulus repository. Finally, the VMs are provisioned within the cloud; this takes several minutes (e.g., 10 minutes for a small cluster with 10 machines and a 2GB VM image).

The second step consists of moving the data to be processed from the users' local storage into the cloud. To do this, data is first transfered to some cloud accessible storage (e.g., the cloud storage service if available), which is a one time operation. Then, for each run of the application, data is transfered from this storage to the computing nodes. Once the processing is finished, the data follows the reverse path. The cloud storage services were the AzureBLOBs in Azure and the Cumulus repository in Nimbus.

In a first series of experiments we transferred data sets of increasing sizes between the local storage and the cloud storage. We repeated each experiment 20 times and computed the mean (µ) and the standard deviation (σ) for the transfer times in Table 2. In the case of Nimbus this time is the sum of two components: transferring data to the grid frontend and from there to Cumulus, since Grid5000 nodes are not directly accessible from the exterior. We noticed slightly smaller times for the private cloud, which is expected due to proximity. The standard deviation also shows an increased upload stability of the private infrastructure, normal because of the isolation. The transfer times are in the same order of magnitude for both platforms, which is due to several limiting factors. For both, the read/write rate of the disks on the local machine represents a bound for the transfer rates. For AzureBLOBs, the rate to download the data is higher than the rate for uploading, as opposed to the private infrastructure. AzureBLOBs use strong consistency [START_REF] Calder | Windows azure storage: a highly available cloud storage service with strong consistency[END_REF], so the write operation completes only after all replicas (3) are written. Cumulus is not using implicit replication, so it finishes the write operation faster.

Next, we measured the times to transfer data between the cloud storage and the computing nodes (Table 3). We noticed that uploading data to the compute machines is faster on the private infrastructure, due to the higher, unshared bandwidth available. Regarding the two types of VMs tested in Azure we see a gain in performance and stability for Ex-traLarge VMs for downloads only. We argue that this is due to the exclusive access to the network interface and the additional memory available that allows larger network buffers to manage incoming data and.

Computing performance

In Figure 1 we show the evolution of the running times for the neuro-imaging application over several time intervals, during different hours and days within a week. For each time interval we tracked several thousands samples, one minute apart, by running the application on a fixed dataset stored locally. As it can be seen, the nodes from Nimbus deliver the best performance. This is due to the fact that public clouds typically rely on commodity hardware, which is less efficient for scientific computation than the high end hardware used in private infrastructures like Grid5000. The standard deviation of all samples is 0,242 for Nimbus, 0,523 for ExtraLarge and 1,207 for Small, confirming the stability of Nimbus.

For better understanding the variability due to multitenancy in Azure we propose the analysis in Figure 2. We assume that there exists a "default" variability that is due to the OS and to the virtualization mechanisms. Since the ExtraLarge VM occupies the entire physical machine and all computations are done locally, we consider that the standard deviation measured for the ExtraLarge VMs approximates this default variability. Hence, in Figure 2 we represent the ration between the standard deviation measured on the Small instances with respect to the reference one. The goal of this analysis is to see the fairness of sharing the physical nodes among VMs belonging to different users. A value of the ratio close to 1 (in red) would mean that either the neighboring applications do not affect our performances, or that there are no neighboring applications, as we can see for the 16 th time interval. A high value for the ratio would indicate that the performance of the instance is affected by external factors, as is the case for the 5 th and 21 th interval. The reason for observing both small and big values is that the samples (2880) were done in a time span of approximately 1 week, one minute apart, a time span that proved sufficiently large to capture various situations. The interferences that affect the instances are caused by the local disk I/O or by memory accesses (we don't include the CPU since there is a 1 to 1 relation between virtual CPUs and physical cores). Such an analysis could be used as a hint for sched-

Intra-cloud network

Our next experiments examine the TCP throughput as a measure of path capacity because TCP is the dominant traffic type of cloud applications. Path capacity impacts data transfer throughput and congestion events can lead to errors or delayed responses. We have done several thousands transfers of 512MB of data, with one minute delay between them, within a period of a week and we grouped them into 24 time intervals. In Figure 3 we present the throughput of the TCP communication and its variation in time. The public cloud delivers an almost double performance although with a higher variability. Nimbus is penalized by the network virtualization approach implemented for deploying cloud clusters. However, it should be taken into account that when it comes to private infrastructures, users might have the option of choosing a better interconnectivity (10 Gigabit Ethernet, InfiniBand), which is not available in public clouds like Azure. Naturally, not sharing the network card significantly increases the throughput of the ExtraLarge instances.

The next series of experiments evaluate the overhead introduced by RPC with HTTP as the underlying protocol; this communication paradigm is used by a large class of scientific applications. We transferred repeatedly (1440 times) 128MB of data between several nodes, with a 1 minute pause between successive transfers. In order to assess the incurred variability we compute the coefficient of variation cv = std mean * 100, depicted in Figure 4. Not surprisingly, Nimbus proved to be very stable for such transfers. On the other hand, due to the limitations imposed by Microsoft In Figure 5 we illustrate the throughput for the RPC communication. Due to the magnitude of the standard deviation for the Small machines, we chose not to represent it. Unlike for TCP, Nimbus delivers up to 39% better performance for such type of communication. This confirms the existence of some software control on the HTTP traffic in Azure, for fairness reasons. As HTTP is used to access the Azure storage service, unrestricted data transfers from VMs to AzureBlobs could temporary slow down neighboring applications.

Cost analysis

In order to compare the costs of running applications on the two platforms, we estimate the price per hour of computation in a private infrastructure and compare it to the price listings of Azure. The cost of an owned infrastructure has several components: hardware infrastructure, human resources and electrical power. It is hard to obtain exact values of these for a private infrastructure like Grid5000. However, we derive an estimate based on official values of the hardware and personel costs in conjunction with the history of utilization [START_REF]Grid5000 Platform Status[END_REF]. The Grid5000 report [1] estimated the total cost (without electricity) of the platform for 3 years at 15 million euros. The total number of cores is 7469 with an average utilization of 85% per year. Hence, the cost of one hour of computation for a core can be computed as follows:

Cost inf rastructure = 15000000 3 * 24 * 365 * 0.85 * 7469 = 0.0899 euros/h

For computing the electricity cost we used Hamilton's methodology [START_REF] Hamilton | [END_REF] and the work of Wang et al [START_REF] Wang | Distributed systems meet economics: pricing in the cloud[END_REF]:

Cost electricity = p * Praw * P U E euros/h, where p is the electricity cost, and we take as reference the value of 0.11 euros / kWh. Praw is the energy consumption of one core per hour and it will be substituted with 0.046 kWh as reported by Wang. For P U E, a metric for measuring the efficiency of power distribution of equipments, we consider the value 1.7 which is taken from the Hamilton's parameter setting. Thus, the power cost per hour is: Cost electricity = 0.0086 euros/h, resulting in a total cost per hour of: Cost total = 0.0985 euros/h. Commercial cloud pricing for a computation hour is straightforward. Microsoft Azure charges 0.0852 euros/hour, which is 13.5% cheaper.

CONCLUSIONS

In this paper we systematically compared the performance and cost of two public and private clouds (Azure and Nimbus) along several dimensions that matter to scientific users. We observe dramatic performance and cost variations across platforms in their virtual instances, storage services, and network transfers.

As most users, scientists prefer the ownership of virtual resources, since this reduces the uncertainty concerning access when needed. Private clouds like Nimbus incurred less variability and showed a better computing performance due to the underlying hardware. Arguably, they are the first option for data intensive applications since they incur lower data staging times, due to proximity, and have good support for RPC. On the other hand, public clouds like Azure have decreased costs and deployment times and support efficient TCP data transfers. We believe that this work represents a significant step towards enabling an informed cloud model selection for the emerging scientific HPC applications.

Figure 1 :

 1 Figure 1: Evolution of the application execution in time

Figure 2 :

 2 Figure 2: Evolution of the standard deviation of the Small instances with respect to the ExtraLarge ones

Figure 3 :Figure 4 :

 34 Figure 3: Evolution of the TCP throughput in time for transferring 512MB

Figure 5 :

 5 Figure 5: Evolution of the RPC (HTTP) throughput in time for transferring 128MB of data mentioned earlier, the Small VMs exhibit a huge variability, which is not the case for the ExtraLarge ones.In Figure5we illustrate the throughput for the RPC communication. Due to the magnitude of the standard deviation for the Small machines, we chose not to represent it. Unlike for TCP, Nimbus delivers up to 39% better performance for such type of communication. This confirms the existence of some software control on the HTTP traffic in Azure, for fairness reasons. As HTTP is used to access the Azure storage service, unrestricted data transfers from VMs to AzureBlobs could temporary slow down neighboring applications.

Table 1 :

 1 Azure virtual machines (VM) specifications

	VM Size	CPU Cores	Memory	Disk
	ExtraSmall	shared	768 MB	20 GB
	Small	1	1.75 GB	225 GB
	Medium	2	3.5 GB	490 GB
	Large	4	7 GB	1000 GB
	ExtraLarge	8	14 GB	2040 GB

Table 2 :

 2 Upload/Download time (seconds) from local to cloud storage (L-Local, AB-AzureBlobs, C -Cumulus)

	Size GB	µ	L→AB σ	Azure µ	AB→L σ	µ	L→C σ	Nimbus µ	C→L σ
	0.12516,41 0,378 12,43 0,456 12,06	0,094 12,93	0,340
	0.25 31,57 0,167 31,57 0,139 24,32	0,154 25,41	0,445
	0.5 63,84 0,358 82,52 2,963 48,31	0,623 51,86	0,654
	1	129,90 1,788 90,00 5,137 92,30	0,309 107,44 0,454
	10 1288,1 2,237 1176,5 5,318 769,59 2,121 854,25 3,245
	25 3281,7 44,48 3284,7 5,734 2043,43 11,232 2247,32 14,211
	100 13207 336,4 10409 13,26 8152,43 102,12 8798,12 95,214

Table 3 :

 3 Upload/Download times (seconds) from cloud storage to the computing nodes (S -Small, EL -ExtraLarge)

					Azure					Nimbus
	Size MB	S→AzureBlobs	AzureBlobs→S	EL→AzureBlobs	AzureBlobs→EL	VM→Cumulus	Cumulus→VM
		µ	σ	µ	σ	µ	σ	µ	σ	µ	σ	µ	σ
	128	17,20	0,099	13,18	0,056	17,04	0,656	12,91	0,656	12,62	0,318	14,13	0,198
	256	34,87	0,587	26,92	0,532	33,65	0,273	25,54	0,132	29,29	0,502	29,17	0,152
	512	71,47	3,210	63,68	3,872	68,10	0,631	66,32	3,774	62,17	1,490	64,08	0,225
	1024	147,34	1,305	121,79	3,685	135,79	0,837	114,93	1,547	131,75	0,856	133,94	0,954
	10240	1439,01	0,584	1224,84	10,95	1395,81	17,59	1036,21	1,426	1222,32	6,325	1322,54	4,365
	25600	3585,12	51,64	3085,75	8,655	3505,59	55,33	2563,18	5,243	3010,32	11,32	3102,32	8,547
	102400	14087,1	200,3	12715,5	23,02	14161,8	48,54	10233,7	16,17	12023,32	24,21	12435,21	23,21

ACKNOWLEDGEMENTS

This work was supported in part by the Agence Nationale de la Recherche (ANR) under Contract ANR-10-SEGI-001 and by the joint INRIA -Microsoft Research Center. The experiments presented in this paper were carried out using the Azure Cloud infrastructure provided by Microsoft in the framework of the A-Brain project and the Grid'5000 ALADDIN experimental testbed, an initiative of the French Ministry of Research, Inria, CNRS and other funding bodies (see http://www.grid5000.org/).