Marwa Yusuf
email: marwa.yusuf@ejust.edu.eg

Ahmed El-Mahdy
email: ahmed.elmahdy@ejust.edu.eg

Erven Rohou
email: erven.rohou@inria.fr.

Runtime On-Stack Parallelization of Dependence-Free For-Loops in Binary Programs

Keywords: Compilers, Runtime, Optimization, Parallelization, Binary, Pthreads, On-Stack Replacement. !

With the multicore trend, the need for automatic parallelization is more pronounced, especially for legacy and proprietary code where no source code is available and/or the code is already running and restarting is not an option. In this paper, we engineer a mechanism for transforming at runtime a frequent for-loop with no data dependencies in a binary program into a parallel loop, using on-stack replacement. With our mechanism, there is no need for source code, debugging information or restarting the program. Also, the mechanism needs no static instrumentation or information. The mechanism is implemented using the Padrone binary modification system and pthreads, where the remaining iterations of the loop are executed in parallel. The mechanism keeps the running program state by extracting the targeted loop into a separate function and copying the current stack frame into the corresponding frames of the created threads. Initial study is conducted on a set of kernels from the Polybench workload. Experiments results show from 2× to 3.5× speedup from sequential to parallelized code on four cores, which is similar to source code level parallelization.

INTRODUCTION

W HILE multicore processors are the current trend, a lot of sequential software still exist. Hence, parallelization is highly demanded. However, parallelization is a challenging task. While many approaches have considered parallelizing programs, most of them assume the availability of source code, where higher level of semantics exists, they introduce the burden of decompiling binary into some intermediate format to analyze, transform and recompile or at least they require restarting the program. Parallelization at the binary level directly at runtime without restarting has the advantage of being more general, allowing for speeding up legacy long-running code (specially real-time applications where the cost of restarting is high), with minimal time overhead. However, transformation of loops into parallel form is much challenging due to low level of semantics available in such programs. Also, transformation at runtime requires a way to manage execution state.

In this paper, we introduce a novel mechanism for automatic parallelization transformation of for-loops with no loop-carried dependencies 1 in binary running programs at runtime. For-loops are very common in a lot of applications, especially scientific applications. Runtime parallelization, rather than static parallelization, makes use of the actual runtime information, like the underlying architecture, the available memory and processors, the runtime variables' values that affect conditions, etc. This information enables more realistic and effective parallelization without the need for too much conservativeness that is needed in case of static parallelization. Our mechanism parallelizes binary directly with no need for source code. This enables the parallelization of legacy code, proprietary code and when the cost of development cycle is too high.

1. Dependence analyses are out of the scope of this paper. Hence, we assume that the dependence analyses for such a loop is known at runtime. Examples for this situation is when an earlier binary analyses phase is conducted and the loops are proven to have no dependencies.

Our mechanism is implemented as an extension to the Padrone platform [START_REF] Riou | Padrone: a platform for online profiling, analysis, and optimization[END_REF]. Padrone works by attaching itself to the targeted program and then profiles and analyzes the program. Our mechanism then parallelizes the remaining loop iterations using pthreads, and then continues execution after the loop normally. The main advantages of this mechanism are that it applies directly to running binary code. This means that there is no need for source code, debugging information, raising the code to a higher level, or restarting the program. Also, it assumes neither a specific parallel architecture (like GPU for example) nor a specific parallel application.

In summary, our main contributions are:

1) Extracting and parallelizing a general for-loop with no loop carried dependence at runtime to a separate parameterized function that accepts loop boundaries as parameters. 2) Allowing for parallelizing the remaining iterations of a forloop through on-stack replacement of the serial function with the parallel one. 3) Conducting an initial performance investigation of the proposed mechanism.

The rest of this paper is organized as follows: Section 2 provides a brief background about the Padrone system. Section 3 explains the introduced design. Section 4 conducts an initial study on a small set of Polybench kernels assessing the applicability and performance of our mechanism. Section 5 discusses related work. Finally, Section 6 concludes and suggests possible future work.

BACKGROUND

Binary rewriting is a technique that helps in dealing with executable directly without the need for source code. This is specially important in case of legacy and proprietary software. There are a number of tools which use binary rewriting for different purposes, like profiling, analyzing, optimizing or obfuscating existing binaries [START_REF] Bruening | Efficient, transparent, and comprehensive runtime code manipulation[END_REF], [START_REF] Luk | Pin: Building customized program analysis tools with dynamic instrumentation[END_REF], [START_REF] Nethercote | Valgrind: a framework for heavyweight dynamic binary instrumentation[END_REF]. Padrone [START_REF] Riou | Padrone: a platform for online profiling, analysis, and optimization[END_REF] is a platform to profile, analyze and optimize running binary codes without the need for either source code, debugging information or restarting the program. As Figure 1 shows, the platform provides an API to create clients (represented by user code section) that perform any of the mentioned tasks. Padrone achieves very lightweight detection of hotspots thanks to the use of the hardware performance monitoring unit (PMU). Contrarily to many other dynamic binary optimizers, Padrone is not linked to its target and does not share its address space. Instead, Padrone executes in a different process from its target, and interacts through Linux mechanisms. Attaching and detaching are done with the ptrace system call, as well as reading/writing target registers. The memory is accessed through the /proc/PID/mem pseudo-filesystem. As opposed to popular tools such as Pin or DynamoRIO which generate traces for all executed code, Padrone executes most of the target code in-place, and relies on a code cache only for modified code (instrumented or optimized), thus favoring performance and transparency, i.e. minimizing the impact on the behavior of the target.

PROPOSED DESIGN

Figure 1 provides an overview of our proposed system. Our system is a parallelization client that is implemented using Padrone API and runs within its own addressing space, in addition to some new functions added to Padrone API. The input to our system is a running binary program (target addressing space) along with profiling and analyses information. Profiling and analyses determine the currently executing hot function containing a for-loop candidate for parallelization (with no carried dependencies). These information can be obtained from an external dynamic binary profiler and analyzer, like Prospector [5]2 . After the above preprocessing, the parallelization client starts the parallelization process (without interrupting the running target binary program) by creating a code cache, in the target address space. The client then promotes the selected for-loop as a function (a tranformation named outlining), prepares parallelization functions, and inserts them into the code cache. Finally, the client traps the loop (at an iteration's start), extends the stack frame and copies it into code cache, and inserts a jump to the parallelization code. The following subsections explain the loop outlining, parallelization function preparation, and stack copy operation in detail.

Loop Outlining

The client considers only regularly structured for-loops. It extracts the loop iterator's stack location, the loop head parts (initialization, condition and increment), and the loop body code. It generates a corresponding new function, (loopy, Proc. 1), and stores it into the code cache. Loopy function starts by a prologue that accepts as a Procedure 1 Oulined Function Structure (loopy) procedure LOOPY(para) for i ← para.start to para.end do loop body end for end procedure parameter a struct (para) that contains the loop boundaries, and sets the loop head accordingly, i.e. the initialization and condition of the loop are set to start and end fields of para struct, respectively.

Following the prologue, loopy function has the loop body with the increment and back edge. The original back edge is modified to jump to the new loop head. Padrone takes care of adjusting global addresses relative to the code cache address.

Parallelization Code

The parallelization code itself (Proc. 2) is a code file containing a special function (parallel). This function takes the remaining iterations' boundaries (lower, and higher) and the address of the stack frame data in the code cache (explained more in the following section) as parameters. The parallel function creates a number of threads as needed, and set stacks for these threads by copying the extended stack frame from code cache into them. Also, it creates an equal number of para parameters that contain loop boundaries to send to loopy function. The remaining iterations are divided between threads. The return address of this function is set to the address of the instruction directly following the original loop, afterLoopAddress. Then, this file is compiled at runtime by the Padrone system, providing all runtime actual addresses of the targeted function, afterLoopAddress; and any required library functions. The resulting object file is inserted into the code cache. A long jump instruction is inserted at the start of the original loop to the address of parallel function in the code cache. Thus, at the start of the next loop iteration, the execution transfers to parallel function, and after completion, execution returns to afterLoopAddress instruction.

Stack Frame

The targeted loop is not necessarily the only part of the function, i.e. the function may contain work before and after the loop. Our mechanism only parallelizes the targeted loop, and leaves the remaining function code executing intact. That is done by copying the function's stack frame at the start of the loop to the code cache. Commonly, the stack is defined by current stack and base pointers' values. The mechanism is to copy the memory area between these two addresses. There is no need to recover the stack map as loop body code is not changed, and all loop local variables are private 3 . We may copy 3. Currently, we are only considering local variables to be allocated into the stack; however, future work, can include register allocated variables, by simply copying the whole register set in the corresponding function. unused stack entries, however, this does not affect correctness. The stack frame in code cache is extended to accommodate for the loopy parameter (para). Then, this extended stack frame is copied into individual stacks of every created thread. Hence, each thread executing loopy function finds an image of the stack with all the original function variables plus the parameter para. Also, afterLoopAddress is passed to the parallelization code, to be used as the return address. This way, execution continues after the parallelized loop normally.

EXPERIMENTS, RESULTS AND ANALYSIS

To present initial performance results, we consider three kernels from the Polybench benchmark suite [START_REF] Pouchet | Polybench: The polyhedral benchmark suite[END_REF]. Polybench contains a number of benchmarks that are simple and have for-loops with no loop carried dependencies; and each benchmark is contained in one file that is easy to tune during compilation for the experiment. The kernels used are 2mm, 3mm and covariance, listed in Table 1, with the number of hot for-loops to parallelize listed for each kernel. The parallelization client is run during the execution of each loop within each kernel function. The reported execution times represent only the execution time of the kernel function. The experiments are done on an Optiplex 980 Dell desktop with Intel Core i7 CPU 860 @ 2.80 GHz and 15.6 GiB and running Ubuntu 16.04. The kernel programs are compiled using gcc 5.4 using -O0 (no optimization).

In Figure 2 we measure (for each benchmark) the execution time for the serial kernel function, and for the parallelized kernel function with four threads both when the source code is parallelized and when the binary code is parallelized using our mechanism. We consider four threads to reflect the underlying architecture with four cores. The figure shows the speedup of the three selected kernels over the corresponding serial versions and parallelizing almost the whole program (above 98 % of iterations). The results show about 3.5× speedup for 2mm and 3mm kernels, and about 2× speedup for covariance kernel. The lower speedup in case of covariance kernel is due to load imbalance due to the nature of the loop code (iterations differ in the amount of work, where the first iteration performs much more work than the last one). The measured time includes the parallelization process itself (overhead), the profiling time and the small number of iterations that are executed serially before applying parallelization. The same figure also reports the performance of kernels parallelized by the compiler from source code. It shows that our mechanism's performance is almost identical to source code parallelization performance.

In Figure 3 we show the execution time when parallelizing 20 %, 40 %, 60 % and 80 % of iterations, respectively, to assess how much our mechanism may reduce execution time according to the amount of work remaining in the program. As the speedup concluded from Figure 2 for 2mm kernel is almost perfect, the linear behaviour here is expected. However, in case of covariance kernel, speedup is not achieved with small amount of iterations parallelized. Also, this figure accounts for the overhead of any processing (profiling and analysis) before actual parallelization, as it shows that there is considerable speedup gained even when only small part of the iterations is parallelized.

In Figure 4 we show the execution time when parallelizing with different number of threads. The performance of one thread parallelization, compared to serial execution, reflects the overhead of the parallelization process, as it includes only the parallelization client work (profiling, outlining loop, injecting parallelization code, etc.) and fork-join of one thread, without any gain from parallelization. As shown in the figure, the overhead is almost negligible. Table 2 lists this overhead for each kernel. The performance almost doubles from one to two threads and from two to four threads in case of 2mm and 3mm kernels. This behaviour changes from four to eight threads, due to the fact that there are only four cores, hence contention starts to affect speedup gained.

RELATED WORK

In our mechanism, we perform binary code parallelization at runtime and we keep the running program state by copying the stack frame. As much as we know, this is the first mechanism that can apply parallelization on binaries at runtime, automatically without any static information, or hardware support and without the need to restart the running program.

Binary parallelization

Most of automatic binary parallelization systems work by rewriting binaries statically [START_REF] Kotha | Automatic parallelization in a binary rewriter[END_REF], [START_REF] Pradelle | Polyhedral parallelization of binary code[END_REF]. Another set of approaches recompile and instrument binaries statically which requires restarting the program [START_REF] Zhou | Guided automatic binary parallelisation[END_REF]. In our work we rewrite binaries dynamically at runtime, hence allowing for optimizing long running applications, without the need for restart. Some techniques require uplifting binary into intermediate representation (IR) to perform analysis and preparations for parallelization (and possibly optimization itself) statically [START_REF] Yardımcı | Dynamic parallelization and mapping of binary executables on hierarchical platforms[END_REF], [START_REF] Hallou | Runtime vectorization transformations of binary code[END_REF], [START_REF] Hong | Improving simd parallelism via dynamic binary translation[END_REF]. While this simplifies the transformation process, it adds extra time overhead for uplifting process. In our work, optimization is applied on the binary directly. Another kind of approaches parallelize at runtime with the help of compile-time generated information [START_REF] Jimborean | Dynamic and speculative polyhedral parallelization using compiler-generated skeletons[END_REF], [START_REF] Caamaño | APOLLO: Automatic speculative polyhedral loop optimizer[END_REF]. Our mechanism does not need any compiler cooperation, hence, it is applicable for executables where source code is not available. Also, there are hardware supported approaches [START_REF] Yang | Feasibility of dynamic binary parallelization[END_REF]. Our mechanism needs neither hardware support, nor specific features of hardware.

The most similar approach to our work is that of Nakamura et al. [START_REF] Nakamura | Automatic vectorization by runtime binary translation[END_REF], where they have introduced an automatic vectorization system that operates on binaries at runtime. However, it works only on three specific kinds of programs; linear search, loops that have super word level parallelism and data level parallelism. Whenever the system identifies one of these cases during the analysis phase, a special function is generated using extracted data from targeted binary code, and a long jump is inserted into the start of the targeted function that jumps to the newly generated function. As the jump is at the start of the function, they need to wait for another call to the function, which may never happen in some programs, hence no optimization is gained. In our mechanism, the jump is inserted at the start of the loop. This is more challenging as it requires keeping the function stack state so executing the parallelized loop does not damage the original function execution, but it adds the benefit of parallelizing during function execution, which is crucial in case of long running functions, and also in case that this long function is called only once.

OSR

OSR has been used for different usages: deferred compilation and/or optimization [START_REF] Paleczny | The Java Hotspot TM server compiler[END_REF], [START_REF] Soman | Efficient and General On-Stack Replacement for Aggressive Program Specialization[END_REF], [START_REF] Chambers | Making pure object-oriented languages practical[END_REF], [START_REF] Fink | Design, implementation and evaluation of adaptive recompilation with on-stack replacement[END_REF], [START_REF] Süßkraut | Prospect: A compiler framework for speculative parallelization[END_REF], deoptimizing code for debugging [START_REF] Hölzle | Debugging optimized code with dynamic deoptimization[END_REF], for speculation rollback [START_REF] Wimmer | One compiler: deoptimization to optimized code[END_REF], [START_REF] Flückiger | Correctness of speculative optimizations with dynamic deoptimization[END_REF] or for obfuscation [START_REF] Yusuf | On-stack replacement to improve JIT-based obfuscation a preliminary study[END_REF]. However all these techniques assume the availability of the source code and/or some compile time preparations. Our mechanism performs OSR on binary code at runtime, without any static preparations. Also, in contrast to most techniques, our mechanism transfers the stack state to several threads dynamically, and execution transfers to theses threads during function execution, not at the next call.

CONCLUSION AND FUTURE WORK

In this paper we presented a mechanism that parallelizes for-loops with no dependencies dynamically at runtime. Our mechanism does not need source code, debugging information or restarting the program. It parallelizes binary directly with no uplifting to higher representation, minimizing overhead. The speedup measured for the selected kernels is about 2× to 3.5× on four cores. Also, the speedup is almost identical to that achieved by source-level parallelization with negligible overhead. The mechanism uses OSR for managing the state of the parallelized loop with no need to restart the targeted function.

As a future work, we will generalize the mechanism more to work on other types of loops and optimization levels and experiment with more benchmark kernels. Also, we will integrate the mechanism into a full system that profiles and analyzes binary on the run. At a later step, we will add speculation to account for the code that contains possible dependencies.

Fig. 1 :

 1 Fig.1: System Overview (The items in "user code" block explain the action arrows

Fig. 3 :

 3 Fig. 2: Parallelization Mechanism Performance (using 4 threads)

Fig. 4 :

 4 Fig. 4: Speedup with Different Numbers of Execution Threads TABLE 2: Mechanism Overhead when Parallelizing with 1 Thread kernel 2mm 3mm covariance overhead (second) 0.9 0.4 2.5

target addressing space executable code cache (cc)

	PADRONE addressing
	space
	user code		main:
	(parallelization client): create cc		call foo;
	extract loop code into loopy prepare parallel code insert parallel into cc		foo: loop code
	create trampoline to parallel copy stack frame extract loop boundaries	7	optimize	2	5 6
			loopy
			parallel
	parallel: set threads' stacks		stack frame image
	prepare loopy parameters
	create threads
	join threads
	return to after loop

TABLE 1 :

 1 Polybench Kernels Used in the Experiments

	Benchmark	Description	# loops
	2mm	2 Matrix Multiplications (D=A.B; E=C.D)	2
	3mm	3 Matrix Multiplications (E=A.B; F=C.D; G=E.F)	3
	covariance	Covariance Computation	1

Due to the manuscript page-limit, profiling and dependency analyses are out of scope of this paper. Hence, we rely on external tools.

ACKNOWLEDGMENTS

This research is supported by a Ph.D. scholarship from the Egyptian Ministry of Higher Education (MoHE). Also, this work is partially funded by the PHC IMHOTEP 35236SM project.


G Guedon

E Paradis

H Croset

Capture-recapture study of a population of the Mediterranean Pine vole (Microtus duodecimcostatus) in Southern France

Investigated the population dynamics of a Microtus duodecimcostatus population by capturerecapture in Southern France during two years. The study was carried out in an apple orchard every three months on an 1 ha area. Numbers varied between 100 and 400 (minimum in summer).

Reproduction occurred over the year and was lowest in winter. Renewal of the population occurred mainly in autumn. The population contained erratic individuals which did not take part in the reproduction. Resident individuals had a longer life-span and home ranges always located at the same place. Mean adult body weight varied only among females in relation to the reproductive rate.

The observed demography of M. duodecimcostatus could be explained by biological traits (litter size, longevity) and by features of the habitat (high and constant level of resources, low level of disturbance), suggesting that social behaviours are an important regulating factor of numbers.

Introduction

The Mediterranean pine vole (Microtus duodecimcostatus de Sélys-Longchamps) has a narrow geographic range: Portugal, Spain and Southern France [START_REF] Niethammer | Microtus duodecimcostatus (de Sélys-Longchamps, 1839) -Mittelmeer-Kleinwühlmaus[END_REF]. Its population dynamics in natural habitats is unknown. The Mediterranean pine vole lives also in cultivated areas.

Vineyards are very ancient in the Mediterranean Region (several centuries), and the Mediterranean pine vole is abundant in such a habitat though it causes no particular damage. But the culture of perennial plants (e.g. orchards) with summer irrigation transformed the Mediterranean pine vole's habitat in such a way that this rodent species has become a pest to agriculture for a few years (Guédon 1987(Guédon , 1988)). This indicates the potentialities of Microtus duodecimcostatus to colonize successfully particular habitats.

A research program conducted by several institutes (Association de Coordination Technique

Agricole, Institut de la Recherche Agronomique, Service de la Protection des Végétaux) was started in 1986. The aim of this program is studying reproductive biology and population ecology of the Mediterranean pine vole, on the one hand, developing an integrated struggle system (a risk foresight method and biological, chemical, physical, mechanical, and agricultural struggle methods based on a good knowledge of the species). We here present demographic data from a study focused on local population dynamics of Microtus duodecimcostatus in cultivated areas.

Materials and methods

A capture-recapture study was started in 1989 in Southern France, in an area located 30 km east of Montpellier (43°39' N, 4°11' E). The region is an agroecosystem with intensive cultures distributed in many patches separated by thick boundaries made with shrubs, cypress or poplar. During two years we trapped a population in a 20-year-old apple orchard (Golden Delicious/E.M.9 variety; pollinization is made by branches of other varieties). The main agricultural practices are: cutting and crunching of the branches in winter, regular weeding, chemical treatment by pulverization all along the cultural cycle, chemical manuring. The influence of the Mediterranean climate is partially masked because of summer watering. The main disturbance which occurred during the study was a plough partially breaking up the soil in winter 1989. No chemical treatment against the Mediterranean pine vole was carried out during our study. Presence of this vole is revealed, as this species digs up soil from the ground when it is burrowing.

The trapping procedure for subterranean rodents was developed by [START_REF] Pascal | Méthode d'échantillonnage d'un rongeur souterrain, la forme fouisseuse du campagnol terrestre (Arvicola terrestris scherman). Recherche des limites d'utilisation de la méthode[END_REF][START_REF] Pascal | L'échantillonnage linéaire des populations de la forme fouisseuse du campagnol terrestre (Arvicola terrestris scherman [Shaw]). Description des techniques[END_REF] for the fossorial form of the Water Vole (Arvicola terrestris scherman). This procedure was adapted for snap-trapping (Guédon and Pascal 1992) and for live-trapping of the Mediterranean pine vole (present study). We used Longworth traps (baited with apple) the efficiency of which has previously been demonstrated (Guédon et al. 1990). Traps were distributed on a 1 ha area, along six parallel 5 m X 100 m strips divided into 25 m 2 squares (Fig. 1). Two trapstations (when possible) were arranged in each square, each trap-station contained one, two or three traps orientated in the axis of the tunnel previously digged out. Each trap was open during 42 hours, and was checked 7 times. The caught animals were weighed (to the nearest g), marked by toeclipping and ear-cutting, reproductive conditions (males: testes scrotal or abdominal, females: pregnant, lactating, and vulva open or closed) and coat color were noted before being released. It was also noted whether the trap was covered up with soil by the vole (named "trap-stuffing" by [START_REF] Krebs | Trappability estimates for mark-recapture data[END_REF], which is a typical behaviour of this species when its tunnels are opened.

Two age-classes were distinguished according to weight, adult: > 17 g, and juvenile: <= 17 g. Strips were trapped two by two, so a trapping-session lasted 9 days. Trapping-sessions were carried out every 3 months.

Results

Demography

We caught 1,534 animals 4,656 times in 18,818 trap-checks. The observed numbers (Fig. 2) varied according to the seasons, with a decrease during summer droughts. Proportion of juveniles in the population was always low (Fig. 2). Sex ratio of the caught animals never differed from 1:1 (χ 2tests), as well for the adults than for the juveniles (Fig. 3, the greater fluctuations observed among the juveniles are caused by their smaller numbers compared to the adults).

Among the 429 individuals caught in February 1989, five were recaught in February 1991 (3 males and 2 females of which one was pregnant).

Reproductive activity occurred over the year but shows seasonal variations. We exceptionally observed male individuals with testes in scrotal position, indicating that testes position is not a reliable sign of sexual activity in male M. duodecimcostatus. The proportion of females sexually active was maximum in May, August and November, but seemed to show inter-annual variations (Fig. 4). This is corroborated by the proportion of juveniles in the population: maximum in August 1989 and in November the following year (Fig. 3). Captures of pregnant females which were also lactating confirmed the existence of post-partum fecondation as was observed in laboratory (Guédon et al. 1991a). The distinction between marked adult females (present for at least 3 months) and the unmarked ones shows the following pattern: the proportion of females with external signs of reproductive activity was always higher among the former than among the latter (Fig. 4). This difference is not always statistically significant (χ 2 -tests).

The variations in mean body weight of the caught voles did not show seasonality (Tab. 1). Mean adult body weight was slightly bigger among females than among males (range: 21.5-24.2, and 20.7-22.1, respectively), due to the presence of pregnant females. Standard deviation of adult body weight was slightly larger among females than among males (range: 1.6-3.0, and 1.4-2.2, respectively); this is probably due to the heterogeneity of pregnancy among the females (Fig. 4).

The proportion of unmarked animals (immigrates, animals born during the three previous months, or residents not previously caught: Fig. 5) varied with the seasons: it was minimum in August and maximum in November, indicating that renewal of the population occurred mainly in autumn.

Individual movements recorded during the study

Despite the low distance between two trapping-strips (20 m), the recapture rates from one strip to another were very low (0.4-16%) indicating that, either movements of the Mediterranean pine vole were very restricted during the time of a trapping-session, or a decrease in the trappability of the voles after a first capture. Analysis of movements between two trapping-sessions corroborates the former explanation: the majority of animals were recaught at the same place as three months before. Such sedentary animals were observed during several consecutive sessions: among 48 animals caught in four consecutive sessions, 38 (79%) were always located at the same place. Home range locations seem constant over time, however we cannot speculate about variations of home range sizes.

The proportion of animals caught twice or more during the 7 checks (within trapping-session recapture rate) varied with the seasons (Fig. 6), suggesting a decrease in trappability during summer. This proportion was always higher among the marked animals than among the unmarked ones (except August 1989).

Parameters related to the trapping procedure

Trapping-intensity varied slightly with the seasons: minimum in August, and maximum in November (Fig. 7). These variations were related to the lesser number of presence signs on the ground. Proportions of captures and of trap-stuffings (reported on trapping-intensity) varied greatly with the seasons (Fig. 7). The proportion of captures was minimum in August (= 10%) and varied between 20% and 45% for the other sessions, the results of February 1989 (45%) were not obtained again in 1990 and 1991. The proportion of trap-stuffings varied inversely with the proportion of captures.

Other species

Five other species were caught in our traps: Crocidura russula, Apodemus sylvaticus, Mus musculus, Rattus norvegicus, and Mustela nivalis. Numbers of captures for each species are indicated in Table 2. Herbivorous and granivorous small mammals were scarce in the underground habitat suggesting that competitive interactions with M. duodecimcostatus are not important in our study area. Only one weasel (Mustela nivalis) was caught, indicating that predation by this species may not influence the population dynamics of the Mediterranean pine vole in our study area. A domestic cat (Felis catus) was observed in the orchard while hunting; however, raptor birds (Strix aluco, Buteo buteo, Falco tinnunculus) were regularly observed and were probably the main predators of the voles.

Discussion

Nearctic and Palearctic Pine vole species are generally all included in the "Pitymys group" which is considered as a genus [START_REF] Honacki | Mammal species of the world: a taxonomic and geographic reference[END_REF][START_REF] Corbet | A world list of mammalian species (3rd Ed.)[END_REF] or a subgenus included in the genus Microtus (Niethammer and Krapp 1982;[START_REF] Nowak | Walker's Mammals of the world[END_REF]. [START_REF] Chaline | Validation de Terricola Fatio, 1867 pour les Campagnols souterrains (Arvicolidae, Rodentia) paléarctiques actuels et fossiles[END_REF] argued that the subgenus Pitymys is polyphyletic and proposed to divide it into two subgenera:

Pitymys (nearctic species) and Terricola (palearctic species). If Chaline et al. are right, it would implicate a converging evolution of some characters (particularly life-history traits as we will see below) between Pitymys and Terricola.

In our population of M. duodecimcostatus we observed a decreased trappability during summer.

The same phenomenon was observed in M. pinetorum [START_REF] Lindquist | Analysis of seasonal dynamics of pine vole populations in two Virginia orchards[END_REF][START_REF] Cornbower | Comparisons of pine vole (Pitymys pinetorum) populations from orchards and natural habitats in southcentral Pennsylvania[END_REF] and several Microtus species [START_REF] Krebs | Trappability estimates for mark-recapture data[END_REF]. Added to the fact that the proportion of trap-stuffings increased in summer, this leads us to invoke a more subterranean behaviour of the Mediterranean pine vole in order to avoid the hot and dry atmosphere. This changing behaviour may explain the decrease in captured voles during summer, however we cannot exclude a mortality peak during this season.

The age-classes chosen in our study were ad hoc: animals less than 18 g weighed more than 17 g three months later. A snap-trapping study demonstrated that some females less than 18 g could be pregnant (Guédon unpubl. data). Body growth may be slower in nature than in captivity (Guédon et al. 1991b). However, the proportions of juveniles were always low. This can be explained by a low trappability of this age-class: voles were not caught before they weigh at least 8 g. Mc Guire and Novak (1984) and [START_REF] Salvioni | Rythmes d'activité de trois espèces de Pitymys: Pitymys multiplex, P. savii, P. subterraneus (Mammalia, Rodentia)[END_REF] observed that behavioural development was slow in juveniles of other Pine vole species (M. pinetorum and M. subterraneus, respectively). Several studies showed that proportion of juveniles was always low in populations of M. pinetorum [START_REF] Simpson | Dynamics of a pine vole population in a Pennsylvania orchard[END_REF][START_REF] Lindquist | Analysis of seasonal dynamics of pine vole populations in two Virginia orchards[END_REF][START_REF] Cornbower | Comparisons of pine vole (Pitymys pinetorum) populations from orchards and natural habitats in southcentral Pennsylvania[END_REF]. Fecundity in Pine vole species is low compared with other Microtus species or other microtine genera (Lefèvre 1966;[START_REF] Pelikán | Notes on the reproduction of Pitymys subterraneus (de Sél. Long.)[END_REF][START_REF] Schadler | Reproduction in the pine vole, Microtus pinetorum[END_REF][START_REF] Salvioni | Domaines vitaux, relations sociales et rythmes d'activité de trois espèces de Pitymys (Mammalia, Rodentia)[END_REF]Guédon et al. 1991a, see Innes 1978[START_REF] Keller | Reproductive patterns. In: Biology of New World Microtus[END_REF] for reviews), and may influence the age-structure of the population.

A long life-span was observed in other Pine vole species [START_REF] Le Louarn | Etude par marquage et recaptures du campagnol des champs et du campagnol de Fatio en montagne[END_REF][START_REF] Cornbower | Comparisons of pine vole (Pitymys pinetorum) populations from orchards and natural habitats in southcentral Pennsylvania[END_REF] suggested that populations of M. pinetorum present a high turn-over [START_REF] Miller | Life-history notes on Microtus pinetorum in central Connecticut[END_REF][START_REF] Staples | An experimental study of movement in natural populations of Mus musculus, Microtus pennsylvanicus, and Microtus pinetorum[END_REF][START_REF] Simpson | Dynamics of a pine vole population in a Pennsylvania orchard[END_REF]. Such a pattern is also present in our study; however, preliminar statistical analysis revealed that it was an artifact: most of the unmarked individuals were erratics and were not subsequently recaught [START_REF] Paradis | Démographie d'une population de campagnol provençal (Pitymys duodecimcostatus): hypothèses sur les mécanismes de régulation en milieu anthropisé[END_REF]).

The fact that reproduction occurs over the year in M. duodecimcostatus was also observed in Spain [START_REF] Claramunt | Sobre la actividad sexual de Pitymys duodecimcostatus de Sélys-Longchamps, 1839[END_REF][START_REF] Palomo | Reproduction de Microtus (Pitymys) duodecimcostatus (de Sélys-Longchamps, 1839) (Mammalia, Rodentia) dans le sud de l'Espagne[END_REF], and in populations of M. pinetorum living in orchards [START_REF] Simpson | Dynamics of a pine vole population in a Pennsylvania orchard[END_REF][START_REF] Cornbower | Comparisons of pine vole (Pitymys pinetorum) populations from orchards and natural habitats in southcentral Pennsylvania[END_REF], though this species lives in a cooler climate.

Reproduction in our population was minimum during winter, this result is not in agreement with Palomo et al.'s study who showed that reproduction decreased dramatically during summer. This latter result is supported by a small number of caught animals (210 individuals during 2 years and only 4 females in summer), however, and a monthly snap-trapping study in Southern France (more than 7,000 individuals caught during 5 years) showed that reproduction decreased in June and July but increased in August (Guédon and Pascal unpubl. data). Discrepancy between the results of the two approaches (snap-trapping and live-trapping) can be explained by the fact that pregnancy cannot be detected on living voles before about 10 days, but can be detected at about 6 days in necropsy samples [START_REF] Keller | Reproductive patterns. In: Biology of New World Microtus[END_REF]. [START_REF] Cohen-Shlagman | The biology of the Levant vole, Microtus guentheri in Israel. I. Population dynamics in the field[END_REF] observed a decreased reproductive activity in summer in Microtus guentheri, another Mediterranean microtine species. The seasonal variations of reproduction observed in our population could be explained by high summer survival of resident individuals due to high level of resources in underground habitat in apple orchards. This hypothesis could be tested by studying seasonal variations of reproduction in uncultivated habitats.

In the studied habitat, food is abundant and uniformly distributed, therefore reproduction is probably conditioned by available space (possibility to construct a burrow). In a population with sustained high densities, space is probably a limiting factor for access to reproduction (at least for females). This assumption is strengthened by the fact that reproductive females are resident (present for at least three months). Social behaviours were evidenced to mediate acces to reproduction in many species of mammals [START_REF] Hendrichs | On the evolution of social structure in mammals[END_REF][START_REF] Dunbar | Behavioral ecology: ecological consequences of adaptive behaviour[END_REF][START_REF] Armitage | Social dynamics of mammals: reproductive succes, kinship and individual fitness[END_REF]. Such a phenomenon may play a role in the local population dynamics of M. duodecimcostatus. indebted towards Mr. Giammatei for allowing us to work on his property. We also thank various people for their assistance on the field. This work was financially supported by the FNCA, and a CIFRE grant.

Zusammenfassung

Mus musculus 1

Rattus norvegicus 1

Mustela nivalis 1

Fig. 1. Arrangement of the traps on the study area. In each square two, one, or no trap-station(s)

were arranged in relation to the number of presence signs of Mediterranean pine vole on the ground.

Each trap-station contained one, two or three traps. (number of captures and number of trap-stuffings reported to the number of checks: right axis) in each trapping-session.

  Markierungsfangstudien an einer Population der Mittelmeer-Kleinwühlmaus (Microtus duodecimcostatus) in Südfrankreich Eine Population der Mittelmeer-Kleinwühlmaus (Microtus duodecimcostatus) wurde in Südfrankreich über einen Zeitraum von 2 Jahren durch Fang, Markieren und Wiederfang untersucht. In Abständen von 3 Monaten wurden Fängen in einem Apfelgarten auf einer Fläche von 1 ha durchgeführt. Pro Fangtermin wurden 100 bis 400 Individuen gefangen, am wenigsten im Sommer. Die Reproduktion fand das ganze Jahr über statt, was aber im Winter am geringsten. Eine Erneuerung der Population fand insbesondere im Herbst statt. Einzelne Individuen nahmen nicht an der Fortpflanzung teil. Seßhafte Individuen hatten eine längere Lebensdauer und ihr Aktionsraum blieb sehr konstant. Das Durchschnittsgewicht variierte nur bei Weibchen in Anhängigkeit von der Reproduktionsrate. Die beobachtete Demographie von M. duodecimcostatus kann durch biologische (Wurfgröße, Lebensdauer) und ökologische Merkmale (hohes und regelmäßiges Nahrungsangebot, geringes Störungsniveau) erklärt werden und weist darauf hin, daß das Sozialverhalten ein wichtiger Regulationsfaktor für die Populationsgröße sein könnte.

Fig. 2 .

 2 Fig. 2. Total number of caught voles (curve) and percentage of the two age-classes (histogram) during two years.

Fig. 3 .

 3 Fig. 3. Sex ratio of the juveniles (voles less than 18 g), the adults (voles more than 17 g), and the whole caught voles (juveniles and adults).

Fig. 4 .

 4 Fig. 4. The adult females caught during each trapping-session are divided in two categories: the marked ones and the unmarked ones (the caught numbers of each category are indicated). The proportion of individuals with external signs of sexual activity for each category are plotted and compared (χ 2 -tests, * 0.01 < p < 0.05; ** 0.001 < p < 0.01; *** p < 0.001).

Fig. 5 .

 5 Fig. 5. Proportions of marked voles and unmarked voles caught in each trapping-session.

Fig. 6 .

 6 Fig. 6. Comparison of the proportion of voles caught at least twice during the 7 checks (within trapping-session recapture rate) between the marked voles and the unmarked ones.

Fig. 7 .

 7 Fig. 7. Trapping-intensity (expressed as number of trap-checks: left axis) and trapping-results

Table 1 .

 1 Mean body weight of the caught voles in each trapping-session (mean ± standard

	deviation)
	Feb 91	20.6 ± 1.4	21.4 ± 2.3	17.0 ± 0.0	15.5 ± 2.6
	Nov 90	21.0 ± 1.9	21.8 ± 2.2	14.4 ± 2.0	14.7 ± 2.3
	Aug 90	21.5 ± 1.7	24.2 ± 1.6	13.3 ± 2.3	13.8 ± 1.9
	May 90	20.7 ± 1.7	22.0 ± 2.8	14.8 ± 2.0	14.4 ± 2.4
	Feb 90	21.1 ± 1.7	21.5 ± 2.1	15.0 ± 2.0	14.4 ± 2.3
	Nov 89	21.1 ± 1.8	22.4 ± 2.4	13.4 ± 2.0	15.3 ± 1.6
	Aug 89	21.1 ± 1.9	23.6 ± 1.8	15.2 ± 2.1	14.1 ± 2.4
	May 89	21.8 ± 1.8	23.3 ± 3.0	14.9 ± 2.0	14.2 ± 2.2
	Feb 89	22.1 ± 2.2	23.0 ± 2.8	14.9 ± 2.2	14.9 ± 2.3
		males	females	males	females
	session	adults		juveniles

Table 2 .

 2 Numbers of captures for other species in the Longworth traps disposed in the underground habitat of M. duodecimcostatus species Feb 89 May 89 Aug 89 Nov 89 Feb 90 May 90 Aug 90 Nov 90 Feb 91

	Crocidura russula

Acknowledgements

We thank Jean-Marc Duplantier, Pierre Delattre, Michel Pascal for their comments on an early draft of the manuscript, Nick Court for correcting English, Serge Legendre and an anonymous reviewer for the German translation of the abstract, and François Catzeflis for encouraging us. We are


Arturo Gomez Ortega

Luis Corona Galvan

Mehdi Salem

Kamel Moussaoui

Stephane Segonds

Sébastien Rouquette

Frédéric Deschaux-Beaume
email: frederic.deschaux-beaume@umontpellier.fren

Characterisation of 4043 aluminium alloy deposits obtained by wire and arc additive manufacturing using a Cold Metal Transfer process

4043 aluminium deposits were elaborated using a 3D print device equipped with a Cold Metal Transfer welding source. Two sets of process parameters leading to different average powers were compared in order to establish the relations between the powers and energies produced and the geometrical characteristics of the deposits. The effects of the travel speed and layer superposition on the transfer mechanisms as well as on the geometrical characteristics of the deposits were discussed for both sets of parameters. Finally, the formed microstructures were analysed and the porosity defects were quantified and discussed with regard to the heat input characteristics and the solidification conditions.

Introduction

Additive manufacturing (AM) technologies are a new way of manufacturing near-net shape metallic parts with complex geometries at low cost. Among the various AM technologies, Wire and Arc Additive Manufacturing (WAAM) is probably one of the most promising to produce large parts, due to a very high deposit rate compared to other processes based on laser or electron beam heat sources [START_REF] Debroy | Additive manufacturing of metallic components -process, structure and properties[END_REF]. WAAM processes use a welding source to turn an electrical arc on in order to melt a metallic filler w ire. V arious w elding processes can be used such as Gas Tungsten Arc Welding [START_REF] Donoghue | The effectiveness of combining rolling deformation with wire-arc additive manufacture on β-grain refinement and texture modification in Ti-6Al-4 V[END_REF][START_REF] Szost | A comparative study of additive manufacturing techniques: residual stress and microstructural analysis of CLAD and WAAM printed Ti-6Al-4 V components[END_REF], Plasma Welding [START_REF] Xu | Oxide accumulation effects on wire + arc layer-by-layer additive manufacture process[END_REF]orGas MetalArcWelding [START_REF] Haden | Wire and arc additive manufactured steel: tensile and wear properties[END_REF][START_REF] Xiong | Closed-loop control of variable layer width for thin-walled parts in wire and arc additive manufacturing[END_REF]. The Cold Metal Transfer (CMT) welding process was also recently used as WAAM heat source [START_REF] Ortega | Effect of process parameters on the quality of aluminium alloy Al5Si deposits in wire and arc additive manufacturing using a cold metal transfer process[END_REF]. This process allows accurate control of the deposited metal thanks to accurate control of the intensity waveform of the welding source coupled to an alternating feeding of the metal wire [START_REF] Mezrag | Control of mass and heat transfer for steel/aluminum joining using cold metal transfer process[END_REF]. The CMT cycle involves several parameters, e.g. at least eight for defining t he intensity CMT cycle. Fine tuning of these process parameters requires complex analyses in order to optimise the deposit characteristics, as the average power is not the main indicator as discussed in a previous paper [START_REF] Mezrag | Indirect approaches for estimating the efficiency of the cold metal transfer welding process[END_REF].

Recently, the process was applied to build aluminium alloy walls, demonstrating the great potential of the process for such applications [START_REF] Ortega | Effect of process parameters on the quality of aluminium alloy Al5Si deposits in wire and arc additive manufacturing using a cold metal transfer process[END_REF][START_REF] Nie | Rapid prototyping of 4043 Al-alloy parts by cold metal transfer[END_REF]. However, some issues occurred with this material, such as heat accumulation, requires monitoring the temperature between passes during the additive manufacturing [START_REF] Geng | Optimisation of interpass temperature and heat input for wire and arc additive manufacturing 5A06 aluminium alloy[END_REF]. In addition, pores arising from hydrogen or other contaminant areobserved,thatcanbereducedwithathorough cleaning of the metal surfaces [START_REF] Alshaer | The effects of short pulse laser surface cleaning on porosity formation and reduction in laser welding of aluminium alloy for automotive component manufacture[END_REF]. These pores have a detrimental effect on the mechanical behaviour, especially concerning the fatigue strength [START_REF] Gou | Effect of humidity on porosity, microstructure, and fatigue strength of A7N01S-T5 aluminum alloy welded joints in highspeed trains[END_REF]. The optimisation of the deposits geometries or microstructure and mechanical properties of the materials requires a good understanding of the relationship between process parameters and these characteristics.

The present work aims to better understand the effect of CMT process p arameters on t he geometrical characteristics and microstructure of 4043 aluminium alloy deposits in order to build structural parts by additive manufacturing.

Experimental details

Monolayer and multilayer deposits were achieved using a dedicated 3D printer especially developed for the study [START_REF] Ortega | Effect of process parameters on the quality of aluminium alloy Al5Si deposits in wire and arc additive manufacturing using a cold metal transfer process[END_REF]. A 1.2 mm diameter filler wire made of 4043 aluminium alloy (Al-5%Si) was used. The filler wire was melted and deposited on a pure aluminium plate of 3 mm thickness with a CMT arc welding process. Various welding energies and travel speeds were investigated. The aluminium baseplate was connected to the negative polarity of the welding source whereas the filler w ire t ip w as c onnected t o t he p ositive polarity in order to get an electrical arc between the wire tip and baseplate. The CMT belongs to the Gas Metal Arc Welding processes and was developed to control accurately its heat input. The CMT cycle consists in accurate control of the welding intensity through three stages: first, a current pulse of given duration (boost phase) melts the wire tip in order to form a liquid droplet (Figure 1(a)). Second, the welding intensity is decreased to a programmed value (wait phase) while the filler wire is fed forward at a controlled feed rate which drops the molten wire into the baseplate (Figure 1(b)). Thirdly, the contact between the wire tip and the substrate produces a short-circuit and arc extinction (short-circuit phase) and thus decreases the voltage near to zero volt (Figure 1(c)). The intensity then changes to a programmed value as well as the filler wire is fed backward mechanically to split apart the wire from the molten pool (Figure 1(d)). Then the molten metal droplet solidifies to let place to a solid deposit. The stability of this metal transfer cycle relies on a thorough tuning of the numerous CMT parameters (between 8 and 15 according to the CMT process option), and their effect in the additive manufacturing process in not accurately known yet.

Two sets of process parameters were selected for comparison and they are summarised in Table 1. Only five main parameters, among the set of nine possibles are listed for the sake of simplicity. These parameters were chosen according to the results of a previous study [START_REF] Ortega | Effect of process parameters on the quality of aluminium alloy Al5Si deposits in wire and arc additive manufacturing using a cold metal transfer process[END_REF] as they led to regular beads at a high deposition rate. Solely three parameters were studied from these two sets: the feed rate of the filler wire Vf, the current of the boost phase Ib and its duration tb. These changes modified the average power of the electrical arc, thus the heat input and as a consequence the size and the frequency of the deposited droplets on the substrate. The two remaining parameters in Table 1 are respectively the imposed values of wait intensity Iw and short-circuit Intensity Isc. In order to investigate the characteristics of the CMT electrical waveforms, the welding intensity and volt-agewererecordedatafrequencyof25 kHzduring each deposit using a data acquisition system NI 9215. The voltage was measured after signal conditioning using a voltage divider bridge, which is connected to thebaseplate andthecontacttubeofthefillerwire in the welding torch. The welding intensity was measured with a Hall effect s ensor L EM L F 3 05-S fitted on the return welding cable. The recorded intensity and voltage signals were then processed using dedicated Python routines in order to plot the waveform characteristics.

The deposits were scanned using a BREUCKMANN OPTO TOP-HE system in order to get its geometrical characteristics. The data were also post-processed with dedicated Python routines to extract some geometrical characteristics such as the total deposited volume or the average height and width of the deposits. Furthermore, some cross sections of the deposits were prepared for macrostructure observation using a LEICA Z16 APO optical microscope as well as their microstructure using an FEI Nova NanoSEM 450 Scanning Electron Microscope (SEM).

Analyse of the metal transfer cycle

Figure 2 shows the intensity and voltage waveforms associated to both sets of parameters. The main differenceliesontheelectricalarcphase comprisingthe boost and wait phases. The duration of the boost phase is higher for set P2 while its intensity value is lower in accordance with the programmed parameters values (Table 1).

Analysis of the voltage and intensity waveforms during deposition are performed in order to study the mechanisms of heat transfer, filler w ire m elting and solidification. E ach w aveform c an b e s plit i nto three phases:theboostphase,duringwhichthefillerwiretip is melted with the high-intensity pulse; the wait phase, duringwhichthefiller wireisfedtowards thesubstrate with lower intensity; and the short-circuit phase, during which the molten droplet formed at the wire tip is deposited. The electrical power and duration of the arc phase determine the quantity and the temperature of the deposited metal.

Figure 3 shows the average power measured for each phase according to the travel speed for both sets of parameters. The average power of each phase does not change with the travel speed. The average power of the wait and short-circuit phases are similar for sets P1 and P2, whereas the average power of the boost phase is lower for set P2 due to the lower imposed boost intensity. However, the average power of the total cycle is higher for set point P2 because of the longer duration of the boost phase.

Furthermore, the phase durations change with the travel speed. Nonetheless, the boost phase duration is constant whatever the welding speed, which is not surprising because this parameter is controlled by the CMT process (tb parameter). The imposed intensity boost value is well respected for both sets whatever the travel speed. The durations of the wait and short-circuit phases are also not modified with the travel speed for set P2. Conversely, these durations decrease with the travel speed for set P1. As the wire feed speed is always kept constant for all the travel speeds, the decrease of the wait phase duration indicates that the arc length is lower when the travel speed increases, so the contact of the wire tip with the substrate during the wait phase takes place earlier. In the same way, the droplet separation is facilitated by the increase of the travel speed that shortens the duration of the backward phase of the filler wire, giving a lower arc length at the arc ignition (Figure 4).

The decrease of the wait and short-circuit phases durations when the travel speed increases for set P1 explain the increase of the average power of the total cycle observed in Figure 3. As a consequence, the shortcircuit frequency, and then the drop deposit frequency, increase from 55.7 to 65.2 s -1 when the travel speed increases from 600 to 2400 mm/min for set P1, whereas it remains constant at about 48 s -1 for set P2. The frequency is globally lower for this last set, mainly due to the longer boost phase duration. The average duration of the total CMT cycle is slightly higher than the sum of the durations of the 3 phases, due to the transition times between two phases.

Table 2 presents the average energies for each phase of the transfer cycle. There are significant differences between the two sets. For set P1, the energy produced during the wait phase is only two times lower than the boost phase energy, so it should contribute to the filler wire melting. For set P2, the boost phase energy is four to five times higher than the wait phase energy, so the filler wire melting is mainly controlled by the boost phase. The increase of the travel speed led to a decrease of the of the wait phase for P1, and so on the total energy per cycle. This is due to the decrease of the duration of the wait phase mentioned earlier. The total energy per cycle for set P2 is about 50% higher than for set P1.

Effect of process parameters on the deposit

Monolayer deposits were made using both sets of parameters and several travel speeds in the range 300-2700 mm/min. Figure 5 shows the total deposited volume for a 80 mm long deposit, for each set of parameters. For a given set of process parameters, the deposited volume decreased with the travel speed. In addition, the deposit has rather the same volume for sets P1 and P2 up to a travel speed threshold of 1000 mm/min, and then it becomes higher, about 20% for set P2 at higher travel speed. The calculation of the deposit rate confirmed this result. This calculation was done by dividing the deposited mass, considering a material density of 2.7, with the deposition duration. The deposit rate was rather constant for set P1, and equal to the deposit rate of set P2 for low travel speed as it is shown on Figure 6. However, the deposit rate increased for set P2 when the travel speed overtook 1200 mm/min. The weight of deposited molten metal drop at each short-circuit could be deduced as the short-circuit frequency is measured (Figure 7). The average weight of the droplet was globally higher for set P2 for given travel speed. Nevertheless, the average drop weight also varied with the travel speed.

For set P1, the drop weight tended to decrease with the travel speed. This result could be explained by the lower duration of the arc wait phase when the travel speed is high (Figure 4), which decreased the energy produced by the electrical arc to melt the wire (Table 2). This decrease of the drop weight was however compensated by a higher deposit frequency, giving a rather constant deposit rate. Conversely, the drop weight increased with the travel speed for set P2. This result was not correlated to an increase of the global energy produced by the electrical arc, which remained rather constant for set point P2. This could be due to the better energy efficiency of the process, or especially to less heat losses when the travel speed increased. One source of heat losses in GMAW processes is due to the heat conduction from the filler wire tip into the welding torch. Increasing the travel speed produced a flatter deposit, and then an important length of wire below the welding torch. Consequently, the heat losses from the wire tip towards the torch were reduced, and a higher volume of filler wire could be melted and deposited with the same energy. This effect was also probably effective with set P1, but it was counterbalanced by the decrease of the arc energy due to a shorter arc wait phase. Then, for set point P2, the increase of the deposit rate for high travel speed was due to the weight increase of the deposited drops.

The improvement of the energy efficiency when the travel speed increased for set point P2 was also observed with the evolution of the ratio between the total energy per cycle and the weight drop (Figure 8). This ratio was rather regular whatever the travel speed with set point P1, whereas it decreased significantly for set P2 when the travel speed was high, expressing the increase of the energy efficiency due to the decrease of heat losses in the welding torch.

Figure 9 shows the cross-section of deposits. The deposit made under the conditions of set P2 had a better spread than the one made with set P1 for each travel speed investigated. The spread of a liquid metal on a solid substrate was subjugated to the displacement of the contact line (or solid-liquid-gas triple line). According to some authors [START_REF] Tavakoli | Spreading and arrest of a molten liquid on cold substrates[END_REF][START_REF] Ruiter | Contact line arrest in solidifying spreading drops[END_REF], the position of this line is controlled by the solidification of the liquid at the contact line. This result was in accordance with the high average power for set P2, which produced high heating of the substrate, and then delayed the solidification of the contact line. This was confirmed by the penetration of the molten zone on the substrate, which was also better for set P2.

For travel speeds below 1500 mm/min, the deposit rates were similar for sets P1 and P2, so the improvement of the spread must be due to the high temperature of the deposited drops for set P2, in accordance with the high ratio of total energy by weight drop (Figure 8). For higher travel speed than 1500 mm/min, this spread improvement for set P2 was correlated to the weight increase of the deposited drops, transferring more energy to the substrate. Consequently, the height of the deposit, for a similar travel speed, was higher for parameters P1, whereas its width was lower (Figure 10). Let us note that the width for set P1 stabilised to a value of 2.5 mm for travel speeds beyond 1500 mm/min. This width corresponded to the diameter of the droplets formed at the wire tip for set P1, which was also the minimal deposited width to get a continuous bead. In contrast, the deposit height decreased for travel speeds above 1500 mm/min despite width was kept constant that was why the deposit seemed more spread out (Figure 9, last row for 2400 mm/min).

Multilayer deposits

Effect of process parameters

Two deposit strategies were first investigated in order to build walls by overlaying several layers: the first one consisted in depositing all the layers in the same direction. That is to say, the welding torch was put in the same initial place in a one-way strategy while the vertical distance between the baseplate and welding torch was increased (Figure 11(a)). The second one consisted in alternating the welding torch starting point: the starting point of the new deposit is placed at the ending point of the last deposit in sort of go and back strategy (Figure 11(b)). The results clearly showed that the second strategy led to more regular height of walls. This was mainly due to a higher deposit height at the beginning of each deposit, which increased with the layers addition. The go and back strategy was then adopted in the following tests. During the superposition of several layers using the go and back strategy, the heat accumulation in the previous deposits led a progressive change in the geometry of the deposits. The width of each newly added layer increased in comparison to the last one while its height decreased at the same time (Figure 12). Break time was applied between successive deposits in order to reduce these geometry variations. Figure 12 shows the effect of 10 and 60 s breaks on the height and width of the first six layers of a 100 mm long wall built with set point P1 at a travel speed of 1200 mm/min. A short 10 s break time stabilised the deposit width after the fourth layer. A break time of 60 s slightly improved the regularity of the layer width. However, short manufacturing times are required in order to get competitive industrialisation of WAAM process. A 10s break time then led to a better compromise than the 60 s one, and is chosen for the future tests. For set point P2, a 10 s break time also improved the regularity of the layers geometry during wall building except that the spread was more important during the first deposits. Furthermore, the width was not completely stabilised after the sixth layer. This was of course due to the high energy generated with this set of parameters that created an important heat accumulation.

The travel speed had also an effect on the increase of the layer width during the first deposits. Figure 13(a) shows the layer width evolution with set P1 when the travel speed decreased from 2400 to 600 mm/min, for a 100 mm long wall. The wall width stabilised to a value below 4 mm after the sixth layer for the higher speed while it continued to increase slightly up to 6 mm for the lower speed. The geometry of deposits have not been stabilised despite an increase of the break time. Indeed the heat transfer by conduction was very slow after several seconds with the reduction of the heat gradient. An increase of the thickness of the aluminium baseplate would have enhanced heat conduction, or a cooling system under the baseplate could have been another solution to improve the geometrical regularity of the deposits.

The problem of heat extraction was more obvious for walls build with set P2 due to the high heat input associated to this set of parameters. Under these conditions, the layer width continued to increase after the sixth layer for a travel speed of 1200 mm/min (Figure 13(b)). The layer width became regular after the sixth layer for travel speed higher than 2400 mm/min.

Microstructure

Figure 14 shows macrographs of the walls built with sets P1 and P2 at a travel speed of 900 mm/min and a break time of 10 s. Both walls got rather similar geometry, with a width increasing during the deposition of the first layers and a relative stabilisation after six layers. The size of the molten zone of the last layer of the wall was drastically higher than the first layer due to the heat accumulation (Figure 14). As well as a large part of the previous layer was melted down during the deposition of the new layer. The melted down interface between two layers is relatively flat, especially with set P2, which is also an indication of the geometrical stability of the deposits.

The microstructure of the deposited materials is typical of Al-Si solidification structure (Figure 15). It consists of grains composed of an aluminium solid solution with a dendritic aspect, separated by an Al-Si eutectic.

However, the size of the dendritic structure and its morphology changed with the position into the wall. At the base of the wall, in the first deposited layer, the microstructure was finer (Figure 16(a)), indicating a higher solidification rate. This result was in accordance with the low initial temperature of the substrate (room temperature), which led to a high cooling rate. From the second pass, the initial temperature of the substrate was higher and the solidification rate slowed conducting to a larger size microstructure (Figure 16(b)). Another difference between the first and the other layers is the morphology of the dendrites. The first layer exhibited rather equiaxed dendrites whereas the others presented more columnar dendrites with a morphological orientation following the heat extraction direction (towards the baseplate through the previously deposited layers). A slightly finer dendrite microstructure was observed for P1 in comparison to P2, which was due to lower heat input. These differences were not very significant (Figure 17).

Porosity

Two kinds of compactness defects were observed in the deposits: small elongated defects (Figure 16(a)), and larger spherical pores, resulting from the high hydrogen solubility in liquid aluminium compared to solid aluminium [START_REF] Gou | Effect of humidity on porosity, microstructure, and fatigue strength of A7N01S-T5 aluminum alloy welded joints in highspeed trains[END_REF]. The first ones were located in the interdendritic area, and seemed to result from a hot-cracking phenomenon, currently observed on aluminium alloys. However, these flaws had a very low size and were widely spaced, the 4043 aluminium alloy being not very sensitive to this hot-cracking phenomenon. Conversely, the size of the pores was larger and their number is much more important. Some pores reached a diameter up to 400 micrometres (Figure 18), although most of had a diameter between about 20 and 100 micrometres.

The pore area mean fraction, corresponding to the ratio between the porosity area and the total area of the sample, computed for each sample from 12 crosssection micrographs with magnification ×100, is 0.90 (+/-0.23) for set P2 and 1.88 (+/-0.22) for set P1, which is however rather low. This difference could be associated to the high heat input for point P2, which increased the temperature of the melted pool and then decreased its viscosity that allowed the rapid diffusion of gas bubbles towards the outer surface. The increase of the heat input also increased the fluid flow in the melted zone, due to the Marangoni effect that promoted the elimination of gas bubbles [START_REF] Zhang | Relationship between pool characteristic and weld porosity in laser arc hybrid welding of AA6082 aluminum alloy[END_REF][START_REF] Tao | Simulating effects of welding speed on melt flow and porosity formation during double-sided laser beam welding of AA6056-T4/AA6156-T6 aluminum alloy T-joint[END_REF]. However, the average heat input was not the main parameter controlling the porosity in aluminium. It was recently demonstrated that a modification of the CMT cycle, for instance by adding some high current pulse between the CMT cycles, or by inverting periodically the arc polarity, could also reduce the porosity [START_REF] Baoqiang | Influence of cold metal transfer process and its heat input on weld bead geometry and porosity of aluminum-copper alloy welds[END_REF].

Conclusion

Two sets of CMT process parameters, giving different average powers, were compared in order to build multilayer deposits of 4043 aluminium alloy using the WAAM process. The following conclusions can be stated:

• The set of parameters leading to lowest average power produced deposit rates independent of the travel speed, with smaller droplets deposited at a higher frequency. • Conversely, the set of parameters conducting to the highest average power produced deposit rates that increased for high travel speed. This was due to an increase of the weight of the deposited droplets, which resulted from lower heat losses into the welding torch. • The spread of the deposited liquid metal droplets was better with the set giving the highest average power, probably due to the increase of the temperature of the deposited drops at low travel speed and their weight increased at high travel speed. • The wall built by superposition of layers required alternating the deposit starting point at each new layer to limit geometrical defects. • Heat accumulation due to the layer addition also required adding break time between the deposits fixed to 10 s for 100 mm long deposits. Otherwise, the width of the deposits increased continuously with the layer addition, especially with the highest average power. • A dentritic microstructure was observed for all the deposits. Dendrites were rather equiaxed and finer for the first layer while coarser and more columnar for the subsequent layers that were probably due to the decrease of the solidification rate with the heat accumulation. • Two kinds of solidification defects were observed: mainly pores, and some scarce hot-cracking defects.

Pores were less numerous and large for the set giving the highest average power, the pore area fraction being only of 0.9%.

Disclosure statement

No potential conflict of interest was reported by the authors.

Figure 1 .

 1 Figure 1. Liquid metal droplet transfer during CMT cycle.

Figure 2 .

 2 Figure 2. Intensity and voltage waveforms for sets P1 (a) and P2 (b).

Figure 3 .

 3 Figure 3. Evolution of the average power for each phase of the CMT cycle and total cycle versus travel speed.

Figure 4 .

 4 Figure 4. Durations for each phase of the CMT cycle versus the travel speed.

Figure 5 .

 5 Figure 5. Total deposited volume versus the travel speed for a 80 mm long deposit.

Figure 6 .

 6 Figure 6. Evolution of the deposit rate versus the travel speed.

Figure 7 .

 7 Figure 7. Evolution of the average weight of the deposited drops versus the travel speed.

Figure 8 .

 8 Figure 8. Evolution of the ratio between the total energy and the weight drop versus the travel speed.

Figure 9 .

 9 Figure 9. Cross sections of the deposits.

Figure 10 .

 10 Figure 10. Evolution of the average width (a) and height (b) of the deposits versus the travel speed.

Figure 11 .

 11 Figure 11. Multilayer deposit strategies and resulting geometries.

Figure 12 .

 12 Figure 12. Evolution of the average total height (a) and the average width (b) of the deposits with the layer addition for set point P1 at a travel speed of 1200 mm/min for 100 mm long deposits.

Figure 13 .

 13 Figure 13. Evolution of the average width of the last deposit versus the number of deposited layers for various travel speeds, for sets P1 (a) and P2 (b).

Figure 14 .

 14 Figure 14. Macrographs of 25 layers walls built with parameters sets P1 (a) and P2 (b) at a travel speed of 900 mm/min.

Figure 15 .

 15 Figure 15. SEM micrograph showing the microstructure of the deposits (parameters set P2, wall centre, longitudinal section).

Figure 16 .

 16 Figure 16. Comparison of the microstructure size of the first layer (a) and twelfth layer (b), for the multilayer deposit elaborated with set point P2 (longitudinal section).

Figure 17 .

 17 Figure 17. Comparison of the microstructures obtained for the first layer deposited with set P1 (a) and P2 (b) (cross sections).

Figure 18 .

 18 Figure 18. Porosity defects in the deposits (parameters set P2, longitudinal section).

Table 1 .

 1 Values of the two studied CMT parameters sets.

	Set point	Iw (A)	Vf(m/min)	Isc (A)	Ib (A)	tb (ms)
	P1	70	35	40	150	5
	P2	70	37.5	40	135	9,5

Table 2 .

 2 Average energy (J) produced during each of the three phases and during a total cycle.

	Set	Travel speed	Boost	Wait	Short-circuit	Total energy
	point	(mm/min)	phase	phase	phase	per cycle
	P1	600	14.16	6.66	0.20	21.02
		1200	14.58	6.67	0.19	21.44
		2400	14.31	5.20	0.19	19.70
	P2	600	23.62	5.24	0.19	29.05
		1200	23.59	5.28	0.20	29.07
		2400	23.42	5.30	0.20	28.93

Funding

The authors are grateful to CONACYT (COnsejo Nacional