J Faucher
email: jerome.faucher@leei.enseeiht.fr

IEEE Student Member P Maussion
email: maussion@leei.enseeiht.fr

ON-LINE ELECTRICAL QUALITY IMPROVEMENT OF A SINGLE PHASE BOOST RECTIFIER WITH FUZZY CONTROLLER AND EXPERIMENTAL DESIGNS

This paper shows the validity of experimental design methodology as an efficient on-line tuning tool for a fuzzy logic controller (FLC) dedicated to electrical engineering applications with multi-objective criteria. Our purpose is to improve the input and output system characteristics as well as the global quality of electrical power. Experimental designs give FLC parameters effects with a reduced number of experiments and allow to estimate the response surface for the selected criteria. Factor effects are dependant on the chosen levels of the experimental parameters but the estimated response surface analytical optimum can be found between those levels. The desirability notion combines here time dynamic and harmonic criteria for a boost rectifier with unity power factor correction and illustrates the trade-off that has to be made between the different properties. Criteria improvements with the tuned FLC are sizeable in comparison with a PI linear controller.

I. INTRODUCTION

Our work deals with the tuning of fuzzy controllers in order to control electrical systems and improve electrical quality. Fuzzy-logic-based controllers are widely used in various applications, mainly because of advantages such as the dynamic performances, the robustness or the possibility of taking into account experimental knowledge of the process.

Nevertheless, some drawbacks have to be underlined: firstly the huge number of parameters that have to be tuned, even for a very simple fuzzy structure and the lack of an efficient on-site tuning strategy for all these parameters. The fuzzy controller parameters could of course be tuned trough a trial-and-error procedure [START_REF] Hessburg | Fuzzy logic control for lateral vehicle guidance[END_REF], but it can be quite long and delicate. On the other hand, some methods have already been proposed for the tuning of fuzzy controllers using adaptive algorithms [START_REF] Barrero | Fuzzy self tuning system for induction motor controllers[END_REF] and [START_REF] Kang | Adaptive fuzzy logic control[END_REF], additional fuzzy rules [START_REF] Takagi | Application of neural networks and fuzzy logic to consumer products[END_REF], neural networks [START_REF] Perneel | Optimization of fuzzy expert systems using genetic algorithms and neural networks[END_REF], H8 and LMI methods [START_REF] Liu; Chuen-Yau Chen | Design of adaptive fuzzy logic controller based on linguistic-hedge concepts and genetic algorithms[END_REF], or genetic algorithms [START_REF] Hoffmann | Evolutionary algorithms for fuzzy control system design[END_REF].

Moreover, a simple tuning methodology based on experimental on-line designs for all the parameters of a PID-like-fuzzy-logic controller has shown its interest [START_REF] Hissel | Experimental on-site tuning of fuzzy-logic controllers for electrical systems[END_REF] and has been used in [START_REF] Faucher | A new shaping method for fuzzy state feedback tuning on a power converter[END_REF] a few years ago. This method, based on a time criterion, for fuzzy controller tuning gave experimental and simple pre-established settings just like the well-known Ziegler-Nichols methods for classical PID controllers.

Our aim is now t o show that experimental designs methodology can be an efficient tool for tuning on-line fuzzy controllers for applications that require multiobjective criteria. In this paper, the methodology will be applied to a single phase boost rectifier with unity power factor correction. This kind of converter is nonlinear. Thus linear controllers are not truly efficient, especially when sudden and large parameter variations are applied to the system. A fuzzy controller should be an efficient solution for the control of such a converter. Moreover, two criteria have to be considered: a time-response-based criterion on the voltage output and harmonic distortion of the electrical network input signal. Fuzzy controllers have already been used for control of this system [START_REF] Henry | Development of a Fuzzy Logic Controller for boost Rectifier with Active Power Factor Correction[END_REF], [START_REF] Mattavelli | Fuzzy control of power factor preregulators[END_REF], [START_REF] Pires | Fuzzy logic control of a single phase AC/DC buck-boost converter[END_REF] and [START_REF] Qin | Comparison of fuzzy logic and digital PI control of single phase power factor pre-regulator for an on-line UPS[END_REF], but there is a lack of efficient tuning methodology.

First, system structure, FLC and experimental design methodology will be briefly described. Then, the tuning procedure will be detailed and divided in 2 steps. The first step is devoted to the determination of FLC parameter effects and gives a first tuning linked with FLC parameter levels. The s econd step focuses on selected criterion improvement through surface response methodology. A specific experimental design, dedicated to response surface estimation, will be used. Then, working on this estimated surface, an optimum c an be sought out, independently from the levels used during experiments. Moreover, the estimated surface optimum can be found analytically and classical optimization algorithms are not required.

Finally, the last part gives experimental results and shows that experimental designs can be an efficient tool for the on-site tuning of nonlinear controllers and improve electrical quality under those specific constraints.

II. SYSTEM DESCRIPTION

The system is a 1.6 kW single phase boost rectifier with unity power factor correction. The values of the different components of the system are given in table 1.

Large and sudden load variations are applied to the system in order to evaluate the performance of the control strategy. The benchmark test is the following: from steady-state operation under no load conditions (R = R0) to sudden maximum load connection (R = Rload), and sudden disconnection.

III. CONTROL

The control of this type of system is usually done by linear controllers. The performance of these controllers will be the reference for comparison with the fuzzy controller and its initial parameters values.

There are two control loops (figure 1): one for the dc output voltage and the other for the rectified input current.

A. Current loop

The objective of this loop is to get a sinusoidal current in phase with the electrical network. Thus, it reduces harmonic rejection and maintains a unity power factor. A linear PI controller is used in combination with a PWM module.

The shape of the current reference is generated from the network voltage (via K vn ) and its amplitude from the DC voltage (via the voltage controller) as shown on figure 1.

The transfer function of the current controller is: Figure 2 shows the simulation results for a continuous controller. One can observe the regulation efficiency since the rectified current is closed to its reference and contains very few low frequency harmonics.

ic ic c current T p T p G p H . ) . 1 ( . ) ( + = (

B. Voltage loop

This loop must control the output voltage V DC with respect to load, input voltage and input current variations.

The PI controller tuning is based on the average model of the system. This method relies on the equilibrium of the instantaneous powers between the output of the rectifier and the DC part [START_REF] Liu; Chuen-Yau Chen | Design of adaptive fuzzy logic controller based on linguistic-hedge concepts and genetic algorithms[END_REF]. The transfer function is:

2 . . 1 . . 4 ) ( out load load rec ref DC C R p R V V I p V + = ( 3
)
where V is the V DC average value.

The transfer function of the voltage controller is:

iv iv v voltage T p T p G p H . ) . 1 ( . ) ( + = (4)
From different considerations like the bandwidth, the dynamic of the current loop and the reduction of the oscillations, the following coefficient of the voltage PI controller are calculated:

   = = 062 . 0 5 . 7 iv v T G (5)

C. Criteria

The control quality for the whole system will be evaluated trough two criteria. The first one is the IAE (integral of absolute error, e). dt t e IAE . ) ( ∫ = [START_REF] Liu; Chuen-Yau Chen | Design of adaptive fuzzy logic controller based on linguistic-hedge concepts and genetic algorithms[END_REF] This criterion applied to V DC reflects the robustness and the dynamic performance of the controller at its output. In addition, a second criterion, total harmonic distortion (THD), represents the harmonic rejection quality at the input (for the current). It is defined by: Moreover, t he CEI 61000-3-2 standard defines the electromagnetic compatibility and limits the harmonic current emissions for the 39 first harmonics. It gives the maximum allowable amplitude for each of those current harmonics. Thus, 2 criteria can be taken into account, the global THD and/or the values of the first 39 harmonics.

Figure 2 shows how and when the two different criteria are calculated during the test benchmark. The IAE criterion is taken into account throughout the test. The harmonic distortion is only computed during steady-state operation under rated load conditions, i.e. rated current.

IV. FUZZY CONTROLLER

A fuzzy controller will be used in the rest of this paper in order to improve dynamic performance. The controller is a classical PI-like fuzzy controller (FLC) (see figure 3). The inherent difficulty of such a kind of controller is the huge number of parameters. The fuzzy part consists of two inputs / one output Sugeno FLC [START_REF] Hissel | Experimental on-site tuning of fuzzy-logic controllers for electrical systems[END_REF] and [START_REF] Driankov | An Introduction to Fuzzy Control[END_REF] with seven triangular membership functions on each input and seven singletons at the output. There is a normalisation factor for each input (em for the error signal and dem for the error derivative) and for the output (gm).

A zero-symmetry is imposed for both membership functions and singletons in order to provide a similar response for positive and negative inputs . A classical antidiagonal rule table, with fixed parameters, is used. By Fixing em to the reference value, only 8 parameters have to be tuned among the initial 73 (7*7 rules, 3*7 membership functions and 3 gains). These 8 parameters are: dem, gm, PSe and PVSe (membership functions on error), PSde and PVSde (membership functions on error derivative) and PSs and PVSs (output singletons). However, the tuning problem remains complex as 8 control parameters are to be tuned according to two criteria.

Fuzzy logic is only used for the PI controller on the voltage loop. Due to frequency limitations of our DSP, the current loop must be continuous because the sampling period could not be longer than ms Te 1 . 0 =

. Moreover, two fuzzy controllers for the same system would dramatically increase the number of parameters that have to be tuned.

V. EXPERIMENTAL DESIGNS

The history of experimental designs began in the 1930s in England with M. Fisher, but it has known accelerating development since the publication of predefined tables by Taguchi. This principle of this methodology is to carry out a schedule of experiments designed to obtain the most accurate information for a specific problem w ith a minimum number of experiments [START_REF] Dey | Fractional Factorial Plans[END_REF], [START_REF] Atkinson | Optimum Experimental Designs[END_REF], [START_REF] Khuri | Response Surface, Designs and Analyses[END_REF] and [START_REF] Myers | Response Surface Methodology, Process and Product Optimization Using Designed Experiments[END_REF].

A. Fractional Factorial Plan

The main purpose of these designs is to gain information on the effects of the selected parameters. The idea is to modify the level of each factor in each experiment according to a specific procedure. This allows a drastic reduction of the number of required experiments, the possibility of taking into account much more parameters, the detection of interactions between factors and gives an optimized solution. Considering for example only two levels for each of the 8 factors described above, the classical experimental tuning method that consists in varying one of the parameters when all the others are maintained constant leads to 2 8 =256 required experiments. With experimental designs methodology, only 16 experiments are necessary to find the suitable combination of factor levels in order to minimize the selected criterion

We use centered reduced variables, i.e. -1 for the low level and +1 for the high level of each factor. Thus an experimental table such as the one shown on Table 2 can be used. Each line represents an experiment and each column is indexed to a factor, an output singleton position or a gain for example. For each experiment (i), the selected criterion value ( yi) is measured during experiments.

According to the experimental design methodology [START_REF] Qin | Comparison of fuzzy logic and digital PI control of single phase power factor pre-regulator for an on-line UPS[END_REF], the effect of a factor is obtained through expression [START_REF] Ya | Fuzzy Logic in Voltage and Reactive Power Control in Regulated and Deregulated Environments[END_REF]. For example, E1 = 0.12 means that factor 1 at high level has an effect of +0.12 on the criterion. Moreover, the effect of interactions between factors 1 and 2 can also be investigated with this methodology. Expression [START_REF] Hissel | Experimental on-site tuning of fuzzy-logic controllers for electrical systems[END_REF] leads to the effect of interaction between factor 1 and 2, on the desired criterion. Furthermore, the interaction E 12 between factors 1 and 2 could also be used to study a third factor [START_REF] Dey | Fractional Factorial Plans[END_REF].

From these effects, optimal tuning could be achieved. It requires a trial in order to validate the design. If the obtained results are irrelevant, then the assumptions have to be reconsidered.

The experiment table is built like a Hadamard matrix [START_REF] Dey | Fractional Factorial Plans[END_REF], for which:

nI X t X = . ( 10
)
where n is the number of experiments. Such a structure gives the best accuracy on effects. Indeed, the standard deviation on the effect (s E ) is a fraction of the standard deviation on the criterion (s y ):

n y E σ σ = (11)
A major problem is the determination of the experimental error. The accuracy of the estimation s, the experimental standard deviation on the criterion s y , depends on the number of experiments. By repeating N times each experiment of the design table, the estimation s i for each experiment is improved. If y i,j is the j th repetition of the i th experiment and _ i y is the average of the N repetitions of the i th experiment. The variance is then:

2 1 _ , 2 1 1 ∑ =       - - = N j i j i i y y N s (12)
The classical isovariance assumption is considered and it appears that:

n s s s n i i i ∑ = = = 1 2 _ 2 (13)
Afterwards the estimation of the experimental standard deviation on the effect, s E , is given by:

n N s s E . = (14)
The confidence interval is thus balanced by the variable of Student Nevertheless, the final tuning depends on the parameter levels and the fuzzy controller parameters are continuous.

Response surface methodology should overcome this difficulty.

B. Response Surface Methodology

The main purpose of these designs is to look for an optimum. By modeling the experimental response surface through a specific experimental design, an optimal tuning could be done independently from the parameter levels as in [START_REF] Khuri | Response Surface, Designs and Analyses[END_REF] and [START_REF] Myers | Response Surface Methodology, Process and Product Optimization Using Designed Experiments[END_REF].

First, the most pertinent parameters must be chosen as the number of required experiments is larger when looking for modeling response surface. Usually, a fractional factorial design is employed to extract this information.

Then, a specific design is built in order to fit a second order model, which means that the experimental surface is supposed to be fitted on a particular form. The method of least squares enables to estimate the regression coefficients in the multiple linear regression model. The response estimation, ?, is then given by a second order polynomial:

∑ ∑ ∑ ∑ - = + = = =         + + + = 1 1 1 1 2 1 0 . . . . k i j i k i j ij k i i ii i k i i x x x x α α α α η ( 15
)
Finally, the quadric canonical analysis method is used to interpret the model equation.

To satisfy the objective, Central Composite Designs are used. Their design is specifically conceived to solve optimization problems and to give the optimal solution [START_REF] Khuri | Response Surface, Designs and Analyses[END_REF] and [START_REF] Myers | Response Surface Methodology, Process and Product Optimization Using Designed Experiments[END_REF].

A central composite design is defined by: -A complete 2 k factorial design, -n 0 repetitions on center points, for statistic analysis, -Two axial points on the axis of each parameter at a distance of a from the design center. These points contribute to estimation of the quadratic terms of the fitted model, i.e. give information on the curvature of the system. Figure 4 shows an example of a central composite design for 2 variables. Values of n 0 and a are chosen in order to respect the uniform precision condition. Then, the variance remains constant in the domain defined by a hypersphere centered on the experimental design center.

Finally, the adequacy of the fitted model is checked with standard statistical tools [START_REF] Draper | Applied Regression Analysis[END_REF]. Now the coordinates of the stationary points of the response system can be determined. The stationary point, which should be inside the experimental domain for an efficient prediction, must respect:

{ } 3 , 2 , 1 , 0 ∈ ∀ = ∂ ∂ j x j η (16)
Then, working on this estimated surface, an optimum can be found, independently from the levels used during experimentation.

C. Desirability Notion

The desirability notion was introduced by E.C. Harrington [START_REF] Harrington | The Desirability Function[END_REF]. It combines several different properties Y i with different scales and units [START_REF] Harrington | The Desirability Function[END_REF] and [START_REF] Derringer | A Balancing Act : Optimizin g a Product's Properties[END_REF]. Each of them is transformed in an elementary desirability function di. A desirability function has range between zero and one. A zero level corresponds to an unacceptable value for the criterion while a desirability of one represents the maximum desired performance. Many different transformations could have been chosen. The most classical one was adopted due to its simplicity. It is described below.

The value of Y i,p is the minimum acceptable value for Y i and Y i,c is the value above which an amelioration of Y i is not interesting. The parameters ri allow to balance the importance of the increase of the property on the elementary desirability (see figure 5).



                ≥ ⇔ < < ⇔ - - ≤ ⇔ = c i Y i Y c i Y i Y p i Y ri p i Y c i Y p i Y i Y p i Y i Y di , 1 , , , , , , 0 (17)
Then, all the elementary desirabilities are combined into a composite desirability such as D:

[ ] ∑ ∏ = wi wi di D 1 (18)
With this one composite criterion, experimental design methodology can be used.

VI. CONTROLLER TUNING

The tuning procedure can be divided in several steps. After choosing initial parameter values, a first tuning is given by an experimental design dedicated to parameters effects study. Then, the tuning is improved after a specific second design whose goal is to give an estimation of the experimental response surface.

A. Parameters values

In this controller, 8 parameters have to be tuned. The initial levels of parameters are difficult to choose. Accurate expertise on the system is required. The values of the continuous PI controller parameters will be used as initial values. Regarding S PI as the fuzzy controller output, on figure 3, equation 19 can be defined. K p is the proportional gain and k d is the derivative one of the first part of the fuzzy controller.

(

) Thus, the last expression in equation 19 reflects both integral and proportional action of the complete PI-likefuzzy controller which can be used for initial tuning.

dt
The values are sampled at the sampling period Te:

     - - ⇒ ⇒ Te k e k e t de k e t e ) 1 ( ) ( ) ( ) ( ) ( (20)
Then, from the transfer function H voltage , comes:

       = × = v iv v G dem Te gm T G em gm (21)
The levels of the membership functions are chosen on both sides of the values o f the equi-distributed membership function positions. Similar choices are made for gm and dem coefficients.

B. Initial Tuning

The first tuning is given by a classical fractional factorial design [START_REF] Dey | Fractional Factorial Plans[END_REF]. As 8 parameters have to be tuned in this controller, a 2 8-4 IV Hadamard experimental table is used (Tab 3), needing only 16 experiments. Two successive experiements are carried out: the first one is a global design and the second improves the tuning. The factor levels for the second design are given by table 3 and come from the first design results. The two criteria are measured for each experiment. The latter is repeated three times in order to improve the accuracy on results and the confidence interval is defined as 99.9%. Factor effects are given by Table 8 It appears that the factor effects are strongly different for each criterion. The factor PVSde is always the dominant one and its influence is opposite for each criterion, as shown by Table 5. From the factor effects given by the experimental design, a set of optimal parameters for the fuzzy controller can be defined for each criterion: the first one, Set 1, for the IAE criterion only and the second, Set 2, for the harmonic criterion only. Figure 6 represents the output voltage V DC for the two optimal settings and figure 7 the input current for the second setting. The criteria values are given in table 8. From theses criteria, experimental designs can not give a composite optimal tuning. The solution may consist of a combination of the criteria in a composite one through the desirability notion.

From the given results, the main difference between harmonic rejection for Set 1 and Set 2 is the value of the third harmonic (0.325 A for Set 1 and 0.113 A for Set 2), the others remaining equivalent. This preponderant harmonic amplitude is then transformed into elementary desirability dh 3 . Values Yh 3,c and Yh 3,p are equal to Set 1 and Set 2 results with rh 3 = 0.1, increasing the penalty for low values .

IAE is also transformed into elementary desirability d IAE with r IAE = 1. Y IAE,c = 0 and Y IAE,p is slightly higher that the worst value of the experimental designs.

Finally, the harmonic values of the other ranks i are transformed into elementary desirabilities

dh i ( 3 ], 39 , 2 [ ≠ ∈ i i
) with Yh i,c = 0 as the objective is to reject harmonic distortion. Yh i,p is equal to the CEI 61000-3-2 standard limit value so as to respect it. We fix 1 01 . 0 << = rhi so that the sensibility of elementary desirabilities for harmonic re jection is improved near the standard values.

Giving more importance to the IAE criterion and the third harmonic amplitude through wi parameters, the final criterion Y is therefore:

47 1 39 3 2 5 3 5 . .           = ∏ ≠ = i i i h IAE dh d d Y (22)
The new tuning, Set 3, gives results shown by fig 8 andtable 8. It appears that the THD benefit is equal to a third of the difference between the better and the worst tunings by keeping a really good dynamic behavior.

It is also important to notice that the network voltage THD is 2.6%. Then, the THD for the optimal setting is really close to the network's value. It underlines the excellent performance of the fuzzy controller with respect to harmonic rejection. The dynamic improvement under such important load variations is significant in comparison with linear PI.

C. Surface Response Estimation

In this section, the surface response methodology [START_REF] Khuri | Response Surface, Designs and Analyses[END_REF] [19] is used to improve the dynamic performance of the system, i.e. the IAE criterion. The first difficulty is the choice of the variables. As an experimental design dedicated to the response surface requires more experiments than those dedicated to parameters effects, the number of factors must be reduced. From the results given by the first experimental design, it appears that there are 3 main factors (PVSde, PVSe and dem). Their effects are strongly positive and their interaction immaterial. So, their values are fixed to low levels. By isolating the preponderant parameters, secondary influent factors should be selected for response surface variables as their interaction should be different from zero. Thus, 3 parameters stay influent: PSs, PVSs and g. Moreover, the duality between PSs and PVSs, the membership functions, on the one hand and gm, the denormalisation gain, in the second hand introduces strong interactions. This duality is a property of this Sugeno Fuzzy Controller [START_REF] Ya | Fuzzy Logic in Voltage and Reactive Power Control in Regulated and Deregulated Environments[END_REF].

Choosing 3 variables, starting from Set3 and respecting the uniform precision condition, 20 experiments have to be done, the 15 given by Table 3 plus 5 iterations on the experimental center [START_REF] Faucher | A new shaping method for fuzzy state feedback tuning on a power converter[END_REF]. From the coefficient given by the least square method, the estimated points are calculated and are shown in figure 9. The adequacy of the fitted model should be checked. The scatter plot is aligned on the bissextile built with experimental measures. It shows that the quality of the model description is quite good.

In order to confirm this conclusion, an analysis of variance table is built (Table 7). The main point is here to reject the lack of fit. The value of the Fstatistic (F 0.05,9,10 given by Table 7) allows testing zero lack of fit. As the statistic Fc exceeds the value F 0.05,9,10 , the hypothesis of a lack of fit at the 0.01 level of significance can be rejected.

     = = 9616 . 0 9798 . 0 2 2 adjusted R R (23)
Generally, it is preferable to fit the full quadratic model with these coefficients. Here, R 2 and adjusted R 2 values for this model are satisfactory.

At least, statistic coefficient model analysis and residual statistic analysis complete the analysis but are not detailed here. Then, the coordinates of the stationary points of the response system can be determined. The stationary point x s must respect [START_REF] Dey | Fractional Factorial Plans[END_REF]. The second derivative values (24) are all positives so the stationary point is a minimum. Nevertheless, the distance d between stationary point and experimental center is beyond the experimental . The hypothesis that the polynomial model can be extended beyond the domain limits is now tested.

VII. EXPERIMENTAL RESULTS

Testing experimentally this point, the measure gives IAE=5.13x0.01V.s and the estimation 5.14x0.01V.s. The model can now be extended and the analytical solution is found. As an example, figure 10 shows the response surface when fixing dem. Figure 11 presents the output voltage for the last optimal point (set 4) and the linear PI. The corresponding input current is plotted on figure 12. This optimal point is given after 16+20 experiments for the tuning of 8 parameters. Experimental results for Set 4 are given by Table 8. Set 4 shows a 50% improvement of IAE but the supply current TDH is significantly deteriorated. Nevertheless, its value remains acceptable. As parameter effects for both criteria are inconsistent, surface response methodology could not be applied in an efficient way on the same domain of parametric variations for the global improvement of these different properties.

All experimental results are summarized in Table 8 . Linear controller performance is quite bad and the comparison illustrates the validity of using FLC. Experimental design analysis allows to explore several tuning settings giving more influence to one or two criteria. Response surface methodology improves significantly the IAE criterion after only a few more experiments.

VIII. CONCLUSION

The experimental design methodology is in this case an efficient tool for on-site tuning of fuzzy controllers according to electrical quality tuning in a limited number of experiments. Considering only one objective, the dc voltage c an be separately controlled with a minimized IAE criterion. Another objective, the input total harmonic distortion, c an also be reduced by on-line tuning. Moreover, employing a multi-objective criterion, dc voltage and THD can be simultaneously controlled with a single fuzzy controller. Finally, using the experimental response surface methodology, the tuning is significantly improved through a modeling of the response surface associated to the selected criterion. Global electrical quality is improved by combining desirability notion and experimental design methodology. Thus selective harmonic elimination is possible. The next stage will aim to conciliate the harmonic quality in steady state and the dynamic performance during transients in order to improve the global electrical quality.

Fig. 2 .

 2 Fig. 2. Current control: Irec and Iref.

  Fig. 1. System structure.

Fig. 2 .

 2 Fig. 2. Criteria measurement and benchmark test.

Fig. 3 .

 3 Fig. 3. Fuzzy controller structure.

  (N-1) degrees of freedom with the probability a to be exceeded in absolute value. As a consequence the confidence interval for a probability a is around the average effect value.

Fig. 4 .

 4 Fig. 4. Central Composite Design for 2 variables.

Fig. 5 .

 5 Fig. 5. Elementary desirability.

Fig. 6 .

 6 Fig. 6. Experimental output voltage responses for set 1 and set 2

Fig. 7 .

 7 Fig. 7. Experimental input currents for Set 2 only.

Fig. 8 .

 8 Fig. 8. Experimental output voltages with set 3 and linear PI.

  Fig. 9. Model Estimation.

Fig. 10 .Fig. 11 .

 1011 Fig. 10. IAE response surface for the evolution of 2 variables

2

 2

Fig. 12 .

 12 Fig. 12. Experimental input current for Set 4

  . Interaction effects are less influent than main parameter effects and are not given here.

		IAE *10 -2 V.s	TDH *100 %		IAE *10 -2 V.s	TDH *100 %
	PSe	1.4	-3.1	PSs	-2	-3.2
	PVSe	3.9	-2.9	PVSs	-2.5	8.6
	PSde	0.7	-4.3	Gm	-2.2	1.5
	PVSde	5.6	-21	dem	2.9	-7.2
	Average	22.5	364	Confidence interval	0.27	4.04
		Tab. 5. Factor effects on both criteria

TABLE 6 :

 6 CENTRAL COMPOSITE DESIGN TABLE

	Experience	x1	x2	x3	Criterion
	1	-1	-1	-1	y1
	2	+1	-1	-1	y2
	3	-1	+1	-1	y3
	4	+1	+1	-1	y4
	5	-1	-1	+1	y5
	6	+1	-1	+1	y6
	7	-1	+1	+1	y7
	8	+1	+1	+1	y8
	9	+a	0	0	y9
	10	-a	0	0	y10
	11	0	+a	0	y11
	12	0	-a	0	y12
	13	0	0	+a	y13
	14	0	0	-a	y14
	15	0	0	0	y15

TABLE 7

 7

		ANALYSIS OF VARIANCE TABLE
	Source	Degrees	Sum of	Mean	Fc	Fstatistic
		of	Squares	Square
		Freedom
	Regression	9	32.15	3.5722 53.9	3.02
	Residual	10	0.66	0.0663
	Total	19	32.81
	Moreover, from this table, determination coefficients
	could be calculated:

TABLE 8

 8

		EXPERIMENTAL RESULTS
			Fuzzy Controller		Linear
		Set 1 Set 2 Set 3 Set 4	PI
	IAE voltage (0.01V.s)	9.6	47.1	10.1	5.13	53.1
	TDH (%)	3.7	2.8	3.4	13.7	4.1
	Load connection:
	Tr 5% (ms)	57	173	56	26	193
	VDC min (V)	369	338	370	379	335
	Load
	disconnection:
	Tr 5% (ms)	118	1078	134	50	1236
	VDC max (V)	432	476	434	423	485
	VDC min (V)	390	350	388	396	344


Jacques Jorda

Aurélien Ortiz

Abdelaziz M'zoughi

Monitoring of a Grid Storage Virtualization Service

Keywords: grid computing, storage virtualization, monitoring systems

Grid computing is commonly used for large scale application requiring huge computation capabilities. In such distributed architectures, the data storage on the distributed storage resources must be handled by a dedicated storage system to ensure the required quality of service.

In order to simplify the data placement on nodes and to increase the performance of applications, a storage virtualization layer can be used. This layer can be a single parallel filesystem (like GPFS) or a more complex middleware. The latter is preferred as it allows the data placement on the nodes to be tuned to increase both the reliability and the performance of data access. Thus, in such a middleware, a dedicated monitoring system must be used to ensure optimal performance. In this paper, we briefly introduce the Visage middleware -a middleware for storage virtualization. We present the most broadly used grid monitoring systems, and we explain why they are not adequate for virtualized storage monitoring. We then present the architecture of our monitoring system dedicated to storage virtualization. We introduce the workload prediction model used to define the best node for data placement, and show on a simple experiment its accuracy.

INTRODUCTION

The grid concept defines the aggregation of heterogeneous computing and storage nodes across administrative domains to scale the performance of individual computer nodes [START_REF] Foster | The grid : Blueprint for a future computing infrastructure[END_REF]. There are two paradigms in grid computing: large-scale grids, involving at least thousands of nodes from standard computers, and meta-cluster type grids involving a maximum of hundreds of nodes from high performance computers -typically servers or supercomputers. We will focus on the latter case, mostly used for high performance computing. In such systems, a wide range of distributed physical resources can be used to data processing activity, especially for scientific applications, such as biology research and simulation for weather forecasts. These scientific applications require huge computations in order to achieve their goals, generating access to large amounts of data handled by the deployed grid storage resources.

Before launching such application, data are transferred to the dedicated nodes using tools like GridFTP; the application then runs on these nodes, and the results are merged to a user repository. However, in domains like weather forecasting, the granularity may be refined to produce more accurate results. Thus, these large scale applications involve an increasing number of nodes handling larger and larger amount of data. Consequently, a new problem arises, which is more about data storage than processing unit allocation. Indeed, whatever scientific computation is considered, more accurate results involve more data to store and handle. Then, manual strategies using tools like GridFTP are more difficult to implement, and the performance gain is not linear with the number of nodes: the data distribution on the nodes for HPC programs is complex, and impacts directly the sustained performance. Consequently, the need is to improve data storage on grids to overcome the current limitations.

The most advanced techniques in improving data storage on distributed systems deal with virtualization. Virtualization entails grouping physical resources in virtual ones, in order to mask the hardware complexity. Therefore, like grid middleware, storage virtualization systems handle the heterogeneity and dynamicity of nodes and network workload, while providing a transparent and uniform data access interface to the users, making data access as easy on the distributed environment as on a single machine. The work presented in this paper is part of the ViSaGe project. ViSaGe is a middleware designed to provide the set of functionalities needed for storage virtualization: transparent reliable remote access to data and distributed data management. This storage virtualization is of prime interest when working on grids. In fact, when working either with a meta cluster of a few supercomputers or a larger grid of a few hundreds of servers, the transparent access of data is needed to easily distribute jobs among compute resources. Moreover, efficient mechanism must be employed to guarantee a high level of performance.

Using ViSaGe middleware, data access is easier, and complex data management like data reorganization, data redundancy, or replication can be used to improve performance. However, such data management techniques require an efficient mechanism to guarantee the required quality of service and to ensure maximal performance. This task is even more complex because the characteristics of physical storage resources evolve over time. Therefore the various resources need to be monitored in order to react to any significant changes of observed criteria, which require an adjustment to storage parameters.

A dedicated monitoring system must then be used to trace physical resources usage and to feed back the administration tool to update storage parameters adequately. These parameters are mainly the placement of redundant / spitted data on nodes to improve both data reliability and access performance. In order to give ViSaGe an appropriate Administration and Monitoring component, we first studied the major existing grid monitoring tools to assess their capabilities to be used in the context of storage virtualization. This study will be summarized in section 2, and we will explain why these tools cannot be used in ViSaGe. In the section 3, we will introduce ViSaGe components, and present the architecture of Admon (the administration and monitoring component). We will then present in section 4 the prediction model used, and show on a basic experiment that it accurately predicts the I/O workload variation. Finally, we will conclude the paper and present some future work.

BACKGROUND

Monitoring large scale systems, like grids, implies facing a number of challenges. First, the monitoring system must be scalable. In fact, current grids include hundreds, even thousands of nodes. Monitoring such infrastructures is imperative, considering that the number of nodes will only increase in the future. Secondly, the monitoring of a large scale system needs to address the problems of individual failure. Every single node may be, temporarily or permanently, unavailable, and the monitoring system must continue its job regardless of that. Thirdly, the overhead involved in monitoring must be as low as possible. Indeed, when the number of nodes increases, the global resources consumed by the monitoring tasks should not compromise the primary functionality of the grid. Lastly, the administration overhead should not increase with the number of nodes. Otherwise, managing a grid with several hundreds or thousands of nodes would become impossible.

Currently many systems are available for monitoring grid resources (computing resources, storage resources, networks links), and grid applications. But the monitoring of a storage virtualization service involves some specificity. In fact, as large amounts of data are stored, constantly accessed, and directly involved in task execution time, the overall performance of running applications must be analyzed to update storage settings as accurately as possible, and to improve fault tolerance. In such distributed storage systems, policies are enforced with storage management protocols, such as data replication. These protocols are complex because of the dynamicity and heterogeneity of grid environments. For example, data replication can be used to optimize the network bandwidth [START_REF] Frain | How To Achieve High Throughput With Dynamic Tree-Structured Coterie[END_REF], and to increase data access reliability [START_REF] Shah | Minimizing latency and optimizing resources[END_REF]. However, nodes being characterized by varying amounts of capacity and availability, the placement and selection of replicated data should consider the workload variations of several components in the end-to-end path linking source and destination [START_REF] Vazhkudai | Predicting sporadic grid data transfers[END_REF], including the I/O workload: data replication implying more disk device read/write operations, creating / using a replica has a direct impact on application execution time.

This implies, for the monitoring system to be used in ViSaGe, to correlate specific counter (like disks IOs) with the traces of applications to update adequately the virtualized storage parameters. Thus, such a monitoring system must:

• collect the physical resources usage accurately, and correlate these results with the traces of running applications; • keep the resources overhead due to monitoring as low as possible; • be scalable and resistant to single point of failures / single point of contention; We are going to present the major monitoring systems dedicated to grid systems, emphasizing the drawbacks of each in our needs for a storage virtualization monitoring system.

NWS: Network Weather Service

NWS [START_REF] Wolski | Dynamically Forecasting Network Performance Using the Network Weather Service[END_REF]) is a project headed by Pr. Wolski from the University of California Santa Barbara (UCSB). It brings together information on the current state of network and computing resources of a platform. It provides a measure of the availability of the system and predicts changes in the short term of measured metrics through statistical treatments. NWS is composed of four components:

•

Sensors measure availability of the platform from experiments • Memory Servers (M) store the computed measurements on disks •

The Name Server (NS) is a system directory including the list of sensors and memory servers in order to locate them (as done by ldap databases) • Predictors (P) use statistical methods to infer the future series of measurements. NWS performs measurements on a permanent basis, even when no client requests are submitted, and stores the computed results in memory servers for later use. It measures performance in terms of bandwidth, latency and duration by establishing a socket connection to any TCP / IP link between two of its sensors. The latency is estimated for a small package round trip: the source computer measures the time required for the recipient machine to return a fourbyte packet. Similarly, the source computer measures the time needed to open a new socket and transmit a 4KB message. This measured time is then used by NWS to deduce the latency.

Regarding the bandwidth, the measurement is made by measuring the time needed to send a package of a given size (the default size is 250 KB). It should be noted that NWS sends data in increments of 32KB on a socket configured to have a 32 KB buffer at the local operating system level. Thus, the size of data sent (250 KB) involves some limitations: this value of 250 KB is limited for high performance communications (higher than 1 GB) and too heavy for classic network use (in the order of MB). Added to that, given the heterogeneity of network parameters (such as hardware connections, network cards, etc.), it follows that the results may be biased. However, for NWS, it is not an error, but a functional choice, since the calculated value represents the actual performance of an application using one socket.

NWS is one of the most popular monitoring systems. It is easy to use and performs its actions without privileges. However, the lack of accuracy in the computed measurements presents a very important problem to consider. On the other hand, although NWS collects, in addition to the state of network links, information such as CPU load, the latter has limited usefulness because of the complexity in supporting the scalability of the centralization of these data.

Autopilot

Autopilot [START_REF] Ribler | Autopilot: Adaptive Control of Distributed Applications[END_REF]) is a monitoring system dedicated to the performance of distributed applications. It is composed of sensors and actuators. The sensors collect data on applications and actuators allow, from a set of decision rules, to configure the behavior of monitored applications. Sensors and actuators are placed in the source code of applications. The study of the behavior of applications is based on hidden Markov models and neural networks.

Two major criticisms can be made about Autopilot. The first criticism is that it is dedicated to monitoring applications, and does not take into account the state of various grid entities. The second criticism concerns the manual annotation of the applications' source code. This action represents a major, tedious, and often fatal constraint. Even if Autopilot relieves the manual annotation phase, a user intervention is still necessary. This intervention is used to describe the distribution of applications, to determine points of interaction consistent with the code within the physical underlying model. These two reasons explain the low use of Autopilot for applications in grid environments.

Hawkeye

Hawkeye is a tool developed by the Condor group. It is fundamentally based on Condor [START_REF] Litzkow | Condor : Hunter of idle workstations[END_REF] and ClassAdd [START_REF] Raman | Matchmaking : Distributed resource management for high throughput computing[END_REF] technologies. It is a monitoring system that allows the provision of information pertaining to grid resources (storage resources, computing resources and network links), and also allows predefined tasks to be performed depending on specific conditions. The architecture of Hawkeye is based on four main components:

•

Condor pool: set of resources hosting Hawkeye • Manager: pool master •

Monitoring agents: agents collecting information • Modules: sensors that probe the requested information These components are organized in a hierarchical structure of four levels. At the lowest level, the modules collect the requested information using the ClassAd language, and send them to the monitoring agents. Periodically (or on demand), these agents send the state of resources to their manager. Triggers can be created to start a specific job if some event occurs. These triggers are handled by managers.

Note that using the ClassAd language, Hawkeye is highly configurable regarding the resources monitored and the information collected, and is also fully automatic. However, the volume of data collected can increase significantly, and may quickly become critical. Moreover, Hawkeye does not support application traces, which prevent any performance prediction.

Ganglia

Ganglia was developed at Berkeley University [START_REF] Massie | The ganglia distributed monitoring system : Design, implementation, and experience[END_REF]. This tool allows the monitoring of the grid resources workload, as well as application-specific metrics. It is based on a hierarchical design targeted to meta-clusters, and relies on listen/announce protocols on some specific multicast addresses. Thus, all the nodes in a given cluster have a global view of the state of all cluster nodes. It allows the user, via a Web page, to view the status of nodes over a given period.

The use of a multicast protocol and the replication of data about the state of cluster nodes may significantly increase the network load, and may prevent optimal performance on data access through the nodes. Moreover, this may become critical as the number of nodes increases in a cluster.

R-GMA: Relational Grid Monitoring Architecture

R-GMA [START_REF] Cooke | The relational grid monitoring architecture : Mediating information about the grid[END_REF] provides an implementation of the Grid Monitoring Architecture (GMA) proposed by the Global Grid Forum (GGF) in a relational way. GMA [START_REF] Tierney | A Grid Monitoring Architecture[END_REF] defines three types of components: Producers, which collect data and make it available, Consumers which receive performance data and handle them, and Directory Services which support information publication and discovery. This structure allows the use of intermediaries to forward, broadcast and/or filter data. Producers are in charge of registering themselves to Directory Services, and sending ad-hoc (query) or periodical (subscription) data to Consumers. The Directory Service maintains information about each Producer and the data it produces. Consumers contact the Directory Service in order to retrieve specific Producers, given the data needed, and then connect to those Producers to query a data sample or to subscribe to periodical data feeding. R-GMA is an implementation of the GMA architecture previously described, which uses a relational database to maintain the current state of the monitoring system, and a subset of the SQL language to query/update the information system. R-GMA presents a simple, consistent view of performance analysis in distributed systems. Its major drawback is the single directory service, which may be a single point of failure of the whole system, and a bottleneck for Producers/Consumers.

Netlogger

Netlogger (Networked Application Logger) [START_REF] Tierney | The NetLogger Methodology for High Performance Distributed Systems Performance Analysis[END_REF] represents both a methodology for analyzing the performance of applications, and a set of tools for implementing this methodology. The tools provided include some for nodes and network monitoring, a global timestamp delivery service, and an API for tracing applications. Developers can use the API for including timestamps at critical points of their applications, and use the logs provided by Netlogger to analyze the time used for every such critical operation and the state of the corresponding resources at that time.

Netlogger uses a binary format for serializing performance data, which has a minimal impact on the analyzed system. But like Autopilot, it requires manual annotation of the code for performance analysis, which is a fatal constraint. Moreover, it allows only postmortem analysis, and then cannot be used for proactive performance adjustments. Lastly, it is not structured hierarchically which may lead to scalability problems.

Monitoring and Discovery System

The Monitoring and Discovery System (MDS) is a set of tools integrated into Globus Toolkit (current release: GT4) for resource discovery and monitoring [START_REF] Czajkowski | Grid information services for distributed resource sharing[END_REF]. It provides two fundamental services: an index service which collects data and allows subsequent queries, and a trigger service which collects data and allows actions to take place when specific conditions are met. It should be noted that MDS is not, by itself, an information provider -it retrieves data collected by an external software component, and aggregates it in its information model. From this point of view, it is just a tool that should be used in conjunction with, for example, Ganglia, in order to achieve scalability of non-grid-dedicated monitoring systems. This constraint is very important, since it adds a new layer to an existing system. Using such a system would imply adapting an existing monitoring system to some specific monitoring needs, and then interacting with MDS to publish/retrieve the collected information.

What we need in ViSaGe

The aforementioned monitoring systems are designed to produce and deliver measurements on grid resources and applications efficiently. Nevertheless, none of these systems possess all of the pertinent characteristics for a virtualization system like ViSaGe. ViSaGe needs a monitoring system providing a full view of nodes' workloads in order to choose nodes efficiently according to its goal (data replication, workload distribution, etc.). Our monitoring system should be at the intersection of these existing tools. It should trace applications, and collect information about grid resources and the network. It should provide an accurate performance prediction time from the information collected on the I/O workload in order to choose the nodes to be used for data replication, as the latter must ensure both data transfer performance and minimal response time. In fact, many solutions are static, attempting to fix a schedule for all data transfers [START_REF] Shen | A distributed multi-storage resource architecture and I/O performance prediction for scientific computing[END_REF]. Our purpose is to use monitoring knowledge to predict the time taken to place data during I/O workload variations.

VISAGE ADMINISTRATION AND MONITORING SERVICE

ViSaGe provides a storage virtualization service to the grid community. ViSaGe allows the creation and management of shared virtual storage resources in a transparent way. It joins heterogeneous and geographically dispersed physical storage resources into virtual spaces featuring various qualities of services (QoS). Each virtual space consists of logical volumes. The logical volumes, in turn, consist of data storage units. Finally, a data storage unit represents the physical placement of the data on the grid nodes, with a data placement policy being associated to each of them. This service respects the grid hierarchical architecture, which is composed of three levels: the grid level (which represents the grid gate), the site level (the frontal site) and the node level. The grid consists of several sites connected by network links. The sites themselves provide several computing and/or storage nodes. The grid is represented by a set of services which allow the user to exploit the grid, for example the storage resources virtualization. They are deployed on the grid respecting its hierarchical architecture: the grid level (representing the grid gate), the site level (the frontal site) and the node level.

ViSaGe consists of five main components (see Fig. 1): Vcom, Visagefs, Admon, Vrt and Vccc.

•

Vcom is a communication layer between ViSaGe components. It provides a secure and adaptable way to communicate without worrying about the details related to the grid infrastructure.

•

Visagefs (Thiebolt, 2007) is a grid filesystem. Visagefs allows grid users to access their data in the virtual storage spaces.

•

Admon is the administration and monitoring service, used to manage and monitor grid nodes. It also provides a means of communication between grid users and ViSaGe.

•

Vrt is the ViSaGe virtualization layer. Vrt carries out the Admon requests to aggregate physical storage resources in virtual spaces. Vrt places these virtual spaces at the disposal of Visagefs.

•

Vccc is an extensible coherency and consistency library. It provides to the Vrt and Visagefs a set of coherency and consistency protocols.

We will focus on Admon, the Administration and Monitoring Service of ViSaGe. We will first present the general architecture of this service and the API to be used to access its functionality. We will then show how the collected data are processed to guarantee the lowest impact on the nodes' workload.

ADMON Architecture

Admon consists of two modules. The administration module manages the use of ViSaGe, and the monitoring module collects pertinent information needed for overall performance management. Admon offers an interface to grid users to manage the virtual storage system lifecycle (e.g. to create or modify virtual spaces, share storage resources, access shared storage resources, etc.). It traces both ViSaGe applications and system resource consumption (CPU, Disks and Networks) in a scalable way. Thus, using its workload prediction model, Admon allows dynamic data placement according to resource usage [START_REF] Traboulsi | Admon: ViSaGe Administration And Monitoring Service For Storage Virtualization in Grid Environment[END_REF], ensuring best performance on data placement while limiting the monitoring overhead.

A hierarchical multi-tiered architecture was adopted to implement the Admon structure (see Fig. 2). The agents, on the node level, which manage and monitor nodes in order to send reports to the upper level.

•

The site tools, on the site level, which collect nodes' reports to manage their site. These tools also communicate with the upper level.

•

The grid service and the grid tools, on the grid level. The grid service allows grid users to reach the Admon functionality by means of a grid gate. This grid service respects the WSRF standard.

We are now going to present in more depth the various components of Admon.

ViSaGe Monitoring

The monitoring part of Admon consists of three main components: the monitoring agents, the site monitoring tools and the grid monitoring tools.

•

Monitoring Agent: a monitoring agent is launched in all single nodes where the ViSaGe processes are running. It is represented by two routines: MA_sensor and MA_event (Fig. 2).

MA_sensor collects and computes the percentage of the system resource utilization: CPU, Disk and Networks. This information is stored in a Berkeley database. The monitoring agent gets information from the Sysstat utility. The information collected is used to compute system resource throughput. MA_event manages messages sent to the monitoring agent, in an event driven way. For example, for identifying the state of ViSaGe (up or down) in a node, the monitoring site contacts the node's MA_event. Furthermore, this information is optimized and summarized by MA_event in order to send significant node reports (significant change) to the monitoring tools of its site. The monitoring agent collects information at five second intervals. It summarizes information at one minute intervals in order to detect significant changes. This selected time interval is arbitrary.

•

Site monitoring tools: a site monitoring tool is represented by SM_event (Fig. 2). SM_event exploits the collected and optimized information of each monitored node. This information is used to observe the lifecycle of the site's nodes. For instance, if a node does not exist anymore because of a ViSaGe failure, the site monitoring tool contacts the administration part to remove this node from the live nodes list. We must mention that the administration part stores the node's virtualization history in the database (ViSaGe mount point, shared storage resources).

•

Grid monitoring tool: a grid monitoring tool is represented by GM_event (Fig. 2). GM_event collects and communicates pertinent virtualization information, for instance virtual storage resource identification, storage resource information (node name, site name, identification, directory path), etc. The information collected by the grid monitoring tool represents a system history that allows ViSaGe to have sufficient information, for example, when the system is restarted.

ViSaGe Administration

The administration service manages the grid resources using the summarized information. It consists of the grid administration tool, the site administration tools and the administration agents.

•

Grid Administration tool: a grid administration tool is represented by GA_event (Fig. 2). GA_event manages the requests of the grid user via the Admon grid service.

•

Site Administration tools: the site administration tool is the Admon's means of communication between node level and grid level. Moreover, the site administration tool knows the available physical storage resource location on the nodes of its site to be shared. It is represented by the SA_event, placed on the frontal of each site.

•

Administration Agent: an administration agent is represented by the AA_event (Fig. 2), and distributed on the node level. AA_event constitutes a way of communicating between the site administration tool and other ViSaGe services. AA_event facilitates the deployment and configuration of ViSaGe's nodes. When ViSaGe starts on a node, AA_event contacts the administration tool of its site in order to add it to the ViSaGe nodes list.

Admon API

Admon is used to observe and achieve activities on the ViSaGe system; to attempt these goals, a grid service was implemented. This grid service, respecting the WSRF standard, allows commands to be used via Globus services. Globus is used only to provide a standardized interface to access the Admon commands. The grid service consists of two parts: server part and client part.

The client part is developed by our industrial partner "CS SI". This part is an implementation in Java and is connected to our partner's grid virtualization services. These services of virtualization were developed to be deployed on a grid using a distributed file system. Their implementation is based on the Globus Toolkit 4.0 (GT4.0), on compatible and safe, open technologies: XML, Java, SOAP, etc.

The server part is related to Admon API. This API supports various administration and monitoring commands. By means of a web page, the grid user uses Admon commands. These commands enable the grid user to manage the virtual storage resources efficiently, and also the constraints used by the Admon administration decision-making process. The Admon grid service was validated on the elis@ grid.

The Admon commands allow the configuration, management and easy usage of the ViSaGe storage virtualization system. The outcome of these commands is an XML file. The administration commands consist of a set of commands allowing ViSaGe management and usage. The administration commands are sent to the ViSaGe virtualization layer (the Vrt component). These commands allow the virtual storage space creation (CreateVs), the logical volume creation (CreateLv), the storage resource sharing (ShareSrs), the logical volume format (FormatLv), the Visagefs mount and the data placement (AddReplica and RemoveReplica). In addition, the monitoring commands are sent to the Admon monitoring agents and tools. These commands allow, for example, information to be obtained about the state of nodes (GetNodeState) or sites (GetSiteState), the list of physical storage resources on a specific node (GetSrListNode) or on a site (GetSrListSite), the available nodes list (GetNodeSiteList), and so on.

Performance of the monitoring system

The performance of a monitoring system requires summarizing the information collected to avoid the storage of huge amounts of data at each level of Admon components. Therefore, the monitoring agent adopts an algorithm for sending efficient information to the site monitoring tool. The percentage of use of system resources (CPU, Disk, and Networks) is strongly related to the node workload. The monitoring agent collects the average percentage of use of system resources and uses Admon monitoring algorithms in order to manage and improve monitoring performance. Therefore, for each monitored measurement we have an old monitored mean and a new monitored mean. Furthermore, we incorporated a method of alerting the upper levels to the fact that either the CPU, Disk or Networks were operating at 50% or more, which would indicate the presence of overloaded nodes. Therefore we used a threshold that may reflect the workload state. This threshold is defined by this equation:

o n o m m m - = ε (1)
where o m represent the old monitored mean and n m the new monitored mean.

After collecting information, the monitoring agent computes the threshold, allowing contact with the upper level in order to update the state, or to contact the administration agent to help manage the storage system. We will give an overview of the ViSaGe monitoring algorithm:

• Case 1: if 0 = ε , it
means that there is a stable state, so we do not need to send the information except if:

1. Case a -The site monitoring tool contacts the monitoring agent: the site monitoring tool sends a message to test if the node is live, taking the opportunity to update the criteria values or to delete the node from the list. 2. Case b -The node is in a sensitive (loaded) state: for example if the monitored criteria is the CPU, the monitoring agent sends the information if the percentage of CPU usage is greater than 50%.

•

Case 2: if 1 > ε , it means that we have suddenly reached an important value (peak). So, this value will not be sent the first time. The monitoring agent doesn't know, at this time, if this value is just an epiphenomenon or a new stable state; it will then wait for the next threshold to make a decision.

• Case 3: if 1 0 ≤ < ε
, it means that the system workload is in progress or is trying to stabilize its state. We can take several decisions according to the mean value. We must mention that the monitoring tool can change the time interval between two consecutive threshold evaluations on a node if the latter sends information constantly -thus avoiding network overload, and excessive resource consumption.

However, monitoring the performance is not limited to monitoring system resource usage, but must include the generation of application traces. The data access trace can be implemented by two methods [START_REF] Hidrobo | Racing I/O operations in Linux[END_REF]:

•
Making a change to the source code of the application, or changing the library used by the program.

•

Making a change to the I/O operating system stack to capture events. Working on the first method is difficult, because the source code of the application is needed, and it is very difficult to know what is happening with physical operations on the higher software layers. Thus, the modification of the source code of the operating system is preferred, which is always dangerous and can permanently affect the stability of the system.

Using timestamps for important functions, such as read/write operations, Admon traces events at two levels: the application level (represented by the filesystem) and the physical level (represented by the virtualizer). Therefore neither the modification of the source code of the applications nor patching the operating system is needed, as the required information can be taken directly at the lowest level, transmitted by the other components of ViSaGe. Moreover, according to its location, these timestamps are collected without significant overhead, guaranteeing the low impact of the monitoring on the system.

In this section, we have shown the architecture of the administration and monitoring component. We have seen the mechanism guaranteeing the low impact of the monitoring on the nodes' workload. Using these collected measurements, Admon must now predict the workload variation of the nodes to feedback the administration components. In the next section, we are going to present the Admon prediction model and show its accuracy.

ADMON'S WORKLOAD PREDICTION MODEL

In ViSaGe, Admon, connected to an extendable coherency and consistency library "Vccc", may choose to use any consistency management protocol, such as the replica protocols [START_REF] Frain | How To Achieve High Throughput With Dynamic Tree-Structured Coterie[END_REF], or more generally data distribution among nodes, according to the various nodes' workload. Whatever the mechanism retained for improving performance or reliability, taking into consideration the distance variation between various nodes [START_REF] Vazhkudai | Predicting sporadic grid data transfers[END_REF] is not sufficient because data need to be write on disk. The disk write performance being related to the I/O workload, the latter is of prime importance for choosing the best node for data placement.

The Prediction Model

Ensuring the performance of data access in a grid environment had led to the problem of determining which node can be chosen to be accessed most efficiently in order to place redundant data. Because of various characteristics and I/O workload variations of the disk device, and various nodes' architecture, selecting the best node requires prediction of the time needed to place data.

Considering the effect of the I/O workload variation on the application throughput, Admon adjust the storage parameters. Before starting with our model, we should determine the metrics to be used. According to [START_REF] Gossa | When the Grid becomes pervasive to save the day even Mitch Buchannon needs decision-making support[END_REF] and [START_REF] Lowekamp | A hierarchy of network performance characteristics for grid applications and services[END_REF], the metric is a primary characteristic of the system, to be measured by a suitable method. In our case, we attempt to calculate the distance between nodes in order to replicate data. The data replication implementation requires two tasks: 1. Transfer of data across networks, 2. Placing of data to destination disk. So the Time ) (S T will include:

•

The time ) (S t n needed for data transfer across networks,

•

The time ) (S t p needed for data placement on disk ( S being the data size).

We deduce that ) (S T can be defined by:

) ( ) ( ) ( S t S t S T p n + = (2)
In the above equation, the components have the same order of magnitude (seconds). The assumption of accuracy will be validated further.

) (S t n consists of:

• the time needed to establish a communication, denoted here by the latency L ,

•

the time needed to send data to the remote disk,

) (S t s . Thus, ) (S t n is as follows: ) ( ) ( S t L S t s n + = (3)
The time needed to place data is defined by this equation:

B S S t p = ) ( (4)
where B represents the disk bandwidth. The main task is to evaluate ) (S t p as a function of the data size S during I/O workload variations. B is computed using traces of time used to place data on disks, and will be used to predict the I/O workload variation. To highlight the impact of disk workload variation on I/O operations execution time, we have developed a module that generates requests to the disks in order to load them, thus increasing disk bandwidth workload percentage. This module progressively increases the number of queries issued to the disk and therefore increases the utilization of bandwidth, which is in fact reducing the available bandwidth. The module consists of two components: • A client representing a virtual user attempting to read or write an S bytes data (here, MB S 100 =

and the client will try to write the data). This client measures the write time of the operation, defining ) (S t p . The time measurements collected to place data at each level will be used to study the workload variations effect on the data access time.

•

A server, increasing the I/O workload percentage, thus minimizing the available disk bandwidth, searching for stability at specific percentage levels. When a stable level is reached, the server proceeds with the next level (upper workload percentage), increasing or decreasing the number of requests sent to the disk device. It should be noted that the methodology adopted in this module was used in [START_REF] Harbaoui | A. Performance characterization of black boxes with selfcontrolled load injection for simulation-based sizing[END_REF]. [START_REF] Shen | A distributed multi-storage resource architecture and I/O performance prediction for scientific computing[END_REF]. However, in the grid context where the distance between sites is static, the aforementioned problem degrades data transfer performance.

To predict the time We will summarize the Admon role in ViSaGe and we will validate our approach in the following section.

Experiments and validation

We have conducted a simple experiment showing how the I/O variation modifies the time needed to place data. We used three nodes of the ViSaGe grid. These nodes are node1, node2, node3. Each node is based on AMD Opteron Processors (2P), and an SCSI disk drive. Each node can reach a maximum writing bandwidth of 129 MB/s.

We launched ViSaGe on the three nodes. We installed the Admon grid tools and site tools on node1. We assumed node1 to be a source node, and node2 and node3 to be the destinations. We prepared the experiment using the following commands: 1. Create virtual space (CreateVs), create logical volume (CreateLv) on node1; 2. Share storage resources in the same logical volume (ShareSrs) on node2 and node3; 3. Format the Logical volume (FormatLv); 4. Mount the ViSaGe filesystem (MountVisagefsNode) on the chosen mount point, be it /mnt/visagefs on node2 and node3. When ViSaGe was ready, Admon had to choose between node2 or node3, in order to add a replica of the node1 data, according to the time ) (S T of equation 2. "Add replica" is an administration command, calling a related function of the virtualizer API. In order to compute ) (S T , the required information was gathered by the monitoring agents of Admon, which were started on every node where ViSaGe ran. This preliminary step was essential, as it allowed virtualization events related to I/O physical operations (the vrt_sr write data function of the virtualizer) to be collected.

Since the challenge here was to show the I/O workload variations effect and how to establish the prediction model in order to place data, the network was not involved in the experiment. So, we did not vary the network value, and therefore, the MA_event did not submit the network bandwidth value (required for computing

) (S t n

, the first component of

) (S T

) to the site level, expected at the initialization phase. On the other hand, to compute the other component of equation 2 -the time to place data -Admon used information included in its traces. The measured times allowed the monitoring agents to compute the mean of the data transfer rate from the virtualizer to the disk device, which represented the available disk bandwidth ( B ). B was then used to predict the time needed to place data.

In our experiment, node2 was the overloaded node (that is, the node on which we launched the module described in the previous section), and node3 was an idle node. Thus, we showed how Admon proceeded to take efficient decisions.

The module consisted of two parts; the client part was attempting to write in ViSaGe and the server part was the I/O request injector. The server attempted to increase the I/O workload percent in increments of 10 %, and during each percentage increase, the virtual user (client) wrote on the /mnt/visagefs data of size 100 MB. The client which ran on the node source (node1) tried to write on node2 and node3, in order to compare Admon traced data. The server part ran on node2 to increase disk workload. Therefore, the I/O workload percentage was increased gradually, thus increasing the time needed to write on destination node2. Admon monitored the disk workload, and to avoid processes to/on the overloaded node, an alert message was sent to the upper level (node1). Furthermore, at each client writing operation, the monitoring agents of each node measured the time needed to place data in that specific workload condition. From this information, Admon computed the data transfer rate representing the available disk bandwidth.

Based on this history, Admon used the computed disk bandwidth mean B in order to predict, in the future, the time required to place data (equation 4). Finally, Admon had information to measure time using its relationship with the virtualizer, and to compute predicted time using the data transfer rate. We must mention that at the first stage and before instigating the increasing disk workload module, the predicted time was computed according to the maximum data transfer rate represented by the maximum disk bandwidth. Figure 4 shows the results of our experiment. It represented both the measured and the predicted time to place data on node2. These results show that the proposed Admon method provides very accurate times, making this model a promising method for improving storage system performance.

The prediction accuracy of this experiment was demonstrated by using the percentage error calculation. where m v represent the measured value and p v the predicted value. We consistently observed errors of less than 5% (Table 1), which proves the performance prediction accuracy of our methodology. [START_REF] Shen | A distributed multi-storage resource architecture and I/O performance prediction for scientific computing[END_REF] may be inaccurate in case of workload variations. According to the ) (S T value, Admon (acting in a proactive way) will dynamically choose node3 to create its replica, and communicating with the virtualizer component, will finally place the data at that chosen node.

Referring to the problem posed at the beginning of this section, it has been shown through experiments that the predicted time computed by Admon is very closed of the measured time. Thus, Admon has led to a relevant prediction model supporting dynamic and accurate node selection for data placement by the virtualization service of ViSaGe.

CONCLUSION

This paper presents the multi-tiered architecture of a grid administration and monitoring service named "Admon". Admon is tightly coupled to a storage virtualization system called ViSaGe, which is a middleware designed to provide the set of functionalities needed for storage virtualization, namely transparent reliable remote access to data and distributed data management. It supports the creation and management of shared virtual storage resources, aggregating distributed physical storage resources. However, ensuring the performance of data access in a grid environment is a major issue, as large amounts of data are stored and constantly accessed, and directly involved in task execution time. In particular, the placement and selection of replicated data are made especially difficult because of the dynamicity and heterogeneity of grid environments.

In this paper, we displayed "Admon" architecture and functionality. Admon traces both ViSaGe applications and system resource consumption (CPU, Disks, and Networks) in a scalable way. Thanks to a workload prediction model extending previous work [START_REF] Traboulsi | Admon: ViSaGe Administration And Monitoring Service For Storage Virtualization in Grid Environment[END_REF][START_REF] Frain | How To Achieve High Throughput With Dynamic Tree-Structured Coterie[END_REF], Admon allows data to be placed dynamically according to resource usage, and especially disk I/O workload, ensuring the best performance on data placement while limiting the monitoring overhead.

We are currently implementing DRMAA (Distributed Resource Management Application API) in Admon in order to fully automatize job scheduling based on Admon predictive models. DRMAA is the specification produced by the Open Grid Forum to standardize job submission and management in distributed environments. Using this specification will allow Admon to interact with many job scheduling systems like Condor or Sun Grid Engine.

Figure 1 :

 1 Figure 1: Visage's architecture

Figure 2 :

 2 Figure 2: Admon's Architecture

Figure

  Figure 3: I/O time vs Workload variation

  find a method to compute the B . B is a component of equation 4. B is calculated from the trace of several collected time measurements needed for data placement on the disk, representing the time used by the physical operations.

  B will be used to predict the behavior of the I/O workload, and (in future work) the data placement time on the disk devices.

Figure 4 :

 4 Figure 4: Predicted vs Measured Time for Data Placement on Disk

Table 1 :

 1 Error vs I/O workload variation a workload in progress on node2, and node3 being an idle node, Admon has to make a decision according to the nodes' workload state before executing the administration replica command. Table2shows data used by Admon to compute the

	I/O Workload	Error
	percentage level
	0	3.27
	10	4.91
	20	1.65
	30	1.21
	40	2.61
	50	2.33
	60	0.44
	70	3.01
	80	0.37
	Thus, having ) (S T	time of equation 2.

Table 2 :

 2 information used by Admon This table shows the effect of the I/O workload variation on the predicted I/O time, and shows that the results presented in

	From node1 to node2	From node1 to node3
	t n	(S	)	t p	(S	)	t n	(S	)	t p	(S	)
	0.43		1.36		0.43		0.79
	0.43		1.54		0.43		0.79
	0.43		1.57		0.43		0.79
	0.43		1.93		0.43		0.79