0% ont trouvé ce document utile (0 vote)
18 vues4 pages

Accélération et Parallélisme en Informatique

Le document traite de l'accélération effective d'un programme exécuté sur un cluster d'ordinateurs, en calculant l'accélération et le pourcentage de code parallélisé. Il aborde également l'importance des caches dans les systèmes IBM et les raisons pour lesquelles les concepteurs choisissent une architecture multicœur plutôt que d'augmenter le parallélisme d'un seul processeur. Enfin, il donne des exemples d'applications qui bénéficient de l'architecture multicœur.

Traduit par

ScribdTranslations
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
18 vues4 pages

Accélération et Parallélisme en Informatique

Le document traite de l'accélération effective d'un programme exécuté sur un cluster d'ordinateurs, en calculant l'accélération et le pourcentage de code parallélisé. Il aborde également l'importance des caches dans les systèmes IBM et les raisons pour lesquelles les concepteurs choisissent une architecture multicœur plutôt que d'augmenter le parallélisme d'un seul processeur. Enfin, il donne des exemples d'applications qui bénéficient de l'architecture multicœur.

Traduit par

ScribdTranslations
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Rafi Ahmad Fadhlan

205150207111061

1. Problèmes Chapitre 17 Traitement parallèle


17.14 Un programme applicatif est exécuté sur un cluster de neuf ordinateurs. Un
Le programme de référence a pris du temps sur ce cluster. De plus, il a été constaté que 25 % de
C'était le temps où l'application fonctionnait simultanément sur les neuf.
ordinateurs. Le temps restant, l'application devait tourner sur un seul ordinateur.
a. Calculez l'accélération effective dans les conditions mentionnées ci-dessus comme
comparé à l'exécution du programme sur un seul ordinateur. Calculez également α,
le pourcentage de code qui a été parallélisé (programmé ou compilé
donc asto utilisez le mode cluster) dans le programme précédent.
b. Supposons que nous soyons capables d'utiliser efficacement 17 ordinateurs plutôt que 9.
ordinateurs sur le port parallélisé du code. Calculez l'effet
accélération qui est réalisée.

Répondre :

a. Valeurs données,
n = 9
25%
= 0,25
Le gain de performance efficace peut être calculé en utilisant la formule [nα –α+1
Substituez les valeurs ci-dessus dans l'Équation (3),
[nα – α + 1] = [9 x 0,25 – 0,25 + 1]
[2 + 1]
` =3
Par conséquent, la valeur d'accélération effective de 3.
La quantité de code qui a été parallélisée est « α = 0,25 » avec 9 processeurs. Donc,
au total, c'est "2,25".
Ainsi, le pourcentage est calculé comme suit :
Pourcentage du code a été parallélisé
Par conséquent, le pourcentage de code qui a été parallélisé est de 75 %.

b. En gardant le nombre de processeurs à 16 au lieu de 9, calculez l'accélération effective


n = 17
25%
= 0,25
L'accélération efficace peut être calculée en utilisant la formule [nα – α + 1
Substituez ces valeurs dans l'équation
[nα – α + 1 = [17 x 0,25 – 0,25 + 1]
= [4 + 1]
` =5
Par conséquent, nouvelle valeur d'accélération efficace de 5.
17.7Une version antérieure du système IBM, le S/390 G4, utilisait trois niveaux de
cache. Comme avec le z990, seul le premier niveau était sur la puce du processeur [appelé le
unité de traitement (PU)]. Le cache L2 était également similaire au z990. Un cache L3 était
sur une puce séparée qui agissait comme un contrôleur de mémoire, et était interposée
entre les caches L2 et les cartes mémoire. Le tableau 17.4 montre le
performance d'un agencement de cache à trois niveaux pour l'IBM S/390. Le but
de ce problème est de déterminer si l'inclusion du troisième niveau de cache
semble utile. Déterminez la pénalité d'accès (nombre moyen de cycles de PU)
pour un système avec seulement un cache L1, et normalisez cette valeur à 1,0. Ensuite
déterminez la pénalité d'accès normalisée lorsque les caches L1 et L2 sont tous deux
utilisé, et la pénalité d'accès lorsque les trois caches sont utilisées. Notez la quantité de
amélioration dans chaque cas et exprimez votre opinion sur la valeur du cache L3.

Réponse :

Si seule la cache L1 est utilisée, alors 89 % des accès sont à L1 et les restent.
11 % des accès sont à la mémoire principale. Par conséquent, la pénalité moyenne est
(1 × 0,89) + (32 × 0,11) = 4,41.
Si L1 et L2 sont tous deux présents, la pénalité moyenne est
(1 × 0,89) + (5 × 0,05) + (32 × 0,06) = 3,06. Cela se normalise à 3,06/4,41 = 0,69.
Ainsi, avec l'ajout du cache L2, la pénalité moyenne est réduite à 69 % de
avec seulement un cache.
Si les trois caches sont présentes, la pénalité moyenne est
(1 × 0,89) + (5 × 0,05) + (14 × 0,03) + (32 × 0,03) = 2,52, et moyenne normalisée
la pénalité est de 2,52/4,41 = 0,57.
La réduction de la pénalité moyenne de 0,69 à 0,57 semblerait justifier le
inclusion du cache L3.
2. Questions de révision Chapitre 18 Ordinateurs multicœurs

18.2 Donnez plusieurs raisons pour le choix des concepteurs de passer à un multicore.
organisation plutôt que d'augmenter le parallélisme au sein d'un seul processeur.

Répondre :
Raisons de passer à une organisation multicœur :

Raisons de passer à une organisation multicœur plutôt que d'augmenter le parallélisme au sein d'un seul
les processeurs sont

1. Considérez le concept de pipeline,

Dans le concept de pipeline, nous utilisons un nombre N d'étapes allant d'un pipeline à 3 étapes à
5 étapes et des douzaines d'étapes.

La mise en œuvre de nombreuses étapes de pipeline de manière pratique est un peu difficile car cela nécessite
plus de logiques, plus d'interconnexions et plus de signaux de contrôle, etc...

2. Avec le concept superscalaires,

La performance peut être améliorée en ayant un pipeline parallèle.

Nouvelle augmentation du nombre de pipelines parallèles, plus de logiques avec interconnexions


sont requis.

3. Avec le concept de multithreading simultané,

Gérer plusieurs threads avec des limites de pipeline, threads et pipelines utilisés
efficacement.

4. Pour éviter des problèmes concernant les points ci-dessus, nous passons à une organisation multicœur.

Ce qui améliore l'efficacité du système et la performance d'une application à exécuter


plusieurs applications.

Performance améliorée pour les applications intensives en calcul

Infrastructure simplifiée, etc.


18.4 Énumérez quelques exemples d'applications qui bénéficient directement de la capacité de
échelle de débit avec le nombre de cœurs.

Répondre :
Applications natives multithreadées
Les applications multithreadées se caractérisent par un nombre limité de threads très actifs.
processus filaires. Des exemples d'applications filaires incluent Lotus Domino ou
Siebel CRM (Gestion de la relation client)

Gestionnaire de relations)
Applications multi-processus
Les applications multiprocessus se caractérisent par la présence de nombreux processus simples.
processus à threads. Des exemples d'applications multiprocesseurs incluent Oracle
base de données, SAP et PeopleSoft.
Applications Java
Les applications Java adoptent le multithreading de manière fondamentale. Non seulement cela
Le langage Java facilite grandement les applications multithreadées, mais la machine virtuelle Java
La machine est un processus multithread qui fournit la planification et la mémoire.
gestion pour les applications Java. Les applications Java qui peuvent en bénéficier directement
les ressources multicoeurs incluent des serveurs d'application tels que Java de Sun
Serveur d'applications, Weblogic de BEA, Websphere d'IBM et l'open-source
Serveur d'applications Tomcat. Toutes les applications qui utilisent une plateforme Java 2, Entreprise
Le serveur d'applications Edition (plateforme J2EE) peut immédiatement bénéficier de
technologie multicœur.
Applications multi-instance
Même si une application individuelle ne s'adapte pas pour tirer parti d'un grand
nombre de fils, il est toujours possible de tirer parti de l'architecture multicœur par
exécuter plusieurs instances de l'application en parallèle. Si plusieurs applications
Les instances nécessitent un certain degré d'isolement, la technologie de virtualisation (pour le
le matériel du système d'exploitation) peut être utilisé pour fournir à chacun d'eux son
un environnement séparé et sécurisé.

Vous aimerez peut-être aussi