Eric Bénéfice

Ronald Lopez

Selma Luna Monroy

Sonia Rodríguez

Eric Benefice
email: benefice@ird.fr

Ird Av

H Siles

Fatness and overweight in

Keywords: Body mass index, Electric impedance, Skinfold thickness, Dietary diversity, South American Indians, Bolivia

HAL is

Introduction

Up until the last decade, research on malnutrition in developing countries focused almost exclusively on undernutrition. However, about 7% of the world population is now considered to be obese [START_REF] Seidell | Obesity: a growing problem[END_REF]. The explosion of so-called "obesity epidemics" and increased awareness that non-industrialized countries are also affected have prompted numerous investigations. The rise in obesity is worrisome in developing countries since, in addition to its individual clinical harm, it is likely to represent an unaffordable cost in funding of public health institutions in terms of diagnosis, handling, treatment and rehabilitation of patients [START_REF] Pena | Malnutrition and poverty[END_REF].

The situation in developing countries is obscured by the coexistence of overweight or obesity and undernutrition, especially chronic malnutrition. A recent report analyzed this so-called "double burden" using data from 36 developing countries. Overweight prevalence exceeded underweight in more than half of the selected countries. Urbanized and economically emergent countries presented the highest overweight/underweight ratio (Mendez and others 2005). In 8 Latin America countries the median prevalence of overweight was 32.4% in urban women. This trend toward increased obesity and overweight rates in Latin America and Caribbean regions was first documented by Martorell and coworkers using DHS (Demographic and Health Surveys) data (Martorell and others 1998). Obesity (body mass index or BMI > 30 kg/m 2 ) ranged from 8-10% in Latin American women. Overall, 9 to 14.7% of children were overweight (weight-forheight > 1 SD above the reference value). This unexpected overweight risk in children was thereafter confirmed by an analysis of the WHO "Global Database on Child Growth and Malnutrition" [START_REF] De Onis | Prevalence and trends of overweight among preschool children in developing countries[END_REF]. Using a weight-for-height cut-off of >2 SD as the entry point into obesity, the authors found the highest prevalence rates in Latin America and the Caribbean (4.4%). The overall prevalence was estimated at 3.3%, thereby exceeding the 2.3% expected prevalence [START_REF] De Onis | Prevalence and trends of overweight among preschool children in developing countries[END_REF].

A number of recent Latin American surveys have confirmed the rapid emergence of obesity. In Chile, among poverty-stricken populations in the capital city, there was an increase in prevalence from 6 to 11% in men and from 14 to 24% in women over only a 4-year period.

Overweight also increased in children, especially among the beneficiaries of a food supplement program (Uauy and others 2001). In Mexico, children have been strongly affected by the obesity wave: 10 to 16% of boys and 14 to 19% of girls are considered to be overweight (del Rio-Navarro and others, 2004). In Brazil, based on 3 successive national surveys performed in 1975, 1989 and 1996, a rapid increase in obesity was clearly demonstrated. All population groups were affected (Monteiro and others 2000). In large countries such as Mexico and Brazil, considerable heterogeneity was found according to the geographic location and the economic situation (Abrantes and others 2002;del Rio-Navarro and others 2004).

Trends in obesity patterns in Latin America cannot be viewed as a simple linear projection of the trend in industrialized countries. Substantial heterogeneity exists in Latin American countries from the standpoint of economic development, education and health services, the origins of the populations (European versus Amerindian) etc., that may involve differences in nutritional status. Bolivia, one of the most poorly developed Latin American countries, had the highest prevalence of malnutrition among Andean countries [START_REF] Larrea | Social inequality and child malnutrition in four Andean countries[END_REF]. However, recent studies indicate that Bolivia is also experiencing an increase in the prevalence of overweight and obesity [START_REF] Amigo | Obesity in Latin American children: situation, diagnostic criteria and challenges[END_REF]Martorell and others 1998). Recent analyses of DHS surveys point to a rise in an overweight prevalence (defined as 25<BMI<30 kg/m 2 ) of 9 percent between1994 and 1998, but not in obesity (BMI>30 kg/m 2 ). One explanation is that Bolivia is just at the beginning of the "nutritional transition" process [START_REF] Perez-Cueto | Changes in the nutritional status of Bolivian women 1994-1998: demographic and social predictors[END_REF][START_REF] Popkin | The nutrition transition and obesity in the developing world[END_REF]. The latest DHS survey (2003) confirmed this increase in the prevalence of both overweight (30.3%) and obesity (15.1%) in women [START_REF] Measure | Encuesta nacional de demografia y salud ENDSA 2003[END_REF]). This trend is even more pronounced in the capital city La Paz, and involves school-age children and adolescents (Perez-Cueto and others 2005).

The prevalence of overweight in women is higher in urban and lowland areas ("Llano" and Amazon) than in rural or Andean areas of Bolivia [START_REF] Measure | Encuesta nacional de demografia y salud ENDSA 2003[END_REF].

Since obesity and overweight indices are calculated from height and weight, one important concern is their significance in populations of short stature and with a high degree of chronic malnutrition, such as those found in Bolivia. According to the latest DHS survey, the mean stature of women is 152 cm in Bolivia; 10.3% of females measured less than 145 cm [START_REF] Measure | Encuesta nacional de demografia y salud ENDSA 2003[END_REF]. It has been argued that, for the same BMI, subjects with short stature are fatter than taller persons (Lopez-Alvarenga and others 2003). This would mean that the overweight prevalence in Bolivia is even worse. Likewise, an association between short stature and obesity was found in Brazil, and was more pronounced in women than in men (Sichieri and others 2003). It is thus important to use independent indicators of fatness, like skinfold thickness and bioelectric impedance analysis. Interestingly, measurement of several skinfolds enabled the elaboration of a simple index of regional fat distribution, such as the trunk-to-extremities ratio (Malina and others 1999;Rolland-Cachera and others 1990). Moreover, fat distribution, especially higher fat accumulation on the trunk in early adolescence , is an acknowledged risk factor for metabolic diseases during adulthood (Malina and others 1999).

Hence, the main objective of this paper was to present data on overweight and obesity in children and women in a population leading a "traditional" way of life in the Beni department (lowland Bolivia). In addition, we sought to elucidate the role of environmental, familial and individual factors in the risk of overweight.

Methods

Milieu and populations

Results presented here are drawn from a health study performed in 2004 and 2005 in a population living along the Beni River (Bolivia), from the foothills (Rurrenabaque: south =14.4˚; west= 67.5˚) of the Andes to 120 km downstream (Villa Fatima: south =13.8˚; west= 67.5˚). The main purpose of that survey was to provide first-hand data on the health and nutritional status of 15 communities exposed to mercury contamination (see map, Figure 1). The study was carried out below the 200 m contour in an area with a humid tropical climate characterized by high annual rainfall, over 2500 mm, and an average temperature of 22 to 24 °C.

The total population living in the area, based on the 2001 census (INE 2001), is estimated at about 14,000, but only 4,000 persons live along the banks of the Beni River. The sample size was chosen on the basis of a reported prevalence of 35 % chronic malnutrition in 0-10-year-old children in rural Bolivia [START_REF] Measure | Encuesta nacional de demografia y salud ENDSA 2003[END_REF]. A theoretical calculation showed that at least 364 children were required in order to obtain 5% precision, with a 95% confidence interval (CI 95% ).

A total of 348 children 0 to 10-years-old were finally measured, providing adequate precision.

Communities were constituted by small hamlets scattered along the river, with frequent displacement for fishing, logging and agricultural activities. It was not possible to draw a random sample. Moreover, this procedure would have been misunderstood and unacceptable to the population. We therefore decided to incorporate all mothers and their children up to 15 years of age present in the communities at the time of our visits. Data were collected in 2004 during 4 Most of the inhabitants belonged to the Takana ethnic group. The others were Esse Ejjas, a closely related group. A small number of families were Aymaras who migrated from the Altiplano to settle in the Beni. Takanas constitute a well-integrated group in modern Bolivian society and speak Spanish. Wood-cutting is their main wage-earning activity. Esse Ejjas lead a more traditional way of life, subsisting mostly on fishing. While this report does not intend to compare the two groups, there exist differences in their way of life that will be accounted for in this analysis. The living conditions of all riverside communities are unfavorable. Public infrastructures such as health centers, elementary and secondary schools are rare. There exists only limited access by roads, and traveling by canoes or small boats is the means of transportation adopted by most communities. Nutritional and health indicators are mediocre.

Subjects have been exposed to multiple infections and parasitic infestations. Chronic malnutrition, represented by stunting in growth, affects 41% of preschoolers; however, no cases of severe malnutrition (wasting) were found. Mothers were found to be of short stature. Iron deficiency anemia is quite frequent: 42% of the women had a hemoglobin concentration under 12 g/100 ml. More than half of the mothers surveyed had lost at least one child (Benefice and others 2006). Food consumption was also analyzed in detail. The main meal was an association of rice and meat or fish. Yucca or Manihot esculenta) and plátano (Musa paradisiaca) were consumed almost every day by 2/3 of the households. Fruits consumption varied according to the season with a predominance of oranges and grapefruits (Benefice and others 2006).

Ethical considerations

The study protocol was approved by the Facultad de Bioquimica y Farmacia (Universidad Mayor de San Andrès, La Paz), the Seladis Institute (Servicio de Laboratorio de Diagnóstico e Investigación en Salud) and the Institut de Recherche pour le Développement (IRD, France) Review Boards. The Comité Nacional de Bioética (Bolivia) as well as the Comité Consultatif de Déontologie et Bioéthique (CCDE, France) gave their agreement. Subjects were individually notified about the aims of the study and had to sign an informed consent form. In the case of children, their parents signed the form. When subjects were illiterate, a reliable witness signed instead. Subjects freely agreed to participate in the study and did not receive any salary or compensation for this. However, when they were found to be ill, they received free medical orientation and treatment from one of the physicians on the team. Children were offered antihelminth treatment when they had contaminated stools, and mothers received a 3-month supply of ferrous iron and folate when their hemoglobin concentrations were low.

Study variables

Each subject underwent clinical examination by a physician (EB). A total of 373 subjects (57.6%) were found to be free of clinically detectable disease; 250 (38.6%) presented mild symptoms and 24 (3.7%) more severe illness requiring medical treatment. For simplicity of analysis, the heath status was grouped into 2 categories (code: 1 = absence of clinical symptoms; 2= presence of clinical symptoms). The most frequently observed clinical abnormality was dermatosis: 30% of the children suffered from pyodermatitis, scabies, impetigo or lice. Common infections such as conjunctivitis, pharyngitis and rhinitis were also frequent (about 20%). Simple diarrhea was frequently alleged by mothers (20% of responses). Finally more severe conditions (otitis media, peneumonia) were observed in only a few occasions.

An anthropometric examination was next carried out (SL & RL). It consisted of measurements of:

1) Body weight (kg) recorded with an electronic Seca ® scale (accuracy, 100 g); children less than 2-years-old were weighed on an electronic Seca ® scale accurate to 10 g. Subjects were weighed lightly clothed.

2) Standing height (cm) was measured with a Harpenden ® anthropometer (accuracy 1 mm). Children younger than 2 years were measured in a recumbent position with a wooden board.

3) Mid-arm circumference (cm) was measured on the left side with an unstretchable tape. 4) 4 subcutaneous skinfolds (mm) were taken at the triceps (Tric), biceps (Bic), subscapular (Sca) and supra-iliac (Sil) sites using a Holtain ® caliper. Sites were chosen in accordance with the recommended technique and marked on the skin before the measurement (Lohman and others 1988).

All measurements with the exception of body weight were taken on the right side, in duplicate, and the average was used in the analysis.

Several anthropometric indices were calculated: 1) Indices of malnutrition according to the World Health Organization (WHO 1995): height for age (H-age); weight for age (W-age); and height for height (H-W). Anthro software enabled calculation of z-scores (Centers for Diseases Control: http://www.cdc.gov).

2) The arm muscle circumference (AMC, cm), considered as an indicator of muscularity, was calculated using the formula by Gurney and Jelliffe [START_REF] Gurney | Arm anthropometry in nutritional assessment: nomogram for rapid calculation of muscle circumference and cross-sectional muscle and fat areas[END_REF]: AMC = arm circumference -π (triceps skinfold).

3) The sum of 4 skinfolds (Sum 4 skf, mm) was used as an index of total subcutaneous fatness.

4) Finally, regional fat distribution was assessed by the trunk-to-extremities ratio of skinfold thickness: TER= (Sca+Sil)/ (Tric+Bic) (Malina and others 1999).

In addition, in mothers, body composition was quantified using bioelectrical impedance analysis (BIA). BIA measures resistance and impedance properties of the body. It was introduced and validated several years ago [START_REF] Foster | Whole-body impedance--what does it measure?[END_REF]. We used a Maltron analyzer ® (BF 900, Maltron International Limited, Rayleigh, Essex, UK). BIA was performed on the left side of the body by placing 4 electrodes at the sites indicated by the manufacturer (hand-wrist, foot-ankle) (SL & RL). Measurements were taken with the subject lying down, barefoot, and corrected for stature. Values were derived from the prediction equation provided by the apparatus manufacturer for sex, age and geographic origin of the subject. In this report we used percent of fat mass (%FM) as an index of adiposity.

Overweight and obesity were estimated in preschool children according to W-H z-scores (Martorell and others 1998). We used a z-score value >1 to define overweight and >2 to define obesity. The body mass index (BMI, kg/m2) was computed as weight/ (height) 2 , and overweight and obesity were also assessed on the basis of International Obesity Task Force (IOTF) criteria (Cole and others 2000). Sex and age-specific cut-off points corresponding to a BMI of 25 kg/m 2 (overweight) and of 30 kg/m 2 (obesity) at 18 years of age were calculated. In mothers, overweight was defined as BMI > 25 kg/m 2 and obesity as BMI > 30 kg/m 2

Stool parasitism

Each child was asked to provide a stool sample in a plastic bag. About 77 % (n=350) of the children returned the bag. A portion of stool was examined in saline immediately after emission.

Then the stool was preserved in a formalin solution and carried in a small plastic container to the SELADIS parasitological laboratory in La Paz. An enrichment procedure with formol-etheracetate after centrifugation was performed in order to observe the concentration of helminth eggs. Slides were read twice by 2 different observers (SL & SR) and strong agreement was found (>90%). In the present study, the presence or absence of soil-transmitted nematode eggs after concentration (mainly Ascaris lumbricoides, Trichuris trichura and hookworm) served as an overall index of parasitism in children. Presence of helminths in children suggested a low level of hygiene in the familial environment (codification: 1= no infestation; 2= presence of helminths).

Economic activity, diet and village accessibility

These consisted of information on the main household productive activities (agriculture, fishing, forestry, public office, trade) via questionnaires give to the mothers (n=172). Family economic activity was encoded into 2 categories. 1: agriculture, fishing and wood cutting; 2: wage earning, storekeeping and handicraft. Mothers were also asked how they self-classified into an ethnolinguistic group (Takana, Esse-Ejjas, Aymara, Quechua, and Castellan). This variable was used as a proxy for the cultural background of the household. Only 172 mothers (88%) responded correctly to the questionnaire after careful checking. Twenty-three mothers gave incomplete responses, mainly because they did not have enough time to answer, and their responses were discarded for analysis. One hundred forty-eight families out of 172 (86%) self-considered as Takanas; 23 (13%) as Esse-Ejjas and 1 as colonist Quechua-Aymara.

An investigator trained in nutrition (SL) administered a questionnaire on dietary habits to the mothers. They first responded to a 24 h food intake recall, recapitulating the main dishes consumed in the household. Next they were asked about frequency of foods consumed on a daily and weekly basis. Food items were allocated into 7 groups: fish, cereals, tubers, plantain, fruits, meat and milk. Fish and plantain constituted the main caloric source of the diet. A food diversity index (FDI) was elaborated, recording the presence or absence of consumption of food in each group. This index was derived from a diversity score developed in West Africa and adapted to the present situation (Savy and others 2005). During our visits, there were no evidence of energy shortages, but the overall nutritional value of diet appeared suboptimal. This is a source of concern, since nutrients such as the essential amino acids, zinc, iron, calcium and some vitamins are crucial in preventing stunting [START_REF] Golden | The nature of nutritional deficiency in relation to growth failure and poverty[END_REF]). Hence, it was decided to introduce weighting to confer more importance to group food with higher nutritional value. This weighting gave a higher rate to foods of animal origin, then to cereals and fruits, and finally a lower value to starchy foods like tubers or plátano. Four categories were computed: 1) category 1: fish, meat and milk (weight=4)

2) category 2: cereals (weight=3)

3) category 3: fruits (weight=2) 4) category 4: tubers (mainly yucca or Manihot esculenta) and plátano (Musa paradisiaca)

(weight=1)
Interestingly, the FDI had a normal distribution (mean: 10.7 ±3.2; median : 11; min: 4; max: 18).

The median of FDI, equal to 11, was used as a cut-off point for dietary diversity (code= 1: high diversity (FDI>11); code=2: low diversity (FDI<11)).

Finally, village accessibility, which conveys the idea of better access to health facilities or market foods for communities living near the district town, was coded into 3 classes: 1) Easy to access all year round by road or canoe in no more than 2 h 2) Accessible by canoe only, within 2 to 5 h downstream 3) Accessible by canoe only, within 6 to 12 h downstream

Analysis

Data adjustments

Normality of variables was checked and could be assumed for anthropometric and BIA measurements, but not for subcutaneous thickness. Skinfold distribution was heavily skewed to the right. A log natural transformation was thus applied to normalize it. In mothers, BMI distribution was slightly asymmetric. It was normalized after a log transformation. Log naturals of the sum of 4 skinfolds (log sum 4 skf) and of TER (log TER) were used for analysis. During childhood, body composition measurements vary strongly with age. To control this age effect, stepwise regression between the different indices (BMI, S4skf, TER and AMC) and polynomial expression of age (age, age 2 and age 3 ) were performed (p to enter <0.05). The residuals from the regressions were then retained to represent the different body composition indices adjusted for age effects.

Statistics

Continuous variables were expressed as means and standard deviation (SD). The 95% confidence interval was indicated in case of prevalence estimates. Bivariate comparisons were performed with the Student t test or the χ 2 test in case of categorical variables. Multiple associations between the different indices of body composition were studied with multiple regression procedures. Residuals on age of anthropometric measurements, instead of crude values, were entered into the regressions to control for an age effect. Multicolinearity of variables was checked. Finally, a logistic regression was run to analyze the influence of categorical variables (familial variables, health status, parasitism or FDI) on the risk of overweight. Data entry and clearance were performed using Epi Info software ( 2004). Statistical analysis was done using SPSS 11.01 (http://www.spss.com/) and NCSS software (http://www.ncss.com/). The level of significance was set at p<0.05.

Results

Chronic malnutrition and overweight were estimated on the basis of anthropometric indices.

According to these indices, 39.4% (IC 95% : 34.0~44.0%) of the 0-10 year-old children were stunted in growth (H-age <-2 z-scores) and 9.2% (IC 95% : 6.3~12.7%) presented a weight deficit (W-age <-2 scores). No children were wasted. Among mothers, only 2 had a BMI between 17.5 and 18 kg/m 2 , (entry point to chronic energy deficiency). There was no sex difference in the W-H index; hence, values were combined. Figure 2 indicates changes in W-H with age. Values were above the references at all ages. A trend toward a linear increase with age was observed.

The W-H index could not be computed in boys taller than 145 cm or in girls taller than 137 cm; BMI values were used instead. Contrary to W-H, there existed significant sex differences in BMI. Curves were thus drawn separately (Figs. 3 a-b). Curves from both sexes suggested a curvilinear relationship, with a minimum reached by 7 years of age. Values were higher than the 50 th percentile of the reference for age and sex up until 10 years of age. Thereafter, differences were less noticeable in boys.

Overweight in preschool children was estimated using z-score cut-off values: about 17 % could be considered as overweight (Table 1). IOTF criteria were used in children older than 2 years.

As a whole, 12.2% of children were overweight and only 1% were classified as obese.

Differences existed between age groups: there were significantly more overweight preschool children (20.9%) than older children: 8.5% in the 5-10-year-old group and 9.6% in the 10-14year-old group (χ 2 = 7.6, DF=2, p<0.02). In women, BMI cut-offs of 25 and 30 were used as limits. A total of 35.3% of women were overweight but only 5% were overtly obese. There was a non-significant trend toward an increase with age: 25% in women under 25 years of age compared to 42% in women older than 35 (p=0.08).

Regional fat distribution, judged from the TER, varied with age. There was more fat trunk accumulation in adolescents (TER > 1; TER= 1.30 ± 0.29) than in preschool (TER= 0.96 ± 0.20) or school-age children (TER= 1.09 ± 0.20) (p<0.001). In women, the ratio was high (1.61 ± 0.35). Older women had a higher ratio than younger mothers. Normally nourished children had significantly greater subcutaneous fat mass than stunted children, but no difference was apparent in TER until 10 years of age, at which time normal adolescent males (not females) had higher fat trunk deposits than stunted males (p<0.04).

Because of the short stature of this population, it was of importance to examine relationships between BMI and other indices of body composition or regional fat distribution. Hence, multiple regression analysis was carried out between the BMI (dependent variable), AMC (muscularity indicator), log sum 4 skf (fatness indicator) and log TER (fat distribution indicator) in children (Table 2). Analyses were run separately in boys and girls to take into account sex differences. As stated above, residuals on age were used to control for an age effect. In boys, body composition variables explained 43% of the variance in BMI (p<0.001); AMC and the log sum 4 skf had significant and positive effects, but log TER had no influence. In girls, the model explained a higher percent of BMI variance (52%, p<0.0001). All variables were significant predictors.

Interestingly, log TER had a negative effect on BMI: a lower ratio was associated with higher BMI. In women (Table 3), in addition to the previous variables, the total body fat mass calculated after bioelectrical impedance measurements (TBF) was added. The model explained a higher proportion of BMI variance (86%) than in children. All variables apart from TER had a positive and significant effect on the variance of BMI.

In order to analyze cross-relationships between ethnic origins, family activity, heath status, dietary diversity, parasitic infestation and village accessibility and the risk of overweight, children were separated into 2 groups, normal and overweight, according to IOTF criteria. We used cut-off points presented in the Methods section. We were unable to find any significant differences between normal and overweight children with respect to these variables. The same analysis was repeated in women. They were classified as normal (BMI<25 kg/m 2 ) or overweight (BMI ≥ 25 kg/m 2 ). In contrast to children, all cross-relationships between familial and environmental variables and the risk of overweight were significant. Village accessibility was the unique exception. To further explore these relationships, logistic regression analysis was run between categories of BMI and the previous categorical variables (Table 4). The model was pertinent (χ 2 =27.3, DF=4, p<0.0001) and correctly classified 67% of the subjects. Both FDI and health status score had a significant effect: a low FDI and/or mediocre health status were associated with lower BMI. However, ethnic group and economic activity variables no longer had a significant independent effect. Finally, the issue of the relationship between body composition indices of children and BMI of their mothers was examined using multiple regression procedures. The model was adjusted for the age effect using residuals on age of the different indices of body composition. Regressions were run separately in girls and boys. Results are shown in table 5. In boys, predictions of total fatness and arm muscle circumference based on maternal BMI were significant. However, in girls, maternal BMI did not predict any of the body composition indices.

Discussion

Results of the study on this particular population confirm the existence of an overweight risk in women and perhaps in children, while a substantial percentage of children (39.4%) still suffer from chronic malnutrition (stunted growth). However, the overt obesity prevalence remains low. Indeed, compared with the most recent DHS survey, these values are apparently lower. As a whole, 35.3% (IC 95% : 28.7~42.5%) of women were overweight or obese compared to 45.5% found at the national level and 50.7% in the Amazon departments of Beni and Pando [START_REF] Measure | Encuesta nacional de demografia y salud ENDSA 2003[END_REF]. No recent estimates exist for children, but the average W-H was 0.4 z-score in 2003 and 0.2 z-score in the present survey. Martorell and co-workers (Martorell and others 1998), from DHS 1994, found an overall prevalence of overweight in 15.2% of the 1-3-year-old children. This figure very closely resembles that of the present study, 17 %.

Indicators of overweight or fatness based on weight and height have been consistently criticized because they might be equally influenced by fat mass and fat-free mass. Limitations to the BMI in children have been stressed [START_REF] Malina | Validity of the body mass index as an indicator of the risk and presence of overweight in adolescents[END_REF]. There exist important differences between sexes, ethnic groups and age groups, resulting in poor BMI sensitivity when classifying fatness (Baumgartner and others 1995). Despite these limitations, BMI is now considered an international reference for overweight in children (Cole and others 2000;[START_REF] Dietz | Introduction: the use of body mass index to assess obesity in children[END_REF]. In that study, the BMI was only moderately related to other body composition indices in children. This suggests that the BMI might be better viewed as an index of heaviness (Campbell and others 2001). BMI was inversely correlated with TER in girls, indicating more fat accumulation in the limbs. This finding points to sexual dimorphism in overweight girls, suggestive of gynoid deposition (He and others 2004). In contrast, in women, BMI was strongly linked to subcutaneous fatness. In general, there was an increase in BMI and W-H with age.

Familial clustering of overweight is an important issue within the framework of the "nutritional transition process" in which changes in food patterns and lifestyle occur very quickly [START_REF] Popkin | The nutrition transition and obesity in the developing world[END_REF]. One might then ask whether recently acquired fatness traits and their concomitant comorbidities will be transmitted to the next generation. Indeed, familial resemblance in total fatness and regional fat distribution have been reported (Li and others 1996). Moderate familial similarities between mothers and children were found in the Oaxaca Valley of Mexico [START_REF] Little | Familial similarity in body size in an isolated Zapotec-speaking community in the valley of Oaxaca, southern Mexico: estimated genetic and environmental effects[END_REF]. In the present study, the prediction of children's phenotypes from maternal BMI was moderate in boys and practically non-existent in girls. Body composition characteristics of mothers and children seem disconnected. It is thus tempting to infer that the risk of overweight in mothers and children is of a different nature and originates from different factors. It is conceivable that the high prevalence of overweight in mothers is the consequence of recent events in terms of changes in food patterns or physical activity. These changes seem to only slightly affect children, perhaps because of persistence of a heavy and widespread burden of infection and poor hygiene status, evidenced by severe intestinal parasitism. This is in line with the coexistence of overweight in mothers and stunting in children which was observed in populations in transition (Garrett and others 2005).

The existence of a link between stunting and fatness was postulated in previously malnourished children from Brazil [START_REF] Sawaya | Stunting and future risk of obesity: principal physiological mechanisms[END_REF]. Likewise, several observations from Latin America have confirmed the association between early malnutrition, represented by short stature, and later adiposity (del Rio-Navarro and others 2004; Doak and others 2002;Garrett and others 2005;[START_REF] Schroeder | Fatness and body mass index from birth to young adulthood in a rural Guatemalan population[END_REF]Sichieri and others 2003). In the present study, there was no association between actual stunting in growth and overweight or regional fat distribution.

While the transversal nature of the data collected does not permit such a demonstration, it also does not negate it. Likewise, a phenotype associating short stature with normal weight or slight overweight in children has already been described in other Amazonian communities [START_REF] Benefice | Differences in life style and nutritional status between settlers and Siona-Secoya Indians living in the same Amazonian milieu[END_REF][START_REF] Capelli | Evaluation of the nutritional status of the Parkateje indigenous community in Bom Jesus do Tocantins, Para, Brazil][END_REF]Mattos and others 1999;[START_REF] Santos | Socioeconomic transition and physical growth of Tupi-Monde Amerindian children of the Aripuana Park, Brazilian Amazon[END_REF], and in the Bolivian Amazon [START_REF] Foster | Physical growth and nutritional status of Tsimane' Amerindian children of lowland Bolivia[END_REF].

A tendency to accumulate fat in populations experiencing agricultural or economic development is likely in the Amazon [START_REF] Gugelmin | Human ecology and nutritional anthropometry of adult Xavante Indians in Mato Grosso, Brazil][END_REF]. The present findings shed light on more specific factors. Body composition indices observed in children and adolescents were not influenced by factors such as health status or parasitism, nor by dietary intake. It is possible that, in the particular context of this survey, the different components of growth (linear growth and body composition) do not respond in the same way to environmental or familial factors.

However, it must be underlined that body composition of children is mainly dependent on biological and physiological factors like the tempo of growth and maturation before and during puberty (Malina and others 1999). In contrast, in mothers, the risk of overweight was significantly related to food diversity and health status. In its elaboration, the FDI assigns a greater value to food of animal origin. Hence, women who ate more fish, meat, bread and rice had a higher FDI and were more prone to overweight than mothers relying mostly on starchy foods like cassava roots and plátano, maintaining a normal BMI. Thus, the FDI could reflect two different ways of life in the area: the subsistence level of small communities of farmers and fishermen dependent on their own production and consuming a monotonous diet, and a population with agricultural and forestry activities integrated into a larger economic market.

The challenging aspect of the present survey lies in the fact that it was performed in an isolated rural area where overweight is likely to be infrequent because of the level of physical activity needed to cope with everyday duties (farming, fishing, carrying water, collecting plants, hunting, cutting wood, etc.) and the persistence of food instability during drought periods [START_REF] Dufour | The time and energy expenditure of indigenous women horticulturalists in the northwest Amazon[END_REF]. This would signify that the nutritional transition theory designed by Popkin [START_REF] Popkin | An overview on the nutrition transition and its health implications: the Bellagio meeting[END_REF] is not confined to urban or peri-urban areas of developing countries, but is evenly scattered. In many parts of the Amazon, including the Beni, important economic changes are in progress due to the building of roads and the development of forestry and tourism. Formerly isolated populations are now incorporated into a large market exchange and in the monetization process that may have both positive and undesirable effects upon health and nutrition (Leatherman and Goodman 2005 35). Health implications of this phenomenon are not clearly elucidated in the area studied. Given its importance in other parts of Bolivia (Barcelo and others 2001;[START_REF] Perez-Cueto | Changes in the nutritional status of Bolivian women 1994-1998: demographic and social predictors[END_REF], it is likely to be harmful and warrants high priority from health institutions.

List of figures

  field rounds (March to August) and completed by a survey carried out in March 2005 in order to verify and complete certain data. The present sample (n=647) comprised 452 children (171 under 5 years of age, 177 between 5 and 10 years of age, and 104 adolescents older than 10 years), along with 195 mothers (33.5 ± 13.1 years old). Anthropometric data (skinfold measurement) were incomplete for 2 children and 4 mothers; hence numbers varied in the table.

Figure 1 :

 1 Figure 1: Map showing the location of the different communities (after GPS reading) Figure 2: W-H for age of children Figure 3 a: BMI for age of boys Figure 3 b: BMI for age of girls

Table 3 :

 3 Relationships between BMI (log natural) and body composition variables 1 in women (n=191) R 2 = 0.85; F= 259, p<0.0001

	Independent	Regression	Standard	t value	p
	variable 1	coefficient	error
	Intercept	1.84	0.05	31.9	0.00
	AMC	0.02	0.002	10.7	0.00
	Sum 4 skf	0.13	0.016	8.33	0.00
	TER	-0.006	0.018	-0.33	0.74
	TBF 2	0.0093	0.001	9.01	0.00

Residuals of arm muscle circumference, log sum 4 skinfolds and log trunk-to-extremities ratio on age

Log natural of sum 4 skf and trunk-to-extremities ratio

Total body fat (after BIA)

Residuals of AMC, BMI, Sum 4 skf and TER on age

Acknowledgements

This study was conducted within the framework of an agreement between the San Andrès University of La Paz and the IRD. We are grateful to the population of the communities visited for their kind collaboration. We also wish to thank the medical authorities of Rurrenabaque. We are indebted to our colleagues from the SELADIS (namely Dr Sara Perez, Susana Revollo and Mariluz Soto) for their kind help and advice and for technical support from their laboratories.

Research Unit 024 "Epidémiologie et Prévention" of IRD (France

BMI by age (boys)


João Paulo De Araujo

Luciana Arantes

Elias P Duarte Júnior

Luiz A Rodrigues
email: luiz.rodrigues@unioeste.br

Pierre Sens

A Communication-Efficient Causal Broadcast Protocol

Keywords: Message Aggregation, Causal Order, Distributed Spanning Tree, Hypercube-like Topology

A causal broadcast ensures that messages are delivered to all nodes (processes) preserving causal relation of the messages. In this paper, we propose a causal broadcast protocol for distributed systems whose nodes are logically organized in a virtual hypercube-like topology called VCube. Messages are broadcast by dynamically building spanning trees rooted in the message's source node. By using multiple trees, the contention bottleneck problem of a single root spanning tree approach is avoided. Furthermore, different trees can intersect at some node. Hence, by taking advantage of both the out-of-order reception of causally related messages at a node and these paths intersections, a node can delay to one or more of its children in the tree, the forwarding of the messages whose some causal dependencies it knows that the children in question can not satisfy yet. Such a delay does not induce any overhead. Experimental evaluation conducted on top of PeerSim simulator confirms the communication effectiveness of our causal broadcast protocol in terms of latency and message traffic reduction.

Introduction

In distributed and parallel applications, processes cooperate among themselves to perform some task, often requiring to communicate with each other as a single group. Therefore, a communication service which offers a message broadcast primitive that enables a node to send a message to all other members of the group is of great importance.

Due to the well-known logarithmic scalable properties of trees, several broadcast protocols organize the nodes of the system in a single static distributed spanning tree [START_REF] Schneider | Fault-tolerant broadcasts[END_REF][START_REF] Kim | Farecast: Fast, reliable application layer multicast for flash dissemination[END_REF][START_REF] Wang | An algorithm to construct independent spanning trees on parity cubes[END_REF] that comprises all nodes. Every message to be broadcast is then disseminated from the root of this tree to the other nodes. However, this approach presents the drawback that the root can become a bottleneck since all message broadcasts start from it. Therefore, the ideal would be to spread the root load by having one spanning tree per node, i.e., every node of the system is a root of the spanning tree over which it broadcasts its own messages. The trees should cover all nodes, yet organized differently. Figure 1, where all nodes of the system broadcast messages, confirms our statement. If messages are disseminated over one single tree, there is a time where the root of the tree will start queuing them because it can not process all of them as fast as the input broadcast request rate. On the other hand, if each node has its own broadcast tree, the load of 1 messages is better distributed among the nodes. Furthermore, reception latency scales well for an increasing number of nodes/messages.

Number of nodes

One tree per source

One tree for all Figure 1: Reception latency for one fixed tree and for one tree per source per unit of time [START_REF] De Araujo | A publish/subscribe system using causal broadcast over dynamically built spanning trees[END_REF].

Besides a broadcast primitive that allows dissemination of information among nodes, many distributed/parallel applications require causal order of messages: broadcast messages must be delivered to all other nodes by respecting the causal relation of their respective broadcast events, i.e., the relation of cause and effect among messages of Lamport's happened-before relationship [START_REF] Lamport | Time, clocks, and the ordering of events in a distributed system[END_REF]. Introduced by Birman in the ISIS system [START_REF] Birman | Reliable communication in the presence of failures[END_REF], causal broadcast ensures that if two messages are causally related and have the same destination, then they are delivered to this node in their sending order. For instance, in a group discussion application, a causal broadcast protocol guarantees that no members of the group will see answers to a question before the question itself. It is worth emphasizing that causal message ordering is of prime interest to the design of many distributed applications. Examples of them are event notification systems [START_REF] Lwin | Causal ordering in event notification service systems for mobile users[END_REF], multimedia applications [START_REF] Baldoni | Broadcast with time and causality constraints for multimedia applications[END_REF][START_REF] Plesca | A coordination-level middleware for supporting flexible consistency in cscw[END_REF], multi-part online games [START_REF] Gilmore | A survey of state persistency in peer-to-peer massively multiplayer online games[END_REF], systems that provide distributed replicated causal data consistency [START_REF] Ahamad | Implementing and programming causal distributed shared memory[END_REF], distributed snapshots [START_REF] Acharya | Recording distributed snapshots based on causal order of message delivery[END_REF], distributed database [START_REF] Terry | Managing update conflicts in bayou, a weakly connected replicated storage system[END_REF], shared objects [START_REF] Perrin | Causal consistency: Beyond memory[END_REF], publish/subscribe systems [START_REF] De Araujo | A publish/subscribe system using causal broadcast over dynamically built spanning trees[END_REF][START_REF] Lumezanu | Decentralized message ordering for publish/subscribe systems[END_REF], etc.

Operationally, direct communication between two processes should always be faster than indirect communication where messages are relayed via intermediate nodes, the famous triangle inequality end-to-end latency. However, disparity in the speed of communication links and network congestions can lead to triangle inequality violation (TIV) [START_REF] Adelstein | Real-time causal message ordering in multimedia systems[END_REF][START_REF] Plesca | A coordination-level middleware for supporting flexible consistency in cscw[END_REF]. It is worth noting that existing studies on TIV show that they are widespread and frequent [START_REF] Lumezanu | Triangle inequality variations in the internet[END_REF][START_REF] Wang | Towards network triangle inequality violation aware distributed systems[END_REF]. In case of TIV, node receives messages out of the causal order and, therefore, some delay and additional treatment are imposed before delivering them to the application in the correct order. Thereby, if a process p receives a message out of causal delivered order, this message should be held in and delivered to the application only after the missing messages are received and delivered by p to the application. For instance, in Figure 2, node 2 broadcasts message m 2 . Upon delivering it, node 1 broadcasts message m 1 and just after delivering m 1 , node 0 broadcasts message m 0 , i.e., broadcast m 2 precedes broadcast m 1 , which, in its turn, precedes broadcast m 0 . However, at node 3, messages are received out of the causal order. Upon the reception of m 0 , node 3 stores it in its local buffer and will deliver it only after receiving and delivering both m 2 and m 1 . In the present work, we propose a causal order broadcast protocol where, for disseminating a message, every node dynamically builds a spanning tree, rooted at itself, on top of VCube [START_REF] Duarte | Vcube: A provably scalable distributed diagnosis algorithm[END_REF] which logically organizes nodes in a hypercube-like topology, presenting, thus, logarithmic properties. The tree rooted in each node is organized differently, i.e., the neighbors of a given node can vary according to the root of the tree. We should point out that, thanks to the VCube inference rules, the construction of different spanning trees present no overhead.

Our protocol also guarantees causal order of messages. Furthermore, it exploits the above mentioned TIV problem of networks for performance sake. The idea is that, even if the spanning trees are organized differently over the VCube, parts of their paths may intersect, i.e. a node p can be the parent of a node k in different trees. Hence, as node p can deduce, without any overhead, every other node's spanning tree organization, p is aware of such intersections and then delay the forwarding, to one or more of its tree's children, of those messages whose causal dependencies it knows that these children can not satisfy them yet. As p is the responsible of forwarding the missing messages to those children, only upon receiving them, p combines these messages plus the delayed one into a single message and forwards it to the children in question. Therefore, the number of messages sent over the network are reduced, with no additional delay in their delivery latencies. We should point out that, contrarily to some existing approaches [START_REF] Hidalgo | An aggregation-based routing protocol for structured peer to peer overlay networks[END_REF][START_REF] Akkaya | The impact of data aggregation on the performance of wireless sensor networks[END_REF][START_REF] Shudo | Message bundling on structured overlays[END_REF][START_REF] Koike | Iot network architecture using packet aggregation and disaggregation[END_REF] where messages are aggregated during a waiting time (implemented with timers and timeout) which entails extra delays to delivery latency, our approach does not induce any overhead neither degrades performance as it is based on the principle that the sending of a message to a node is worthless if the latter will not be able to deliver it. Interestingly that, due to such a reduction in the number of messages over the network, the average delivery latency is improved since there is less node contention.

We have implemented our causal broadcast protocol on top of the event-driven PeerSim simulator [START_REF] Montresor | Peersim: A scalable p2p simulator[END_REF] and experiments confirm its effectiveness in terms of number of messages and transmissions, and average message delivery latency.

The rest of the paper is organized as follows. Section 2 introduces the hypercube-like topology VCube, followed by Section 3 that summarizes message causal ordering principle. Section 4 describes our message aggregation approach and our broadcast algorithm. Section 5 presents evaluation results from experiments conducted on PeerSim for different scenarios and metrics. Section 6 discusses some related work and, finally, Section 7 concludes the paper.

Vcube

In VCube [START_REF] Duarte | Vcube: A provably scalable distributed diagnosis algorithm[END_REF], a node i groups the other N -1 nodes in d = log 2 N clusters forming a d-VCube, such that the cluster number s (s > 0) has size 2 s-1 . The ordered set of nodes in each cluster s is denoted by c i,s as follows, where ⊕ is the bitwise exclusive-or operator (xor). VCube is a distributed failure diagnosis system and it defines as the neighbors of a node i the first faultyfree node of each cluster s in c i,s . Periodically, i tests the first node in the c i,s to check whether it is correct or faulty. Figure 3 shows node 0's hierarchical cluster-based logical organization of n = 8 nodes connected by a 3-VCube topology as well as a table which contains the composition of all c i,s of the 3-VCube. Let's consider node p 0 and that there are no failures. The clusters of p 0 are shown in the same figure. Each cluster c 0,1 , c 0,2 , and c 0,3 is tested once, i.e., p 0 only performs tests on nodes 1, 2, 4 which will then inform p 0 about the state of the other nodes of their respective cluster.

c i,s = i ⊕ 2 s-1 c i⊕2 s-1 ,k | k = 1, ..,

Causal Message Ordering

Causal order requires that the order in which messages are delivered to the application processes respects the causal relation between messages, i.e., the delivery of a message is dependent on the state of the system as viewed by the sender of the message at emission time. Therefore, causal order broadcast must ensure that if two messages are causally related and have the same destination they are delivered to the application in their sending order. In other words, if a process broadcasts a message m after it has delivered another message m, then no process in the system will deliver m after m .

The causal order relation between broadcasts and delivers of messages are based on the well-known Lamport's "happened before" [START_REF] Lamport | Time, clocks, and the ordering of events in a distributed system[END_REF] relation between events in distributed systems. Thus, denoting → the causal precedence or "happened before" relation, formally:

broadcast(m 1 ) → broadcast(m 2 ) ⇒ delivery(m 1 ) → delivery(m 2 ).
We should point out that the order imposed by causal broadcast is partial since non related messages might be delivered in different order by the processes.

As proposed in [START_REF] Schiper | A new algorithm to implement causal ordering[END_REF], our causal broadcast protocol uses logical vector clocks [START_REF] Fidge | Timestamps in Message-Passing Systems that Preserve the Partial Ordering[END_REF][START_REF] Mattern | Virtual time and global states of distributed systems[END_REF], to track information about causal order. Every process i keeps a vector clock, denoted vc i of size N . Each message m sent by i carries vc i , where m.vc i [k] represents either the number of messages sent by i, if k = i, or the number of k s broadcast messages delivered by i before it broadcasts m. For instance, considering the time diagram of Figure 2 with N = 4 nodes where broadcast m 2 → broadcast m 1 → broadcast m 0 , m 2 .vc = (0, 0, 1, 0) and, thus, m 1 .vc = (0, 1, 1, 0), and m 0 .vc = (1, 1, 1, 0).

Upon reception m from j, i must delay the delivery of m until (1) it has delivered all messages from j that precede m, and (2) it has delivered all messages delivered by j before the latter sends m. Formally:

∀k (1) m.vc j [k] = vc i [k] + 1, if k = j (2) m.vc j [k] ≤ vc i [k], otherwise
When process i delivers the message m sent by j, it updates its vector clock:

vc i [j] = vc i [j] + 1.
It is worth remembering that Charron-Bost showed in [START_REF] Charron-Bost | Concerning the size of logical clocks in distributed systems[END_REF] that causality can be characterized only by vector timestamp of size N .

Causal Aggregation Broadcast

In this section, we present the causal broadcast protocol with message aggregation that we propose. Firstly, we describe the adopted system model. Then, we explain how our protocol exploits both the VCube's organization to dynamically build broadcast spanning and the asynchronous nature of processes and communication channels in order to combine causally related messages into a single message, without degrading performance. Finally, we present the algorithm that implements our causal broadcast protocol.

System model and definitions

We consider a distributed system composed of a finite set of Π = {0, .., N -1} nodes (users) with N = 2 d processes, where d > 0 is the dimension of VCube.

Each node has an unique identifier (id) and nodes communicate only by message passing. Each single node executes a task (process) and a user of the system corresponds to a node. Therefore, the terms node, user, and process are interchangeable in this work.

Nodes communicate by sending and receiving messages through bidirectional channels. The topology of the connected (not necessarily fully) network must allow nodes to be logically organized as an hypercube interconnection network. Nodes do not fail and links are reliable. Thus, messages exchanged between any two processes are never lost, corrupted nor duplicated. The system is asynchronous, i.e., relative processor speeds and message transmission delays are unbounded.

We denote source of a message, the id of the node that broadcasts a message. We also distinguish between the arrival of a message (reception) at a process and the event at which the message is given to the application (delivery). Note that only the latter respects the causal order of broadcast messages, explained in the previous section.

Dynamic building of spanning trees

In our protocol, the broadcast of a message by i to all nodes is performed by dynamically building a spanning tree, rooted at i, on top of the virtual hypercubelike topology of VCube. In other words, it takes advantage of VCube's cluster hierarchy to build different trees that comprises all nodes, but whose organization depends on the source. However, as we consider that nodes do not fail, VCube's failure diagnosis feature is not exploited (see future work in Section 7). Consider d = log 2 N the dimension of VCube which is also the height (h = d) of the related spanning tree. For broadcasting a message m, node i sends m to the first node of each of its clusters c i,s , ∀s ≤ h, to which i is linked. Upon receiving m, each of these nodes j becomes the root of a subtree whose height is h = s -1. Therefore, if j is not a leaf (h = 0), it applies the same sending procedure of i's and so on. For instance, based on the VCube of Figure 3, the spanning tree over which m 0 will travel due to its broadcast by node 0 is shown in the left side of Figure 4.

Auxiliary functions:

In order to easily build spanning trees and detect intersection of their paths, we define the following functions, called by i, which exploit VCube virtual hypercube topology:

FirstChild(i, s): returns the first node in c i,s table (Figure 3), i.e., the node of c i , s which is linked to i. For example, FirstChild(0,1) = 1, FirstChild(1,2) = 3, and

FirstChild(1,3) = FirstChild(7,2) = FirstChild(4,1) = 5.
Cluster(i, j): returns the index s of the cluster of node i that contains node j, (1 ≤ s ≤ log 2 N ). For instance, in Figure 3, Cluster(0, 1) = 1, Cluster(0, 2) = Cluster(0, 3) = 2, and Cluster(0, 4) = Cluster(0, 5) = Cluster(0, 6) = Cluster(0, 7) = 3.

Children(r, h): returns, with regard to the tree rooted at node r with height h, the first child of each cluster c i,s of i, ∀s ≤ h , where h is the height of the subtree of i in the tree of r (see Algorithm 1). We denote this set the children of i in the spanning tree of r. The function is called by the broadcast protocol to either (1) obtain the children of i in the spanning tree of r or (2) to build spanning trees.

Algorithm 1 Children of i in r's tree 1: function Children(node r, height h) 2: if i = r then 3: return FirstChild(i, s) | 1 < s ≤ h 4: else 5: return Children(FirstChild(r,Cluster(r, i)),Cluster(r, i) -1)
When i is equal to r, Children(r, h) simply returns its h children. Otherwise, the function recursively searches node i in the tree of r using the cluster of r where i is present. When the subtree rooted in i (i = r) is found, its respective children are returned. For example, if node 4 wants to know its children in the tree rooted in node 2, it invokes Children(2, 3) which will recursively call Children(6, 2) → Children(4, 1) = {5} (see right side of Figure 4).

Children(i, h) function is also used for the construction of spanning trees.

In order to broadcast message m, by calling the function CO Broadcast(m) (see Algorithm 2), i becomes the root of the spanning tree and sends m to its log 2 N children. Upon the reception of m, j, a child of i, becomes the root of a subtree of i's tree with height Cluster(j, i) -1. Note that the number of children of a node also decreases by one in relation to its parent's cluster. Hence, every node k ∈ Children(j,Cluster(j, i) -1), i.e., every child of j in relation to a tree where j s parent is i, receives m from j and this procedure continues until m is received by all nodes that do not have children (leaves of the spanning tree). For instance, in order to broadcast message m 0 (see left side of Figure 4), node 0 calls Children(0, log 2 N ) = {1, 2, 4} and sends m 0 to them. Upon receiving m 0 , node 1 does not forward m 0 since Children(1, 0) = ∅, node 2 forwards it to Children(2, 1) = {3}, and node 4 to Children(4, 2) = {5, 6}; Node 5 does not forward m 0 since Children(5, 0) = ∅. Node 6 forwards it to Children(6, 1) = {7} while node 7 does not forward it since Children(7, 0) = ∅.

Aggregating causally related messages

Although the spanning trees are organized differently, their nodes may have some common children, i.e. some parts of the paths of two messages may intersect at a node. By exploiting this spanning trees intersection feature, a node can delay, to one or more of its children, the forwarding of the messages whose some causal dependencies it knows that the children in question can not satisfy yet. Upon reception of these missing causally related messages, the node aggregates all of them into a single one and forwards the latter to the concerned child nodes. In other words, if (1) node i knows that m will not be able to be delivered by its child node k because i has not received/delivered yet some message m that precedes m and (2) i is also responsible for forwarding m to k, i will postpone sending m to k because k would not be able to deliver m. Node i will send all the missing messages m and m to k aggregated in a single message only after receiving the former.

It is worth emphasizing that node i can deduce, without any overhead, the spanning tree of k. Furthermore, our approach does not entail any performance overhead or delivery latency degradation, i.e., even if the forwarding of m to k was delayed, such a postponement does not cause any extra delay in m's delivery by k.

Let's consider Figure 5 where m 2 → m 1 → m 0 . The broadcast of these messages by nodes 0, 2, and 1 Upon the reception of m 0 , node 4 verifies that it has not either m 2 or m 1 yet. Thus, without the aggregation approach, node 4 would forward m 0 to its children in relation to the tree rooted in node 0, i.e., nodes 5 and 6. However, as observed in the figure, node 5 is 4's child in both m 0 's and m 2 's trees and node 4 knows it. Thereby, by applying our aggregation approach, m 0 is forwarded immediately to node 6, but not to node 5 because m 2 precedes m 0 and node 4 has not received m 2 yet. Upon reception of it, node 4 aggregates m 0 and m 2 within a single message and sends it to 5. Note that (1) node 4 does not wait for m 1 to send the aggregation message to 5 given that the latter is not a child of 4 in m 1 's tree. In fact, node 5 is the parent of node 4 in m 1 's tree;

(2) if node 4 had received m 2 before m 0 , the messages would not be aggregated to 5 since, in this case, upon reception of m 2 , node 5 would be able to deliver it without depending on the reception of m 0 .

Causal Broadcast Algorithm

Every node i keeps the following local variables:

• vector clock: stores information about delivered messages;

• vector max: keeps information about messages that can be forwarded;

• pending: the set of messages which were received but have not been delivered yet.

When node i wants to broadcast message m, it calls the function CO Broadcast(m) (lines 5-12), which increments i's own entry in the local vector Algorithm 2 Causal broadcast at node i pending ← pending {m } clock (line 6), assigns the identifier of i and the value of its local vector clock to m, delivers m to itself, and forwards m (as a set that contains m) to i's log 2 N children.

1: Init 2: vector clock[l] ← 0, ∀l = 0..N -1 3: vector max[l] ← 0, ∀l = 0..N -
Due to aggregation of messages, a node receives a set which contains one or more messages sent by its parent j in the tree (line 13). Each message m in the set is handled independently by the receiver i and included in the pending set (line 15).

Node i keeps track of message receptions from each other node, by maintaining the vector vector max (lines 16-17) of size N . Each entry l of the vector keeps the sequence number of the last received message m from l, such that all messages sent by l that precedes m have also been received. Then, considering the reception of m, i calls, for each of its child k in regard with m's spanning tree (line 18), the function CheckAgg(k, m) (lines [START_REF] Lumezanu | Triangle inequality variations in the internet[END_REF][START_REF] Lumezanu | Decentralized message ordering for publish/subscribe systems[END_REF][START_REF] Lwin | Causal ordering in event notification service systems for mobile users[END_REF][START_REF] Mattern | Virtual time and global states of distributed systems[END_REF][START_REF] Montresor | Peersim: A scalable p2p simulator[END_REF][START_REF] Mostéfaoui | A Probabilistic Causal Message Ordering Mechanism[END_REF] in order to aggregate all the messages in pending (including m), which do not have any missing pending precedence related to messages that must be sent to k by i (i.e., i is the parent of k with respect to the spanning tree of these messages): for every pending message m where i is the parent of k in the spanning tree of m (line 25), if m precedes m (first condition of line 26) and i received all dependencies of m to which i is responsible to forward to k (second condition of line 26), m is added to the agg set. Otherwise, the forward of m (which can be equal to m since the latter was added to the pending set) is postponed. If not empty, the set of aggregated message, which can be just m in the case of no possible aggregation, is then sent to k (line 21).

We note m j i the j th message broadcast by i. Considering the VCube of Figure 3 and the spanning trees of Figure 4, let's suppose that node 2 broadcasts 3 messages and node 0 broadcasts 1 message such that: broadcast m 1 2 → broadcast m 2 2 → broadcast m 3 2 → broadcast m 1 0 and all messages have been received by 4, except m 2 2 . In this case, vector max [START_REF] Adelstein | Real-time causal message ordering in multimedia systems[END_REF] = 1 even if m 3 2 was received. Since m 1 0 .vc [START_REF] Adelstein | Real-time causal message ordering in multimedia systems[END_REF] = 3, the conditions of line 26 are satisfied only to m 1 2 , that will be sent to node 5. On the other hand, upon reception of m 2 2 , vector max[2] = 3, the conditions will be true for m 2 2 , m 3 2 , and m 1 0 which will be aggregated into a single message and sent to node 5. Such an aggregation takes place only for node 5. Node 4 directly sends m 0 to node 6 upon its reception.

The first condition of line 26 of CheckAgg(k, m) function is necessary in order avoid sending twice the same message. Let's take a second example where broadcast m 1 2 → broadcast m 1 0 → broadcast m 2 0 and that node 4 receives m 1 0 , m 2 0 , m 1 2 in this order. Upon reception of m 1 0 , node 4 forwards it to 6 but not to 5 and, thus, m 1 0 is held in (pending = {m 1 0 }). The same happens upon reception m 2 0 (pending = {m 1 0 , m 2 0 }).

However, if the first condition was not included in line 26, m 1 0 would be sent again to node 6 since the second condition is satisfied. Upon reception of m 1 2 , node 4 will send the 3 messages aggregated into a single one to node 5.

Lastly, for each message m ∈ pending, i delivers all messages whose delivery is possible following the reception of m (function CheckDelivery, lines [START_REF] Perrin | Causal consistency: Beyond memory[END_REF][START_REF] Plesca | A coordination-level middleware for supporting flexible consistency in cscw[END_REF][START_REF] Postel | Internet protocol. STD 5[END_REF][START_REF] Prakash | An efficient causal ordering algorithm for mobile computing environments[END_REF][START_REF] Ramaswamy | Characterizing network processing delay[END_REF]. A message can be delivered provided that the two conditions described in Section 3 are satisfied. Once a message is delivered, it is removed from pending. Note that the delivery of one message can trigger the delivery of other messages. This explains why all current remaining messages in pending are rechecked until no more message is delivered (line 30).

Experimental Results

We have implemented the proposed causal broadcast algorithm on the top of the event-driven PeerSim simulator [START_REF] Montresor | Peersim: A scalable p2p simulator[END_REF] and have then conducted several experiments with different configuration scenarios.

For sake of clarity, we denote message the data message of the application/user to be broadcast and packet the message of the broadcast protocol. A packet can, thus, aggregate several messages.

Based on the packet-switched network delay model of [START_REF] Kurose | Computer Networking: A Top-Down Approach[END_REF], we consider that each packet sent by a node to another consumes t pc +t q +t t +t pp units of time (u.t.): t pc accounts for the processing time of a message by a node, e.g., checksum verification, aggregation and routing decisions; t q is the time a message must wait in the sending queue before being transmitted; t t is the time necessary to transmit all bits of the packet to the link, and t pp expresses how long it takes for a packet to transverse the link and reach the destination node. Assuming that there is no broadcast mechanism available in the system, if a message is sent to multiple destinations, a copy of it is inserted in the sending queue for each of the destinations.

We use a maximum transmission unit (MTU) of 1500 bytes, where 20 bytes represent the packet header (the minimum value used by the Internet Protocol [START_REF] Postel | Internet protocol. STD 5[END_REF]). The size of a message was set to 50 bytes, similarly to the payload size of control messages or messages carrying monitoring information. As messages are gradually aggregated into a packet, if the current size of the packet reaches the MTU size, not necessarily with all messages that must be aggregated into, our protocol implementation sends the packet and stores the missing messages in a new packet.

The number of nodes N vary from 8 up to 1024, in a power of two. Each simulation was executed 30 times and we present the average values. Nodes broadcast a new message in random time given by a Poisson distribution with interval rate λ = 1000 u.t. while the propagation time t pp of a message follows a normal distribution with mean value µ = 100 u.t. and standard deviation σ = 25 u.t. Still, based on [START_REF] Ramaswamy | Characterizing network processing delay[END_REF], we set t pc = t t = 1 u.t., whereas the time a message stays queued (t q ) is a function of the rate of incoming/outgoing messages and can vary for each message. The following metrics are considered:

• Number of packets: the overall number of packets exchanged between nodes.

• Number of messages per packet: maximum number of messages that nodes aggregate into a single packet.

• Size of packets: size of the packet header plus k × (size of the vector clock plus the size of the message), where k is the number of aggregated messages.

• Reception (resp., delivery) latency: the time a message takes from its broadcast till it is received (resp., delivered) by a node.

• Number of buffered messages: number of messages, received by a node, which are held in before being delivered to the application.

Without loss of correctness in capturing causal order, we have implemented the vector clock compression algorithm proposed by Birman [START_REF] Birman | Lightweight causal and atomic group multicast[END_REF]. When broadcasting a new message, instead of including in it the N entry values of its current vector clock, a node includes just the values of those entries that have been modified since the last broadcast by the node.

Number of packets

A straightforward consequence of message aggregation is the reduction in the number of packets that transverse the links. In the simulations, for each execution, each node broadcasts one message (i.e., all the nodes are source). Hence, for a system with N nodes with no aggregation, the total number of packets sent over the network is N × (N -1), as each spanning tree has N -1 links. Table 1 shows the number of sent packets with and without aggregation. With aggregation, the greater the number of source nodes, the longer the paths and the higher the number of different paths (due to the organization of the trees), path intersections, and the possibility of causal relation between messages. Therefore, the number of message aggregations increases as well, leading, for instance, to in average 28.8% less transmissions with 1024 nodes.

Even if a great number of messages are not combined to others into a packet, the percentage of aggregation causes a substantial reduction in the number of packets traveling through the network, specially with 1024 nodes. This fact impacts other metrics, as discussed hereafter in this section. Another interesting metric to evaluate is the number of packets that actually contain more than one message. The last column of Table 1 shows that from 3% up to 19% of the packets have more than one message while Table 2 gives, for a scenario with 256 nodes, the percentage of the overall packets (second column) that have a given number of messages. As we can observe, 84.59% of the packets have no aggregation at all and those with two and three messages represent 9.16% and 3.12% of the transmitted packets, respectively. Likewise, considering only the packets with more than one message (third column), those with two or three messages account for 79% of these packets. On the other hand, only 1.2% of all packets carries more than 5 messages (up to the limit where four packets have aggregated 15 messages each).

Size of messages and packets

Besides the 20-byte header of a packet, every message included in the packet is associated with a vector clock. By applying Birman's compression algorithm in order to reduce the size of the vector clock, a message sent by i includes only the tuples (k, vc i [k]), 0 ≤ k < N such that vc i [k] has changed since the last broadcast of i. Each modified entry is represented by 4 bytes.

We have evaluated the size of messages' vector clocks and the number of bytes sent over the network in a scenario with 256 nodes. Note that since the size of a packet is bounded to 1500 bytes, an aggregated message may require more than one packet (each one with a 20-byte header).

Considering the aggregated approach, Figure 6 shows the percentage of messages whose vector clock carries a given number of dependencies. With no aggregation, the simulation presented the same behavior with a variation of up to 2.73% in the results.

We observe in Figure 6 that 27% of the messages have no causal precedence, i.e., each of them carries only its own entry in the vector clock. However, despite the small size of their respective vector clocks, these messages cannot be aggregated by our approach since the latter only combines messages with causal relation. For the remaining messages, 28.5% (resp., 18.4%) of them contain no more than 4 (resp., 9) causal dependencies, and this percentage continues to drop till only 1 message which depends on 54 others. As each entry requires 4 bytes, 23% of the messages (those with more than 12 causal dependencies) spend more space for storing vector clock entries than the actual data from the application whose size is 50 bytes. On the other hand, the greater the number of vector clock entries, the more information gathered about causal order, which can result in more message aggregation. Another consequence of message aggregation is the reduction in the overall number of bytes sent through the links. Since each packet has a 20-byte header, the greater the number of packets, the greater the number of headers. Table 3 shows the distribution of different packet sizes in the same 256 node scenario.

The main observation is that 8.45% of the packets with aggregation are bigger than all packets with no aggregation. With aggregation there is also a reduction in the number of packets of small sizes (< 100 bytes), specially because some messages which would be sent alone are grouped with others causally related ones into a single packet. Closer to the maximum packet size, aggregation presents only 0.29% of the packets with more than 1400 bytes. The reason for this low percentage is that a packet is forwarded whenever it is not possible to include one more message in it due to lack of space, which happened to 117 out of 49262 packets in the simulation analyzed in the table.

Reception and delivery latencies

We consider two different latencies metrics : (1) reception latency of a message is the time interval comprised from the broadcast of the message till it arrives at the destination node; (2) delivery latency of a message is given by the reception latency plus the queuing time, i.e., the additional time a message is held in at the destination node from its reception time till it is delivered to the application. For the experiments, every node broadcasts one message. 7 depicts the average reception and delivery latencies with and without aggregation. A first observation concerns the variation in the reception latency when the number of nodes increases. Even if the number of nodes increases 128-times (from 8 up to 1024), the average reception latency is just 2.1 times higher with aggregation and 2.2 times without it (maximum increase of 3.9 and 4.1 times, respectively). This near-logarithmic behavior can mainly be explained by the use of spanning trees to broadcast messages.

As expected, the postponement of the forwarding of messages whose dependencies are missing leads to higher reception latencies. Therefore, in the same figure, we observe that reception latency is higher with aggregation when compared to no aggregation (except for 1024 nodes) and, as the number of nodes increases, so does the average reception latency. Furthermore, as discussed in Section 5.1, aggregation rate increases with the number of nodes. For instance, with 256 nodes, aggregation poses a reception latency in average 8.1% higher compared to the same scenario with no aggregation. The different behavior with 1024 nodes is related to the number of messages that the system must deal with. In such a scenario, average reception latency with aggregation is 7.4% smaller because the average time of message forwarding postponement becomes smaller than the overhead in time necessary to send packets containing a single message. On the other hand, with no aggregation, packets stay in average 53.4% more time in the sending queue before their sending request is processed. Such waiting time is around 50 u.t., which is compliant with the difference in the same figure for the reception latency of the two approaches with 1024 nodes.

Relating to delivery latency, the results of the figure confirm our statement that delaying the forwarding of causal related messages does not degrade delivery latency but, actually, reduces it when compared to no aggregation. In networks up to 512 nodes, delivery latency difference with and without aggregation varies up to 3.2% (32 nodes), explained by the normally distributed t pp (propagation time per hop). Hence, the only difference in time that aggregated messages can suffer from when compared to no aggregated messages is related to propagation or queuing times of the packets which contain them. In the scenario with 1024 nodes, there exists a greater difference between the two approaches: our causal aggregation broadcast delivers messages in average 12.2% faster. The reason is that, as previously discussed, messages are received faster with aggregation, and possibly several messages in one packet.

Another remark about Figure 7 concerns the time that messages are held in (pending) before being delivered to the application. Regardless the number of nodes, messages are, in average, held in longer with no aggregation than with aggregation. This difference ranges from 5% (16 nodes) up to 53.4% (1024 nodes) since, with aggregation, upon the reception, more messages can be delivered immediately, reducing, therefore, the time messages are held.

Figure Average reception and delivery latencies for messages of aggregated messages

In order to profile the impact of message aggregation in latency, for different network sizes, we consider only those packets that have two aggregated messages and compared them to the individual transmissions of the corresponding messages without aggregation, in exactly same scenarios. We can observe in Figure 8, that for networks with 8 nodes, there is no message aggregation. However, for the other network sizes, delivery latencies are the same (except for 1024 nodes for the reasons discussed before) since, for the aggregation approach, the reception latency increases (in average up to 13.6%) but the delay to delivery a message decreases (59% for 512 nodes, reaching up 74% for 64 nodes).

Distribution of pending messages

Figure 9 shows the number of buffered messages by each node (set pending of Algorithm 2) in a scenario with 1024 nodes, each of them broadcasting one mes-sage. With aggregation, more than 50% of the nodes (569) buffer at most only 50 messages, while with no aggregation the ratio drops to less than 25% of the nodes. On the other hand, there exist only 24 nodes, in the aggregation case, and 212 nodes, without it, that keep at some moment more than 250 messages, Such a difference is due to our aggregation approach that avoids unnecessary buffering. In Figure 10, we can observe how each node collaborates in the aggregation process in a simulation with 1024 nodes, for two message sizes: 50 and 5 bytes. For both sizes, the distribution of the maximum number of messages aggregated in a packet per node seems to follow a normal distribution although, for the 5-byte size, there are more nodes which have aggregated a higher number of messages per packet. The reason for such a difference is the limitation in the number of messages that a packet can hold: the smaller the size of the message, the greater the number of messages that it can keep. Every node participates in the aggregation process and most of them with a close maximum aggregation size. For the 50byte size, 95.5% of the nodes have aggregated at some moment between 7 and 11 messages while no node has aggregated more than 14 messages. For the 5-byte size, 833 nodes (81.3%) have aggregated between 8 and 12 messages.

One tree versus multiple trees

We have also conducted some simulations where all nodes broadcast messages through the same single spanning tree rooted at node 0. Furthermore, in order to simulate out-of-order message receptions, we have varied latencies of 0's spanning tree links each time a link is used, following a Gaussian distribution, as if messages took differently routes at each broadcast. The first remark is that node 0 becomes a bottleneck and reception latencies have the same behavior of Figure 1, presented in the Introduction. We have also evaluated the average number of aggregated messages and number of delayed messages (in buffer waiting for delivery) for both approaches (unique and multi trees). The results are gathered in Figure 11. With a unique tree, there are at least 86% (resp.,84%) fewer aggregations (resp., delayed messages), performed by 32 nodes (resp., 128 nodes). Such results confirm that our aggregation approach performs better with one tree per source compared to a single one because the former naturally exploits existing delays induced by different paths. The smaller number of aggregations for single tree is due to the fact that out-of-order message receptions at nodes is limited, in this case, only to latency variations of the common links over which all messages travel, which also justifies the reduced time messages are held in before delivery. For unique tree with 1024, the number of aggregations decrease due to contention in the root of the tree.

Related Work

Over the years, several attempts have been proposed to reduce the amount of information necessary to ensure causal order delivery either by modifying the underlying topology [START_REF] Adly | Maintaining causal order in large scale distributed systems using a logical hierarchy[END_REF][START_REF] Blessing | Tree topologies for causal message delivery[END_REF] or using different types of logical clocks [28, ?, 32].

In [START_REF] Adly | Maintaining causal order in large scale distributed systems using a logical hierarchy[END_REF], the nodes of a system are logically organized in a tree in such a way that a node directly communicates only with a few other nodes. Hence, a node uses just the information about the receptions from those nodes to respect causal delivery and to timestamp its own messages. Blessing et al. [START_REF] Blessing | Tree topologies for causal message delivery[END_REF] go further by eliminating the use of meta-data carried by the messages. They exploit application-defined causal order [START_REF] Bailis | The potential dangers of causal consistency and an explicit solution[END_REF] in order to organize the actors (processes) of an application into a tree topology that guarantees causal order delivery. The path used by the "causing" message must somehow be included in the path of the "caused" ones. However, the model for organization of the tree is time-costly and application-dependent.

Singhal et al.

[?] observe that over a series of successive events at a same process, only a few entries in the vector clock are likely to be modified. Based on such a behavior, in their approach, a process i sends to a process j only the entries of its vector clock that changed since the last message i sent to j. Their approach reduces the size of the information related to causal order included in the messages, but fails to characterize causality when messages from the same source arrive out of order. Prakash et al. proposed in [START_REF] Prakash | An efficient causal ordering algorithm for mobile computing environments[END_REF] the causal barrier, a structure which keeps information only about direct dependencies. The key advantage of the causal barrier is that, since the tracking of message causal ordering does not depend on nodes' identifiers (per node vector), the broadcast protocol might scale and tolerates more easily changes in system membership. A new type of clock based on plausible clocks [START_REF] Torres-Rojas | Plausible clocks: constant size logical clocks for distributed systems[END_REF] is presented by Mostefaoui et al. [START_REF] Mostéfaoui | A Probabilistic Causal Message Ordering Mechanism[END_REF]. Motivated by the observation that, for some scenarios, a system can deliver most of the messages in the causal order without any explicit control, the authors propose a probabilistic approach to reduce the size of vector clocks at the cost of a small rate of errors in the causal delivery. Even if all these logical clocks reduce the size of causal order information included in messages, they are not suitable for the implementation of our causal broadcast protocol since our aggregation mechanism aims at combining as much as possible causally related messages into a single message. The ideal is, therefore, that nodes have knowledge about the entire and exact chain of causal dependencies of a received message, and not incomplete or partial ones.

Many distributed systems and application on different research areas such as Peer-to-Peer Overlay Networks [START_REF] Gupta | Efficient routing for peer-to-peer overlays[END_REF][START_REF] Hidalgo | An aggregation-based routing protocol for structured peer to peer overlay networks[END_REF][START_REF] Shudo | Message bundling on structured overlays[END_REF], Internet of Things (IoT) [START_REF] Schmidt | Dht-based distributed ale engine in rfid middleware[END_REF][START_REF] Koike | Iot network architecture using packet aggregation and disaggregation[END_REF], Wireless Sensor Networks (WSN) [START_REF] Akkaya | The impact of data aggregation on the performance of wireless sensor networks[END_REF], Parallel Discrete Event Simulation (PDES) [START_REF] Chetlur | Optimizing communication in time-warp simulators[END_REF],among others, exploit the possibility of combining/aggregating information or messages into a single message in order to reduce communication cost improving, therefore, performance.

In [START_REF] Hidalgo | An aggregation-based routing protocol for structured peer to peer overlay networks[END_REF], a structured peer-to-peer routing protocol combines several lookup messages into a single one with the goal of reducing the average number of hops of messages. In [START_REF] Gupta | Efficient routing for peer-to-peer overlays[END_REF], the circular logical identifier space of the P2P system is divided into slices, coordinated by a leader node. The latter collects all membership change notifications sent from the nodes of its slice during a period of time and, aiming at reducing bandwidth usage, aggregates them into a message before sending them to the other slice leaders. Similarly, in [START_REF] Shudo | Message bundling on structured overlays[END_REF], a message bundling technique improves network throughput by reducing the number of packet transmissions and mitigates the load of nodes on an overlay that forwards messages.

Chetlur et al. [START_REF] Chetlur | Optimizing communication in time-warp simulators[END_REF] propose to optimize the communication subsystem of Time-Warp simulators, which suffer from high overheads due to frequent communication, by dynamically aggregating, within a single message, those messages with the same destination that must be sent in close temporal proximity. Considering that static overhead is independent of message size, the authors state that it is more efficient to communicate two data items using a single physical message than using two separate messages.

The main motivation of data aggregation in WSN and IoT is to provide energy savings through reducing the number of message transmission. However, it may have an impact on other performance metrics such as latency, load processing, or fault tolerance.

Our message aggregation strategy differs from all the above ones since it does not rely on waiting time for performing message aggregation which may increase delivery latencies. It exploits possible path intersections of different distributed spanning trees along with the causal relation among messages in order to aggregate them. Thus, even if the forwarding of a message is postponed there is no additional delay in its delivery by the destination nodes.

Conclusion

We have presented a causal broadcast protocol where nodes are logically organized in a hypercube-like topology and broadcast messages are disseminated over dynamically built spanning trees rooted at the respective source nodes. The multiple spanning trees avoid root contention bottleneck problem of existing protocols that broadcast using a single root tree. By exploiting both the TIV problem and intersection of trees' paths, a node may buffer out-of-order messages and forward them to its child (or children) in the related spanning tree only when they become deliverable. Such an aggregation mechanism does not induce any overhead since the sending of a message to a child node is worthless if the latter will not be able to deliver it upon reception.

Evaluation results of our experiments on the simulator PeerSim corroborate the communication effec-tiveness of our multi spanning trees message aggregation approach. Combining messages into a single packet reduces packet traffic as well as average delivery latencies since there is less node contention. Moreover, when receiving a packet with more than one message, a node is more likely to deliver them all to the application faster, reducing, therefore, non deliverable messages held in time.

Future directions in our work include adding reliability to our causal broadcast protocol (CBCAST) in order to tolerate node failures, exploiting V Cube s diagnosis features to detect faults, as well as handling dynamic node membership.

Figure 2 :

 2 Figure 2: Propagation of three causally related messages and their reception and delivery orders.

Figure 3 :

 3 Figure 3: VCube hierarchical organization.

Figure 4 :

 4 Figure 4: Function Children use to (left) build a spanning tree and (right) find a node's children in according to a given source.

Figure 5 :

 5 Figure 5: Example of spanning trees and intersection of tree paths

Figure 6 :

 6 Figure 6: Distribution of the number of causal dependencies of a message in a scenario with 256 nodes with aggregation.

Figure

  Figure Average reception and delivery latencies.

Figure

  Figure 7 depicts the average reception and delivery latencies with and without aggregation. A first observation concerns the variation in the reception latency when the number of nodes increases. Even if the number of nodes increases 128-times (from 8 up to 1024), the average reception latency is just 2.1

Figure 9 :

 9 Figure 9: Distribution of the maximum number of messages buffered per node, with and without aggregation.

Figure 10 :

 10 Figure 10: Distribution of the maximum number of messages aggregated per node for messages of size 5 and 50 bytes.

  s -1

			Hypercube virtuel pour le noeud 0
				General c i,s table for 8 nodes
	s	c 0,s	c 1,s	c 2,s	c 3,s	c 4,s	c 5,s	c 6,s	c 7,s
	1 1		0	3	2	5	4	7	6
	2 2 3	3 2	0 1	1 0	6 7	7 6	4 5	5 4
	3

Table 1 :

 1 Average number of sent packets.

	Nodes No aggr. Aggr. % of reduction % of aggr.
	16	240	232	3.33	3.02
	32	992	919	7.36	5.77
	64	4032	3513	12.87	9.05
	128	16256	13759	15.36	11.04
	256	65280	49262	24.54	15.41
	512	261632	191528	26.79	16.70
	1024	1047552 745943	28.79	19.14

Table 2 :

 2 Distribution of the number of messages per packet for a 256 node scenario.

	Messages % of all packets % of aggr. packets per packet
	1	84.59
	2	9.16	59.46
	3	3.12	20.25
	4	1.26	8.18
	5	0.66	4.31
	(5,15]	1.2	7.8

Table 3 :

 3 Distribution of the packets according to their size in bytes, for a scenario with 256 nodes.

	Size (bytes) % of packets % of packets
		(No Aggr.)	(Aggr.)
	< 100	52.66	63.67
	(100,200]	31.28	30.30
	(200,300]	7.62	6.03
	(300,400]	3.91	0.00
	> 400	4.54	0.00

Acknowledgments

This work was supported by a scholarship (PhD -GDE) from CNPq (Brazil) and by Fundação Araucária/SETI (Brazil) under the project 45112, grant 144/15.