• Aucun résultat trouvé

Le surcoût de migration par rapport au nombre de canaux . 18

1.5 Expérimentations et résultats

1.5.5 Le surcoût de migration par rapport au nombre de canaux . 18

1.5. Expérimentations et résultats 19

Figure 1.8: Variation du surcot de migration.

entre les différents agents et les tuiles impliquées dans la migration. Pour cette raison, le temps de migration dépend du nombre de tuiles voisines impliquées, no-tamment dans les communications avec la tâche qui doit migrer. L’objectif des expériences décrites dans cette sous-section est d’étudier l’influence du nombre de canaux sur le surcoût de migration. Le principe de l’application de calcul du carré est reprise mais en modifiant le nombre de générateurs pour faire varier le nombre de canaux.

Le graphe de tâches de l’application 1 a été modifié pour produire les deux exemples suivants :

i Quatre générateurs comme indiqué (Figure 1.9.(a)). Ils sont répartis sur tile_1 et tile_2.

ii Dix générateurs (Figure 1.9.(b)). Ils sont répartis sur les tuiles tile_1, tile_2 et tile_3.

Les temps d’exécution sont mesurés dans le cas 2 (avec agents sans migration) et 3 (avec agents et migration). Les résultats sont présentés dans le tableau1.4.

Table 1.4: Surcoûts de la migration dans les cas de quatre générateurs et dix générateurs.

Cas Temps de départ Temps de fin Temps d’exécution Surcoût

(µs) (µs) (µs) Cas 2 (%) Quatre générateurs 2 17 482 080 19 565 805 2 083 724 N/A 3 24 940 435 27 628 979 2 688 544 29 Dix générateurs 2 30 300 077 32 434 774 2 134 697 N/A 3 33 822 369 37 231 950 3 409 580 59.7

Figure 1.9: Placement optimisé de l’application modifiée sur un plate-forme de trois tuiles. (a) Quatre générateurs. (b) Dix générateurs.

de performance due à la migration par la consolidation de toutes les mesures de toutes les expériences présentées dans les sections précédentes. Nous avons listé dans le tableau 1.5 toutes les expériences avec le nombre de canaux et de leurs surcoûts de migration correspondants. La relation est linéaire entre le nombre de canaux et le surcoût de performance comme présenté dans la figure 1.10.

Table 1.5: Nombre de canaux par rapport les surcoût de performance. Expérience Nombre de canaux Surcot cause de migration (%)

(App2) in table 1.1 1 14.5

(App1) in table 1.1 2 18.3

In table 1.4 4 29

In table 1.4 10 59.7

1.6. Conclusion 21

1.6 Conclusion

Nous avons proposé une solution de migration de tâche basée sur des agents. Cette solution cible les architectures multi-tuiles, et présente un faible impact en terme de surcout de performance. La solution est expliquée à la fois de point de vue méthodologique et algorithmique avec les détails de mise en œuvre. Un flot de génération a été développé dans le cadre du projet européen FP7 EURETILE, ce qui a permis de nombreuses expérimentation à la fois sur une architecture ARM en simulation, mais aussi sur une architecture x86 existante en exécution.

La solution proposée présente plusieurs avantages. Elle est transparente pour le programmeur d’applications. La solution est basée sur une couche logicielle intermédiaire conforme à POSIX. Elle est donc portable sur d’autres architec-tures et d’autres systèmes d’exploitation. Aucun service spécifique d’un système d’exploitation n’est nécessaire (pas d’utilisation de la mémoire virtuelle ou de charge-ment dynamique), et même un système d’exploitation léger supporte la méthode. Dans ce contexte de système d’exploitation léger, on a montré que le cot était déterministe.

Chapter 2

Introduction

Contents

2.1 Microprocessor architectures . . . . 24 2.1.1 What is architecture? . . . . 24 2.1.2 Towards parallel architectures. . . . 25 2.1.3 Multi-tiled architecture . . . . 27

2.2 Task migration . . . . 28 2.2.1 Motivation . . . . 29

2.3 Outline. . . . 30

A

s computers are getting more and more pervasive, there is hardly an aspect in our lives nowadays in which they do not exist. New markets are being opened to computers almost everyday due to their increasing capabilities, computation power and ubiquitousness. Their versatile functionalities are ranging from simple man-agement of automatic garden watering to sophisticated robots that discover distant planets’ surfaces. Thanks to ongoing and outstanding advancements in electronics, more transistors can be integrated on a single chip, hence, better computers can be built.

The unit that is responsible for undergoing all the logic and arithmetic com-putations and incorporates all functions of Central Processing Unit CPU inside a computer is called a microprocessor. A microprocessor is a digital integrated circuit that is capable of reading instructions stored in a memory and executing them on stored and/or input data and finally storing the outcome on a memory, i.e. it is a re-programmable device. Integrated circuits (or chips) are made of semiconductor devices (called transistors). The more features and capabilities an integrated circuit has, the more transistor it needs. As a result, technology has been being more and more developed and advanced to house bigger numbers of transistors.

The pace with which the number of transistors is being increased on a single chip until now had been observed by Gordon Moore in 1965 [1]. He observed that the number of transistors doubles every almost two years, as depicted in Fig 2.1. This, consequently, leads to the possibility of better and more fledged microproces-sor architectures that can deliver higher and higher computation powers. This, also

Figure 2.1: Moore’s law, number of transistors doubles every two years. The source of the photo is in [2]

leads to computers invading wider and wider aspects.

Computers, in time, not only do not need much space to exist but also they are becoming more and more portable enriching the embedded systems field. An embedded system is a system that is capable of performing dedicated function(s) for specific purpose(s) with limited supply of power. These systems are classified according to the manner with which they deliver their outputs; some must deliver the output of their processing in predefined hard timed-deadlines as in hard

real-time systems, others are not constrained stringently by real-time, i.e. their outputs can

be accepted within a relatively acceptable delay from their deadlines like in soft

real-time systems.

In the following section, we give an overview of microprocessors architectures, look briefly at technology-related issues, mention task migration basic definition and how it proposes a good system-level solution for some of these issues and finally mention how this work is planned.

2.1 Microprocessor architectures

A microprocessor is the unit that is responsible for performing computations and processing digital data. This unit incorporates the functions of a Central Processing Unit CPU. It is built on a single chip that sometimes houses other peripherals beside the CPU rendering it to be micro-controller.

Documents relatifs