Perrot

C & Bertsch

Running Head: AGING AND PHYSICAL ACTIVITY Relationship between Physical Activity and Age on the Main Categories of Cognitive Processes

Many transversal studies show a positive relationship between physical activity and a large panel of cognitive functions. However, the majority of studies in this domain separately investigated categories of cognitive functions (e.g., attention, executive functions, visuospatial abilities). Studies simultaneously addressing the main categories of cognitive functions are rare. Moreover, assessment methods to measure physical activity are diverse (i.e., direct method with VO 2 max or indirect method with questionnaires). The purpose of this study was to summarize the relationship between physical activity and performances on a large panel of psychometric tests assessing the main categories of cognitive processes (i.e., based on the broad level of the three stratum model of human cognitive abilities, developed by Carroll in 1993). Thirteen active and thirteen inactive men and women aged between 60 and 70 years old were recruited from the community to participate in this study. Measures obtained included self-reports about health status and educational level, an estimate of the VO 2 max (Rockport 1-Mile Walk Test), indirect estimate of physical activity (the Modifiable Activity Questionnaire) and several categories of psychometrics tests. Categories used were fluid intelligence (Matrix Reasoning test), crystallized intelligence (Similarities), general memory and learning (Digit Span and Letter-Number Sequencing), visual perception (Cancellation test), retrieval ability (Rey Auditory Verbal Learning Test), processing speed (Digit Symbol Substitution Test, Number Comparison Test, Directional Heading Test), psychomotor speed (Reaction and Movement Time tests) and psychomotor abilities (Pegboard test). One-Way

Analyses of Variance (ANOVAs) were conducted, with performance scores obtained on each cognitive tests as the dependent variable, and amount of physical activity (active vs. inactive) as the independent variable. Results revealed that active older adults perform better than inactive older adults in the large panel of psychometric tests measuring several cognitive abilities, with significant effects observed for fluid intelligence, broad visual perception, broad cognitive speediness, psychomotor abilities and psychomotor speed. Results also revealed medium effect size for crystallized intelligence and general memory and learning.

This research provides further support that regular physical activity may offer a protective buffer against the cognitive declines associated with aging. However, as this study employed a cross-sectional design, only precautious conclusions can be drawn from the current findings. Future intervention studies should examine whether the beneficial effect of an active physical lifestyle on cognition is a causal one. Training interventions with participants randomly assigned to aerobic training and control groups would increase the heuristic value of this research. Relationship between Physical Activity and Age on the Main Categories of Cognitive Processes Aging can be characterized by decrements in a variety of cognitive processes (e.g.,

1997; Mero et al, 1989;general memory and learning: Chodzko-Zajko et al., 1992;visual perception: Hillman, Weiss, Hagberg & Hatfield, 2002) or two cognitive categories (general memory and learning and processing speed: [START_REF] Dustman | Age and fitness effects on EEG, ERPs, visual sensitivity and cognition[END_REF]; fluid and crystallized intelligence: [START_REF] Elsayed | Intellectual differences of adult men related to age and physical fitness before and after an exercise program[END_REF]. In this meta-analysis, only one study [START_REF] Shay | Association between aerobic fitness and visuospatial performance in healthy older adults[END_REF] simultaneously addressed more than two categories of cognitive functions (i.e., crystallized intelligence, general memory and learning, visual perception, retrieval ability and processing speed).

The goal of this study was to summarize the relationship between physical activity and performances on a large panel of neuropsychological tests assessing the main categories of cognitive processes within one experiment. Different studies have revealed beneficial effects of a higher level of physical activity on some cognitive functions that are generally affected by aging. However, all the main cognitive domains have not been generally examined in the same study. Therefore, establishing an inventory of physical activity benefits on cognitive functioning is not an easy task. Moreover, previous studies frequently differ among several methodological dimensions (such as the way to categorize participants) and consequently make comparison validity questionable.

Neuropsychological tests were chosen in order to take into account several theoretical classifications. The first main classification considered was the broad level of the three stratum model of human cognitive abilities, developed by [START_REF] Carroll | Human cognitive abilities: A survey of factor-analytic studies[END_REF]. We decided to integrate tests of fluid intelligence, crystallized intelligence, general memory and learning, broad visual perception 1 , broad retrieval ability, broad cognitive speediness, and processing speed. According to previous and more precise classifications about processing speed (e.g., [START_REF] Ackerman | Cognitive, perceptual speed, and psychomotor determinants of individual differences during skill acquisition[END_REF][START_REF] Catano | Describing the primary abilities associated with five clusters of entrylevel military occupations[END_REF], this last category was divided into two subcategories of functions: psychomotor speed and psychomotor abilities. Psychomotor speed corresponds to the ability of rapidly and fluently performing body motor movements independently of cognitive control. Psychomotor abilities correspond to the ability of performing body motor movements with precision and coordination with more temporal and spatial constraints [START_REF] Ackerman | Cognitive, perceptual speed, and psychomotor determinants of individual differences during skill acquisition[END_REF]. This categorization also takes into account the three categories of determinants related to skill acquisition, developed by Ackerman (1988) (i.e., cognitive, perceptual speed and psychomotor abilities). Moreover, it integrates simultaneously performance level tests, requiring participants to realize the highest score with no time pressure, and speed of processing tests with a high time constraint.

Based on previous findings about the impact of physical activity on various neuropsychological functions (for review, see [START_REF] Lemaire | Psychologie du vieillissement. Une approche cognitive[END_REF], we summarized each results into the broad levels of the three stratum model of human cognitive abilities [START_REF] Carroll | Human cognitive abilities: A survey of factor-analytic studies[END_REF]. Then, we examined the hypothesis that a high level of physical activity would be linked to better performances on all neuropsychological tests, except for those evaluating crystallized intelligence, which is generally spared by age-related deficits [START_REF] Botwinick | Aging and behaviour[END_REF][START_REF] Etnier | Fluid intelligence in an older COPD sample following short-or long-term exercise[END_REF][START_REF] Park | Aging, cognition, and culture: a neuroscientific perspective[END_REF].

Methods

Participants

Twenty-six independent elderly adults (13 men, 13 women, aged between 60-70 years) were recruited from the community and they volunteered to take part in this crosssectional study. All participants were of European, Caucasian origin. They gave their informed consent and were not compensated for their participation. Neuropsychological screening confirmed that participants were non-demented (as assessed with the Mini-Mental State Examination).

Measures

Health, educational level and amount of physical activity. Health status was measured with a short questionnaire (questions relating to cardiac and neurological health, medication intake, discomfort, recent or eventual hospitalizations). Exclusion criteria were (a) a history of cardiovascular disease, stroke, or neurological disease; (b) hospitalization in the preceding month; and (c) prescribed medication for hypertension. All potential subjects also rated their health on a 5-point likert-type health scale (1 = very bad, 2 = bad, 3 = fair, 4 = good, 5 = excellent), and those who rated their health as very bad or bad were excluded. Because educational level is recognized as a moderator of age-related deficits on cognitive functions (e.g., [START_REF] Bherer | Education, age, and the Brown-Peterson technique[END_REF], only participants with at least 12 years of education were selected, in order to control the effects of this variable. Active and inactive participants were recruited, based on the amount of regular physical activity reported. First, 30 participants were contacted by phone and provided a self-reported estimation of physical activity with an interview. Based on these answers, 26 of the initial participants corresponded to the criteria of being active or inactive, and were assigned to the corresponding group (13 active participants, with 7 men and 6 women, and 13 inactive participants, with 6 men and 7 women). The criteria used were inspired from the recommendations of several health guides (e.g., Canadian Health Network in Canada, Institut National de Prévention et d'Education pour la Santé in France). People reporting more than 4 hours of physical activity per week were considered as active, whereas people reporting less than 1 hour of physical activity per week were considered as inactive. Then, the accuracy of the classification in the active and inactive groups was confirmed by both a direct and an indirect method. The direct method was an aerobic test of cardiorespiratory fitness and the indirect method was a physical activity questionnaire. The aerobic test used to assess cardiorespiratory fitness was the Rockport 1mile walk test [START_REF] Kline | Estimation of VO2max from a one-mile track walk, gender, age, and body weight[END_REF] which is a sub-maximal field test to estimate VO 2 max.

Participants were required to walk one mile (1.6 kilometers) as quickly as possible over a level terrain. The test is easily administered and is well-suited for sedentary and/or older individuals. Significant differences for the VO 2 max estimation were found between active and inactive participants (F(1,24) = 27.01, p < .05, η² = .53). Because researchers have suggested that VO 2 max may reflect genetic factors more than actual activity levels [START_REF] Bouchard | Heredity and endurance performance[END_REF][START_REF] Bouchard | Genetics of physiological fitness and motor performance[END_REF], an activity questionnaire was also given to participants.

The interviewer-administered « Modifiable Activity Questionnaire » (MAQ, [START_REF] Kriska | Development of questionnaire to examine relationship of physical activity and diabetes in Pima Indians[END_REF]) that evaluates past week and past year participation in leisure time physical activity and sports in adults. Subjects are read a list of common activities and asked to provide information on the number of months, times per month or week, and the average duration of participation for each activity they participated in over the past year. The amount of physical activity reported was converted into a Metabolic Equivalent of oxygen consumption per unit of body size at rest (MET; from a standard MET unit value for each sport indicated by the questionnaire, [START_REF] Ainsworth | Compendium of physical activity: Classification of energy costs of human physical activities[END_REF][START_REF] Fox | Bases physiologiques de l'exercice physique[END_REF]. Furthermore, MET units were used because each activity does not represent the same amount of energy expenditure. Significant differences for the amount of physical activity reported were obtained between active and inactive participants (F(1,24) = 321.78, p <.05, η² = .93). These results were found for both measurement units (hrs/week and METs-hrs/week). Active and inactive groups are described in Table 1 (insert table 1). No significant differences between active and inactive groups were observed concerning the participants' age (F(1,24) = 0.03, p = n.s.), the educational level (F(1,24) = 0.06, p = n.s.) and the self-rated health level (F(1,24) = 3.00, p = n.s.). Broad Visual perception: the Cancellation Test, a typical perceptual speed test [START_REF] Ackerman | A correlational analysis of skill specificity: Learning, abilities, and individual differences[END_REF]) consists of a page of randomly generated uppercase English letters. All letters occurred with equal probability and participants were instructed to place a line through each occurrence of a target letter.

Broad Retrieval ability: the Rey Auditory Verbal Learning Test [START_REF] Rey | L'examen psychologique dans les cas d'encéphalopathie traumatique[END_REF] provides measures of recall following a long delay period. The test consists of five presentations of a 15-word list (List A), followed by a free recall of a second word list (List B), and a sixth recall trial of List A. Delayed recall is examined with a seventh recall trial of the List A after a delay of approximately 30 minutes.

Broad Cognitive Speediness: In the Digit Symbol Substitution Test (WAIS-R) participants must write down symbols associated to numbers using a table in which both (numbers and symbols) are paired together. The Number Comparison Test [START_REF] Ackerman | Cognitive, perceptual speed, and psychomotor determinants of individual differences during skill acquisition[END_REF] consists of two columns of numbers pairs. Participants are instructed to place a check mark between the numbers that match exactly. The Directional Headings Test [START_REF] Cobb | A proposed new test for aptitude screening of air traffic controller applicants (FAA-AM-72-18)[END_REF] involves the translation and integration of arrows, numbers and letter direction abbreviations. Participants are instructed to place a check mark between the 3 directional cues that match exactly.

Psychomotor Speed: Simple Reaction Time (SRT; the time it takes to make a response) and Simple Movement Time (SMT; the time to move a finger from a specific button to a target button) were evaluated. Instructions and stimuli were presented with a Pentium 4 PC, with standard keyboards and E-prime software which recorded accuracy and response time (version 1.1 beta 1.0, [START_REF] Schneider | E-prime user's guide[END_REF]. The stimulus was a red square. Responses were made using the corresponding key on the computer numeric keypad.

Performance was measured as the mean SRT and SMT in milliseconds on a block of 12 trials.

Psychomotor Abilities: the Pegboard Test [START_REF] Fleishman | Dimensional analysis of psychomotor abilities[END_REF] measures the ability to make precisely coordinated movements of the hands and the fingers with manipulation of pegs.

Participants have to introduce pegs on a board with holes as quickly as possible.

Procedure

Assessment of each participant was done across two sessions on separate days. During the physical activity assessment session, participants read and signed informed consent, completed the health and physical activity questionnaires, and realized the walk test. During the laboratory session, the battery of cognitive measures was administered.

Analyses

One-Way Analyses of Variance (ANOVAs) were conducted, with performance scores obtained on each cognitive test as the dependent variable, and amount of physical activity (active vs. inactive) as the independent variable. A significant alpha (p) level of .05 was used.

With regards to our short sample of participants and in order to avoid Type II error, effect sizes were also reported for each test (Cohen's d).

Results

Active participants did not obtain significant superior performance scores in crystallized intelligence compared to their inactive counterparts. No significant effect was observed for the Similarities Test (p = n.s). However, with an alpha (p) level of.05, the Type II error is high (42.9 %). The effect size revealed a medium impact of physical activity on the Similarities Test (Cohen's d = 0.42) (figure 1). Active older adults performed better than Performance scores on tests of psychomotor speed were significantly higher for active older adults than for inactive older adults (Simple Reaction Time: F (1, 24) = 4.20, p = .05, η² = .14, Cohen's d = 0.80; Simple Movement Time: F (1, 24) = 7.37, p < .05, η² = .23, Cohen's d = 1.07). Finally the analysis showed a significant effect on psychomotor abilities, the active individuals outperforming their inactive counterparts on the Pegboard Test (F (1, 24) = 10.07, p < .05, η² = .29, Cohen's d = 1.25) (figure 4).

Discussion

This study explored the relationship between physical activity and age in a large panel of neuropsychological tests. Results confirmed previous findings about the beneficial effect of physical activity on age-related cognitive deficits [START_REF] Colcombe | Fitness effects on the cognitive function of older adults: A meta-analytic study[END_REF][START_REF] Kramer | Ageing, fitness and neurocognitive function[END_REF]. Indeed, the active group performed better than their inactive counterparts on all categories recognized to be sensitive to age-related deficits. Thus, this study suggests a protective effect of physical activity on cognitive decline induced by aging. Therefore, maintaining an active lifestyle in old age seems to be associated with slowing down aging cognitive impacts [START_REF] Stones | Physical activity, age and cognitive/motor performance[END_REF]. This positive influence of lifestyle (on cognitive ageing) is coherent with the physiological interpretation of the effect of physical activity on cognitive functions [START_REF] Etnier | The influence of age and fitness on performance and learning[END_REF]. With age, it is generally recognized that the amount of oxygen transported to the brain decreases (e.g., [START_REF] Jacobs | Hyperoxygenation effect on cognition functioning in the aged[END_REF]. Regular exercise would maintain cerebrovascular integrity by increasing cerebral blood flow, thus increasing oxygen transport and reducing the risk of brain hypoxia (e.g., [START_REF] Herholtz | Regional cerebral flow in man at rest and during exercise[END_REF].

Moreover, this study emphasizes that physical activity could also moderately increase performance on crystallized functions recognized insensitive to age-related deficits (size effect = 0.42). It seems that for physical activity to have a beneficial impact, cognitive functions do not necessarily already need to be declining. However, this positive relationship on crystallized functions is to a lesser extent than other categories of functions, because no significant differences were obtained. This trend has to be imperatively replicated with larger samples to be confirmed. This study also emphasizes that impact of physical activity is more pronounced for tests requiring processing speed. Indeed, effect sizes reveal higher benefits for tests with high time pressure such as psychomotor speed, psychomotor abilities, processing speed and visual perception. Impact of physical activity was inferior for performance output tests of crystallized intelligence and memory. These results support previous studies showing that active individuals performed faster than sedentary individuals, especially on tests requiring information processing speed and psychomotor functions [START_REF] Dustman | Aerobic exercise training and improved neurophysiological function of older adults[END_REF][START_REF] Hillman | The relationship to age and cardiovascular fitness to cognitive and motor processes[END_REF]Spirduso, McRae, McRae, Prewitt & Osborne, 1988;[START_REF] Stacey | Simple cognitive and behavioural changes resulting from improved physical fitness in persons over 50 years of age[END_REF][START_REF] Stones | Physical activity, age and cognitive/motor performance[END_REF]. This higher relationship could be due to regular and large solicitation of speed of movement and speed of response across physical activity practice [START_REF] Hillman | The relationship to age and cardiovascular fitness to cognitive and motor processes[END_REF][START_REF] Spirduso | Exercise effects on aged motor function[END_REF]. Indeed, the link between physical activity and processing speed seems to be sufficiently strong to observe a more beneficial impact of physical activity on tests requiring responses to be given as fast as possible.

Results obtained in this study also provide advancements in the skill acquisition domain. Indeed, the distribution of psychometric tests also takes into account the three categories of determinants developed by [START_REF] Ackerman | Determinants of individual differences during skill acquisition: Cognitive abilities and information processing[END_REF]. These categories are relevant determinants of individual differences during skill acquisition. Many tasks are expected to show changes in ability demands in a predictable fashion, as the learner develops the appropriate task skill. Skill acquisition is described as occurring in three qualitatively different phases: cognitive, perceptive and psychomotor. During the initial cognitive phase of skill acquisition, performance is most highly associated with cognitive abilities. During the intermediate associative phase of skill acquisition, performance is most highly associated with processing speed abilities. Finally, as learners developed autonomous skills, individual differences in performance are most highly related to psychomotor abilities. Thus, benefits noted in this study also concern the skill acquisition domain, physical activity allowing the course of age-related deficits to be slowed down on skill acquisition determinants. With higher cognitive processing speed and psychomotor abilities, it would be easier for older active participants to cross learning stages.

To conclude, this study suggests a positive relationship between physical activity and age-related deficits on cognitive functioning. However, even if the implications of the findings are significant, they would have to be replicated with larger samples. The small number of participants that were included in this study is a real limit. Furthermore, our crosssectional design does not allow exploring whether there is a clear causal relationship.

Consequently, this study opens the way to future intervention studies. Training interventions with participants randomly assigned to aerobic training and control groups would increase the heuristic value of this research. It could also be relevant to integrate active and inactive younger groups, in order to study whether physical activity affects cognitive functioning in a consistent fashion regardless of age group. Indeed, it is not clear if the beneficial impact of physical activity is general to all individual or specific to older persons (Perrot, Gagnon & Bertsch, in press). Moreover, it could be pertinent to assess the impact of other potential moderating factors. Although physical activity could indeed have been responsible for performance differences exhibited by the active and inactive participants, so could a multitude of other factors (e.g., socioeconomic status, leisure activities, diet, etc.) that may have covaried with cognitive functioning. Finally, this study suggests that even in old age, a high level of physical activity could help maintain better cognitive capacities.

  Psychometric tests. Each participant completed a neuropsychological tests battery, administered individually in a quiet testing room and following standard tests instructions. A complete description of these standard tests can be found in[START_REF] Lezak | Neuropsychological Assessment[END_REF]. Neuropsychological tests were coded into categories based upon Carroll's structure of cognitive abilities (1993) as derived from factor analytic analyses. The categories used were (i) fluid intelligence, (ii) crystallized intelligence, (iii) broad general memory and learning, (iv) broad visual perception, (v) broad retrieval ability, (vi) broad cognitive speediness, (vii) psychomotor speed and (viii) psychomotor abilities 2 . Fluid intelligence: the Matrix Reasoning Test (WASY) measures abstract nonverbal reasoning ability. It consists of a sequence or group of designs, where the individual is required to fill in the missing design from a number of choices. Crystallized intelligence: the Similarities Test (WAIS-R) measures verbal abstract reasoning and conceptualization abilities. Examinees must state in what way two objects or concepts are alike.General memory and learning: the Digit Span Test (WAIS-R) is commonly used to assess verbal working memory. It requires for the participants to repeat the numbers in sequential order. The Letter-Number Sequencing Test (WAIS-III) assesses attention and working memory. The tester verbally presents increasingly longer sequences of intermixed numbers and letters. After each sequence, the participant is asked to repeat the numbers in ascending order first and then the letters in alphabetical order.

  inactive older adults on the test measuring fluid intelligence (Matrix Reasoning Test: F (1, 24) = 5.46, p < .05, η² = .18, Cohen's d = 0.91) (figure 1). Concerning general memory and learning category, no significant effects of physical activity for the Digit Span Test and the Letter-Number Sequencing Test (p = n.s) were found. However, like the Similarities Test, the Type II error is high (70.6 % for the Digit Span Test and 54.3% for the Letter-Number Sequencing Test). The effect size revealed a medium impact of physical activity on the Digit Span Test (Cohen's d = 0.56) and a high impact on the Letter-Number Sequencing Test (Cohen's d = 0.73) (figure 2). Concerning the broad visual perception category, the results revealed a significant effect of physical activity level, active individuals obtaining better performances than inactive individuals on the Cancellation Test (F (1, 24) = 21.17, p < .05, η² = .46, Cohen's d = 1.80) (figure 1). Delayed recall of the Rey Auditory Verbal Learning Test measuring broad retrieval ability showed a significant difference between our two groups in favor of active individuals (F (1, 24) = 6.64, p < .05, η² = .21, Cohen's d = 1.01) (figure 1). A significant effect of physical activity on each tests of the broad cognitive speediness category was also found (Digit Symbol Substitution Test: F (1, 24) = 36.4, p <.05, η² = .60, Cohen's d = 2.22; Number Comparison Test: F (1, 24) = 20.98, p < .05, η² = 0.46, Cohen's d = 1.80; Directional Heading Test: F (1, 24) = 9.346, p < .05, η² =.28, Cohen's d = 1.20) (figure 3).

Figures Captions Figure 1 .Figure 2 .

 Captions12 Figures Captions

Figure 3 .Figure 4 .

 34 Figure 3. Results obtained by active and inactive groups on broad cognitive speediness

Notes

Note 1: Tests of broad auditory perception were not integrated in this study.

Note 2: Inversely to [START_REF] Etnier | A meta-regression to examine the relationship between aerobic fitness and cognitive performance[END_REF] meta-analysis, the auditory was not tested and the speediness category was divised in two sub-categories, according to [START_REF] Carroll | Human cognitive abilities: A survey of factor-analytic studies[END_REF]


Anca Iordache

Christine Morin

Nikos Parlavantzas

Pierre Riteau

Resilin: Elastic MapReduce over Multiple Clouds

Keywords: MapReduce, Hadoop, Cloud Computing, Multi-cloud environment MapReduce, Hadoop, Cloud Computing, Environnement multi-cloud

The MapReduce programming model, introduced by Google, offers a simple and efficient way of performing distributed computation over large data sets. Although Google's implementation is proprietary, MapReduce can be leveraged by anyone using the free and open-source Apache Hadoop framework. To simplify the usage of Hadoop in the cloud, Amazon Web Services offers Elastic MapReduce, a web service enabling users to run MapReduce jobs. Elastic MapReduce takes care of resource provisioning, Hadoop configuration and performance tuning, data staging, fault tolerance, etc. This service drastically reduces the entry barrier to perform MapReduce computations in the cloud, allowing users to concentrate on the problem to solve. However, Elastic MapReduce is restricted to Amazon EC2 resources, and is provided at an additional cost. In this paper, we present Resilin, a system implementing the Elastic MapReduce API with resources from clouds other than Amazon EC2, such as private and scientific clouds. Furthermore, we explore a feature going beyond the current Amazon Elastic MapReduce offering: performing MapReduce computations over multiple distributed clouds. The evaluation of Resilin shows the benefits of running computations on more than one cloud. While not being the most efficient way to perform Hadoop computations, it solves the problem of resource availability and adds more flexibility regarding the type/price of resource.

Introduction

The MapReduce programming model [START_REF] Dean | MapReduce: Simplified Data Processing on Large Clusters[END_REF], proposed by Google in 2004, offers a simple way of performing distributed computation over large data sets. Users provide a map and a reduce function. The map function takes a set of input key/value pairs, and produces intermediate key/value pairs. The reduce function merges intermediate key/value pairs together to produce the result of the computation. This programming model became popular because it is simple yet expressive enough to perform a large variety of computing tasks. It can be applied to many fields, from data mining to scientific computing. This programming model is backed by a proprietary framework developed by Google that takes care of scheduling tasks to workers, sharing data through a distributed file system, handling faults, etc. The Apache Hadoop [START_REF]Apache Hadoop[END_REF] project develops a free and open-source implementation of the MapReduce framework. The Hadoop MapReduce framework works with the Hadoop Distributed File System (HDFS) [START_REF] Shvachko | The Hadoop Distributed File System[END_REF], designed to be highly-reliable and to provide high throughput for large data sets used by applications. Hadoop is heavily used by companies such as Yahoo!, Facebook and eBay to perform thousands of computations per day over petabytes of data [START_REF] Thusoo | Data Warehousing and Analytics Infrastructure at Facebook[END_REF][START_REF] Shvachko | Apache Hadoop: The Scalability Update[END_REF]. However, managing a Hadoop cluster requires expertise, especially when scaling to a large number of machines. Moreover, users who want to perform MapReduce computations in cloud computing environments need to instantiate and manage virtual resources, which further complicates the process.

To lower the entry barrier for performing MapReduce computations in the cloud, Amazon Web Services provides Elastic MapReduce (EMR) [START_REF]Amazon Elastic MapReduce[END_REF]. Elastic MapReduce is a web service to which users submit MapReduce jobs. The service takes care of provisioning resources, configuring and tuning Hadoop, staging data, monitoring job execution, instantiating new virtual machines in case of failure, etc. However, this service has a number of limitations. First, it is restricted to Amazon EC2 resources. Users are not able to use Elastic MapReduce with resources from other public clouds or from private clouds, which may be less expensive or even free of charge. This is especially true for scientists who have access to clouds administrated by their institution and dedicated to scientific computing [START_REF] Keahey | Science Clouds: Early Experiences in Cloud Computing for Scientific Applications[END_REF][START_REF] Ramakrishnan | Magellan: Experiences from a Science Cloud[END_REF]. Moreover, Elastic MapReduce is provided for an hourly fee, in addition to the cost of EC2 resources. This fee ranges from 17% to 21% of the price of on-demand EC2 resources. It is impossible to use a different virtual machine image than the one provided by Amazon. Finally, some users may have to comply with data regulation rules, forbidding them from sharing data with external entities like Amazon.

In this paper, we present Resilin, a system implementing the Elastic MapReduce API with resources from other clouds than Amazon EC2, such as private and scientific clouds. Resilin allows users to perform MapReduce computations on different infrastructures than Amazon EC2, and offers more flexibility: users are free to select different types of virtual machines, different operating systems or newer Hadoop versions. The goal of Resilin is not only to be compatible with the Elastic MapReduce API. We also explore a feature going beyond the current Amazon Elastic MapReduce offering: performing MapReduce computations over multiple distributed clouds. This paper is organized as follows. Section 2 presents the Amazon Elastic MapReduce service in more details. Section 3 covers the architecture and implementation of Resilin. Section 4 presents our experiments and analyzes their results. Section 5 reviews related work. Finally, Section 6 concludes and discusses future work.

Amazon Elastic MapReduce

Amazon Elastic MapReduce [START_REF]Amazon Elastic MapReduce[END_REF] is one of the products of Amazon Web Services. After signing up and providing a credit card number, users can submit MapReduce jobs through the AWS management console (a web interface), through a command line tool, or by directly calling the Elastic MapReduce API (libraries to access this API are available for several programming languages, such as Java and Python).

Users execute Hadoop jobs with Elastic MapReduce by submitting job flows, which are sequences of Hadoop computations. Before starting the execution of a job flow, Elastic MapReduce provisions a Hadoop cluster from Amazon EC2 instances. Each job flow is mapped to a dedicated Hadoop cluster: there is no sharing of resources between job flows. A Hadoop cluster created by Elastic MapReduce can be composed of three kinds of nodes:

• the master node, which is unique, acts as a meta data server for HDFS (by running the NameNode service) and schedules MapReduce tasks on other nodes (by running the Job-Tracker service),

• core nodes provide data storage to HDFS (by running the DataNode service) and execute map and reduce tasks (by running the TaskTracker service),

• task nodes execute map and reduce tasks but do not store any data.

By default, a Hadoop cluster created by Elastic MapReduce is composed of one master node and several core nodes1 . At any time during the computation, a Hadoop cluster can be resized. New core nodes can be added to the cluster, but core nodes cannot be removed from a running job flow, since removing them could lead to HDFS data loss. Task nodes can be added at any time, and removed without risk of losing data: only the progress of MapReduce tasks running on the terminated task nodes will be lost, and the fault tolerance capabilities of Hadoop will trigger their re-execution on other alive nodes.

After the Hadoop cluster has booted, the service executes bootstrap actions, which are scripts specified by users. These actions allow users to customize an Elastic MapReduce cluster to some extent. Amazon provides several pre-defined bootstrap actions, to modify settings such as the JVM heap size and garbage collection behavior, the number of map and reduce tasks to execute in parallel on each node, etc. Users can also provide custom bootstrap actions by writing scripts and uploading them in S3. Once a Hadoop cluster is ready for computation, Elastic MapReduce starts executing the associated job flow. A job flow contains a sequence of steps, which are executed in order. Internally, each step corresponds to the execution of a Hadoop program (which can itself spawn multiple Hadoop jobs). After all steps are executed, the cluster is normally shut down. Users can ask for the cluster to be kept alive, which is useful for debugging job flows, or for adding new steps in a job flow without waiting for cluster provisioning and paying extra usage (in Amazon EC2, instance cost is rounded up to the hour, which means a 1-minute and a 59-minute job flow cost the same price).

Typically, input data is fetched from Amazon S3, a highly scalable and durable storage system provided by Amazon. Intermediate data is stored in HDFS, the Hadoop Distributed File System. Output data is also saved in Amazon S3, since the termination of a Hadoop cluster causes its HDFS file system to be destroyed and all the data it contains to become unavailable.

Architecture and Implementation

Like the Amazon Elastic MapReduce service, Resilin provides a web service acting as an abstraction layer between users and Infrastructure as a Service (IaaS) clouds. Figure 1 presents how Resilin interacts with other components of a cloud infrastructure. Users execute client programs supporting the Elastic MapReduce API to interact with Resilin (for instance, a Python script using the boto [START_REF]boto: A Python interface to Amazon Web Services[END_REF] library). Resilin receives Elastic MapReduce requests and translates them in two types of actions:

• interactions with an IaaS cloud using the EC2 API, to create and terminate virtual machine instances,

• remote connections to virtual machines using SSH, to configure Hadoop clusters and execute Hadoop programs.

To retrieve input data and store output data, Hadoop clusters interact with a cloud storage repository through the S3 API.

Resilin implements most actions supported by the Amazon Elastic MapReduce API. Users are able to submit job flows (RunJobFlow), query job flow statuses (DescribeJobFlows), add new steps to an existing job flow (AddJobFlowSteps), change the number of resources by adding or modifying instances groups (AddInstanceGroups/ModifyInstanceGroups), and terminate job flows (TerminateJobFlows).

Unlike Amazon, Resilin allows users to remove core nodes from the Hadoop cluster. This feature is going to be described in more details in section 3.2.

Currently, most applications types supported by Amazon Elastic MapReduce are available in Resilin. Users using Resilin are able to launch JAR-based and streaming Hadoop jobs. Data analysis is also supported by writing job flows using Apache Hive and Apache Pig, two SQL-like languages.

We now describe how each type of Elastic MapReduce action is handled. When a new job flow request (RunJobFlow) is received by Resilin, its parameters are validated, and the service contacts an EC2-compatible IaaS cloud on behalf of the user to provision a Hadoop cluster. By leveraging the EC2 API, Resilin can make use of resources from clouds managed by open-source toolkits supporting the EC2 API, such as Nimbus [START_REF]Nimbus[END_REF], OpenNebula [START_REF]OpenNebula[END_REF], OpenStack [START_REF]OpenStack[END_REF] and Eucalyptus [START_REF] Nurmi | The Eucalyptus Open-source Cloud-computing System[END_REF].

Once a Hadoop cluster is provisioned, Resilin connects to the virtual machines, using SSH, to execute bootstrap actions specified by the user, configure the Hadoop cluster (specifying the HDFS NameNode address, the MapReduce JobTracker address, etc.), and start the Hadoop daemons.

After Hadoop has been configured, the associated job flow is started and each step in the job flow is executed by invoking the hadoop command on the master node. Each step specifies the locations of its input and output data. These references can be S3 URLs: Hadoop supports reading and writing directly to Amazon S3. It would be technically possible to configure the Hadoop clusters created by Resilin to access input data from Amazon S3, like in Amazon Elastic MapReduce. However, this is ineffective for two reasons. First, bandwidth limitations between Amazon S3 and the private or scientific IaaS cloud running the Hadoop cluster drastically limit performance. Second, outgoing traffic from Amazon S3 is charged to customers, which would incur a high cost when performing MapReduce computations on big data sets.

We assume that clouds used by Resilin have a storage service available. Both Nimbus [START_REF]Nimbus[END_REF] and Eucalyptus [START_REF] Nurmi | The Eucalyptus Open-source Cloud-computing System[END_REF] provide their own S3-compatible cloud storage (respectively called Cumulus [START_REF] Bresnahan | Cumulus: An Open Source Storage Cloud for Science[END_REF] and Walrus). Furthermore, Cumulus can be installed as a standalone system, making it available for any cloud deployment. Resilin can use this kind of repository to provide Hadoop with input data and to store output data. To make it possible, we extended the S3 protocol support of Hadoop 0.20.2. In addition to being able to specify URLs in the form of s3n://bucket/key, users can also provide URLs such as cumulus://bucket.host:port/key. When such URLs are detected, the library used by Hadoop to interact with S3 (JetS3t) is set up to contact the Cumulus server running on host:port.

Users can run different applications. The first type, a custom JAR, is simply the location of a JAR and its required arguments.

When executed, this JAR submits jobs to Hadoop. The JAR URL can be a S3 or Cumulus location. In this case, Resilin first downloads the JAR to the master node, using the hadoop fs -copyToLocal command, as Hadoop does not support directly executing a JAR from a remote location.

The second type, streaming jobs, is defined by a mapper program, a reducer program, and the locations of input and output data. Both programs can be stored in S3 or Cumulus, and can be written in any programming language (Java, Ruby, Python, etc.): they apply their computation on data coming from standard input and stream their result to standard output. To run a streaming step, the Hadoop command is invoked with the hadoop-streaming JAR included in the Hadoop MapReduce framework.

We determined that Amazon made modifications to Hadoop to be able to fetch the mapper and reducer programs from S3 and add them to the Hadoop distributed cache (in order to provide them to all nodes). We did not make such modifications to the Hadoop source code, and currently rely on bootstrap actions to download the mapper and reducer programs to the master node. Other types of job flows involve data analysis systems as Apache Hive and Pig. These systems need to be installed in the virtual cluster. For running installation scripts as jobflow steps, we use a tool provided by Amazon, script-runner.jar. It is requiring as argument the program to execute. Using this tool, scripts for installing and configuring new systems in

Inria

Hadoop can be executed. For example, when running a Hive or Pig script, a first step of the jobflow is the installation of the system and then the execution of the targeted program.

Resilin monitors the execution of the Hadoop computation. When the execution of a step is finished, the status of the job flow is updated, and the next step starts running. When all steps have been executed, the job flow is finished, which triggers termination of the cluster (unless the user requested the cluster to be kept alive).

Resilin is implemented in Python. It uses the Twisted [START_REF]Twisted[END_REF] framework for receiving and replying to HTTP requests, the boto [START_REF]boto: A Python interface to Amazon Web Services[END_REF] library to interact with clouds using the EC2 API, and the paramiko [29] library for executing commands on virtual machines using SSH.

Also, it comes with its own EMR client that eases job launching and contains installers for Apache Hive, Apache Pig and for setting cluster parameters. These scripts are equivalent to the ones used in Amazon EMR with some differences. Amazon EMR is using some libraries to improve Hive and Pig while the scripts offered by Resilin installs them as they are provided by Apache, with no extra feature.

Yet, Resilin's client is not mandatory, any EMR client tool can be used instead.

Multi-Cloud Job Flows

Besides targeting compatibility with the Amazon Elastic MapReduce API, we are experimenting with an additional feature in Resilin: the ability to execute job flows with resources originating from multiple clouds. With Amazon Elastic MapReduce, executing MapReduce computations across multiple Amazon EC2 regions does not present a lot of interest. The large number of resources available in each region makes it possible to deploy large Hadoop clusters in a single data center2 . However, in the usage context of Resilin, many users would have access to several moderately sized private or scientific clouds. For example, the FutureGrid [START_REF] Futuregrid | [END_REF] project, a distributed, high-performance testbed in the USA, contains 4 Nimbus clouds, each having from 120 to 328 processor cores. Federating computing power from several such clouds to create large scale infrastructures has been proposed as the sky computing approach [START_REF] Keahey | Sky Computing[END_REF]. Although creating MapReduce clusters distributed over several clouds may not be efficient because of the large amounts of wide-area data transfer that it generates [START_REF] Cardosa | Exploring MapReduce Efficiency with Highly-Distributed Data[END_REF], it is interesting for some types of MapReduce jobs. For example, Matsunaga et al. [START_REF] Matsunaga | CloudBLAST: Combining MapReduce and Virtualization on Distributed Resources for Bioinformatics Applications[END_REF] have shown that multi-cloud BLAST computations with MapReduce can scale almost linearly.

Resilin supports multi-cloud job flows by allowing users to dynamically add new resources from different clouds to a running job flow. As an example, let us assume that a user has access to two different clouds, Cloud A and Cloud B, and that Cloud A is her default choice. After a job flow has been started on Cloud A, Resilin will accept requests for adding new instances (AddInstanceGroup) with an instance type also specifying the cloud to use: instead of m1.small, the instance type of the request would be m1.small@CloudB. After new virtual machines are provisioned from Cloud B, they are configured to become resources of the cluster running in Cloud A. This addition is managed seamlessly by Hadoop. When Hadoop daemons are started in the newly provisioned virtual machines of Cloud B, they contact the master node in Cloud A to join the cluster and start receiving MapReduce tasks to execute.

Cluster Elasticity

During execution time, the cluster can be resized by making requests (ModifyInstanceGroups) to Resilin with the new number of instances in the group (core group or task group). Therefore, new instances can be added to the cluster or existing ones removed. Scaling up behaves the same as the AddInstanceGroups request, Resilin starts and configures new virtual machines that will join the cluster. Scaling down, though, has a different execution flow depending on the group to be resized. When resizing a task group, Resilin is simply stopping the mapreduce daemon and shutting down the virtual machine. But, in the case of core group, there is extra work to be done due to the data stored by these virtual machines. Therefore, before shutting down the virtual machines, the data must be migrated to the remaining machines. To accomplish this, Resilin asks Hadoop to decomission those machines. This process is successful only if there is enough space on the remaining machines to store the data from the removed virtual machines.

Evaluation

We validated Resilin features on a single cloud comparing it with Amazon EMR for the execution of all kinds of applications supported. We also evaluated the performance obtained by Map/Reduce applications using resources from multiple clouds for both static and elastic virtual clusters. We performed our experiments using the Grid'5000 experimentation platform [START_REF] Cappello | Grid'5000: a large scale and highly reconfigurable Grid experimental testbed[END_REF]. In our experiments we used Nimbus Infrastructure version 2.8 [START_REF]Nimbus[END_REF] and OpenNebula Infrastructure version 3.4.

We used a number of applications from the HiBench [START_REF] Huang | The HiBench benchmark suite: Characterization of the MapReduce-based data analysis[END_REF] benchmark (wordcount, terasort and PageRank ).Word Count reports the number of occurrences of each word in a text collection. It is representative for real-world applications, transforming a large input into an intermediate representation from which interesting data is filtered. The mappers only emit key/value pairs with the <word, 1> format whose values are going to be summed up by the reducers. This application is executed over a 100 GB dataset generated using RandomWriter sample from Hadoop distribution.

TeraSort is the most well-known benchmark for Hadoop. Its goal is to sort an amount of data as fast as possible. To run this application, 10 GB of data was generated using the teragen sample included in Hadoop distribution. PageRank is a representative use of MapReduce. It is an algorithm for link analysis, used in search engines for computing the rank of web pages according to the number of reference links. The workload consists of a number of job flows with 64 map tasks and 32 reduce tasks processing 1050000 automatically generated Web pages.

In our measurements, we distinguish the virtual cluster deployment time from the application execution time. The deployment phase consists in provisioning a virtual cluster from the IaaS cloud manager, starting the virtual cluster and configuring all the virtual cluster's VMs. The execution of a Map/Reduce application is split in three phases: (1) transfer of input data from the cloud storage (S3 for Amazon EMR, Cumulus for Resilin) to HDFS, (2) execution of the Map/Reduce application, (3) transfer of the output data from HDFS to the cloud storage. In Amazon, S3 is a distributed storage system while in Resilin, we use Cumulus, which provides the S3 interface on top of a centralized NFS server. In all our experiments, the application execution time reported corresponds to the execution time of the second phase only. Indeed, our benchmarks generate the input data directly in HDFS. We consider an application has finished its execution when the output data is available in HDFS.

Inria

Instance

WordCount execution performance

Comparison with Amazon EMR on a Single Cloud

We experimentally verified that Resilin correctly deploys and executes all applications types supported by Amazon EMR. We submitted the same job flow, composed of only one step, on both Amazon EMR and Resilin and compared the application execution times obtained with the two services (from the start of the requested Hadoop computation until its completion). Since Resilin is able to use different IaaS cloud managers and images for starting virtual machines, the deployment time is determined by the IaaS manager. In this experiment we ignored the deployment time and focused on application execution (independent of the IaaS providers and virtual machine image types). We present the results obtained for the wordcount application taking as input 1.8GB of text files. In this experiment, Resilin exploits resources from a Nimbus cloud.

Table 1 reports the configuration of the virtual machines used by Amazon Elastic MapReduce and Resilin. They exhibit similar performance. However, we could not run experiments with VMs presenting exactly the same performance as VMs run on two different infrastructures.

Figure 2

Multi-cloud scenarios

For validating Resilin for Hadoop clusters comprising of resources from multiple clouds over a WAN, we compare the execution of the same job flows using Resilin on resources residing in one cloud and with resources provisioned from multiple clouds. We used physical machines part of genepi cluster in Grenoble and paradent cluster in Rennes, for the deployment of one OpenNebula cloud and one Nimbus cloud. The machines from genepi cluster have 2 Intel Xeon E5420 QC processors (each with 4 cores running at 2.5 GHz), 8 GB of memory, and a Gigabit Ethernet connectivity. They were running a 64-bit Debian Squeeze 6.0 operating system with a Linux 2.6.32 kernel, and were using QEMU/KVM version 0.12.5 as hypervisor. On these machines, a Nimbus cloud was deployed.

For the OpenNebula cloud, machines from paradent cluster were used. These machines have similar performance with the genepi machines, 2 Intel Xeon L5420 QC processors (each with 4 cores running at 2.5 GHz), 16 GB of memory, and a Gigabit Ethernet connectivity. Their operating system and hypervisor are the same as genepi machines.

Table 2 reports the configuration of the virtual machines used with Resilin to perform experiments.

First, we evaluated the configuration time of the Hadoop cluster. Second, we compare the execution time, from submission of a Hadoop computation until its completion.

These experiments are run with various cluster sizes. In each experiment, we had a dedicated master node and we used the following numbers of core nodes: 6, 18, 30, 42.

In the multi cloud scenario, the bottleneck is the network I/O, the network data transfer rate between the two clouds being much smaller than the transfer rate between virtual machines in the same cloud.

Cluster Configuration Time

The configuration time corresponds to the time taken from the end of virtual machines provisioning until the Hadoop cluster is ready to start executing application. This is mainly determined by Resilin which performs the configuration of the Hadoop cluster.

We submit job flows on the service and compare the time for different cluster sizes from the end of provisioning until the start of the Hadoop computation. As it can be seen in Figure 3, the configuration time scales well with the number of instances to be configured.

Execution Time

For Resilin's evaluation, applications from different categories were executed. All experiments were done with intermediate and output data compression, thus minimizing network I/O utilization. All the virtual machines in the cluster were storing data for the applications. In the multiple clouds scenario, machines were distributed evenly on clouds. All the virtual machines involved in the experiments were also storing data for HDFS (core nodes). In the case of a distributed cluster, half of the number of virtual machines were in the OpenNebula cloud and the other half in the Nimbus cloud. The master node is ignored (placed in the Opennebula cloud for all the experiments).

Figure 4 presents the results of the execution time of Word Count. We ran a Word Count program on a collection of 110 GB of text files. These were generated using RandomWriter and RandomTextWriter programs contained in the Hadoop distribution.

The results obtained show similar execution time on one cloud and when using two clouds. As the shuffled and output data is much smaller that the input dataset, the disk and network utilization is low while the CPU utilization is high.

Figure 5 presents the results of the execution time of TeraSort. Terasort is compressing the shuffle and output data thus lowering the disk and network utilization [START_REF] Huang | The HiBench benchmark suite: Characterization of the MapReduce-based data analysis[END_REF]. The results of terasort execution also show a similar execution of the application.

Figure 6 presents the results for PageRank. PageRank consists of several jobs, with greater disk/network utilization than the application presented before. Thus, the results show a longer execution time on two clouds.

To show the elasticity of clusters built using Resilin, we run Wordcount with an input of 30 GB. Figure 7 presents the execution time in a static cluster and in an elastic cluster (scaled up during computation).

In conclusion, all the experiments done show a small performance degradation when using an execution platform built from resources provided by multiple clouds. This is due to lower network transfer rates between the virtual machines from different clouds.

Related Work

Related work on running MapReduce computations in the cloud has been focused on adapting MapReduce to cloud characteristics, either by creating completely new implementations of MapReduce, or by modifying existing systems. For instance, Gunarathne et al. [START_REF] Gunarathne | MapReduce in the Clouds for Science[END_REF] proposed AzureMapReduce, a MapReduce implementation built on top of Microsoft Azure cloud services [START_REF]Windows Azure Platform[END_REF]. They leverage several services offered by Azure, such as Azure Queues for scheduling tasks, Azure blob storage for storing data, etc. This allows their implementation to be decentralized and more elastic than a Hadoop-based cluster, leading to increased levels of fault-tolerance and flexibility. Similarly, Liu and Orban [START_REF] Liu | Cloud MapReduce: a MapReduce Implementation on top of a Cloud Operating System[END_REF] created Cloud MapReduce, a MapReduce implementation leveraging services from the Amazon Web Services platform, with data stored in Amazon S3, and synchronization and coordination of workers performed with Amazon Simple Queue Service (Amazon SQS) and Amazon SimpleDB. These contributions are orthogonal to our objectives. While their goal is to build MapReduce implementations taking advantage of features offered by specific cloud services, we aim to bring an easy way to use MapReduce execution platform to many different cloud implementations. Furthermore, to our knowledge, no EC2-compatible open-source cloud implements the SQS and SimpleDB interfaces, making it impossible to run these MapReduce implementations outside of Microsoft Azure and Amazon Web Services. Another type of proposition has been Seregenti, a toolkit developed by VMware [START_REF] Seregenti | [END_REF]. It allows the fast deployment of highly available Hadoop clusters. Although it supports multiple Hadoop based distributions from a range of vendors including Apache Hadoop and Cloudera Distribution, Seregenti allows the usage of resources provided only by VMware vSphere platform.

An interesting and flexible approach is Apache Whirr, a library and command line tool that can be used to run cloud services. It simplifies the deployment of distributed systems on cloud infrastructure, allowing users to launch and tear-down complex cloud cluster environments with a single command. Similarly to Resilin, Whirr supports the configuration of Hadoop clusters but it does not expose a web service or support dynamic elasticity.

Another axis of research has been focusing on optimizing the number, type and configuration of resources allocated for a MapReduce computation. Kambatla et al. [START_REF] Kambatla | Towards optimizing hadoop provisioning in the cloud[END_REF] study how to configure the number of map and reduce tasks running in parallel on each compute node. They propose to analyze the behavior of an application and to match it against a database of application signatures containing optimal Hadoop configuration settings, in order to derive efficient configuration parameters. To our knowledge, few works have studied the performance of large scale execution platforms built on top of multiple federation clouds. Moreno-Vozmediano et al. [START_REF] Moreno-Vozmediano | Multi-cloud Deployment of Computing Clusters for Loosely Coupled MTC Applications[END_REF] executed Many-Task Computing applications on top of multiple clouds: a local infrastructure, two Amazon EC2 regions, and ElasticHosts [13]. However, they restricted their evaluation to small cluster sizes, and used simulation to extend their results to 256 worker nodes. Vockler et al. [START_REF] Vockler | Experiences Using Cloud Computing for A Scientific Workflow Application[END_REF] executed an astronomy workflow application with an execution platform of 150 dual-core virtual machines provisioned from multiple FutureGrid clouds. They conclude that sky computing is a viable and effective solution for executing their application.

Elastic capabilities of cloud infrastructures are also a topic of interest in the community. The main area of focus has been on providing elasticity to web hosting platforms. These platforms leverage elasticity in order to adapt to changes in user traffic: peak hours, Slashdot effects, busy periods (Christmas holidays for online retail), etc. Amazon Web Services provides Auto Scaling [START_REF]Auto Scaling[END_REF], a service to scale up and down platforms built from Amazon EC2 resources. The Contrail Inria project develops ConPaaS [START_REF] Conpaas | [END_REF], a Platform-as-a-Service layer providing a set of elastic high-level services [START_REF]D8.1: Requirements and Architecture for the implementation of the High Level Services[END_REF] and runtime environments [START_REF]Specification of requirements and architecture for runtime environments[END_REF]. The high-level services include Scalarix, a scalable transactional key-value store, and SQL databases. Runtime environments allow MapReduce computations, web hosting of Java servlets and PHP applications, and execution of Bag of Tasks computations based on the BaTS algorithm [START_REF] Oprescu | Budget estimation and control for bag-of-tasks scheduling in clouds[END_REF]. These services and environments will provide elastic capabilities to respect their SLAs. Finally, several works have studied architectures and policies to extend local clusters with cloud resources [START_REF] Dias De Assunã §ã£o | Evaluating the Cost-Benefit of Using Cloud Computing to Extend the Capacity of Clusters[END_REF] [START_REF] Marshall | Elastic Site: Using Clouds to Elastically Extend Site Resources[END_REF].

Conclusion and Future Works

In this paper, we presented Resilin, an implementation of the Elastic MapReduce API that allows users to run MapReduce computations on resources originating from other clouds than Amazon EC2, such as private and scientific clouds. Resilin takes care of provisioning Hadoop clusters and submitting jobs, allowing users to focus on writing their MapReduce applications rather than managing cloud resources. Resilin uses the EC2 API to interact with IaaS clouds, making it compatible with most open-source IaaS toolkits. We evaluated our implementation of Resilin on Nimbus and OpenNebula clouds deployed on the Grid'5000 testbed and compared the performance of jobflows executed on resources provided by one cloud provider and job flows executed on resources from multiple providers. As future work, we plan to complete compatibility with the Amazon Elastic MapReduce API, by providing HBase flows, increasing cloud providers range by implementing more connection interfaces(eg OCCI). We will also investigate how to improve the system by adding the feature to automatically scale the execution platform, based on a job flow profile.

For users having access to multiple clouds, we will investigate how Resilin could automatically select which cloud infrastructure to use, instead of relying on users to choose where they want to provision resources. Finally, we plan to release the Resilin software as open-source in the near future.

Figure 1 :

 1 Figure 1: Overview of Resilin and its interactions with other cloud components

Figure 2 :

 2 Figure 2: Execution time of WordCount on Amazon EMR and Resilin with different numbers of instances.

Inria

Figure 3 :

 3 Figure 3: Configuration time for different cluster sizes using Resilin

Figure 4 :

 4 Figure 4: Execution time of Word Count on Resilin with different number of instances

Figure 5 :

 5 Figure 5: Execution time of TeraSort on Resilin with different number of instances

Figure 6 :

 6 Figure 6: Execution time of Pagerank on Resilin with Hadoop clusters built from resources provided by one OpenNebula cloud and another one from OpenNebula and Nimbus clouds

Figure 7 :

 7 Figure 7: Performance when scaling up a Hadoop cluster.

Table 1 :

 1 Hardware and Software configuration of virtual machines

		Amazon EC2	Nimbus
	Virtual cores	2	2
	Memory	1.7 GB	2 GB
	Disk space	350 GB	3.9GB
	Physical CPU Intel Xeon E5410 (2.33 GHz)	Intel Xeon E5420 QC
		Intel Xeon E5506(2.13 GHz)	(2.5 GHz)
	OS	32-bit Debian Lenny 5.0.8	64-bit Debian Lenny 5.0.4

Table 2 :

 2 presents the results of the execution time of Word Count with Amazon EMR and Configuration of virtual machines from the clouds used in experiments Resilin. For small cluster sizes, Resilin is faster than Amazon Elastic MapReduce. As the cluster size is increased, the difference of performance between Elastic MapReduce and Resilin becomes smaller. This is not surprising, since our Cumulus storage data transfer performance decreases when virtual machines client number increases while the S3 transfer remains the same with one or multiple clients.

	Instance	OpenNebula VM	Nimbus VM
	Virtual cores	1 (2.5 GHz)	1 (2.5 GHz)
	Memory	2 GB	2 GB
	Disk space	45 GB	45GB
	OS	Debian Squeeze 6.0.1 Debian Squeeze 6.0.1
		Linux 2.6.32 kernel	Linux 2.6.32 kernel

RR n°8081

If a user requests a Hadoop cluster composed of only one node, the same virtual machine performs the roles of master node and core node.Inria

When scaling to very large clusters, Amazon EC2 can start running out of resources. In March 2011, the Cycle Computing company published details about how they provisioned a 4096-core cluster in the Amazon EC2 US East region. When they scaled up the number of resources,

out of the

availability zones of the region reported Out of Capacity errors.RR n°8081

Publisher Inria Domaine de Voluceau -Rocquencourt BP 105 -78153 Le Chesnay Cedex inria.fr ISSN 0249-6399


Adrien Jauffret

Nicolas Cuperlier

Philippe Gaussier

Philippe Tarroux

Multimodal integration of visual place cells and grid cells for navigation tasks of a real robot

Keywords: Grid cells, Bio-inspired robotics, Multimodal integration, Sensory-motor navigation & mapping, Neural networks

In the present study, we propose a model of multimodal place cells merging visual and proprioceptive primitives. First we will briefly present our previous sensory-motor architecture, highlighting limitations of a visual-only based system. Then we will introduce a new model of proprioceptive localization, giving rise to the so-called grid cells, wich are congruent with neurobiological studies made on rodent. Finally we will show how a simple conditionning rule between both modalities can outperform visual-only driven models by producing robust multimodal place cells. Experiments show that this model enhances robot localization and also allows to solve some benchmark problems for real life robotics applications.

Introduction

Ethological studies of animal navigation show that a wide variety of sensory modalities can be used by animals to navigate and self localize in an unknown and complex environment. Since the startling discovery by OKeefe and Dostrovsky [START_REF] Okeefe | The hippocampus as a spatial map. preliminary evidence from unit activity in the freely-moving rat[END_REF] of the spatial correlates of neural activity in the hippocampal system (HS) of rodents, some work has been done to investigate the neural bases of animals spatial learning (see [START_REF] Cuperlier | Neurobiologically inspired mobile robot navigation and planning[END_REF] for a short review). Originally found in HS, place cells are pyramidal neurons exhibiting high firing rates at a particular location in the environment (place field). Cells with similar properties but with larger place field have also been found in the Enthorinal Cortex (EC). As firing of place cells persists in the dark it has also been suggested that other senses (proprioception, touch, smell) might contribute as well [START_REF] Markus | Spatial information content and reliability of hippocampal CA1 neurons: Effects of visual input[END_REF][START_REF] Ru Muller | Spatial firing patterns of hippocampal complex-spike cells in a fixed environment[END_REF][START_REF] Gj Quirk | The firing of hippocampal place cells in the dark depends on the rat's recent experience[END_REF][START_REF] Schenk | Dissociation between Basic Components of Spatial Memory in Rats[END_REF][START_REF] Schenk | Olfactory traces and spatial learning in rats[END_REF][START_REF] Wallace | Vestibular Information Is Required for Dead Reckoning in the Rat[END_REF]. Later in 2005, Hafting and Moser discorvered grid cells in the dorso-lateral band of the medial EC (dMEC) [START_REF] Hafting | Microstructure of a spatial map in the entorhinal cortex[END_REF]. These cells present spatial firing fields forming regular triangle-pattern (grid) that tiled the environment. They could be the basis of a cognitive map of Euclidean space. Each grid is defined by 3 parameters: frequency (distance between two vertex), phase (spatial shift) and orientation. Grid cell activity does not require visual input, since it remains unchanged in absence of any visual cue (dark) even if the bumps of activity tend to spread due to accumulation of errors by the integration process [START_REF] Hafting | Microstructure of a spatial map in the entorhinal cortex[END_REF]. Three main classes of models have been proposed: recurrent network models based on continuous attractor dynamics [START_REF] Fuhs | A Spin Glass Model of Path Integration in Rat Medial Entorhinal Cortex[END_REF][START_REF] Mcnaughton | Path integration and the neural basis of the 'cognitive map[END_REF], independent-neuron models based on oscillatory interference [START_REF] Burgess | An oscillatory interference model of grid cell firing[END_REF] and models using a residue number system [START_REF] Fiete | What Grid Cells Convey about Rat Location[END_REF].

Following our previous work [START_REF] Gaussier | A model of grid cells involving extra hippocampal path integration, and the hippocampal loop[END_REF] based on a residue number model, we first present a robotic implementation of this model able to exhibit grid cells like firing pattern. Results underline the key role played by visual inputs. We show that without visual recalibration, grid cells firing seems scrambled, according to biological results [START_REF] Hafting | Microstructure of a spatial map in the entorhinal cortex[END_REF]. Next we present a model, based on a pavlovian conditioning rule, that merges signals coming from visual cells and grid cells into multimodal place cells. Experiments on a real robot show how grid cells information can be enough to self-localize in the dark on short distances. We also show how grid cells activity help to greatly reduce visual ambiguity, giving robust multimodal place fields. Finally, we will briefly discuss how this model behaves when the robot is kidnapped and shifted to another location.

Modeling Place Cells from visual information

In previous works, we developped a model of the hippocampus in order to obtain visual place cells (VPCs) [START_REF] Okeefe | The hippocampus as a cognitive map[END_REF] that allowed controlling mobile robots for visual navigation tasks [START_REF] Gaussier | From view cells and place cells to cognitive map learning: processing stages of the hippocampal system[END_REF][START_REF] Banquet | A hierarchy of associations in hippocampo-cortical systems: Cognitive maps and navigation strategies[END_REF]. The embedded pan-tilt camera allows the capture of several images (actually 15) corresponding to a 360 degrees panorama. A gradient image convolved with a DoG (difference of gaussian) filter allows to highlight a set of salient points in the scene (curvature points at a low resolution). A log polar transform of a small circular image centered on each focus point (local view of 16*16 pixels) is computed in order to improve the pattern recognition against small rotations and scale variations. Then, a neural network learns place cells that code information about a constellation of landmarks in the scene (5 landmarks per images) (figure 1). Activities of the different place cells depend on the recognition level of landmarks. Robustness comes from the large number of local views extracted (75 per panorama) and the only use of a competition between place cells (see [START_REF] Giovannangeli | Robustness of visual place cells in dynamic indoor and outdoor environment[END_REF] for detailed parameters). In our model, local views correspond to the "what" information coded in the perirhinal cortex or in other areas of the ventral visual pathway of the rat temporal cortex [START_REF] Kolb | The Cerebral Cortex of the Rat[END_REF]. The absolute position of these local views (the "where" information) is provided by the parietal cortex through the parahippocampal region. The merging of "what" and "where" information may be performed in the superficial layer of the enthorinal cortex or in the postrhinal cortex [START_REF] Suzuki | Object and place memory in the macaque entorhinal cortex[END_REF][START_REF] Burwell | Positional ring properties of postrhinal cortex neurons[END_REF].

A neural network learns to associate a particular PCs with an action (a direction to follow in our case). This sensory-motor architecture is named Per-Ac [START_REF] Gaussier | Perac: A neural architecture to control artificial animals[END_REF] and allows the robot to learn simple but robust behaviors. Even if our architecture has been succesfully tested in small sized environments (typically one room), a visual-only based mechanism shows limitations when trying to scale to larger and more complex ones (multi-room, outdoors). First the large number of PCs needed to cover this kind of environment introduces a computational problem that highly decreases the robustness of the localization. Then a lot of mistakes are due to the ambiguous nature of the visual modality. Indeed the activity of a PC can highly responds for different locations with identical visual panorama (corridor for instance). We propose to overcome these issues by adding a bio-inspired localization mechanism based on proprioception, following our hypothesis of the way grid cells work.

3 Modeling Grid Cells from extra hippocampal path integration

A plausible model of grid cells

Here we present a model for generating grid cells from path integration. Our simplest model of grid cells (GCs) is based on various modulo's operator applied on path integration [START_REF] Gaussier | A model of grid cells involving extra hippocampal path integration, and the hippocampal loop[END_REF] (figure 2). The path integrator is supposed to be stored outside the hippocampal system. The activity D i of a neuron belonging the path integration field (associated with direction θ i ) is discretized over a new field of neurons E i j = round( Di.NE Dmax ) where D max is the maximum value of the distance that can be computed by the neural field, N E is the number of neurons on each field used to discretized each analog activity on the path integration field. Then a modulo operator is used to compress the field E i j by projection.

M n k = 1 if k = ArgM ax(E j ) mod λ n 0 otherwise (1)
with λ n the value of the modulo used to build grid n.

A recalibration mechanism, using a Widrow and Hoff learning rule [START_REF] Widrow | Adaptive Switching Circuits[END_REF][START_REF] Pavlov | Conditioned reflexes[END_REF], associate each new VPC with the current path integration field activity (one-shot learning), so that it can be recalibrated when that VPC is later well recognized, like [START_REF] Strosslin | Robust self-localisation and navigation based on hippocampal place cells[END_REF][START_REF] Fuhs | A Spin Glass Model of Path Integration in Rat Medial Entorhinal Cortex[END_REF][START_REF] Arleo | Advances in neural information processing systems[END_REF][START_REF] Herrmann | Self-localization of autonomous robots by hidden representations[END_REF][START_REF] Mataric | A Distributed Model for Mobile Robot Environment-Learning and Navigation[END_REF] (actually when the winning cell activity reach an absolute threshold of 0.9 and a difference relative to VPCs mean activity of 0.4). Fig. 2. Linear speed and absolute orientation are used to characterize movement unit and so generate global path integration on a neural field. A recalibration mechanism associate a VPC with the argmax of the neural field (distance and orientation are stored). It allows the system to limit cumulative error on this field when it later well recognizes the corresponding VPC. Path integration field is then used to build grid cell activity without any cartesian map. Activities of randomly chosen pairs of neurons Di in that field are discretized on other fields E j i . Those fields are compressed by simple modulo projections M n k . The conjonction of 2 codes of 2 projections is sufficient to obtain grid cells.

Angle

Recreating grid cells activity on 3 experiments with a real robot

Typical experiments made on rodent consist in recording the activity of grid cells in dMEC while the rat (around 20cm large) freely moves in a circular enclosure (2m of diameter) during 30 minutes. Our experiments run in almost similar conditions since a real robot (around 40cm large) randomly moves in an hexagonal park (4m of diameter) during the same period of time. Position and simulated grid cells are simultaneously recorded. Ultrasound sensors are used by the robot to avoid obstacles and stay inside the hexagonal playground. In a first experiment, no recalibration is allowed. We note a fast drift of grid cells activity induced by cumulative errors on path integration. All cells present a blurred activity without grid-like pattern because of a 30 minutes errors cumulation (figure 3). In a second experiment, a VPC is learned at the center of the hexagon and visual calibration is allowed. We obtain coherent grid-like pattern but error remains too high to correctly visualize small grids. Error's amplitude is directly linked with the recalibration area (figure 3). To avoid this problem, we made a third experiment with a touch-like reset cue at the corner of 2 walls. The origin of the path integration is set in this corner and a visual attraction field is learned around it by a few sensory-motor associations. It allows the robot to autonomously converges into the reset area by visual recognition (homing behavior). The reset cue is a red paper sticked on the floor and a color detector is used by the robot to perceive this goal. A simple counter triggers a periodic drive allowing an homing behavior every minute. The drive is reset each time the goal is reached, allowing the robot to switch back to a random exploration strategy. This solution avoids errors accumulation over more than one minute and so gives us the precision needed to display small grid. But it introduces a static error directly linked with the size of the reset field. Results show well-defined pattern for the different modulo factors. Those grid activities are congruent with neurobiological records in rodents EC [START_REF] Hafting | Microstructure of a spatial map in the entorhinal cortex[END_REF]. Grid shared the same spacing for the same modulo and the same orientation for the same discretization factor. Nevertheless, each cell produces a grid of different phase. 4 Building robust multimodal place cells from visual and grid cells

A pavlovian model of merging

In this section, we propose a simple merging mechanism which can take advantage of allothetic and idiothetic information. This mechanism pops up the synergy between both modalities. There are many ways of merging different information sources, and it is known as a difficult problem, especially when the nature of the sources are highly different. Sensory modalities must be recoded into a common format before they can be combined. The task is described as the recoding problem by Pouget and Deneve [START_REF] Pouget | A computational perspective on the neural basis of multisensory spatial representations[END_REF].

Our model is based on the learning of associations between VPCs and the whole GCs pattern. The system associates a particular GCs state (conditional stimulus)

with the current winning VPC (inconditional stimulus) by a classical conditionning rule [START_REF] Widrow | Adaptive Switching Circuits[END_REF][START_REF] Pavlov | Conditioned reflexes[END_REF], as for the recalibration mechanism (one-shot learning), like [START_REF] Strosslin | Robust self-localisation and navigation based on hippocampal place cells[END_REF]. We test it with a normalized least mean square algorithm (NLMS) [START_REF] Haykin | Adaptive Filter Theory[END_REF] trying to predict the visual state from GCs activities. A simple weighted sum allows the merging of VPCs and odometric place cells from GCs.

The activity of a multimodal place cell M P C k is given by a simple linear combination of V P C and P redV P C activities:

M P C k = α.V P C k + (1 -α).P redV P C k
with V P C k the activity of the corresponding visual place cell, P redV P C k the activity of the corresponding place cell predicted by the grids (NLMS output), α ǫ [0;1] a ponderation factor (0.5 in our case) and k ǫ [0;K] the indice of the cell.

The activity of a place cell predicted by grid cells is given by:

P redV P C k = K-1 k=0 w k .G k
where w k is the weight of the synapse coming from the corresponding grid cell G k .

Results obtained during a multi-room indoors experiment

In order to test the robustness and the generalization capabilities of our architecture, we made several indoor navigation experiments in a 25x15m environment (our laboratory). For analysis purpose, we supervized the robot learning to recognize 19 places (each 1.5m) on a multi-room trajectory. The trajectory starts in one room, pass through a corridor and ends in a second room (mostly similar to the first one). Next, the robot followed 5 different parallel trajectories, imposed by a remote control. Visual recalibration is allowed (calibration driven by well recognized VPCs only, no periodic homing behavior). Those five trajectories permit to cover a large space near the learned path, in order to test generalization capability (figure 4). The visual recognition system allows great generalization capability (large place field) but present small perception mistakes due to cue redundancy. On contrary, the proprioceptive recognition system presents well-defined place fields without any ambiguity, but is subject to the classical cumulative error of odometry. This induces a very precise discrimination for small scales but a shifted localization for larger one. Results show interesting emergent characteristics since the merging mechanism keep a correct localization even if errors simultaneously happen on the 2 modalities. Merging modalities hightlights contingencies and reduces non-contingent activities. Two low-level activities at the same time are more coherent than a singural high-leveled one. Finally, MPCs are robust to ambiguity and keep large generalization properties.

To show the deterministic nature of the results, we repeated the experiment a dozen of times in a changing environment (ambiant light and furnitures changing, persons moving). We also studied what happen when the robot is lifted, blindfolded, then transported to another place. If this place is already known and highly recognized, the robot recalibrates its path integration field to a previously learned value. We made several kidnapping events in order to test the robustness of this mechanism. Each times, the robot typically runs 5 meters before to recalibrate its odometry. Thanks to the merging mechanism, the perceived location never stays wrong for more than 2 meters. This recalibration mechanism allows the robot to always keep consistancy between vision and proprioception and never getting lost near learned locations.

Topology matters : On the need for convolving grid cells

In our model, all grids present binary fields (activated or not) so that the pattern generated by the conjunction of 3 grids is a three-steps stair shaped. Moreover the 3 differents modulo factors are relatively prime so that the activity of the conjunction pattern is often completely different of the previous one for only few movements. Narrow place cells are treated like there is no proximity distance between them. Each grid cell is considered as an orthogonal input so that grid networks doesn't benefit from any topology. That is the reason why we propose to convolve each grid network with a pyramidal-shaped mask, giving to the system more generalization capabilities. This technics allows to spread field activities over neighboring cells by using a natural torus topology [START_REF] Mcnaughton | Path integration and the neural basis of the 'cognitive map[END_REF], and so generates continuity. In return, it looses the ability to distinguish between 2 near places if the distance between them is smaller than the mask size (figure 5). We used this convolution method in the multi-room experiment presented in section 4.2. Without that convolution, the system can't work. Such method confront us with its biological plausibility since experiments made on rodent only show binary activities. It questions about how is it possible for mammals to correctly navigate using grid cells binary fields. We argue that the topology needed can naturally emerge from the large number of grid cells in rodent's brain.

Discussion

In this incremental design approach, one objective of our robotic experiments is to show the limitations of models (proof by failure). Hence, highligting the need to take into account new cerebral structures or interactions between them allows us to propose a more coherent model for a better understanding of explored brain structures. Our experiments emphasized some issues while trying to scale our architectures to larger environment: ambiguities coming from the visual modality have been identified as the major problem. Consequently, we extended our architecture by modelling grid cells networks and we presented a robotic experiment that can account for their firing properties. Then, we present a simple merging mechanism exploiting these grid cells to desambiguate visual perception and generate robust multimodal place cells. We show that it succesfully overcome the perception ambiguity problem and it stay robust even if the system is blindfolded or kidnapped, then lifted to another place. Moreover, results show an emergent characteristic hightlighting contingency and reducing singular activities since the merging mechanism keeps a coherent localization even if errors simultaneously happen on both modalities. We also underline the need to spread grid cells binary activity to neighboring cells to create a topology inducing interesting generalization properties. It questions about the biological plausibility of such ad-hoc method. We claim that such topology can naturally emerge from the large number of grid cells in rodent's brain. Our current work focuses on switching navigation strategies according to an emotional metacontroller based on bayesian inferences. In the same time, we are performing long range (several kilometers) outdoor navigation experiments based on these models.

Fig. 3 .

 3 Fig. 3. Experiments made with a real robot (around 40cm large) randomly moving in an hexagonal enclosure (4m of diameter) during 30 minutes (trajectory in black, neural activity in red). Left : Experimental setup: for the cue-based calibration experiment, path integration is set in one corner of the park and an attraction field is learned around it allowing the robot to autonomously go recalibrate itself every minute. Right : Results of the third experiment show coherent regular hexagonal pattern of different phases and modulos. Those patterns are quite similar to thus obtained with rodents.

Fig. 4 .

 4 Fig. 4. Long range navigation in an indoor environment: A -Experimental setup: The robot learns 19 regularly-spaced places (each 1.5m), starting from a room, passing through a corridor and ending on a second room. B -Visual recognition obtained for 5 different trajectories. Each color is associated to one visual place cell. Results show great generalization capabilities but present ambiguities (dotted circles. Numbers correspond to perceived places.). C -Grid recognition for the same trajectories. Grid fields are smaller but without any ambiguities. A place is not recognized if the robot is too far away from the learned place. D -Multimodal recognition obtained by merging visual and grid place cells. The synergy of both modalities shows well defined areas even if the robot is far from the learned trajectory.

Fig. 5 .

 5 Fig. 5. Example of the diffusion mechanism used to generates topology. A -Activity of motor place cell 6 from binary grid cells, in space and time on a multi-room trajectory (before to be convolved). The place field is a thin three-steps stair shaped. B -Activity of motor place cell 6 from convolved grid cells. The convolution act as a diffusion mechanism spreading activity on neighboring grid cells. Motor place cells show gaussian shaped activity allowing generalization capabilities. C -Results obtained for winning motor place cells from binary grid cells (no diffusion) during the previous indoor experiment. It shows a lot of errors that can be easily removed by adding the diffusion mechanism.

  An action is associated with this PC. This association is learned by a least mean square algorithm (LMS), after what the system is able to move in the learned direction when the associated PC wins.

	G radient extrac tion	D OG c onvolution	Landm arks	... Pr-Ph		VPC WTA
						...
			...	...	...	...	...	...	...	... Ac tion
						...
			-180	Azim uths	+180	...
									Orientation
									One to All m odifia ble conne ctions
	G rays c ale im ag e	Foc us Points							One to one conne ctions
	Fig. 1. Sensorimotor model relying on vision. The gradient image is convolved with a difference of
	gaussian filter. Local maxima of the resulting image correspond to points of interest on which the
	system focuses on to extract local views. A Place Cell (PC) learns to recognize a specific landmarks-
	azitmuths constellation.

Acknowledgment

We would like to thank AUTO-EVAL and the NEUROBOT French ANR project.