Sabrina Mervin

'Âshûrâ': Some remarks on ritual practices in different Shiite communities (Lebanon and Syria)

Âshûrâ

used to read a book entitled al-Majâlis. He added that, on the tenth day, they read the maqtal written by Abû Mikhnaf 3 , and then they recited the prayer of the ziyâra at Husayn's shrine.

Afterwards, he said they brought a special meal, called harîsa, to the mosque, where they distributed it to the poor. Then, in 1880, when his master Mûsâ Sharâra came back from Iraq, where he had completed his religious studies, he brought some changes to the 'Âshurâ' rituals, reorganizing them in the Iraqi way. He used another majâlis book, and the maqtal written by Ibn Tâwûs as was customary in Iraq, and he introduced new weekly sessions and funeral rituals 4 . For Muhsin al-Amîn, all these changes were positive. But there were other changes that occurred as well.

About 1895, Ottoman authorities softened their policy towards the Shî'a and their rituals: it was part of the pan-Islamic policy to be more tolerant towards the Shiite minority. Yet, they had given more freedom to the Iranian community of Istanbul, which was now able to observe the 'Âshûrâ' rituals in public 5 . They let the Iranians who had settled in Damascus and in Jabal 'Âmil at the end of the XIXth century observe their ritual practices: They performed a primary form of the theatrical representation of the Karbalâ tragedy (shabîh in Arabic, ta'zieh in Persian), and public processions, (mawâkib husayniyya). During the processions, they practiced the mortification ritual of tatbîr which consists of making an incision in their skull before beating their head with their hands or with the flat part of a sword in order to make the blood flow all the while walking. After the fall of the Ottoman Empire, the Iranian rituals developed and spread; the cleric of Nabatiyyeh 'Abd al-Husayn Sâdiq encouraged the process 6 . So all these practices were held in market places, in Jabal 'Âmil, most of all in Nabatiyyeh, and around the shrine of Sayyida Zaynab, in a village near Damascus which in those days was called Râwiya or "Qabr al-Sitt".

The second step of the historical development of the 'Âshûrâ' rituals is the reform that Muhsin al-Amîn, the 'Âmilî mujtahid who was living in the old Shiite area of Damascus, 3 A maqtal is an account of the martyrdom of Husayn. See Sebastian Günther, « Maqâtil Literature in Medieval Islam », Journal of Arabic Literature, XXV (1994), p. 192-212. 4 Muhsin al-Amîn, Autobiographie d'un clerc chiite du Jabal 'Âmil, translation and notes (in French) S. Mervin et H. al-Amîn, IFEAD, Damas, 1998, p. 72-75. 'Istanbul, 2 (juin 1992), p. 10-11. 6 For more details, see Sabrina Mervin, Un réformisme chiite. Ulémas et lettrés du Jabal 'Âmil (actuel Liban-Sud) de la fin de l'Empire ottoman à l'indépendance du Liban, Karthala-CERMOC-IFEAD, Paris, 2000, p. 246-247. implemented in the 1920's. On the one hand, he reorganized and rationalized the lamentation sessions, seen as a "school" (madrasa) for the believers, and to this end, wrote several books including a maqtal and a majâlis book, al-Majâlis al-saniyya. On the other hand, Muhsin al-Amîn prohibited two kinds of practices: the representation of the tragedy, and the flagellation and other mortification practices which he considered as innovations (bid'a). This attempt at reform triggered violent debates within religious circles, in Lebanon and in Najaf: Many mujtahid were against it. They published treatises replying to Muhsin al-Amîn and other reformists ; some prominent mujtahid gave fatwâ about the subject. Muhsin al-Amîn insisted in his will that some practices be declared muharram (forbidden) and, in 1928, he published a booklet in which he exposed his positions again, Risâlat al-tanzîh which provoked other reactions, press articles, quarrels among the clerics and even fistfights among their supporters 7 . Al-Amîn's aim was to rationalize and moralize the religious practices, and to give a more positive image of the Shiites. His detractors wanted to defend these specific rituals where the believers expressed their devotion to the imam and their Shiite identity.

In Lebanon, the reform had little impact on the majority of the believers because although Muhsin al-Amîn had a few supporters among the scholars and the clerics, others opposed the reform and authorized all the rituals of 'Âshûrâ'. In Damascus, on the other hand, he was able to impose the reform because he had no rival in a position to challenge his religious authority.

So the representation of the Karbalâ' tragedy and the mortification rituals stopped around the shrine of Sayyida Zaynab, and the Syrian Shî'a of Damascus performed the reformed rituals that Muhsin al-Amîn recommended in the old Shiite area of the city.

The third step is the spread of the rituals and their politicization. Until the 1970's, in South Lebanon, these rituals were used to perpetuate the domination of the local political leaders who were allied to the religious clerics. After the loss of Palestine, in 1948, some members of the Ba'th party tried to rethink the rituals, giving them a political meaning: Yazîd was Israel, and Husayn, Palestine. But the clerics ignored the Ba'th militants and the believers did not follow them. At that time, the refugee Shî'a from South Lebanon started to settle in the suburbs of Beirut and, at this point, the rituals started to be held publicly, in the streets 8 .

In addition, the influence of the traditional political leaders began to decrease. Mûsâ Sadr emerged on the political scene and he succeeded where the lay parties had failed. He was the first religious cleric to become involved closely with the so-called Shiite masses, and to fight for their political and social rights. In a famous speech he gave in Baalbek in 1974, he said: «Do not allow ceremonies or lamentation to serve as a substitute for action. We must transform the ceremonies in a spring from which will gush forth the revolutionary fury and the constructive protest… Now let me ask you: If Husayn were living with us and saw that the rights of the people and justice were being trampled upon by the foot of pride, what would he do?». Inspired by Ali Shariati, Mûsâ Sadr made use of the Muharram rituals to express a revolutionary spirit and a political and social protest. 9

After the Israeli invasion of South Lebanon, the rituals became a means of defying the occupying army and of exalting Islamic resistance. Muhammad Husayn Fadl Allâh, who was the spiritual leader of Hizbullah, declared that the true followers of Husayn were the resistance fighters, and not the 'Âshurâ' flagellants. On the other hand, the rituals, specially the public processions, gave the two Shiite movements, Hizbullah and Amal, an opportunity to stage their rivalry and hostility 10 . Some important changes occurred also in Damascus. In the 1950's the old shrine of Sayyida Zaynab was rebuilt in Iranian style, thanks to private donations. In the 1970's, Iraqi Shî'a started to settle in the small town of Sayyida Zaynab. There were several waves of new comers there, in the 1980's and then after the Shiite uprising of 1991 in Iraq. Today, the Iraqis form an important community in Sayyida Zaynab, where some other Shiite groups live as well: Afghanis, Pakistanis, Gulf Arabs, Iranians, etc. They founded several hawza (religious schools) and husayniyya (places of worship where the sessions are held). The Shiite groups from different countries living there created networks, which are interwoven with other networks which are based on neighborhood solidarities, on affiliation to a political party or on religious obedience to the same marja'.

In addition, the number of visitors to Sayyida Zaynab increased, partly due to the pilgrimages organized by the Iranian Islamic Republic all around the Syrian Shiite places of worship. A Syrian consortium even built a tourist complex to accommodate all the pilgrims. Hence, the small city became an economic and tourist center in Syria as well as an expanding Shiite center with places of worship, institutions of learning, bookshops, representation offices for several marja', and a substantial amount of political and religious agitation11 .

As far as the rituals of 'Âshûrâ' are concerned, we can observe two phenomena, today, in Sayyida Zaynab12 . The first one is the resurgence of certain ritual practices that had disappeared since Muhsin al-Amîn's reform. We notice for instance the use of musical instruments during public processions (trumpets, drums), the presence of flares (mash'al) and of carnival floats (notably for the celebration of Qasim's wedding). These elements are clearly of Iraqi origin. In addition to chest beating (latm), the believers perform some mortification practices, with the use of chains for flagellation and tatbîr, on the 10 th day of Muharram, the day of 'Âshûrâ'. Also on that day, there is a performance of a scene of the Karbala tragedy, which takes place in a soccer field in Sayyida Zaynab. It stages the capture of Husayn's family by the Omayad army and the burning of Husayn's camp. There is also the procession, from the Omayad mosque in Damascus -where they say Husayn's head is kept -to Sayyida Zaynab, during which some people walk barefoot for three hours.

The second noteworthy phenomenon is that each year, Syrian authorities have become more and more lenient with the Shiite community. For example, every evening during the celebrations, some processions are held in the main street of Sayyida Zaynab; this gives more visibility than before to these rituals. They attract a great number of non-Shiite on-lookers, who come from Damascus to watch the "show" and form a crowd in the streets where car traffic is stopped during the processions. Syrian authorities have also allowed the tatbîr to take place on this street, on the 10 th day, whereas before it was forbidden. However, the tatbîr procession still takes place at dawn, with no outsiders present -while in Lebanon, it happens in broad daylight and with a large audience. But the trend in Syria is that the rituals are becoming more visible, and are attracting more non-Shiite on-lookers. They have become real street shows, with lights, colorful banners and flags, singing, horses in the streets, distribution of refreshment and pastries. In addition, thanks to technological means such as audio and video tapes, and CD-roms, the rituals are invading the whole space: not only the private space, in houses, but the public space as well, because loudspeakers in the shops emit the blaring rituals throughout the streets. Also, distances are abolished: people can watch some sessions which took place in other parts of the Shiite world, and they can listen to their favorite reciters (like Ahmad al-Wâ'ilî, 'Abd al-Hamîd al-Muhâjir, or Bâsim al-Karbalâ'î).

There is an Iraqi influence as well as from other countries. Pilgrims come from all over the Shiite world -they form groups and some of them settle inside the shrine and stay there night and day for the whole duration of the celebrations. Other pilgrims come from Shiite villages in Syria, located mainly around Homs; they form a special group, and join the foreigners inside the shrine, under their own banner.

And then, there are the Shî'a of the old Shiite neighborhood in Damascus -now called hayy al-Amîn -who go to Sayyida Zaynab individually, and do not present themselves as an identified group there. They have their own lamentation sessions, in the husayniyya of the area or in the schools founded by Muhsin al-Amîn. There, they still practice the reform rituals recommended by the mujtahid (who died in 1952): without any public procession or performance, but only sessions where you can see a few tears, and soft chest beating (latm), but nothing more. They are more intent in transmitting their moral values through more intellectual exercises such as conferences and lectures rather than through public display of emotion. They do not aim to show their religious particularity nor to emerge as a confessional community of its own, but they blend into the group of the Syrian Muslims, and stay very discreet about their religious rituals.

In the old city of Damascus, not far from the Omayad mosque, there is another place, the shrine of Sayyida Ruqayya, which the Shî'a particularly worship. At the beginning of the 1970's, a committee of clerics and religious personalities was formed to renew and extend the shrine; they bought shops and houses in the area, tore them down, and in 1984, they began the construction of a new shrine, which was completed in 1991 13 . Today, this magnificent Iranian 13 'Âmir al-Hulw, al-sayyida Ruqayya, qissatuhâ, maqâmuhâ, Manshurât Markaz ahl al-bayt, Vienna, Austria, 1994, pp. 75-76. style shrine has special ties with the Iranian embassy whose cultural center organizes lamentation sessions there during the Muharram celebrations. These sessions are in Persian, and are attended by Iranians, many of whom are women who come especially from Tehran by bus, for an organized pilgrimage around Syria. For them, the Muharram celebrations are the highlight of the tour. Thus, as an example of the disparities in the 'Âshûrâ' rituals among groups of various origins, we can observe many differences between the lamentation sessions of the Syrian women and those of the Iraqi women. In the old Shiite area of Damascus, the Syrians listen quietly to the reciter, and sometimes cry in silence. There are more tears and lamentations among the Iraqis who attend sessions in Sayyida Zaynab, either in the private house of a notable or in a husayniyya. These women who suffered from repression in Iraq and live in exile are able here to express their sorrow. Moreover, at the end of the session, some of them stand up, take off their veil, and dance in a circle, moving their head back and forth and beating their forehead in a rhythmic fashion. It seems that this ritual comes from Bedouin dances of the South of Iraq. As for the Lebanese women, during the lamentation sessions, they behave in a way that could be described as a cross between the reserve of the Syrians and the expansiveness of the Iraqis.

In Lebanon the celebrations take place where there is a Shiite population: In the villages and towns of the South, notably Nabatiyyeh and Tyre, in the Bekaa valley, in the southern suburbs of Beirut, and even now in Beirut proper. Local committees, religious schools, as well as the two political formations, Amal and Hizbullah, organize lamentation sessions and public processions every day. During the last 'Âshûrâ', in March 2002, a fight broke out in Nabatiyyeh between the two formations, which caused 70 wounded, because they could not decide who was going to walk at the front of the procession 14 . This public demonstration is still a means of expressing local rivalries.

On the 10 th day, the tragedy of Karbala is performed in Nabatiyyeh, on a large stage that is set up on the ancient threshing floor (baydar), in front of the husayniyya. From the initial preparations of the actors and the arrival of the audience looking for places to sit or stand, until the end of the performance, the whole morning elapses. Every year, it is nearly the same play, with many actors, horses and camels. It is based on a text written in 1936 with the help 14 L'Orient-Le Jour, 26/3/2002, "Au moins 70 blessés dans des affrontements Amal-Hezbollah à Nabatiyé"; al-Nahâr, 28/3/2002, "Hawâdith al-Nabatiyya aqsat al-haraka wa al-hizb fa-ista'âdat al-madîna taqâlîd 'Âshûrâ'". of a group of young people, by 'Abd al -Husayn Sâdiq (d. 1942), the Shaikh of Nabatiyyeh who was against Muhsin al-Amîn's reform15 . They re-invented and re-elaborated a play, relying on accounts by Shiite historians. The play is much more influenced by the Iraqi version than by the Iranian well-known ta'ziyeh: there are no songs; no parts for women; no supernatural manifestations; it is not performed in a tekiyeh; and it tells the whole tragedy of Husayn at once, in Arabic 16 . A local committee is in charge of the organization. The play attracts many people from outside Nabatiyyeh, even from Beirut and further. In the near by village of Jibshît, a local committee recently put together its own play, which is staged during two hours and is starting to be successful.

The tragedy is not the only show that attracts such a large audience and causes traffic jams around Nabatiyyeh. On the same 10 th day, which commemorates Husayn's martyrdom, just after the play, there is another large procession where some people practice the mortification ritual, the tatbîr. As in Sayyida Zaynab, there are more and more of these bloody and spectacular practices. Yet some Shiite clerics forbid the tatbîr, because they consider it selfdamage (darar) and it is harâm in Islam. Hizbullah doesn't allow its members to practice the tatbîr, because Khomeini, and later Khamenei, forbade it. The party organizes a blood drive instead during which it appeals to its followers to give their blood through its television and radio stations. Some prominent clerics in Lebanon, such as Muhammad Mahdi Shams al-Dîn (d. 2000), Muhammad Husayn Fadl Allah and other modernists have regularly declared that they are against the tatbîr. But other clerics, generally more traditionalists, allow the believers to practice it. The debate is still open, in the fatwâ literature and in the press. In March 2002, a journalist asked several Lebanese clerics their opinion about the 'Âshûrâ' rituals, and most of all the tatbîr: half of them forbade it and half allowed it 17 .

The same debate divides clerical circles in Sayyida Zaynab, and they recognize that it is a "sensitive subject". Some even practice the tatbîr themselves, among the believers, whereas others are definitely against this kind of rituals. Muhammad Shîrâzî, an Iraqi marja' who was living in Qom, has many followers in Sayyida Zaynab, who practice the tatbîr 18 . Now that Muhammad is dead, his brother Sâdiq gave a fatwâ allowing it, which was distributed in the streets before the day of 'Âshûrâ', in March 2002. This brought about a dispute: Some clerics, who are against the tatbîr, stated that this fatwâ was not valid because Sâdiq Shîrâzî could not declare himself a marja', simply because his brother was a marja'.

In the last two years, some young Iraqi intellectuals, who teach in Hawzat al-Murtadâ, a religious school supervised by Fadl Allâh in Sayyida Zaynab, put in place a blood drive for 'Âshûrâ'. Some clerics support this initiative. It is organized in collaboration with the Syrian government and some Palestinians who are in charge of sending the blood to Palestine. In this way, they associate the remembrance of Husayn's death with an action of solidarity with the people who, like the imam, "march on the line of martyrdom" 19 . Other blood drives of this kind are organized in Bahrain and in Saudi Arabia.

Nevertheless, Sayyida Zaynab is a place where Shiite communities are able to practice these rituals of mortification freely. Iranians cannot practice these rituals in their country, because they are forbidden; in Iraq, in the past 15 years, all the Muharram rituals have been gradually forbidden. So here, many believers take the opportunity to express their religiosity as well as their frustration through these public demonstrations of symbolic violence. The Syrian state allows these Shiite foreigners to demonstrate their religious particularities. Let's remember that these foreigners often are in the opposition in their own countries, and have suffered from repression and exile (like the Iraqis, but also the Afghanis or certain people from the Gulf). So Sayyida Zaynab has become a Shiite melting pot where it is possible for outsiders to watch the rituals. The same is true in Lebanon. In addition, the Lebanese Shiite community uses these rituals in order to occupy more space within the Lebanese political arena.

Each community has developed its own way of performing the 'Âshûrâ' rituals. The way the participants move, the way they form a group around one or several leaders during the processions, the way they beat their chest, all these are different. Also, the way in which men display their virility through out the rituals and the way in which women are expected to respond to this display, differs from one community to the next. During the sessions, each Muhammad 'Usayrân, and Muhammad Kawtharânî allowed it. Salwâ Fâdil, al-Nahâr, 21/3/2002, "al-Tuqûs al-'unfiyya 'alâ masrah 'Âshûrâ'". 18 See the position of Muhammad Shîrâzî about these rituals in Markaz al-imâm al-Shîrâzî li-l-buhûth wa aldirâsât, Thaqâfat 'Âshûrâ' fî fikr al-imâm al-Shîrâzî, al-ta'âtî wa al-adwâr, Beirut, 2002. His brother Hasan, who founded the first hawza, al-Zaynabiyya, in Sayyida Zaynab and was killed by the Iraqis in Beirut in 1980 stood up for the same opinion. See Hasan al-Shîrâzî, al-Sha'â'ir al-husayniyya, Mu'assasat al-imâma, Beirut, 2000. 19 Leaflet distributed by al-Markaz al-husaynî li-tabarru' al-damm, Sayyida Zaynab, 24/03/02. community insists on certain characters among the heroes of the Karbala battle, stresses on certain themes, and uses its own corpus of texts in its dialect or language. All this reflects cultural differences and disparities between various societies as well as the construction of an identity through ritual practices.

Sabrina Mervin

CNRS/IFPO

8

  Majed Halawi,A Lebanon Defied : Musa al-Sadr and the Shi'a Community, Westview Press, 1992, p. 172-173 ; Yves Gonzalez-Quijano, « Les interprétations d'un rite : célébrations de la 'Achoura au Liban », Maghreb-Machek, 15 (janv-mars 1987), p. 5-12. See also Waddah Chrara, Transformation d'une manifestation religieuse dans un village du Liban-sud (Ashura), Publications du Centre de Recherches de l'Université Libanaise, Beyrouth, 1968. 9 See Salim Nasr, « Mobilisation communautaire et symbolique religieuse : l'imam Sadr et les Chi'ites duLiban (1970-1975) », in Radicalismes islamiques, éd. Olivier Carré et Paul Dumont, l'Harmattan, Paris, 1985, p. 119- 158.

  The original text in Arabic was published in A'yân al-shî'a, and has been recently reprinted, see Sîrat al-sayyid Muhsin al-Amîn, tahqîq wa sharh Haitham al-Amîn wa Sâbrînâ Mîrfân, Riad el-Rayyes Books, Beirut, 2000. 5 Thierry Zarcone, « La situation du chi'isme à Istanbul au XIX e siècle et au début du XX e siècle », in Les

Iraniens d'Istanbul, éd. Thierry Zarcone et F. Zarinebaf-Shahr, IFÉA/IFRI, Istanbul-Téhéran, 1993, p. 103-105 ; « Un regard sur les lieux de culte chi'ites à Istanbul (fin d'Empire ottoman-époque contemporaine) », Lettre d'Information de l'Observatoire Urbain d

 ibid.,

See Sabrina Mervin, « Sayyida Zaynab : banlieue de Damas ou nouvelle ville sainte chiite ? », CEMOTI, 22, "Arabes etIraniens", 1996, pp. 149-162.

The following information is based on fieldwork that I have done over several years, from 1993 to 2002.

Sabrina Mervin, Un réformisme chiite, p. 247-248. For more details about the history of the performances in


Ghada Moualla

Thierry Turletti

Damien Saucez

An Availability-aware SFC placement Algorithm for Fat-Tree Data Centers

Keywords: SFC, Availability, Cloud, Data Center, Placement

Complex inter-connections of virtual functions form the so-called Service Function Chains (SFCs) deployed in the Cloud. Such service chains are used for critical services like e-health or autonomous transportation systems and thus require high availability. Respecting some availability level is hard in general, but it becomes even harder if the operator of the service is not aware of the physical infrastructure that will support the service, which is the case when SFCs are deployed in multi-tenant data centers. In this paper, we propose an algorithm to solve the placement of topology-oblivious SFC demands such that placed SFCs respect availability constraints imposed by the tenant. The algorithm leverages Fat-Tree properties to be computationally doable in an online manner. The simulation results show that it is able to satisfy as many demands as possible by spreading the load between the replicas and enhancing the network resources utilization.

I. INTRODUCTION

Network Function Virtualization (NFV) [START_REF] Etsi | Network Function Virtualisation (NFV); Architectural Framework[END_REF] virtualizes network functions and places them into commodity network hardware, such as a Data Center (DC). Since a single VNF cannot provide a full service, multiple VNFs are combined together in a specific order, called Service Function Chains (SFCs) [START_REF] Halpern | Service Function Chaining (SFC) Architecture[END_REF]. SFCs determine the sequence of NFs that packets must follow and optimization techniques are used to map the SFCs in the network without overloading it and to provide availability guarantees.

Replication mechanisms have been proposed in the literature (e.g., [START_REF] Machida | Redundant virtual machine placement for fault-tolerant consolidated server clusters[END_REF], [START_REF] Fan | Guaranteeing availability for network function virtualization with geographic redundancy deployment[END_REF], [START_REF] Carpio | Replication of virtual network functions: Optimizing link utilization and resource costs[END_REF]) to improve the required service availability based on VNF redundancy, which allow configurations in Active-Backup or Active-Active modes. However, some propositions [START_REF] Carpio | Improving reliability of service function chains with combined vnf migrations and replications[END_REF] focus on replicating the SFCs in multi-tenant data centers where the tenant demands are oblivious to the actual physical infrastructure of the Data Center. Such an environment is particularly challenging as the demand is not known in advance and cannot be controlled. For the data center operator, it is therefore important to limit the number of replications to its minimum, yet respecting the level of service agreed with its tenants.

In this paper, we propose a placement algorithm for SFCs in Data Centers relying on Fat-Tree topologies. The algorithm is run by the network hypervisor and guarantees that Service Level Agreements (SLAs) with the tenants are respected, given the availability properties of the hardware deployed in the data center. Our proposition is based on an iterative linear program that solves the placement of SFCs in an online manner without prior knowledge on placement demand distribution. The algorithm is made computationally doable by leveraging symmetry properties of Fat-Tree topologies. Our evaluation on a very large simulated network topology (i.e., 27,648 servers and 2,880 switches) shows that the algorithm is fast enough for being used in production environments.

The rest of the paper is organized as follows. Section II presents the related work. Section III describes the problem statement. Section IV formulates the optimization model.. Section V proposes an availability-aware placement algorithm. Finally, Section VI evaluates the performance of our solution and Section VII concludes the paper.

II. RELATED WORK

Multiple works tackle the problem of robust VM placement by deploying them on different physical nodes using specified availability constraints [START_REF] Mihailescu | Enhancing application robustness in Infrastructure-as-a-Service clouds[END_REF], [START_REF] Jayasinghe | Improving performance and availability of services hosted on IAAS clouds with structural constraint-aware virtual machine placement[END_REF], [START_REF] Zhang | Venice: Reliable virtual data center embedding in clouds[END_REF]. Zhang et al. [START_REF] Zhang | Venice: Reliable virtual data center embedding in clouds[END_REF] and Sampaio et al. [START_REF] Sampaio | Towards high-available and energyefficient virtual computing environments in the cloud[END_REF] consider the MTBF of DC components to propose high availability placements of virtual functions in DCs. However, none of these works consider the benefits of using redundancy to ensure reliability. Rabbani et al. [START_REF] Rabbani | On achieving high survivability in virtualized data centers[END_REF] solve the problem of availabilityaware Virtual Data-Centers (VDC) embedding by taking into account components' failure rates when planning the number and the place of redundant virtual nodes but they do not consider the case of service chains.

In Herker et al. work [START_REF] Herker | Data-center architecture impacts on virtualized network functions service chain embedding with high availability requirements[END_REF], SFC requests are mapped to the physical network to build a primary chain, and backup chains are decided based on that primary chain. Engelmann et al. [START_REF] Engelmann | A reliability study of parallelized vnf chaining[END_REF] propose to split service flows into multiple parallel smaller sub-flows sharing the load and providing only one backup flow for reliability guarantee. Our work follows the same principle as these two proposition but uses an active-active approach such that resources are not wasted for backup.

In our previous work [START_REF] Moualla | Robust placement of service chains in data center topologies[END_REF], we proposed a deterministic solution for when SFCs are directly deployed by the DC owner and that requires to know in advance the minimum number of replicas. In this paper, we propose a stochastic approach for the case where SFCs are requested by tenants oblivious to the physical DC network and that only have to provide the SFC they want to place and the required availability.

III. PROBLEM STATEMENT

This section defines the problem of placing SFCs in Data Centers under availability constraints.

Without any loss of generality, and inspired by works ( [START_REF] Herker | Data-center architecture impacts on virtualized network functions service chain embedding with high availability requirements[END_REF], [START_REF] Gill | Understanding network failures in data centers: measurement, analysis, and implications[END_REF]), we only consider server and switch failures and ignore link failures. We also consider that all equipments of a same type have the same level of availability. More details are provided in Section VI-A.

A. Detailed description of the problem

This work develops an availability-oriented algorithm for resilient placement of VNF service chains in Fat-Tree based DCs where component failures are common [START_REF] Herker | Data-center architecture impacts on virtualized network functions service chain embedding with high availability requirements[END_REF].

The Fat-Tree topology is modeled as a graph where the vertices represent switching nodes and servers, while the edges represent the network links between them. Furthermore, SFC provides a chain of network functions with a traffic flow that need to traverse them in a specific order. We only consider acyclic SFCs. As we are in a multitenant scenario, functions are deployed independently and cannot be aggregated (i.e., function instances are not shared between SFC instances or tenants).

Each function is considered as a single point of failure. Thus, to guarantee the availability of a chain we use scaled replicas: we replicate the chain multiple times and equally spread the load between the replicas.

Upon independent failures, the total availability for the whole placed SFC replicas will be computed using Eq. (1) (availability for parallel systems).

availability = 1 - i∈n replicas (1 -ava sci ) , (1)
where ava sci is the availability of replica i of service chain sc and n replicas is the number of scaled replicas for this service chain. The availability of each service chain replica ava sci is defined by

ava sci = f ∈F A f , ∀i ∈ n replicas (2)
where A f is the availability of a service chain function f , which corresponds to the availability of the physical node that hosts this function ( [START_REF] Carpio | Improving reliability of service function chains with combined vnf migrations and replications[END_REF], [START_REF] Fan | Guaranteeing availability for network function virtualization with geographic redundancy deployment[END_REF]).

In Fat-Tree network topologies (Fig. 1), the availability of a system composed of multiple functions depends on its placement in the topology. For example, the availability of a SFC for the three scenarios for SFCs placement presented in Fig. 1 is calculated as follows: (i) Scenario 1, where service chain (SC1) is mapped to only one physical host, the availability of SC1 is equal to the availability of its host node (h 1 ) while (ii) in Scenario 2, SC2 is placed on 2 different hosts under the same ToR switch, so the availability of this service is equal to the availability of all participating host nodes in addition to the availability of their parent ToR switch as follows:

A SC2 = A h5 .A h6 .A T oR . (3)
However, in Scenario3 where the chain SC3 is placed on different hosts connected to different ToR switches within the same pod, the availability is given by:

A SC3 = A h9 .A h11 . (A T oR ) 2 . 1 -(1 -A Agg ) 2 . (4)
In the general case of a k-ary Fat-Tree, each host is connected to one ToR switch (edge switch) which is directly connected to k/2 switch in aggregation layer and each switch in the aggregation layer is then connected to k/2 switches in the core layer. The generalized availability equation becomes:

A SC3 = (A host ) n h .(A T oR ) n T oRs . 1 -(1 -A Agg ) k/2 ,
(5) where n h refers to the total number of used hosts and n T oRs refers to the total number of ToRs involved in the placement.

IV. MODEL DESCRIPTION AND FORMALIZATION

A. Model Variables

We present here the variables used in our model formulation to place one particular service chain:

• p ∈ P : pod Id, t ∈ T oRs: ToR Id, h ∈ Hosts: host Id and F is a sequence of NFs id f of the SFC. • π p : Binary variable, equals to 1 if the pod p is used, and 0 otherwise. • τ α : Availability for the mapped service chain.

• R ∈ [0, 1]: SFC requested availability in the SLA.

• ϑ p,t,h,f : Binary variable, equals to 1 if the function f is mapped to a specific physical host identified by its pod p, its ToR t, and its Id h, and 0 otherwise. • ξ h,p,t : Binary variable, equals to 1 if the host h under the ToR t of the pod p is used, and 0 otherwise. • ρ t,p : Binary variable, equals to 1 if the ToR t on the pod p is used, and 0 otherwise. • δ f,p : A binary variable that equals 1 if the function f is mapped to the pod p, and 0 otherwise. • ε p : Total number of used hosts under the pod p.

• σ p : Total number of used ToRs under the pod p.

• C f : Required CPU resources for function f . • C h : Total available CPU resources on host h.

• A h , A s : Availability of host h and switch node s, respectively.

B. Model Formulation

The optimization objective is to minimize the number of scaled replicas (i.e. number of used pods as each replica is placed in a different pod). This translates into:

Obj : M in p∈P π p . (6)
Subject to the following constraints:

τ α >= R (7)
∀ h∈H,p∈P,t∈T :

ξ h,p,t = 1 if f ∈F ϑ p,t,h,f ≥ 1 (8) ∀ t∈T,p∈P : ρ t,p = 1 if h∈H f ∈F ϑ p,t,h,f ≥ 1 (9) ∀ f ∈F,p∈P : δ f,p = 1 if t∈T h∈H ϑ p,t,h,f ≥ 1 (10)
∀ p∈P : π p = 1 if t∈T h∈H f ∈F ϑ p,t,h,f ≥ 1 (11) ∀ p∈P , ∀ f ∈F ∀ f ∈F,f >f : δ f,p ≤ δ f ,p (12)
∀ f ∈F , ∀ p∈P :

t∈T h∈H ϑ p,t,h,f ≤ 1 (13)
∀ p∈P : ε p = t∈T h∈H ξ h,p,t (14)
∀ p∈P : σ p = t∈T t,p (15)
∀ p∈P : α p =          0, if ε p = 0. A h , if ε p = 1. A εp h .A s , if ε p > 1 and σ p = 1. A εp h .A σp s .(1 -(1 -A s ) k 2 ), if σ p > 1. ( 16
)
τ α = 1 - p∈P (1 -α p ) (17)
∀ h∈H p∈P t∈T f ∈F ϑ p,t,h,f C f ≤ C h . (18)
Constraint [START_REF] Mihailescu | Enhancing application robustness in Infrastructure-as-a-Service clouds[END_REF] ensures that the placement offers an availability at least as high as the one required in the SLA. Constraint (8) (resp. ( 9)) marks that the host (resp. ToR) is used if at least one NF is deployed on it (resp. on a host connected to it). Similarly, Constraint [START_REF] Rabbani | On achieving high survivability in virtualized data centers[END_REF] indicates whether or not a specific pod is used. Constraint [START_REF] Sampaio | Towards high-available and energyefficient virtual computing environments in the cloud[END_REF] indicates that a function f is placed on a specific pod p.

Constraint [START_REF] Herker | Data-center architecture impacts on virtualized network functions service chain embedding with high availability requirements[END_REF] ensures that if one function of a scaled service replica is placed in one pod p then all other functions of this replica are placed in this same pod. Constraint [START_REF] Engelmann | A reliability study of parallelized vnf chaining[END_REF] ensures that two replicas of the same function are never placed in the same pod.

Equation ( 14) computes the total number of used hosts under each pod p, while Equation ( 15) counts the total number of used ToRs under each pod p in order to use them in Equation ( 16) to compute the availability of each scaled SFC replica. The latter takes one of four possible values based on the values we get from Equations ( 14) and [START_REF] Gill | Understanding network failures in data centers: measurement, analysis, and implications[END_REF]. Finally, Constraint [START_REF]Amazon ec2 instance types[END_REF] ensures that the functions placed on a physical host node cannot use more CPU resources than its host resource capacity.

Constraints ( 16) and ( 17) are non-linear; we show how to linearize them in Appendix A. In our evaluation section, we used the linearized version of the model.

V. SFC PLACEMENT ALGORITHM

Directly solving the model of Sec. IV for a large DC topology is impractical. Instead we apply the model on a (small) subset of the topology, more precisely, only in one fault domain (pod), for the new model: equations [START_REF] Mihailescu | Enhancing application robustness in Infrastructure-as-a-Service clouds[END_REF][START_REF] Liu | Service function chaining (SFC) general use cases[END_REF] will be removed, and the new objective is to maximize the placement availability over that fault domain :

Obj : M ax(α p ). ( 19
)
Our algorithm is called each time a request to install an SFC is received. Specifically, for a required availability R, the algorithm determines how many scaled replicas to create for that SFC and where to deploy them; taking into account the availability of network elements (servers and switches) without impairing the availability guarantees of the chains already deployed. To guarantee the isolation between scaled replicas, each replica of a chain is deployed in a different fault domain.

Algorithm 1 presents the pseudo-code of our algorithm where scale_down(C, n) is a function that computes the scaled replica scheme, i.e., an annotated graph representing the scaled down chain, for a chain C if it is equally distributed over n scaled replicas and where solve_placement(S, G, n) solves the problem of placing n replicas S on the network topology G. The solution of a placement is a set of mappings associating replica functions and the compute nodes on which they have to be deployed. The solution is empty if no placement can be found.

Our algorithm starts with one replica of a service request and first checks that no function is requesting more resources than what the pod can offer.

In the case it is not possible to find a placement with one replica, the algorithm scales down the chain S by adding one more replica and tries to find a placement for each one of these replicas in different fault domains. Otherwise, the algorithm tries to find a placement for it under one fault domain of the network (the fault domain is chosen randomly to spread the load over the entire DC) using solve_placement(S, G, n) function; if no placement is found in the current fault domain, we check the another fault domain, otherwise we compute the total availability for the current placement.

This strategy continues until a termination condition is met: (i) if the requested availability is reached then the service can be deployed with (deploy(placement)); (ii) if the maximum acceptable time for finding a placement is reached then no solution is found; (iii) if the number of created scaled replicas reached the maximum number of replicas (i.e., maximum number of fault domains), then no solution is found. The compute_ava function computes the availability of a chain placement according to Sec. III.

A. Scale down function

When multiple replicas are used, each one gets a fraction of the load and their individual resource requirements is lower than the one needed if there is only one chain instance. The resources depend on the availability of the other replicas and can be upper-bounded by:

Rf,n = R f n + (n -1) • C f n • (1 -Ava f ) , (20)
where Rf,n is an upper-bound on the average amount of resources that would require a replica of a function f if it is replicated n times while R f is the number of resources required by f in case it is not replicated at all, Algorithm 1: Availability-aware placement Input: Physical network Graph: G chain ∈ Chains Scaled chain replica graph: replica scheme Required availability: R T = max time; n = 1; tot ava = 0; tot time = 0; placement = φ; replica scheme = chain while tot ava<R and tot time<T and n<max n do if max req > max ava then

n = n + 1 replica scheme = scale_down(chain, n) else placement = solve_placement( replica scheme, G, n) n = n + 1 if not placement then replica scheme = scale_down(chain, n) else tot ava = compute_ava(placement) tot time.update() if tot ava ≥ R then deploy (placement)
and Ava f is the availability of the least available replica among the n replicas.

B. Solve placement function

The solve_placement(S, G, n) function considers two graphs: the DC topology graph G and the scale replica graph S. The purpose of this function is to project the scaled replica graph S on the topology graph G with respect to the physical and chain constraints.

For each fault domain, solve_placement(S, G, n) tries to find a solution for the linear problem defined earlier that aims at finding a placement for the scale replica graph in one fault domain while maximizing the availability of the replica placement.

VI. EVALUATION

In the following we evaluate the Availability-aware placement algorithm introduced in the previous section.

A. Simulation Environment

We have implemented a discrete event simulator in Python interfaced with the Gurobi Optimizer 8.0 solver [START_REF] Optimization | Gurobi optimizer 5.0[END_REF]. All simulations have been run on a Intel i7-4800MQ CPU at 2.70GHz and 32GB of RAM running Comparing acceptance ratio for these different SLA values: 0.95, 0.99, 0.999, 0.9999, 0.99999. GNU/Linux Fedora core 21. 1 In the evaluation, requests to deploy SFCs are independent and follow an exponential distribution of mean interarrival time T IA (measured in arbitrary time units). SFCs have a service time of S time units, i.e., the time the SFC remains in the system is randomly selected following an exponential distribution of mean S. If an SFC cannot be deployed in the network, it will be rejected. In total, our synthetic workload for the simulations contains 2,000 SFC request arrivals made of 20 random SFCs. As we are only interested in the steady state of the system, the servers are preloaded with service chains. All experiments presented here were repeated 5 times (5 different workloads of 2,000 SFC requests).

Furthermore, all SFCs are linear, i.e., they are formed of functions put in sequence between exactly one start point and one destination point. The number of NFs between the two endpoints is selected uniformly between 2 and 5, based on typical use cases of networks chains [START_REF] Liu | Service function chaining (SFC) general use cases[END_REF], and the requirements of each function in terms of cores is 1, 2, 4, or 8 inspired by the common Amazon EC2 instance types [START_REF]Amazon ec2 instance types[END_REF]. Simulations are performed on a 48-Fat-Tree topology with 48 pods having each 576 hosts for a total of 27,648 hosts. Every host has 4 cores. The availability of the physical devices in the Data Center are assigned accordingly to the statistical study of these works ( [START_REF] Herker | Data-center architecture impacts on virtualized network functions service chain embedding with high availability requirements[END_REF], [START_REF] Gill | Understanding network failures in data centers: measurement, analysis, and implications[END_REF]), namely 0.99 for servers, 0.9999 for ToR and aggregation switches, 0.99999 for core switches, and 1.0 for links.

In the evaluation each SFC requires the same SLA even though the algorithm does not enforce it. In practice, placements must be computed in reasonable time so we limited the computation time to at most 6s per request, above that requests are rejected (the acceptable time for finding a placement must be at most of the same order of magnitude as the deployment of the VMs themselves to 1 All the data and scripts used in this paper are available on https://team.inria.fr/diana/robstdc/. not impact the deployment time of a service).

B. Acceptance Ratio

The required availability level has an impact on the ability of a network to accept or not SFC requests.

To study this impact, we consider the acceptance ratio defined as the number of accepted SFC requests over the total number of requests.

Figure 2 shows the evolution of the acceptance ratio w.r.t. the 5 different SLA levels. We can notice that the acceptance ratio decreases when the required availability level increases as each chain must reserve more resources than for lower availability levels as the physical topology is kept untouched. This can be explained by the fact that when increasing the required availability of a chain, it is necessary to replicate it further and then to consume more resources as at least one core is attributed to each function, replicated or not.

C. Level of Replication

To complete the acceptance ratio study, Figure 3 provides the Empirical Cumulative Distribution Function (ECDF) of the number of scaled replicas created for accepted SFCs for the different studied SLAs. It is clear that for the lowest required availability (0.95), 80% of SFCs were satisfied with exactly one replica as the availability of network elements are higher than this SLA level. However, when a SFC request needs more resources than the available resources in the network, it is split (20% of service were split for SLA=0.95) and, as the required availability increases, the required number of replicas are increased to satisfy the SFC SLA. Interestingly, as in practice the availability of the infrastructure is high we can observe than even for an aggressive SLA of 0.9999, 90% of SFC requests can be satisfied with no more than 3 replicas. Figure 3 shows that the number of replicas tops to 5 even though in theory it would be possible to observe up to 48 replicas in a 48-Fat-Tree topology as there are 48 pods. We can explain this, as the computation time of our optimization is restricted to be less than 6 seconds.

Nevertheless, we can observe that a general increase of availability requirement increases the required number of replicas, which explains why the acceptance ratio decreases when the availability requirements increase.

D. Servers utilization

Figure 4 shows the ECDF of the server core utilization where the host utilization is the ratio between the total consumed CPU time and the total CPU time offered by the server. For example, for an experiment that lasts 2 units of time, if a server has 4 cores, the total CPU time offered by the server is 8. If during the experiment 3 functions are installed on the server and each function lasts 1.1 units of time and requires 2 cores, the total consumed CPU time is 3 • 2 • 1.1 = 6.6, which means that the server is utilized at 82.5% of its capacity ( 6.6 8 = 82.5%). In all scenarios, more than 40% of the servers are fully occupied. However as the required level increases, more servers CPU resources are used which explains why when the required availability increases, the overall load of the servers increases. When the required availability is as high as 0.99999, more than 80% of servers are more than 80% occupied. Nevertheless, even is highly loaded infrastructures, our algorithm can allocate resources in order to satisfy as much demands as possible.

VII. CONCLUSION

In this paper, we propose an online algorithm for SFC placement in data centers that leverages the Fat-Tree properties and respects the SFC availability constraints dictated by the tenant, taking into account the network components availability. The simulation results show that our algorithm is fast enough for being used in production environments and is able to satisfy as many demands as possible by spreading the load between the replicas while improving the network servers CPU utilization at the same time. For future work, we plan to extend our solution to consider other data center topologies, such as Leaf-and-Spine and BCube. variables ε p,i for i ∈ [0, n] where n is the maximum number of host nodes in one pod and σ p,j for j ∈ [0, m] where m is the maximum number of ToRs in a pod. ε p,i refers to each possible number of used hosts under each pod, and σ p,i refers to each possible number of used ToRs under each pod. ∀p ∈ P :

ε p,i = 1 if ε p = i, else ε p,i = 0, (21)
σ p,j = 1 if σ p = j, else σ p,j = 0.

Constraint (21) ensures that this variable equals to 1 when the total number of used host is equal to i else it is equal to 0. Then, Constraint (22) ensures that this variable equals to 1 when the total number of used ToR is equal to j else it is equal to 0.

n i=0 ε p,i = 1 (23) m j=0 σ p,j = 1 (24)
Constraints (23, 25) and Constraints (24, 26) ensure that exactly one of ε p,i / σ p,i binary variables is equal to 1 respectively.

ε p = n i=0 i • ε p,i (25)
σ p = m j=0 j • σ p,j (26)
Now, we rewrite Constraint (16) as:

∀ p∈P : α p = ε p,1 .A h + σ p,1 .A s .Σ n i>1 ε p,i .A i h + Σ n i>1 ε p,i .A i h .Σ m j>1 σ p,j .A j s .(1 -(1 -A s ) k 2 ). (27)
Regarding the other nonlinear constraint (i.e., Equation ( 17)), the following procedure will be considered to overcome the problem. Firstly, Equation ( 17) can be written as follows:

ln(1 -τ α ) = p∈P ln(1 -α p ). (28)
It is well known that for any real number x > -1, [START_REF] Huo | Complete solution to a problem on the maximal energy of unicyclic bipartite graphs[END_REF]:

ln(1 + x) ≤ x. (29)
Inequality ( 29) is also held for any function of the form (x) = ax + b, which is a tangent linear function. Therefore, this inequality can now be written as:

ln(1 + x) ≤ ax + b, (30)
From Equation (28) and Inequality (29), we find that:

ln(1 -τ α ) ≤ p∈P (-a p α p + b p ) . (33)
However, we need to make sure that τ α ≥ R, which translates into:

ln(1 -τ α ) ≤ ln(1 -R) (34)
Inequalities ( 33) and (34) do not guarantee whether ln(1-R) ≤ p∈P (-a p α p + b p ) or the contrary. But if we guarantee that the inequality p∈P (-a p α p + b p ) ≤ ln(1 -R) is met, Inequality (34) is then met, and consequently:

Figure 1 .

 1 Figure 1. Fat-Tree topology example.

  Figure 2.Comparing acceptance ratio for these different SLA values: 0.95, 0.99, 0.999, 0.9999, 0.99999.

Figure 3 .Figure 4 .

 34 Figure 3. The ECDF for the number of created replicas with 5 different SLA with 48-Fat-Tree topology, T IA = 0.01 and S = 100.

  where the functions (x) = ax + b and ln(1 + x) have intersection at a certain point x 0 . Note that a and b are constant, and they are calculated later. Based on Equation (30), we can write:ln(1 -α p ) ≤ -a p α p + b p(31)or p∈P ln(1 -α p ) ≤ p∈P (-a p α p + b p )

  p∈P (-a p α p + b p ) ≤ ln(1 -R).(35)As the function (x) is the tangent line, the constant a can be easily calculated by taking the differentiation of the function ln(1 + x) at a certain point x 0 : other constant b can be calculated by taking the value of the two functions at the point x 0 , and thus:ln(1 + x 0 ) = ax 0 + b (37) or b = -ax 0 + ln(1 + x 0 ). (38)As our interest is to find whether τ α ≥ R, we need to intersect the tangent line with the logarithmic function at the point x 0 = -R, and thusa p = 1 1-R and b p = R 1-R + ln(1 -R).Finally, in the formal model (IV-B), we replace Constraint[START_REF] Optimization | Gurobi optimizer 5.0[END_REF] by the new Constraints (21, 22, 23, 24, 25, 26 and 27). While Constraints (17) and (7) are replaced by the new Constraint (35).

APPENDIX

A. Linearization of the Nonlinear Constraints

Here we show how to linearize Constraints ( 16) and [START_REF] Liu | Service function chaining (SFC) general use cases[END_REF]. For constraint [START_REF] Optimization | Gurobi optimizer 5.0[END_REF] we introduce auxiliary binary


Bruno Donassolo

Ilhem Fajjari

Arnaud Legrand

Panayotis Mertikopoulos

FogIoT Orchestrator: an Orchestration System for IoT Applications in Fog Environment

Fog environment for IoT applications is extremely challenging due to the heterogeneity of its devices, their various capabilities and constraints. In this context, orchestration is still a hot topic and innovative approaches are required to deal with such a complexity. To lessen such a burden, we propose and demonstrate an orchestration system for IoT applications in fog environment. This solution relies on Calvin tool and makes use of both Grid5000 and FIT/IoT-LAB to build a realistic fog environment with efficient orchestration mechanisms.

Introduction

The Internet of Things (IoT) is a promising concept that revolutionizes our daily lives and the way we interact with our surrounding environment. The number of connected devices is expected to reach 75 billions in 2025 3 . Such an explosion will be inevitably the catalyst of Cloud infrastructure transformation. Being established too far away, traditional data centers struggle to meet stringent bandwidth and latency requirements of IoT systems. That is why the deployment of a new generation of infrastructure is crucial to deal with the huge amount of data transmitted by sensors and connected devices. In this context, fog computing [START_REF] Bonomi | Fog computing and its role in the internet of things[END_REF] is shaping the future IoT solutions. Fog provides nearby physical resources, performing analytics tasks and thus taking the opportunity to capitalize on data. However, it raises new challenges in terms of applications orchestration. It is straightforward to see that the orchestration is a key stone of fog technology. It is crucial to deliver IoT services, based on the composition of micro-services. However, the heterogeneity, the dynamicity and the large-scale distribution of such an environment make existing orchestration solutions, even mature, ill-adapted. To deal with the aforementioned challenges, we propose an orchestration architecture for the fog environment. To put forward the efficiency of our design, we implemented a prototype while making use of both Grid5000 [START_REF] Balouek | Adding virtualization capabilities to the Grid'5000 testbed[END_REF] and FIT/IoT-LAB [START_REF] Adjih | Fit iot-lab: A large scale open experimental iot testbed[END_REF] to build a realistic fog environment. We describe, in this paper, the implementation and the tools selected for this prototype.

Architecture and implementation

We design and implement FogIoT Orchestrator, an orchestration system for the automation of the deployment, the scalability management, and migration of micro-service based IoT applications. In this context, an IoT application, deployed in a fog environment, is composed of a set of micro-services, also called components, which are containerized and running on the nodes of the infrastructure. We adopt an actor model to describe our fog applications where each micro-service is modelled as a set of actors and communicates with other micro-services through flows. An actor is characterized by a private internal state and a set of communication ports through which tokens are transmitted.

Unlike existing orchestration solutions, such as Kubernetes4 and Mesos5 , our orchestrator is device-aware and hence handles the heterogeneity of the fog environment. Applications components can be easily deployed on IoT sensors and fog nodes. It is worth noting that a fog environment relies on distributed infrastructure encompassing three main layers: i) Cloud layer: centralized resources with almost unlimited processing and storage capacities; ii) Fog layer: resources distributed in the network, closer to the endpoints and characterized by limited capacities; iii) Endpoints: set of sensors which collect information about the environment.

Advanced orchestration mechanisms are put forward to deal with the stringent requirements of such applications. The global architecture for the proposed orchestration system is depicted on 1 showing its components and their roles. To deploy an application, the developer makes use of the application descriptor to describe the actors, their requirements in terms of both location and computational effort, and how data should circulate between them. It is worth noting that network related requirements could be specified during the description of links between the actors in order to ensure a guaranteed QoS. Once the description is submitted, the application deployment agent handles the mapping between the application (i.e., node, links) components and the nodes hosting the latter. Its main objective consists in optimizing the placement of actors and their links while considering both computational and network requirements. Once deployed, applications could be continually monitored by the application management agent, with the aim of being managed Fig. 1: FogIoT Orchestrator while considering the environment conditions. To do so, scale out/in and migration could be triggered to deal with load variation and to optimize resource usage. The infrastructure monitor is responsible for sketching out the telemetry information by extracting various resources metrics from the fog nodes and links.

To implement and experiment our orchestration solution, we make use of both FIT/IoT-LAB and Grid5000 infrastructures. Our main objective is to set up a realistic fog environment, enabling the deployment of IoT applications and hence their orchestration. To do so, we use M3 and A8 boards to set up the endpoint layer encompassing the sensors equipment. Then, we make use of the servers hosted in Grenoble to emulate the fog layer. It is worth noting that, for sake of simplicity, we don't emulate the cloud layer for these experiments. However, such a layer could be easily instantiated using other data centers of Grid5000, such as Rennes or Nantes. To connect both infrastructures, we create L3 VPNs between the A8 nodes and Grid5000. Also, we use public IPv6 addresses to connect the M3 sensors in the network, as detailed in the tutorials available at FIT-IoT platform. Each node of our fog infrastructure hosts: i) Docker engine to cope with hardware and software heterogeneity. Docker containers are used to create an image which encapsulates the software necessary in our setup, namely Calvin, Blackbox exporter and Netdata; ii) Cadvisor to ensure the monitoring of Docker containers performance. Some of the collected metrics are CPU and RAM utilization; iii) Blackbox exporter to measure the latency between the node and all other nodes of the infrastructure; iv) Netdata and FireQoS: to monitor the bandwidth utilization without the support of network equipment. In our setup, we use these tools to measure the bandwidth utilization of each actor's flow. Note that the flow is characterized by a TCP connection between two nodes. Using FireQoS, we configure the Traffic Control module in the Linux kernel to identify each flow and to keep statistics about them. Then, Netdata collects the information and sends it to our infrastructure monitor.

Our orchestration solution relies on both Calvin [START_REF] Persson | Calvin -merging cloud and iot[END_REF] and Prometheus6 to instantiate the aforementioned building blocks of our functional architecture. Calvin is a project lead by Ericsson that proposes a framework for the development of IoT applications. First, we have extended the Calvin's application descriptor to support dynamic metrics such as available CPU and RAM, network latency and bandwidth. By doing that, we are able to consider the stringent requirements of IoT applications. Then, we make use of Calvin deployer to instantiate application's components while considering the specified requirements. To ensure a holistic monitoring, we make use of Prometheus to collect metrics about our fog platform behavior during the tests. Prometheus relies on the aforementioned monitoring tools, such as netdata, cadvisor and blackbox exporter to generate the metrics.

Conclusion

In this prototype paper, we propose a new orchestration solution for IoT applications in fog environment capable of handling the complexity and heterogeneity of such an environment. In order to experiment our orchestrator, we make use of both platforms Grid5000 and FIT/IoT-LAB to set up the system. By using physical devices of both platforms, we were able to mimic most of the fog characteristics, such as geographical distribution and heterogeneity. Hence, the importance of having both infrastructures as an enabler for complex studies in the fog computing area.

Statista. Available at: https://www.statista.com/statistics/471264/iot-number-of-connected-devices-worldwide/

Kubernetes. Available at: https://kubernetes.io/.

Apache Mesos. Available at: http://mesos.apache.org/.

Prometheus. Available at: https://prometheus.io/.