Virgile Garcia
email: virgile.garcia@insa-lyon.fr

Nikolai Lebedev
email: lebedev@cpe.fr

Jean-Marie Gorce
email: jean-marie.gorce@insa-lyon.fr

Joint Coordinated Multicell Processing and MIMO: Selection of Base Stations and Gain

Keywords: Multi-cell processing, MIMO, capacity distribution, macro-diversity, small cells

In this paper, we provide the analysis of the downlink Coordinated Multiple Point (CoMP) used in conjunction with the basic MIMO. The CoMP is the joint multi-cell transmission from several BS to mobiles, coupled here to an open-loop MIMO technique that does not require the perfect channel state knowledge. We show by simulation, that even for 4 × 4 MIMO transmission, the CoMP can improve the spectral efficiency for some mobiles, depending on capacity outage requirements.

I. INTRODUCTION

Most of the upcoming wireless cellular systems standards implement a Multiple-Input Multiple-Output processing to exploit the spatial dimension, which is one of the key factors enabling high data rates over the wireless channel. More recently, a distributed MIMO in a multi-cell environment appeared as a breakthrough technology to improve the energycapacity trade-off in cellular networks [START_REF] Jing | Multicell downlink capacity with coordinated processing[END_REF]. On the other side, a network-wide, rather then single-link oriented vision lead to the introduction of the so-called Coordinated Multiple Points (CoMP), not for providing a huge increase of the total throughput [START_REF] Toskala | LTE advanced in 3GPP Release 10[END_REF], but rather to improve the SINR of cell edge users through the distributed spatial diversity. This is motivated by the obvious fact that in a very dense deployments with the reduced cell size and strong spatial frequency reuse (possibly with the whole spectrum resource made available within each cell, reuse-1 [START_REF] Necker | Towards frequency reuse 1 cellular FDM/TDM systems[END_REF], [START_REF] Alsawah | Optimal frequency-reuse partitioning for ubiquitous coverage in cellular systems[END_REF], the interference becomes the main limiting factor, especially at cell boundaries.

The main idea behind the CoMP is to enable the users at the cell edge to decode the joint transmissions from two or more BSs in the same frequency band. That way, a better coverage is ensured with less users experiencing outage, and thus, a more intense reuse of the spectrum in dense areas is allowed. Several cooperation techniques of CoMP have been studied in [START_REF] Bjornson | Distributed multicell and multiantenna precoding: Characterization and performance evaluation[END_REF], [START_REF] Hoydis | On the optimal number of cooperative base stations in network MIMO systems[END_REF]. The maximal sum-rate capacity has been derived in [START_REF] Jing | Multicell downlink capacity with coordinated processing[END_REF] providing an upper-bound and revealing the potential of the distributed MIMO.

Both CoMP and MIMO are often coupled to the Orthogonal Frequency Division Multiple Access (OFDMA) which became a de facto access technology for many of current and futur standards, due to the intrinsic capability of OFDM to compensate for the fading and to offer the fine granularity for resources sharing, by aggregating them into time-frequency resource blocks (RB).

The allocation of those RB either by using the interference avoidance via pattern based full or fractional reuse methods [START_REF] Necker | Towards frequency reuse 1 cellular FDM/TDM systems[END_REF], [START_REF] Necker | Local interference coordination in cellular ofdma networks[END_REF], [START_REF] Stolyar | Self-organizing dynamic fractional frequency reuse in ofdma systems[END_REF] or more recent interference coordination (ICIC) methods can be efficient only for large scale centrally planned cellular systems, whereas the future systems for dense areas with sporadic cells deployment will necessitate the automated network planning and optimisation. This has motivated the development of the concept of Self-Optimized and Self-Organized Networks (SON) [START_REF]E-UTRAN. Self-configuring and selfoptimizing network (SON) use cases and solutions[END_REF].

An example of a SON-compliant technique is the distributed power allocation and scheduling algorithm for the downlink (DL) based on local Signal-to-Interference Ratio (SIR) information only fed back by the mobile, proposed in [START_REF] Saad | Maximizing multicell capacity using distributed power allocation and scheduling[END_REF]. In every slot, the most interfering resources are switched off as long as this contributes to the overall capacity increase. Other contributions studied the influence of the partial feedback [START_REF] Simeone | Downlink multicell processing with limited-backhaul capacity[END_REF].

The main issue with the coordination is the huge amount of signalling required to exchange channel data, algorithms related parameters, as well as synchronisation data making it impractical due to backhaul limitations. Some CoMP variants, such as distributed beamforming or dirty-paper-coding require a perfect time synchronisation in order to distributively generate in-phase signals or efficient precoding patterns [START_REF] Bjornson | Distributed multicell and multiantenna precoding: Characterization and performance evaluation[END_REF]. We choose to rely on a practical Alamouti-like MIMO that solely requires users' mean Signal-to-Interference and Noise Ratios (SINR), computed from powers received from BS, but not the perfect CSI with estimation of channel coefficients. Thus, the required synchronisation between cooperating cells is reduced to the symbol time-scale, instead of the physical clock.

As the only required feedback is the block average SINR, the underlying technique is referred to as open-loop MIMO. We only study here a simplified attachment mechanism relying on constant transmission powers. At a first glance, this assumption may appear strongly suboptimal, but its main advantage relies on interference stabilisation. On the other hand, adapting a BS power to reduce interference on a given user has a limited effect due to the presence of numerous other interfering BSs. But the main advantage of this approach is the true distributed automatic adaptation and selection of resources based on local measurements only.

If it is easy in the literature to find works on multi-cell processing and clustering [START_REF] Papadogiannis | A dynamic clustering approach in wireless networks with Multi-Cell cooperative processing[END_REF], [START_REF] Zhang | Networked MIMO with clustered linear precoding[END_REF], it is harder to find a practical criterion to decide on cooperation. Most of the time, a predefined separation (based on distance or received signal strength) between inner and outer-users is considered, using Reuse1 or CoMP. Thus, the main goal of this paper is to provide the numerical evaluation, for three capacity metrics, of the potential gain of CoMP used in conjunction with the MIMO transmission.

Section II details the assumptions and the system modelling. Section III provides the CoMP selection procedure. Section IV presents the simulation results, followed by a conclusion.

II. SYSTEM MODEL

In the following, we denote (.) H the Hermitian transpose, I n an identity squared matrix of size n. We use bold lower case letters for vectors and bold upper case letters for matrices. By default, log refers to the binary logarithm. The present study focuses only on downlink and is based on a dense small cell scenario, which typically corresponds to urban conditions with a high density of base-stations to ensure coverage continuity and user requirements. We aim at optimising the association of users to base station(s), to maximise the per-BS spectral efficiency.

A. Assumptions

The proposed approach relies on the following rules and assumptions:

1) The whole system is considered as a snapshot and the time dimension is therefore omitted. 2) OFDMA-based physical layer is assumes (similar to that used in Wimax and LTE-A) and the per-block behaviour is considered, with a common beacon period followed up by a set of time-frequency RBs. 3) Each mobile is associated with at least one, the highest receiver power BS, referred to as the primary BS. 4) No power control is applied, therefore the interference level at a mobile user is almost stable, averaged blockwise over the fading, which is assumed Rayleigh frequency flat within a resource block. 5) The feedback channel allows each mobile to send a vector of average powers received from all neighbourhood BSs. The feedback data is not the exact transmit channel state (CSI-T), but a power level averaged over the whole frequency band. 6) We consider MIMO transmissions, with N t antennas at each BS and N r at each mobile.

B. Multi-cell coordination principle

The BSs distributed coordination for the CoMP algorithm holds in four steps: power sensing, CoMP capacity computation, CoMP mode selection and RB allocation. The first step is done by the mobiles while the three others are done by the primary BS.

1) Power sensing. Each mobile measures the average power received from each neighbour BS during the beacon period. It returns a powers vector

P = [P 1 , • • • , P N ]
to its primary BS.

2) CoMP capacity computation. A primary BS computes from each received P , the spectral efficiency resulting from different CoMP association. This procedure is detailed in next section. 3) Multiple BSs association. According the computed efficiency, the primary BS can then request help from other BSs, on a mobile per mobile basis. 4) The RB are allocated from many BSs. For the the sake of conciseness, we do not develop the algorithmic aspect here, let us only mention, that it is supposed that all the BSs accept the demands for cooperation and can offer enough resources for it.

C. CoMP with SISO links

The combination of signals from two or more BSs allows users to improve their SINR level: the total interference power is decreased significantly by using the strongest interferer(s) as useful signal(s).

Considering the SISO case, at a given mobile and on a given channel, the received (complex) signal is:

y = N n=1 h n √ p n g n x n + z, (1)
where n refers to transmitting antennas, considering N total cells in the system. z is the thermal noise, normal random variable with a σ z standard deviation. h n ∼ CN (0, 1) are the fast fading random variables with Rayleigh distributed envelope; x n is the transmitted corresponding symbol; p n and g n are respectively the transmitted power and the channel gain which comprises the path-loss and shadowing effects from the BS n to the mobile. Contrary to the fast-fading, the shadowing is considered as slowly varying with respect to the period of measurement reports from mobiles. We then suppose that P n = p n g n , the average received power (over fast-fading) is known at base stations. We note N the set of BSs that serve a given user in a coordinated manner, to create the MISO link, and N comp its cardinality. We can then write the received signal separating useful signal and interference as:

y = n∈N h n P n x n + k / ∈N h k P k x k + z (2)
We assume a perfect CSI known at receiver side and coherent detection, but CSI is not known at transmitter side and a spacetime code (such as Alamouti code for 2BSs) is used. The received SINR is then:

γ(N ) = n∈N |h n | 2 P n k / ∈N |h k | 2 P k + σ 2 z , (3)
The user's SINR obviously increases when more transmitting antennas are used to perform CoMP, thanks to the contribution of (strong) interferers. Moreover, CoMP offers a macro-diversity due to distant locations of the base stations. The capacity obtained, as the SINR, is a random variable that depends on the topology and fading realisations.

D. CoMP with MIMO links

Present standards already integrate not only one but several antennas at both receivers and transmitters. In downlink, the MIMO channel from a station n to a given mobile can be written as:

H n = √ g n A n ∈ C Nr×Nt ,
comprising the pathloss g n , and the Gaussian circular complex random matrix A. In the general MIMO case, the total received signal is:

y = p m N t H n x n + k =m p k N t H k x k + z, (4)
where y, x n , x k and z are complex vector of size N r that represent the total received signals, the transmitted signals from desired BS m and from interfering stations k = n and the noise, respectively. In our case, the matrices H are not known at transmitter side, so no particular precoding can be made and so E(x k x H k ) = I Nt . Assuming an ideal receiver, the mutual information of MIMO with interference channel is given by [START_REF] Blum | Mimo capacity with interference[END_REF]:

I(x n , y) = log det(I Nr + P n N t A n A H n R -1 ), (5)
where I Nr is a unitary diagonal matrix of size N r × N r and R =

k =n P k Nt A k A H k +σ 2 z I
Nr is referring to the interference and noise.

Now, looking at CoMP with MIMO, we associate antennas from few neighbouring BS to perform a (virtual) MIMO. Fig. 1 illustrates the scenario: a group of N comp BS transmitting with their N t antennas to a mobile, while stations that don't belong to N interfere. The received signal can be written as:

y = G n x n + k / ∈N H k x k + z, (6)
where x n ∈ C NtNcomp is the transmitted vector symbol, distributed on all serving antennas, and G n ∈ C Nr×NtNcomp , indexed by n, is the matrix that horizontally concatenates the matrices pn Nt H n , ∀n ∈ N . G s is similar to a N r × N t N comp MIMO channel with non identically distributed random variables, since the p n values are specific for each n. We can derive the mutual information as [START_REF] Blum | Mimo capacity with interference[END_REF][15, 10.3]:

I N (x n , y) = log det I Nr + G n G H n R -1 (7) = Rank r=1 log(1 + λ r (N )), (8)
with

R = k / ∈N P k Nt A k A H k + σ 2
z I Nr and with λ r and Rank ≤ min(N r , N t N comp ) being the eigenvalues of Γ(N ) = G n G H n R -1 and its rank, respectively. Eq.( 3) is a particular case of Γ for SISO links.

E. Outage probability

The probability for a channel of a given user with a set N of cooperating stations to be in capacity outage (ie. that fails to reach a target capacity C th ) is, for the SISO case [START_REF] Garcia | Outage Probability for Multi-Cell Processing under Rayleigh Fading[END_REF]:

P out N (C th ) = P log(1 + γ(N )) < C th = 1 - n∈N e -γ th σ 2 z Pn j∈N ,j =n P n P n -P j k / ∈N P n P k γ th + P n . (9)
For the MIMO case,

P out N (C th ) = P log det(1 + Γ(N )) < C th = P Rank r=1 log(1 + λ r ) < C th (10)
has no tractable distribution, to the best of authors knowledge. However, one can more easily look at numerical distribution, depending on each received power value. Let f λr be the empirical PDF of log(1+λ r ), for 1 < r < Rank, with respect to fading. Then, one can deduce the outage probability:

P out N (C th ) = C th x=0 f λ1 * • • • * f λ Rank (x)dx. (11)

III. SELECTION OF COOPERATING STATIONS

Since only the average channel gain over the block can be available for known fading distribution, but not the instantaneous channel state, one of the possible system metrics is the capacity with outage [15, 4.2.3]. The goodput C (bps/Hz), is defined as the user spectral efficiency resulting from successful transmissions.

C out (N ) = c 1 -P out N (c) , (12)
where c = log 2 (1 + γ(N )) is the transmission data rate. Typically, for any acceptable outage probability (e.g. 1%, 10%...) the corresponding transmission rate is deduced. If the outage is not the criterion for a given user, once the set N is chosen, his goodput can be maximised with respect to the transmission rate c.

C opt (N ) = max c c 1 -P out N (c) , (13)
Another possibility, linked to the information theory, is to evaluate the expectation of the mutual information, also referred to as Shannon, or ergodic capacity:

C exp (N ) = E(log det(1 + Γ(N ))) (14)
To fairly compare the performance of mobiles attached to one or several BSs, we need to take into account the cooperation cost, or the cost of resources due to it. Consider a cellular network in which the mobiles can cooperate with two BS. If we decide to attach the mobile to two BSs instead of one, the resource consumption for this mobile is doubled (one for each cooperating station). Thus, a criterion for a mobile to select two BSs is the fact to have the goodput with CoMP at least twice better than without it. That way, we minimise the total amount of resource required by a mobile. This can be generalised for any number into the following utility function, used for example in [START_REF] Zhang | Networked MIMO with clustered linear precoding[END_REF], [START_REF] Garcia | Multi-cell processing for uniform capacity improvement in full spectral reuse system[END_REF] and maximising a per-BS spectral efficiency S(bps/Hz/BS):

S(N ) = C(N ) N comp , ( 15
)
where C is the capacity metric used, and could be either C out , C opt or C exp . To optimise network resources consumption, we then need to maximise S(N ) on N , for each user. The next section provides numerical results for the selection of the optimal N comp value.

IV. NUMERICAL RESULTS

To illustrate the interest of MIMO-CoMP, we present in this section the study of the probability for a mobile to select a given number N comp of cooperating BSs to optimise its own spectral efficiency.

The target system is supposed to use OFDMA, where the entire bandwidth is divided into narrowband blocks to form time-frequency resource slots (e.g. in LTE, a Resource Block (RB) corresponds to a 200 kHz bandwidth). We focus here on a per-block study, and so the outage probability and capacity formulations provided in previous sections, which are valid for a narrowband analysis, still hold.

The simulation setup is as follows. The BS are uniformly distributed on a 2D-plan, the propagation model is that of 3GPP MIMO Line-Of-Sight [START_REF]Rel-9. Spatial channel model for MIMO simulations[END_REF], with parameters' values resumed in Table I. According to this model, we simulate the received power levels at the mobiles. Up to N comp = 8 cooperating BSs are considered here for practical reasons.

Figure 2 shows the fraction of users that choose N comp BS to cooperate in order to maximise [START_REF] Goldsmith | Wireless Communications[END_REF]. Four different cases are presented here, referring to the following metrics: The impact of the outage requirement on the CoMP selection can be easily observed from the first two figures. The general tendency is that for a very low capacity outage probability (which can be required for example by a real-time application), the fraction of users that makes use of the CoMP is reduced. This is natural, since the mobiles tend to take the full advantage of the macro-diversity, in order to reduce the interference and eventually to create a link with a higher matrix rank. Nonetheless, both for 1% and 10% capacity outage it is

t =1, N r =1 N t =2, N r =1 N t =4, N r =1 N t =1, N r =2 N t =2, N r =2 N t =4, N r =2 N t =1, N r =4 N t =2, N r =4 N t =4, N r =4 (a)
N t =1, N r =1 N t =2, N r =1 N t =4, N r =1 N t =1, N r =2 N t =2, N r =2 N t =4, N r =2 N t =1, N r =4 N t =2, N r =4 N t =4, N r =4 (b)
N t =1, N r =1 N t =2, N r =1 N t =4, N r =1 N t =1, N r =2 N t =2, N r =2 N t =4, N r =2 N t =1, N r =4 N t =2, N r =4 N t =4, N r =4 (c)
N t =1, N r =1 N t =2, N r =1 N t =4, N r =1 N t =1, N r =2 N t =2, N r =2 N t =4, N r =2 N t =1, N r =4 N t =2, N r =4 N t =4, N r =4 (d)
t =1, N r =1 N t =2, N r =1 N t =4, N r =1 N t =1, N r =2 N t =2, N r =2 N t =4, N r =2 N t =1, N r =4 N t =2, N r =4 N t =4, N r =4
Fig. 3: CDF of the users' relative gain in spectral efficiency between CoMP and no-CoMP. Outage requirement: 10%. interesting to notice that even for (4×4) MIMO only 50% and 60% of users will not select the CoMP, while for the others the CoMP still can be useful to increase the spectral efficiency.

If the outage is not taken into account (which can be used, for instance, to maximise the total throughput), the CoMP is less employed by mobile, since some diversity gain is already taken into account by exploiting the whole distribution of the capacity. However, 40% to 50% of mobiles using the optimised goodput method still prefer to be attached to more than one BS. This percentage falls to about 20% when looking at expectation, but this metric imposes the transmitter to instantaneously adapt its transmission rate to the fading realisation, which is not feasible in practice. In the last two cases, it is interesting to note that the number of transmitting and receiving antennas has a very low impact on the CoMP choice. Obviously, this does not mean that capacities using different antennas numbers is the same or that the gain using CoMP is similar, but rather that the same fraction of users will still gain by using a CoMP.

Figure 3 illustrates spectral efficiency gain of the CoMP. It shows the CDF of users' relative gain in spectral efficiency, dividing (15) using the optimal N by [START_REF] Goldsmith | Wireless Communications[END_REF] with card(N ) = 1, when a 10% outage probability is required. For instance, about 60% of SISO communications double their spectral efficiency with CoMP, while about 20% of 2×2 MIMO communications have a 50% gain. One can see no user will decrease its capacity using CoMP since the mobile can choose a single serving BS if needed. Following the previous remarks, we show here that the gain provided by CoMP is more significant when few antennas are set at mobiles and BSs. V. CONCLUSION Since frequency planning or manual configuration is hardly practical in small cells, interference management through inter-cell coordination is one of the promising key features of future wireless standards. This paper analysed an openloop CoMP with MIMO Rayleigh channels and showed its utility by pointing out the probability for mobiles to improve their spectral efficiency by selecting several BS. To satisfy low outage constraints, more mobiles require a multiple BS attachment to benefits from lower interference and higher diversity.

Fig. 1 :

 1 Fig.1: MIMO cooperative transmission by N comp BS with N t antennas to the mobile with N r antennas, together with the co-channel interference from non-cooperating BSs.

  Fig.2a uses (12) with a fixed outage P out N (R) = 1%; Fig.2b uses (12) with a fixed outage P out N (R) = 10%; Fig.2c uses (13); and finally Fig.2d uses (14) (note that y-axis scale differs in the last sub-figure).

Fig. 2 :

 2 Fig. 2: Selection of the optimal N comp depending on the N t × N r MIMO scheme used and the desired outage. (a) Capacity outage: 1% (b) Capacity outage: 10%, (c) Optimised goodput, (d) Expectation.

  HzPath-loss (dB)[START_REF]Rel-9. Spatial channel model for MIMO simulations[END_REF], d in m. -30.18 -26 log 10 (d)

	Parameter	Value
	BS density	100 BS/km 2
	RB Transmit power	10 dBm
	RB Bandwidth	200 kHz
	Thermal noise density -174 dBm/Shadowing standard dev. 4dB
	Max (Nr, Nt, Ncomp)	(4,4,8)

TABLE I :

 I Simulation parameters.

ACKNOWLEDGEMENT

This work has been carried out in the frame of the joint lab between INRIA and Alcatel-Lucent Bell Labs on "Self Organizing Networks".


Constantinos Makassikis

Virgine Galtier

Stéphane Vialle

A Javaspace-based Framework for Efficient Fault-Tolerant Master-Worker Distributed Applications

Keywords: master-worker, framework, distributed fault tolerance, checkpointing, user-framework-middleware cooperation

We propose a framework built around a JavaSpace to ease the development of bag-of-tasks applications. The framework may optionally and automatically tolerate transient crash failures occurring on any of the distributed elements. It relies on checkpointing and underlying middleware mechanisms to do so. To further improve checkpointing efficiency, both in size and frequency, the programmer can introduce intermediate user-defined checkpoint data and code within the task processing program. The framework used without fault tolerance accelerates application development, does not introduce runtime overhead and yields to expected speedup. When enabling fault tolerance, our framework allows, despite failures, correct completion of applications with limited runtime and data storage overheads. Experiments run with up to 128 workers study the impact of some user-related and implementation-related parameters on overall performance, and reveal good performances for classical JavaSpace-based master-worker application profiles.

distributed applications for the layman. The purpose of such a distribution is usually to speedup or size-up using cheap parallel machines. Yet, faults are more likely to happen in that context. Hence, fault tolerance (FT) becomes mandatory. Moreover, in an industrial context, applications are often subject to time constraints. For example, some long financial applications are run overnight and their results are expected by morning to decide on the strategy to follow for the day. Therefore, FT must also be efficient by enabling the application to (1) deliver correct results despite failures, (2) run with limited runtime and data storage overheads when no failures occur, and (3) waste as little work and time as possible on failure recovery. Automatic and frequent checkpointing at system level avoids restarting the application from the beginning after a failure by resuming execution on recovery from a recent checkpoint. However, it often leads to extensive data transfer and backup as the whole context of the application is saved. Application-level checkpointing allows a finer selection of data which must be saved but makes application development and testing more complex. Such an approach clearly does not fit laymen. Our second contribution is to propose an intermediate solution, with optional user-tunable framework-level checkpointing to ensure efficient FT by exploiting the programmer's knowledge of the application's semantics. We target applications that can be parallelized according to the MW distribution pattern. FT mechanisms in our framework are interesting mainly for applications with long runtimes and medium to coarse grain task sizes. Moreover, we deal with transient crash failures resulting from hardware/software weaknesses or maintenance operations rather than application development errors or malicious faults.

Thereafter, we present our framework for MW applications (Section 2) and delve into the mechanisms supporting its automatic and user-defined FT (Sections 3 and 4). Next we present related works (Section 5) and preliminary evaluation results (Section 6). Finally, we summarize our work and propose future extensions (Section 7).

A framework for MW applications (without fault tolerance)

Our framework is designed above a variant of the MW pattern where the master assigns each worker a new task as soon as the latter has returned the result of its previous task. This leads to a natural load balancing as fastest workers get assigned new tasks more frequently. The master may choose different termination conditions: it could be that all initial tasks have been processed. Alternatively, the master can provide tasks to workers till reaching the desired result accuracy. Besides master and workers entities, we can emerge the concept of a pool of tasks and results to further structure the pattern between data-oriented components (the pool) and processing-oriented components (master and workers).

INRIA

Considering no tight-coupling between processing entities is mandatory, information exchanges can be made through a third-party representing the pool. An advantage of that solution is to migrate part of the master and worker complexity towards the pool. Besides the software design gain it represents, this solution allows to use existing middleware to implement the pool and to benefit from its operative FT mechanisms. JavaSpace originated from Linda programming model [START_REF] Gelernter | Generative communication in Linda[END_REF] and enables programs to exchange Java objects through a virtual shared memory. It comes as a Jini service and we use it as the substratal layer for the pool implementation in our solution. Fig. 1 illustrates the resulting framework architecture and the relationships between components: the master posts to the JavaSpace the tasks it was provided with by the user, and starts observing the JavaSpace for the arrival of results. Whenever it takes a result from the JavaSpace, the master re-evaluates the distributed computation termination condition. Results post-processing may lead to the creation of new tasks which are posted to the JavaSpace. When the termination condition is reached, the master posts a special message into the JavaSpace to signal the computation end to all workers. On its end, a worker retrieves a task from the JavaSpace, processes it and posts the yielded result to the JavaSpace. A worker quits after reading the master's stop message in the JavaSpace.

Developing with the framework

Restricting the form of the application code to the structures described above allows us to propose generic classes for the Master, Worker, Task and Result objects. These classes take care of discovering the appropriate Jini resources, and they execute the flow of operations. The programmer inherits his classes from ours and only needs to write domain-specific code (cf. italic portions in fig. 1).

We illustrate this process by using our framework to distribute the computation of an approximation of π through a Monte-Carlo method. To distribute that algorithm according to the MW pattern, the master generates N random points and posts them into the JavaSpace. Each worker takes a point, computes whether it lies within the unit circle and returns a boolean result. The master counts the positive results and divides that number by N to compute an approximation of π.

Using the mawork ("master -worker") package of our framework, the programmer starts by defining what constitutes a task (PiTask) and a result (PiResult): P i R e s u l t r e s u l t = new P i R e s u l t ( ) ; r e s u l t . i s I n s i d e = ( ( Math . s q r t ( ( t . x * t . x ) + ( t . y * t . y ))) <=1); r e t u r n r e s u l t ; } p u b l i c PiNonFTWorker ( S t r i n g lookupAddress , S t r i n g spaceName ) throws j a v a . rmi . RemoteException { s u p e r ( lookupAddress , spaceName , PiTask . c l a s s ) ; } } Lastly, the programmer writes the master's checkTermination method (cf. code below) which the base class calls upon each result retrieval. If this method returns true, the base class writes a stop order and executes the programmerprovided postProcess method; otherwise it waits for a new result. p u b l i c c l a s s PiNonFTstatMaster e x t e n d s mawork . Master<PiTask , P i R e s u l t > { p r i v a t e i n t nbPostedTasks ; p u b l i c PiNonFTstatMaster ( S t r i n g lookupAddress ,

INRIA

S t r i n g spaceName , Vector<PiTask> i n i t i a l T a s k s ) { s u p e r ( lookupAddress , spaceName , i n i t i a l T a s k s , P i R e s u l t . c l a s s ) ; nbPostedTasks = i n i t i a l T a s k s . ( Vector<P i R e s u l t > r e s u l t s ) { i n t nbIn = 0 ; i n t nbOut = 0 ; f o r ( i n t i =0; i <r e s u l t s . s i z e ( ) ; i ++) ( r e s u l t s . g e t ( i ) . i s I n s i d e ) ? nbIn++ : nbOut++; System . out . p r i n t l n ( "

p i =" + ( d o u b l e ) ( 4 * ( d o u b l e ) nbIn / ( nbIn+nbOut ) ) ) ; } }
In this example, the Master does not post new tasks atop the ones provided at the beginning. However, our API provides an addTask(Task) method to do so when needed.

Generic fault tolerance

When FT is enabled, the framework automatically performs some operations to guarantee no task or result is lost should some entity fail. These operations preserve application consistency, and ensure only the faulty element needs to be restarted.

Description of the fault tolerance protocol principles

Basically, a task or result does not entirely leave a node till it is safely checkpointed at its new location.

When a worker retrieves a task (i.e.: take operation), it immediately saves it locally and the JavaSpace "remembers" that task till it gets the confirmation the worker has saved it (cf. Section 3.2). Thus, if the worker fails before having successfully saved the task, the latter remains available on the JavaSpace for another worker. Otherwise, the task permanently exits the JavaSpace. Afterwards, the worker keeps the initial task checkpoint till that task is processed and the corresponding result is successfully posted on the JavaSpace (i.e.: write operation). Hence, if the worker fails during task processing or a problem occurs when posting the result, the task is still available and can be re-processed by the worker.

The master keeps three items: a list of tasks to be posted, the number of tasks currently written in the JavaSpace and a list of retrieved results. Whenever a list changes, the master checkpoints itself by saving these three items. In the general case, the master does not need any other information to recover from a failure. The "take and save" operation is atomic, just as when the worker retrieves a task from the JavaSpace.

Concerning network FT, Jini (and thus, the framework) relies on TCP to deal with potential message loss.

Implementation with middleware fault tolerance

The framework is written in Java and built on top of Jini services, which allows us to take advantage of existing FT mechanisms. Firstly, checkpoint and restore operations are eased by Java serialization/deserialization process. This constitutes an interesting advantage specially for the neophyte user. Other languages (e.g.: C/C++) do not provide such facilities and programmers have to resort to third-party libraries which do not reach the same level of automation.

Secondly, the JavaSpace service comes in two flavors: transient (in-memory) or persistent. We use the latter version, where the JavaSpace keeps track on disk of any modification of its content so as to have the exact same entries upon recovery than right before the crash.

Thirdly, the framework uses Jini's transactions service to ensure the "take from JavaSpace and save locally" operation is atomic (same for "write to JavaSpace and erase locally"): the take method is executed within a transaction which gets committed only after the associated checkpoint operation succeeds. If the master (or worker) fails between the retrieval of an entry and the end of its disk-write operation, the transaction times out and the entry remains on the JavaSpace. The transaction lease duration is an important parameter: if chosen too short, the lease will expire before the end of the checkpoint operation; and if chosen too long, it will take time before a failure is detected. The adopted strategy chooses a reasonably small duration and mandates a local process to regularly renew the lease (till the operations under transaction finish): if the machine hosting the master (or a worker) fails, the local process does not renew the lease which will expire and cancel the operations under transaction.

Enabling fault tolerance and restarting after failures

To use the generic FT, the programmer needs only to make his classes derive from tomawork ("tolerant mawork") package instead of mawork. No other change is needed to benefit from the FT mechanisms described in section 3.2.

Upon recovery, the JavaSpace looks for and loads its last persisted state. Master and workers need to be specified the "rego" command line parameter to do the same. Since it relies on RMI [START_REF]Java RMI Specification[END_REF], the JavaSpace can be made activatable. This feature automatically starts a service whenever it is requested. Thus, it can be used to automatically restart a failed JavaSpace. As for master and workers, full implementation of failure detection mechanisms will help automating their recovery.

INRIA

4 User-defined checkpoints Section 3.1 presented a FT solution which may fall short when (1) each task lasts a considerable amount of time, (2) failures are not so rare, and (3) the application is submitted to soft time constraints. Therefore, our framework enables some collaborations with the programmer which help improving the initial FT based on the programmer's knowledge of the execution environment and the application semantics.

Programmer's contribution and framework internals

The programmer may choose to enable or disable FT mechanisms independently on the Master, Worker or JavaSpace entities. For example, if the JavaSpace service runs on a very reliable machine, the user can choose the transient version of the service. We thus exploit the user's knowledge of the target platform to save costly FT related operations. We also exploit his application knowledge: for example, if a Monte-Carlo application can tolerate some irregularity in the generated random numbers sequence, the loss of a task may not be very serious and FT may be relaxed on workers.

The programmer can segment the task processing code into blocks whose runtime is not negligible. A checkpoint is taken at the end of each block. The programmer is thus in charge of defining the checkpoint frequency.

Once a block is completed, most of its internal variables are not useful anymore and remembering the intermediate result of the block is enough to pursue with next block. Instead of saving the whole process context, we once again put the programmer's knowledge to contribution by asking the programmer to specify the minimum required data. Right before calling the checkpointing method, the programmer constructs a serializable object containing all the information required to restart the execution from that point.

Upon restart, the framework is responsible for retrieving the checkpoint and passing the information along to the computation method. After adding intermediate checkpoints to his worker computation code, the programmer needs to specify how to resume computation from the saved information. To facilitate checkpoint management, intermediate checkpoint locations are numbered according to a user-supplied index starting at 1 (0 is reserved for the framework initial and automatic checkpoint).

Example

Hereafter we consider the code of a mock application: p u b l i c MockResult compute ( MockTask t ) { i n t i = Aux . method1 ( t ) ; i n t sum = 0 ; f o r ( i n t j =0; j <5; j ++) sum += Aux .

Related Work

MW style of computation is very popular and widespread. The Internet-based BOINC platform [3] uses the MW paradigm to harness the computing power of internet users for various scientific applications. Given the nature of their computing environment, BOINC applications are more concerned by malicious than crash failures, and hence rely on task replication and rescheduling. In more controlled environments, such as PC clusters where computing resources are less but more secure, existing FT solutions focus on crash failures and rely on checkpointing. When implemented "from scratch", MW applications may easily be made fault-tolerant using system-level checkpointing: MPICH-V [START_REF] Bouteiller | MPICH-V: a Multiprotocol Fault Tolerant MPI[END_REF] provides such support for arbitrary MPI applications using the BLCR sequential checkpointer [START_REF] Hargrove | Berkeley Lab Checkpoint/Restart (BLCR) for Linux Clusters[END_REF]. However, such approach does not simplify the writing of MW applications and its FT is agnostic to the MW pattern resulting in sub-optimal efficiency. Therefore, several efforts have been made to relieve the programmer from low-level implementation aspects and let him concentrate on the application. MW-Condor is a MW API easing MW applications development on top of Condor high-throughput computation environment [START_REF] Goux | An Enabling Framework for Master-Worker Applications on the Computational Grid[END_REF]. Likewise, ProActive grid middleware provides a MW API on top of its active objects programming model [START_REF][END_REF]. GridRPC and MapReduce programming models resulted in middleware such as DIET [START_REF]DIET User's Manual[END_REF] that inherently follow a MW pattern. Most of these approaches deal with workers failures by making the master reschedule corresponding failed tasks. The master's FT, when present, consists in periodic checkpointing of the master. When the latter fails, the whole application is restarted from such a checkpoint. As a result, (1) FT burden is entirely placed on the master, and (2) all computation done by worker(s) before they (or the master) fail(s) is lost. Using Java and JavaSpace technology, our framework proposes a very simple MW API to ease fault-tolerant MW application development. Unlike existing approaches, our framework provides a generic FT where only failed components undergo recovery. Moreover, our framework enables several collaborations with the programmer to improve overall efficiency by relaxing the generic FT and enabling him to introduce intermediate application-level checkpoints during tasks processing on the workers.

Framework evaluation

Extensive testing attests that an application developed with our framework yields correct results, even in the presence of potentially concomitant failures. We evaluate our framework according to: (1) the ease of development, (2) the framework's efficiency without any FT, (3) the FT incurred overhead, and (4) the recovery quickness.

Tests were lead on a Linux 256-PC cluster with Gigabit Ethernet. The framework used Jini 2.1 and SUN's JVM 1.6.0 11. JVMs of the master and of each worker run on separate nodes. An additional node runs the Jini services. We use as benchmark a mock application where we can vary the tasks number as well as their duration and size. All tasks share the same settings and result size equals task size.

Ease of developing MW applications

Writing the mock application without our framework needed 107 logical lines of source code (LLSC): it required knowledge of the JavaSpace API and understanding of the Jini discovery mechanism. With our framework, the mock application needed only basic Java programming skills and resulted in just 62 LLSC. Moreover, the resulting application is fault-tolerant. We expect it will prove easier to develop using the framework than "from scratch".

Framework overhead without fault tolerance

Our framework introduces a thin layer between the application and the Javaspace API which may incur some overhead. A comparison of runtimes achieved by the framework-based implementation of the mock application and the frameworkless one, show that without any FT, our framework does not introduce any overhead.

Fault tolerance overhead without failures

Persistence, transactions and checkpoints are sources of overheads. To begin with, we did not notice any negative influence of concurrent accesses: executing 64 tasks on 64 workers takes the same time as executing 128 tasks on 128 workers.

Using a persistent JavaSpace is more costly than a transient one as it involves disk I/O operations. Given a disk subsystem, that cost should depend on the JavaSpace entries size (tasks and results) and their number. To assess the cost of JavaSpace persistence, we measured the runtime of the mock application without any FT, and then, with only the JavaSpace persistence. We used 128 nodes and 2048 tasks of 120s each. Overhead remains almost constant when varying entries size (up to 10000 doubles) and does not exceed 7s in all cases. With entries size fixed at 1000 doubles, absolute overhead increases linearly as entries number increases exponentially (cf. Table 1). These experiments verify that persistence slightly decreases the JavaSpace performance; but that considered data volumes do not seem to matter in our case. We do not consider bulkier data for it is far more efficient to indicate their remote location (using URLs) than to make them transit through the JavaSpace. Concerning transactions overhead, our experiments reveal an almost constant overhead when increasing the entries number (till 8192) with 128 nodes and tasks of 120s and 1000 doubles.

Checkpoint operations overhead depends on checkpoint size and frequency. As a result, observed overhead on workers was low given the relatively low task sizes and checkpoint frequency. However, systematic checkpoint of the master (i.e.: after each modification of its lists) amounted to a huge overhead. We believe that keeping track of the modifications only will greatly mitigate that overhead.

Table 2 reports the mock application runtimes when varying the workers number. Parameters are similar to the ones which could be encountered in a real-life application: 10000 tasks of 1000 doubles and lasting 30s. Experimental runtimes achieved without any FT (3 rd column) are really close to theoretical runtimes (2 nd column). Experimental runtimes (4 th column) achieved with full FT on workers and the Javaspace but only transactions on the master (i.e.: no checkpointing) testify to negligible overhead (< 0.8%). This setting fits a configuration where the master runs on a very reliable host. We expect similar results with the improved checkpointing on the master. Achieved performances should satisfy most users, especially in view of the low effort they have to provide.

Recovery delay

To measure the recovery time, we compare the failure-free runtime of a run with one worker executing a single task of 120s, to the total runtime of the application when the worker fails after 55s. This yields a runtime of 176s (i.e.: 120+55+1). By introducing an intermediate checkpoint after 40s, the worker finishes in 136s (i.e.: 120+(55-40)+1). In both cases, the additional 1s-overhead accounts for the recovery time and results from small checkpoint size of 1000 doubles. Similar results were obtained with other failure times which shows the interest of intermediate checkpoints.

Conclusion and perspectives

We have presented a framework to facilitate the development of bag-of-tasks applications. Non-specialist programmers have fewer and easier code to write, and the resulting application achieves good performances. Moreover, the application can tolerate concomitant transient crash failures of any of its elements. Given not too small application grain, FT mechanisms introduce acceptable overhead. For long-running tasks, the programmer can add intermediate checkpoints at strategic locations, and include only the necessary data to further improve FT performance. Performance is directly related to the underlying middleware and is expected to improve using a performance-oriented JavaSpace (e.g.: GigaSpaces).

Future works are envisioned along three lines. Firstly, we must improve the master's checkpoint strategy. Secondly, the framework can easily be extended to funnel checkpoints to a remote location so as to guard against permanent node failures. Lastly, it would be useful for non-specialists users to augment the framework with automatic resources discovery, deployment and fault detection mechanisms; we could again rely on Jini mechanisms for that.

Figure 1 :

 1 Figure 1: Overall architecture and data exchanges

  p u b l i c c l a s s PiTask e x t e n d s mawork . Task { p u b l i c Double x , y ; p u b l i c PiTask ( ) {} p u b l i c PiTask ( Double x , Double y ) { x = x ; y = y ; } } p u b l i c c l a s s P i R e s u l t e x t e n d s mawork . R e s u l t { p u b l i c Boolean i s I n s i d e ; p u b l i c P i R e s u l t ( ) {} } Next, he implements the worker's compute method (cf. class PiNonFT-Worker below) which processes a PiTask to produce a PiResult. The programmer still has to name the Jini resources he wants to use since multiple instances may be available. p u b l i c c l a s s PiNonFTWorker e x t e n d s mawork . Worker<PiTask , P i R e s u l t > { p u b l i c P i R e s u l t compute ( PiTask t ) {

  s i z e ( ) ; } p u b l i c b o o l e a n c h e c k T e r m i n a t i o n ( Vector<P i R e s u l t > r e s u l t s ) { r e t u r n r e s u l t s . s i z e ( ) == nbPostedTasks ; } p u b l i c v o i d p o s t P r o c e s s

  method2 ( i ) ; b o o l e a n b = Aux . b l o c k 2 ( sum ) ; MockResult br = Aux . o p e r a t i o n 3 ( b ) ; r e t u r n br ; } i = ( I n t e g e r ) c . g e t I n t e r m e d i a t e R e s u l t ( ) ; e l s e { MySave ms = ( MySave ) c . g e t I n t e r m e d i a t e R e s u l t ( ) ; sum = ms . sum ; i = ms . i ; j = ms . j ; } f o r ( ; j <5; j ++) { sum += Aux . method2 ( i ) ; s = new MySave ( sum , i , j ) ; c h e c k p o i n t ( t , j +2, s ) ; } b = Aux . b l o c k 2 ( sum ) ; s = b ; c h e c k p o i n t ( t , 7 , s ) ; } e l s e { // chPt i d = 7 b = ( Boolean ) c . g e t I n t e r m e d i a t e R e s u l t ( ) ; } MockResult br = Aux . o p e r a t i o n 3 ( b ) ; r e t u r n br ; }

  Nous proposons un framework construit au-dessus d'un JavaSpace pour faciliter le développement d'applications de traitement par lot. Le framework peut facultativement et automatiquement tolérer des pannes temporaires survenant sur n'importe lequel de ses éléments. Pour y parvenir, le framework repose sur la réalisation de points de reprise (ou sauvegardes) et des mécanismes de l'intergiciel sous-jacent. Pour améliorer davantage l'efficacité des sauvegardes en taille et en fréquence, le programmeur peut introduire des points de reprise intermédiaires au sein des tâches de travail. Virtual shared memory architectured solution . . . . . . . . . . . 2.2 Developing with the framework . . . . . . . . . . . . . . . . . . . Description of the fault tolerance protocol principles . . . . . . . 3.2 Implementation with middleware fault tolerance . . . . . . . . . 3.3 Enabling fault tolerance and restarting after failures . . . . . . .

	Un framework fondé sur Javaspace pour le Contents 1 Motivation and objectives
	développement d'applications distribuées 1 Motivation and objectives PC Clusters are becoming common facility in many organizations (science re-
	search centres, financial companies...). Yet, most users unfamiliar with dis-Maître-Travailleur tolérantes aux pannes et 2 A framework for MW applications (without fault tolerance) tributed computing do not exploit them, mainly because they do not know how efficaces to write parallel programs. The first contribution of our work is to provide a 2.1 3 Generic fault tolerance framework which considerably eases the development of master-worker (MW)
	3.1 7 Conclusion and perspectives

Résumé : L'utilisation du framework permet d'accélerer le développement d'applications. Lorsque la tolérance aux pannes est désactivée, le framework n'introduit aucun surcoût à l'exécution et produit les accélerations attendues. Lorsqu'elle est activée, le framework assure la terminaison correcte de l'application malgré l'occurrence de pannes. Des expériences jusqu'à 128 travailleurs étudient l'impact sur la performance globale de paramètres liés à l'utilisateur ou à l'implantation. De bonnes performances sont observées pour des profiles classiques d'applications JavaSpace de type Maître-Travailleur.

Mots-clés : maître-travailleur, framework, tolérance aux pannes distribuée, point de reprise, coopération utilisateur-framework-intergiciel 4 User-defined checkpoints 4.1 Programmer's contribution and framework internals . . . . . . . 4.2 Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Related Work 6 Framework evaluation 6.0.1 Ease of developing MW applications . . . . . . . . . . . . 6.0.2 Framework overhead without fault tolerance . . . . . . . . 6.0.3 Fault tolerance overhead without failures . . . . . . . . . 6.0.4 Recovery delay . . . . . . . . . . . . . . . . . . . . . . . .

Table 1 :

 1 Entries number influence on JavaSpace persistence overhead.

	INRIA

Table 2 :

 2 Overall performances.

RR n°7496

Acknowledgment

This research is partially supported by Region Lorraine.

This research is partially supported by Region Lorraine * LORIA/Nancy-Université † SUPELEC -UMI-2958

Let us say method1 is quite time-consuming; it is worth checkpointing the value of i. If the programmer also wants to checkpoint after each call to method2, he needs to create a serializable object containing the values of i, j and sum. Supposing block2 result is also worth saving we have: i n t sum , i , j ; MySave ( i n t sum , i n t i , i n t j ) { sum = sum ; i = i ; j = j ; } } Since the framework does not enforce a structure on the computational code, it is up to the programmer to specify how to resume from a checkpoint situation:


Quoc Vuong

Patrick Dang

Ruth V Dular

Laurent Sabariego

Christophe Krähenbühl

Geuzaine

Vuong Q Dang

Patrick Dular

Ruth V Sabariego

Laurent Krähenbühl

Christophe Geuzaine

Subproblem Approach for Thin Shell Dual Finite Element Formulations

Keywords: Eddy current, finite element method (FEM), magnetodynamics, subproblem method (SPM), thin shell

published or not. The documents may come

I. INTRODUCTION

T HE solution by means of the subproblem method (SPM) provides advantages in repetitive analyses and also helps improving the overall accuracy of the solution [START_REF] Dular | Correction of thin shell finite element magnetic models via a subproblem method[END_REF], [START_REF] Dular | Finite Element Magnetic Models via a Coupling of Subproblems of Lower Dimensions[END_REF]. The SPM allows to benefit from previous computations instead of starting a new complete finite element (FE) solution for any variation of geometrical or physical characteristics. Furthermore, each subproblem has its own separate meshe, which increases computational efficiency.

The SPM for dual finite element b-and h-formulations are herein developed within the thin shell (TS) framework [START_REF] Dular | Correction of thin shell finite element magnetic models via a subproblem method[END_REF][START_REF] Krähenbühl | Thin layers in electrical engineering. Examples of shell models in analyzing eddy-currents by boundary and finite element methods[END_REF][START_REF] Geuzaine | Dual formulations for the modeling of thin electromagnetic shells using edge elements[END_REF]. A first problem (SP 1) involving massive or stranded inductors alone is solved on a simplified mesh without thin regions. Its solution gives surface sources (SSs) for a second problem TS (SP 2) through interface conditions (ICs), based on a 1-D approximation [START_REF] Krähenbühl | Thin layers in electrical engineering. Examples of shell models in analyzing eddy-currents by boundary and finite element methods[END_REF], [START_REF] Geuzaine | Dual formulations for the modeling of thin electromagnetic shells using edge elements[END_REF]. The TS solution is then corrected in a third problem (SP 3) via SSs and VSs, that suppress the TS representation and add the actual volume, to take the field distribution of the field near edges and corners into account, which are poorly presented by the TS approximation. The method is validated on test problems with comparison with a classical FE method.

II. DEFINITION OF THE SUBPROBLEM APPROACH A. Canonical magnetodynamic or static problem

A canonical magnetodynamic or static problem p, to be solved at step p of the subproblem approach, is defined in a domain Ω p , with boundary ∂Ω p = Γ p = Γ h,p ∪ Γ b,p . The eddy current conducting part of Ω p is denoted Ω c,p and the non-conducting region Ω C c,p , with

Ω p = Ω c,p ∪ Ω C c,p . Stranded inductors belong to Ω C c,p
, whereas massive inductors belong to Ω c,p . The equations, material relations and boundary conditions (BCs) of SPs p = 1, 2 and 3 are:

curl h p = j p , div b p = 0 , curl e p = -∂ t b p , (1a-b-c) h p = µ -1 p b p + h s,p , b p = µ p h p + b s,p , (2a-b) j p = σ p e p + j s,p , e p = σ -1 p j p + e s,p , (3a-b) n × h p | Γh,p = j su,p , n • b p | Γb,p = b su,p , (4a-b) n × e p | Γe,p⊂Γb,p = k su,p , (4c)
Manuscript received July 01, 2011. Corresponding author: Vuong Q.Dang (e-mail: quocvuong.dang@ulg.ac.be).

where h p is the magnetic field, b p is the magnetic flux density, e p is the electric field, j s,p is the electric current density, µ p is the magnetic permeability, σ p is the electric conductivity and n is the unit normal exterior to Ω p . The notation

[•] γp = | γ + p -| γ - p
expresses the discontinuity of a quantity through an interface γ p (with sides γ + p and γ - p ) in Ω p , defining interface conditions (ICs).

The fields h s,p , b s,p , j s,p and e s,p in (2a)-( 2b) and (3a)-(3b) respectively are VSs which can be used to account for changes of permeability or conductivity in each SP. The fields j su,p , b su,p and k su,p in (4a-b-c) are SSs and generally equal zero for classical homogeneous BCs. Their discontinuities via ICs are also equal to zero, for common continuous field traces. If nonzero, they define possible SSs that account for particular phenomena occuring in the idealized thin region between γ + p and γ - p [START_REF] Dular | Perturbation Finite Element Method for Magnetic Model Refinement of Air Gaps and Leakage Fluxes[END_REF], [START_REF] Dular | A perturbation method for computing field distortions due to conductive regions with h-conform magnetodynamic finite element formulations[END_REF]. A typical case appears when some field traces in a previous problem are forced to be discontinuous, whereas their continuity must be recovered via a correction problem p; with the SSs fixed as the opposite of the trace solution of previous SP.

B. From inductor alone to TS

The constraints for SPs 1, 2 and 3 are respectively expressed via SSs and VSs. VSs are considered in Section II-C. SSs are defined via the BCs and ICs of impedance-type boundary conditions (IBC) combined with contributions from SP 1. The TS model [START_REF] Geuzaine | Dual formulations for the modeling of thin electromagnetic shells using edge elements[END_REF] is written as a SP following the already calculated inductor source field from SP 1. The b-formulation uses a magnetic vector potential a (such that curl a = b), written as a = a c +a d [START_REF] Geuzaine | Dual formulations for the modeling of thin electromagnetic shells using edge elements[END_REF]. A similar analogous decomposition is done for the h-formulation, with h = h c + h d . Fields a c , h c and a d , h d are respectively continuous and discontinuous through the TS.

Let us analyse the SS case in both b-and h-formulations as follows:

1) Constraint of SPs for b-formulation: Even if there is no thin region in SP 1, we have to forsee its future addition in order to get a relative constraint between SP 1 and SP 2 via the corresponding ICs with γ t = γ ± t = γ ± 1 = γ ± 2 and n t = -n for the TS. One has for SPs 1 and 2 [START_REF] Geuzaine | Dual formulations for the modeling of thin electromagnetic shells using edge elements[END_REF],

[n × h 1 ] γ1 = n × h 1 | γ + 1 -n × h 1 | γ - 1 = 0, (5)
[n × h] γ2 = [n × h 1 ] γ2 + [n × h 2 ] γ2 = σβ ∂ t (2a c + a d ), (6) n × h 1 | γ 2 + + n × h 2 | γ 2 + = 1 2 σβ ∂ t (2a c + a d ) + 1 µβ a d , (7)
β = γ -1 p tanh( d p γ p 2 ), γ p = 1 + j δ p , δ p = 2/ωσ p µ p , (8)
where d p is the TS thickness, δ p is the skin depth, ω = 2πf , j is the imaginary unit. For δ p d p , one has β ≈ d p /2. In statics, ( 6) is equal to zero. The discontinuity

[n × h 1 ] γ2 in (6)
does not need any correction because solution SP 1 presents no such discontinuity, i.e.

[n × h 1 ] γ1 = [n × h 1 ] γ2 = 0.
2) Constraint of SPs for h-formulation: One gets for SPs 1 and 2 [START_REF] Geuzaine | Dual formulations for the modeling of thin electromagnetic shells using edge elements[END_REF],

[n × e 1 ] γ1 = n × e 1 | γ + 1 -n × e 1 | γ - 1 = 0, (9)
[n × e] γ2 = [n × e 1 ] γ2 + [n × e 2 ] γ2 = σβ ∂ t (2h c + h d ), ( 10
) n × e 1 | γ 2 + + n × e 2 | γ 2 + = 1 2 σβ ∂ t (2h c + h d ) + 1 µβ h d . (11)
Analogously, for b-formulation in statics, ( 10) is equal to zero. The discontinuity [n × e 1 ] γ2 in [START_REF] Geuzaine | A Galerkin projection method for mixed finite elements[END_REF] does not need any correction because solution SP 1 verifies [n × e 1 ] γ2 = 0.

C. From TS to volume model

The TS solution in SP 2 is next corrected by SP 3 that overcomes the TS assumptions [START_REF] Geuzaine | Dual formulations for the modeling of thin electromagnetic shells using edge elements[END_REF]. The VSs for SP 3 are thus [START_REF] Dular | Correction of thin shell finite element magnetic models via a subproblem method[END_REF], [START_REF] Dular | A perturbation method for computing field distortions due to conductive regions with h-conform magnetodynamic finite element formulations[END_REF],

h s,3 = (µ -1 3 -µ -1 2 )b 2 , b s,3 = (µ 3 -µ 2 )h 2 , (12a-b) j s,3 = (σ 3 -σ 2 )e 2 , e s,3 = (σ -1 3 -σ -1 2 )j 2 . (13a-b)
In order to correct the TS model, one has to suppress the TS representation via SSs opposed to TS ICs, and to add the actual volume shell via VSs that account for volume changes of µ p and σ p from the properties of ambient region in SP 2 to these of volume shell in SP 3 (with µ 2 = µ 0 , µ 3 = µ volume , σ 2 = 0 and σ 3 = σ volume ). This correction can be limited to the neighborhood of the shell, which allows to benefit from a reduction of the extension of the associated mesh [START_REF] Dular | Correction of thin shell finite element magnetic models via a subproblem method[END_REF].

III. FINITE ELEMENT WEAK FORMULATIONS A. Magnetic Vector Potential Formulation

The weak b p -formulation is obtained from the weak form of the Ampere's law (1a), i.e. [START_REF] Dular | Correction of thin shell finite element magnetic models via a subproblem method[END_REF]- [START_REF] Dular | Perturbation Finite Element Method for Magnetic Model Refinement of Air Gaps and Leakage Fluxes[END_REF]. For SPs 1 and 2, they read

(µ -1 1 curl a 1 , curl a 1 ) Ω1 + n × h 1 , a 1 Γh,1 + n × h 1 , a 1 Γb,1 +[n × h 1 ] γ1 , a 1 γ1 = (j s,1 , a 1 ) Ω1 , ∀a 1 ∈ F 1 1 (Ω 1 ) , ( 14
) (µ -1 2 curl a 2 , curl a 2 ) Ω2 + (σ 2 ∂ t a 2 , a 2 ) Ω2 + (σ 2 grad v 2 , a 2 ) Ω2 n × h 2 , a 2 Γh,2 + n × h 2 , a 2 Γb,2 + [n × h 2 ] γ2 , a 2 γ2 = 0 , ∀a 2 ∈ F 1 2 (Ω 2 ) , (15)
where F 1 p (Ω p ) is a gauged curl-conform function space defined on Ω p , gauged in Ω C c,p , and containing the basis functions for a as well as for the test function a (at the discrete level, this space is defined by edge FEs; the gauge is based on the tree-cotree technique); (• , •) Ω and < • , • > Γ respectively denote a volume intergal in Ω and a surface intergal on Γ of the product of their vector field arguments. The surface integral terms on Γ h,p account for natural BCs of type (4a), usually zero. The unknown term on the surface Γ b,p with essential BCs on n.b p is often omitted because it does not locally contribute to (14). It will be shown to be the key for the post-processing a solution, a part of which n × h p | Γb,p , is used as a SS in further problems [START_REF] Dular | Perturbation Finite Element Method for Magnetic Model Refinement of Air Gaps and Leakage Fluxes[END_REF], [START_REF] Dular | A perturbation method for computing field distortions due to conductive regions with h-conform magnetodynamic finite element formulations[END_REF].

The term [n × h 2 ] γ2 , a 2 γ2 in (15) can be rewritten as:

[n × h 2 ] γ2 , a 2 γ2 = [n × h 2 ] γ2 , a c + a d γ2 = [n × h 2 ] γ2 , a c γ2 + [n × h 2 ] γ2 , a d γ2 , (16)
where a d and a c are test functions; a d is defined as equal to zero on the TS side γ - 2 [START_REF] Geuzaine | Dual formulations for the modeling of thin electromagnetic shells using edge elements[END_REF]. To explicitly express the field discontinuities, ( 16) is also rewritten as 17) is given by ( 6), i.e. 17) related to the positive side of the TS is given by ( 7), suppressing n × h 1 | γ + 2 of SP 1 and adding the actual TS BC. For that, the term n×h 1 , a d γ 2 + is a SS that can be naturally expressed via the weak formulation of SP 1 in (14), i.e.

[n × h 2 ] γ2 , a γ2 = [n × h 2 ] γ2 , a c γ2 + n × h 2 , a d γ 2 + . (17) The h p trace discontinuity [n × h 2 ] γ2 , a c γ2 in (
[n×h 2 ] γ2 , a c γ2 = [n×h] γ2 , a c γ2 = σβ ∂ t (2a c +a d ), a c γ2 . (18) The term n × h 2 , a d γ 2 + in (
-n × h 1 , a d γ + 2 = (µ -1 1 curl a 1 , curl a d ) Ω2=Ω1 . ( 19
)
The contribution of the volume integral in ( 19) is limited to a single layer of FEs on the posittive side of

Ω + 2 = Ω + 1 touching γ + 2 = γ + 1 , because it involves only the traces n × a d | γ + 2
. At the discrete level, the source a 1 , initially in mesh of SP 1, has to be projected in mesh of SP 2 [START_REF] Dular | Correction of thin shell finite element magnetic models via a subproblem method[END_REF], [START_REF] Geuzaine | A Galerkin projection method for mixed finite elements[END_REF]. The TS SP 2 solution of (15) is then corrected by SP 3 via the VSs by (10a) and (11a). Fields have also to be transferred from the mesh of TS SP 2 to the mesh of SP 3. From that, the weak form for SP 3 is

(µ -1 3 curl a 3 , curl a 3 ) Ω3 + (σ 3 ∂ t a 3 , a 3 ) Ωc3 + n × h 3 , a 3 Γh,3 +n × h 3 , a 3 Γb,3 + (σ 3 grad v 3 , a 3 ) Ωc3 + (h s,3 , curl a 3 ) Ω3 +(j s,3 , a 3 ) Ωc3 = 0, ∀a 3 ∈ F 1 3 (Ω 3 ) . (20)

B. Magnetic Field Formulation

The weak h p -formulation is obtained from the weak form of the Faraday's equation (1c) [START_REF] Dular | Correction of thin shell finite element magnetic models via a subproblem method[END_REF], [START_REF] Dular | A perturbation method for computing field distortions due to conductive regions with h-conform magnetodynamic finite element formulations[END_REF]. The field h p is split into two parts, h p = h s,p + h r,p , where h s,p is a source field defined by curl h s,p = j s,p , and h r,p is unknown. For SPs 1 and 2, one has

∂ t (µ 1 h 1 , h 1 ) Ω1 + ∂ t (µ 1 h s1 , h 1 ) Ω1 + n × e 1 , h 1 Γe,1 + [n × e 1 ] γ1 , h 1 γ1 = 0 , ∀h 1 ∈ F 1 1 (Ω 1 ) . ( 21
) ∂ t (µ 2 h 2 , h 2 ) Ω2 + (σ -1 2 curl h 2 , curl h 2 ) Ω2 + n × e 2 , h 2 Γe,2 +[n × e 2 ] γ2 , h c γ2 + ∀h 2 ∈ F 1 2 (Ω 2 ) , (22)
where F 1 p (Ω p ) is a curl-conform function space defined on Ω p and containing the basis functions for h as well as for the test function h . The surface integral terms on Γ e,p account for natural BCs of type (4c), usually zero.

The term [n × e 2 ] γ2 , h 2 γ2 in (22) expresses as:

[n × e 2 ] γ2 , h γ2 [n × e 2 ] γ2 , h c + h d γ2 = [n × e 2 ] γ2 , h c γ2 + [n × e 2 ] γ2 , h d γ2 , (23)
where h d and h c are test functions; h d is equal to zero on the TS side γ - 2 [START_REF] Geuzaine | Dual formulations for the modeling of thin electromagnetic shells using edge elements[END_REF]. The field discontinuity term in ( 23) becomes 24) is given by [START_REF] Geuzaine | A Galerkin projection method for mixed finite elements[END_REF], i.e. 24) is given by ( 11), suppressing n × e 1 | γ + 2 of SP 1 and adding the actual TS BC. Thus, the term n × e 1 , h d γ 2 + is a SS that can be naturally presented via the weak formulation of SP 1 in (21), i.e.

[n × e 2 ] γ2 , h γ2 = [n × e 2 ] γ2 , h c γ2 + n × e 2 , h d γ 2 + . (24) The e p trace discontinuity [n × e 2 ] γ2 , h c γ2 in (
[n×e 2 ] γ2 , h c γ2 = [n×e] γ2 , h c γ2 = σβ ∂ t (2h c +h d ), h c γ2 . (25) The term n×e 2 , h d γ 2 + in (
-n × e 1 , h

d γ + 2 = (µ 1 ∂ t h s1 , h d ) Ω1 + (µ 1 ∂ t h 1 , h d ) Ω1 . ( 26
)
The contributions of the volume integrals in (26) are also limited to a single layer of FEs on the posittive side of

Ω + 1 = Ω + 2 touching γ + 2 = γ + 1 , because it involves only the traces n × h d | γ + 2
. At the discrete level, the source h 1 , initially in mesh of SP 1, has to be projected in mesh of SP 2 [START_REF] Dular | Correction of thin shell finite element magnetic models via a subproblem method[END_REF], [START_REF] Geuzaine | A Galerkin projection method for mixed finite elements[END_REF]. The inaccurate TS SP 2 solution of ( 22) is then corrected by SP3 via VSs by (12b) and (13b). The weak form for SP 3 is

∂ t (µ 3 h 3 , h 3 ) Ω3 + (σ -1 3 curl h 3 , curl h 3 ) Ω3 + ∂ t (b s,3 , h 3 ) Ω3 +(e s,3 , curl h 3 ) Ω3 + n × e 3 , h 3 Γe3 = 0, ∀h 3 ∈ F 1 3 (Ω 3 ) . ( 27
)

C. TS Correction-VSs in the Actual Volumic Shell

Changes of material properties from µ 2 and σ 2 to µ 3 and σ 3 are taken into account in (20) and ( 27) via the volume integrals (h s,3 , curl a

3 ) Ω3 , (j s,3 , a 3 ) Ωc3 and (e s,3 , curl h 3 ) Ω3 , ∂ t (b s,3 , h

3 ) Ω3 . The VS h s,3 is given by (12a), with b 2 = curl a 2 (at the discrete level, the source a 2 in (20) is initially given in mesh of SP 2 and must be projected in mesh of SP 3). The VS j s,3 is given by (13a), generally reduced to j s,3 = σ 3 e 2 = σ 3 (-∂ t a 2grad v 2 ). Potential v 2 can generally be fixed to zero. The VS e s,3 in (19b) is to be obtained from the still undetermined electric field e 2 , with e s,3 = (σ 2 /σ 3 -1)e 2 . Indeed, the field e 2 is unknown in Ω C c,2 . Its determination requires to solve an electric problem defined by the Faraday and electric conservation equations, with regard to the electric constitutive relation [START_REF] Dular | A perturbation method for computing field distortions due to conductive regions with h-conform magnetodynamic finite element formulations[END_REF].

IV. APPLICATION EXAMPLE The first test problem is a shielded induction heater. It comprises two stranded inductors, a plate in the middle, and two screens (µ screen = 1, σ screen = 37.7 MS/m) (2-D, Fig. 1). It is first considered via an SP 1 with the stranded inductors alone (Fig. 2, top left, a 1 ), adding a TS FE SP 2 (Fig. 2, top right, a 2 ) that does not include the inductor anymore. Finally, an SP 3 replaces the TS FEs with actual volume FEs (Fig. 2, bottom middle, a 3 ). The complete solution is shown as well (Fig. 2, bottom right, a 1 +a 2 +a 3 ). The magnetic flux density error on TS SP 2 is pointed out through the relative correction (Fig. 3, top), for different plate parameters. Significant errors can reach 85% in the end regions of the plate. Accurate local corrections are checked to be close to the complete volume FE solution by SP 3 (Fig. 3, bottom). The TS longitudinal magnetic flux and eddy current density are obtained via the relative correction as well (Fig. 4). They can reach several tens of percents in the shells, such as 60% near the screen ends (Fig. 4, top), with δ = 0.92 mm, or 40% (Fig. 4, bottom), with δ = 1.59 mm.

The second test problem is the TEAM problem 21 (model B, coil and plate, Fig. 5). The inacccuracies on the Joule power loss density of TS SP 2 are pointed by the importance of correction SP 3 (Fig. 6). The error on TS SP 2 solution along the vertical half edge (z-direction) can reach 75% at the middle of the plate (Fig. 6, top), or 80% along the horizontal half inner width (x-direction) (Fig. 6, bottom), with δ = 2.975 mm and d = 10mm in both cases. The errors diminish for a smaller thickness (d =2mm), being lower than 18.85% (Fig. 6, top, bottom). Distribution of eddy current density on the TS SP 2 and in the actual volume SP 3 for d = 2mm and d = 10mm are depicted in Fig. 5 (from left to right).

V. CONCLUSIONS

The correction of inaccuracies of a TS model has been done via an SPM. Accurate eddy current, power loss density and magnetic flux distributions are successfully obtained at the edges and corners of the thin regions. All the steps of the method have been illustrated and validated with the b-and hformulations in 2D and 3D cases. In particular, it has been successully applied to the TEAM problem 21.

-form, d=2mm, µ r =100 h-form, d=2mm, µ r =100 b-form, d=4mm, µ r =100 h-form, d=4mm, µ r =100 b-form, d=4mm, µ r =200

Fig. 1 . 1 a 3 a 2 a 1 + a 2 + a 3 Fig. 2 .

 1132132 Fig. 1. Shielded induction heater (d = 2÷ 6 mm, L pl = 2 m, Ls = 2 m+2d , Hs = 0.4 m, C dx = 0.8 m, C dy = 0.01 m, Cy = 0.2 m, Cx = 0.05 m) a 1

  solution b(%) Position along half-plate, from the middle to the end (m) b-form, d=2mm, µ r =100 h-form, d=2mm, µ r =100 b-form, d=4mm, µ r =100 h-form, d=4mm, µ r =100 b-form, d=4mm, µ r along half-plate, from the middle to the end (m) b

Fig. 3 .

 3 Fig. 3. The TS errors on the magnetic flux density along the plate (top) and comparison of the corrected solution (bottom) with aclassical FE volume model, with different effects of d, µr (σ plate = 1 MS/m, f = 1kHz)

Fig. 4 .

 4 Fig. 4. Relative correction of the longitudinal magnetic flux (top) and eddy current density (bottom) along the screen for effects of d and frequency f (µ plate = 100, σ plate = 1 MS/m), with b-form.

Fig. 5 .

 5 Fig. 5. TEAM problem 21 (1/4th of the geometry, magnetodynamics); eddy current density for the TS SP 2 and volume SP 3 solution (from left to right); for error reaching 18.85% with d = 2mm and 77.3% with d = 10mm (f = 50 Hz, µ plate = 100, σ plate = 6.484 MS/m).

2 ) 3 W/m 2 )Fig. 6 .

 2326 Fig. 6. Joule power loss density between TS and VS solution along vertical half edge (top) and horizontal half inner width (bottom), with effect of different thicknesses d (µ plate = 100, σ plate = 6.484 MS/m and f = 50Hz).