LA TECHNIQUE MULTITACHE ET LA PROGRAMMATION PARALLELE

Les diffรฉrents systรจmes de contrรดle-commande

ย  ย  ย  ย  ย  ย  ย  ย  ย Il y a 4 diffรฉrents spรฉcifications de systรจmes de contrรดle-commande mais ils peuvent se combiner.
a) Systรจme de contrรดle-commande temps rรฉel : Cโ€™est un systรจme dont lโ€™exactitude des applications dรฉpend du rรฉsultat et du temps auquel ce rรฉsultat est produit. Ces contraintes temporelles pourront causer des dรฉfaillances sur le systรจme si elles ne sont pas respectรฉes. Il y a deux types de contraintes temporelles :
โ€ข Contraintes temporelles strictes et dures : Lโ€™รฉchรฉance des taches doit รชtre impรฉrativement respectรฉ, sinon des catastrophes physiques pourront se produire.
โ€ข Contraintes temporelles relatives ou lรขches : Le non-respect de lโ€™รฉchรฉance des tรขches est tolรฉrable, mais devrait รชtre corrigรฉ.
b) Systรจme de contrรดle-commande embarquรฉ : Cโ€™est un systรจme pilotรฉ par un logiciel et qui est complรจtement intรฉgrรฉ au systรจme quโ€™il contrรดle, donc pas dโ€™intervention humaine directe (pas de modification ou des paramรจtres du programme).
c) Systรจme de contrรดle-commande dรฉdiรฉ : Cโ€™est un systรจme dont les architectures matรฉrielles et logicielles sont spรฉcifiques ร  lโ€™application (noyau, processeurโ€ฆ).
d) Systรจme de contrรดle-commande distribuรฉ ou rรฉparti : Cโ€™est un systรจme dont lโ€™architecture matรฉrielle est constituรฉe de plusieurs processeurs reliรฉs entre eux par un bus ou un rรฉseau.

Architectures logicielle et matรฉrielle

Le systรจme de contrรดle-commande a deux composantes fondamentales :
โ€ข La composante matรฉrielle : interface permettant de piloter le procรฉdรฉ et de recueillir des informations en provenance de ce dernier (carte dโ€™entrรฉe/sortie โ€ฆ).
โ€ข La composante logicielle : assure le bon fonctionnement du procรฉdรฉ.
Architecture logicielle : Un systรจme informatique de contrรดle-commande doit satisfaire a priori la cohรฉrence entre des changements de lโ€™environnement et des rรฉactivitรฉs du systรจme face ร  ces changements. Lโ€™environnement est dรฉcrit en tant que systรจme fortement parallรจle ร  cause du comportement concurrent des รฉvรจnements et des donnรฉes externes. Ce parallรฉlisme conduit ร  la mise en place dโ€™une architecture multitรขche qui permet de faciliter la conception de logiciel dรฉfinissant les tรขches comme ยซ les entitรฉs dโ€™exรฉcution et de structuration de lโ€™application ยป.
Les groupes des tรขches :
โ€ข Tรขches dโ€™entrรฉe/sortie : permettent dโ€™accรฉder aux donnรฉes externes fournies par des capteurs, ou de gรฉnรฉrer des commandes aux actionneurs par lโ€™intermรฉdiaire de carte dโ€™entrรฉe/sortie (exรฉcutรฉe rรฉguliรจrement ou par interruption)
โ€ข Tรขches de traitement : constituent le cล“ur de lโ€™application, et sont considรฉrรฉes comme des boites noires, exรฉcutant des algorithmes.
โ€ข Tรขches de lโ€™interface de lโ€™utilisateur : permettent de prรฉsenter lโ€™รฉtat de procรฉdรฉ ou de sa gestion ร  lโ€™utilisateur.
๏ƒฐ Lโ€™utilisateur peut modifier les consignes donnรฉes ou changer les commandes.
โ€ข Tรขches de communication (pour lโ€™application distribuรฉe ou rรฉpartie) : servent ร  gรฉrer les messages envoyรฉs ou reรงus ร  travers un ou plusieurs rรฉseaux ou bus de train.
โ€ข Tรขches de sauvegarde : permettent de stocker lโ€™รฉtat du systรจme ร  des instants fixรฉs.
Les tรขches obtenues, qui constituent le systรจme informatique de contrรดle-commande, ne sont pas des entitรฉs dโ€™exรฉcution indรฉpendantes. Certaines tรขches, dรจs leur activation, communiquent et/ou se synchronisent avec les autres tรขches, ou sont connectรฉes ร  lโ€™extรฉrieur pour les entrรฉes/sorties. Ainsi, dans lโ€™architecture logicielle multitรขche, il faut que le concepteur adresse des problรจmes de relations entre tรขches, qui sont reprรฉsentรฉs typiquement par la synchronisation, la communication, le partage de ressources, afin dโ€™assurer le comportement concurrent des systรจmes de contrรดle-commande.
Architecture matรฉrielle : Lโ€™aspect matรฉriel a une trรจs grande importance dans les applications de contrรดlecommande. Il assure la connexion directe avec le monde physique rรฉel ร  lโ€™aide dโ€™une grande diversitรฉ de systรจme dโ€™entrรฉe/sortie et lโ€™agencement des composants รฉlectroniques ainsi que leur interaction. Dans ces matรฉriels on peut citer : microcontrรดleur, des mรฉmoires, des horloges, des composants spรฉcifiques, des alimentationsโ€ฆ
Processeur
โ€ข Un microprocesseur est une unitรฉ de traitement optimisรฉe pour le calcul. Gรฉnรฉralement plus rapide quโ€™un microcontrรดleur, cโ€™est le cล“ur des microordinateurs. Il est capable dโ€™effectuer des entrรฉes/sorties (moyens de communication entre lโ€™ordinateur et le monde extรฉrieur : capteurs, actionneurs, pรฉriphรฉriques divers) via des circuits spรฉcialisรฉs (ports sรฉrie, ports parallรจle, USB, etc.) et surtout, dans le cadre des applications de contrรดle-commande, via des cartes spรฉcialisรฉes enfichables nommรฉes cartes dโ€™acquisition.
โ€ข Un microcontrรดleur est une unitรฉ de traitement optimisรฉe pour les entrรฉes sorties.
Gรฉnรฉralement, un microcontrรดleur est associรฉ directement ร  plusieurs types dโ€™entrรฉes/ sorties, et il ne nรฉcessite pas lโ€™apport de cartes enfichables supplรฉmentaires. Il est de ce fait plus compact quโ€™un microprocesseur muni de cartes dโ€™acquisition, mais moins performant en termes de calcul. Les unitรฉs de calculs sont caractรฉrisรฉes par une frรฉquence dโ€™horloge en hertz (Hz). Cette frรฉquence correspond au nombre de cycle par seconde effectuรฉ par lโ€™unitรฉ de calcul. Chaque instruction de bas niveau exรฉcutรฉe par lโ€™unitรฉ de calcul nรฉcessite dโ€™un ร  quelques cycles dโ€™horloge. La frรฉquence dโ€™horloge des microprocesseurs actuels se situe aux alentours de quelques gigahertz (GHz), alors que les microcontrรดleurs sont cadencรฉs (ce terme vient du fait que lโ€™horloge interne donne la cadence) ร  quelques dizaines de mรฉgahertz (MHz). Les instructions dโ€™un programme, ainsi que les donnรฉes et le contexte dโ€™exรฉcution du programme sont stockรฉs dans la mรฉmoire centrale (mรฉmoire vive comme la RAM pour Random Access Memory, ou mรฉmoire FLASH plus lente que la RAM mais rรฉmanente). Une mรฉmoire se caractรฉrise par sa taille, la taille des mots mรฉmoires (taille de donnรฉes que le processeur et la mรฉmoire รฉchangent ร  chaque accรจs) et son temps dโ€™accรจs. Le temps dโ€™accรจs est donnรฉ soit en frรฉquence, soit en nombre dโ€™accรจs par seconde. Dans un systรจme informatisรฉ, la taille est caractรฉrisรฉe en octets. Un octet est une entitรฉ composรฉe de 8 bits (bit binary digit, chiffre binaire). Toute information (instructions, donnรฉes, informations sur lโ€™รฉtat interne, etc.) est reprรฉsentรฉe en binaire sur un certain nombre dโ€™octets. Lโ€™octet est la plus petite entitรฉ adressable : chaque octet possรจde une adresse en mรฉmoire centrale.

Outils de communication et de synchronisation

ย  ย  ย  ย  ย  ย  ย  ย  ย Les outils de communication et de synchronisation permettent aux tรขches dโ€™interagir. Effectivement, les exรฉcutifs temps rรฉel ne proposent pas toujours ces outils mais il faut dans certains cas les implรฉmenter en utilisant ces concepts de base.
Sรฉmaphore : Cโ€™est un outil introduit par Dijkstra en 1965 dont, lโ€™un de ses rรดles est de protรฉger une zone de programme dite rรฉentrante, cโ€™est-ร -dire quโ€™il permet de limiter le nombre d’accรจs ร  une ressource partagรฉe, en comptant le nombre d’autorisations acquises et rendues Le sรฉmaphore gรจre donc un ensemble de permis, en nombre fixรฉ, et accorde ces permis ร  ceux qui en font la demande et ces demandeurs sont mis ร  lโ€™รฉtat bloquรฉ jusquโ€™ร  ce quโ€™un permis lui a รฉtรฉ dรฉlivrรฉ. Cโ€™est une variable soit binaire soit n-aires.
Moniteur : Un outil utilisรฉ pour synchronisรฉ deux ou plusieurs tรขches qui utilisent des ressources partagรฉes. Lโ€™utilisation de ressource ne peut avoir lieu quโ€™ร  travers ce dernier. Il est constituรฉ :
โ€ข Dโ€™ensemble de primitive permettant lโ€™interaction avec la ressource partagรฉe
โ€ข Dโ€™un verrou dโ€™exclusion mutuelle
โ€ข Des variables associรฉes ร  la ressource
Il y a deux type : classique et ร  la Ada.
Signaux : Ce sont des รฉvรจnements (sans donnรฉe) pouvant รชtre envoyer ร  une ou plusieurs tรขches simultanรฉment. On distingue deux types de signaux :
โ€ข Signaux synchrone : internes ร  une tรขche ou un processus. Cโ€™est le rรฉsultat dโ€™un รฉvรจnement interne ร  une tรขche.
โ€ข Signaux asynchrone : provenant dโ€™une source externe (autre tรขche ou processus) ร  lโ€™adresse :
o Dโ€™une tรขche ou un processus (privรฉ)
o Ou ร  plusieurs tรขches et/processus (public)
La boite aux lettres : La boite aux lettres permet une communication asynchrone entre des tรขches. Elle est constituรฉe de :
โ€ข Zone dโ€™รฉchange tampon (buffer) : dans laquelle le tรขche ยซ รฉmettrice ยป peut dรฉposer des donnรฉes.
โ€ข Mรฉcanisme de gestion de donnรฉes stockรฉes.
La communication est dite asynchrone car la tache รฉmettrice nโ€™a pas besoin dโ€™attendre que la tรขche rรฉceptrice soit ร  lโ€™รฉcoute pour lui envoyer des donnรฉes.
Le rendez-vous : Cโ€™est une communication synchrone asymรฉtrique des tรขches avec passage de donnรฉes oรน une tรขche ยซ acceptante ยป attend un rendez-vous et une tรขche appelante demande ร  effectuer un rendez-vous avec cette derniรจre.
Tableau noire : Il est la forme la plus simple des outils de communication asynchrone. Cโ€™est une zone de mรฉmoire pouvant contenir un message oรน lโ€™รฉcriture dโ€™un message รฉcrase le message prรฉcรจdent, et la lecture est non bloquante et non destructive.

La mรฉthode SA-RT

a) Histoire : Dโ€™abord SA : Lโ€™analyse structurรฉe SA, dรฉfinie par E. Yourdon et T. Demarco, est une mรฉthode descendante par affinages successifs des traitements, appelรฉs ยซ process ยป. Les diffรฉrents diagrammes sont donc ordonnรฉs hiรฉrarchiquement en faisant apparaรฎtre pour les derniers niveaux des fonctions รฉlรฉmentaires, appelรฉes primitives รฉlรฉmentaires ouย ยซ process ยป primitifs. Les diffรฉrents outils composant cette mรฉthode sont :
โ€“ diagrammes de transformations de donnรฉes ou diagramme de flots de donnรฉes (DFD) ;
โ€“ dictionnaire de donnรฉes ;
โ€“ spรฉcifications des ยซ process ยป primitifs.
Pour exprimer complรจtement le comportement de lโ€™application, le diagramme flots de donnรฉes de SA manquait dโ€™un moyen permettant de spรฉcifier lโ€™aspect opรฉrationnel, cโ€™estร -dire la description de lโ€™enchaรฎnement des diffรฉrents process. Cette lacune fut comblรฉe par la crรฉation de mรฉthode SA-RT (Structured Analysis-Real Time). Deux groupes รฉlaborรจrent la mรฉthode SA-RT avec des diffรฉrences notables en termes de reprรฉsentation : dโ€™une part, la mรฉthode รฉtablie par Ward et Mellor en 1985 qui associe le fonctionnel et le contrรดle dans un mรชme diagramme et, dโ€™autre part, la mรฉthode proposรฉe par Hatley et Pirbhai en 1986 qui sรฉpare le fonctionnel et le contrรดle.
b) Description : La mรฉthode SA-RT est une mรฉthode dโ€™analyse fonctionnelle et opรฉrationnelle des applications de contrรดle-commande. Cette mรฉthode permet de rรฉaliser une description graphique et textuelle de lโ€™application en termes de besoins, cโ€™est-ร -dire de ยซ ce que lโ€™on a ร  faire ยป ou le ยซ quoi ยป. Cette mise en forme du ยซ cahier des charges ยป de lโ€™application est formelle dans le sens oรน la mรฉthodologie (ensemble des documents ร  รฉlaborer) et lโ€™expression (syntaxe graphique) sont dรฉfinies. En revanche, elle ne permet pas dโ€™effectuer une vรฉrification de propriรฉtรฉs de lโ€™application ร  partir des seules descriptions SA-RT. Des รฉtudes ont รฉtรฉ menรฉes pour associer ร  la mรฉthode SA-RT des mรฉthodes formelles afin dโ€™apporter des possibilitรฉs de simulation et de vรฉrification. Cโ€™est la mรฉthode SA-RT (Structured Analysis for Real-Time Systems), une mรฉthode de spรฉcification se basant sur le modรจle des processus de la mรฉthode SA. Le principe de la mรฉthode SA-RT est dโ€™abord de dรฉcomposer un systรจme en processus fonctionnels, et de dรฉcrire le passage dโ€™information sous forme de flot de donnรฉes. Puis un processus de contrรดle joue le rรดle de chef dโ€™orchestre en activant/dรฉsactivant ou en dรฉclenchant ces processus fonctionnels grรขce ร  des รฉvรฉnements prรฉdรฉfinis : ยซEnableยป (Activation), ยซDisableยป (Dรฉsactivation), et ยซTriggerยป (Dรฉclenchement). La spรฉcification SA-RT comporte gรฉnรฉralement un diagramme de contexte de donnรฉes, un ensemble de diagrammes de flot de donnรฉes/flot de contrรดle hiรฉrarchique, et un diagramme EtatTransition.
c) Elรฉments utilisรฉs : Les diagrammes de flot de donnรฉes sont construits ร  partir de quatre รฉlรฉments graphiques : traitement (cercle), flot de donnรฉes (flรจche), unitรฉ de stockage (traits parallรจles) et entitรฉ externe (rectangle). ร€ partir de ces รฉlรฉments de base, il est possible de dรฉcrire lโ€™aspect fonctionnel dโ€™une application par un diagramme flot de donnรฉes. Ces composants du diagramme peuvent รชtre liรฉs par une flรจche continue (flot de donnรฉes : discrรจte ou continue) ou par une flรจche discontinue (Enable/Disable, Tigger, Evรจnement), ou bien les deux ร  la fois.
d) Fonctionnement : Le processus de contrรดle reprรฉsente la logique du pilotage des processus fonctionnels. Les flots de contrรดle (ou Flot dโ€™Evรฉnement) transportent les รฉvรฉnements ou informations qui conditionnent directement ou indirectement lโ€™exรฉcution des processus de transformation de donnรฉes. Alors que les donnรฉes peuvent prendre soit des valeurs discrรจtes, soit le plus souvent des valeurs continues, les signaux de contrรดle prennent toujours des valeurs discrรจtes (voir la Figure I-30). SA-RT est une mรฉthode de spรฉcification des systรจmes basรฉe sur le concept de la rรฉtroaction. Dans le modรจle des besoins de la mรฉthode SA-RT, nous voyons que le systรจme est dรฉcomposรฉ non seulement en processus primitifs, mais รฉgalement en รฉtat de faรงon ร  ce que la rรฉponse de ces processus primitifs soit dirigรฉe par un processus de contrรดle en fonction des conditions passรฉes et prรฉsentes ร  lโ€™intรฉrieur et ร  lโ€™extรฉrieur du systรจme. Tandis que lโ€™activation des processus fonctionnels dans les diagrammes de flot de donnรฉes de la mรฉthode SA est rรฉalisรฉe par leurs donnรฉes, le fait que des processus fonctionnels dans les diagrammes de flot de donnรฉes sont activรฉs par des รฉvรฉnements rend la mรฉthode SA-RT bien adaptรฉe ร  des systรจmes de contrรดle/commande temps rรฉel. Du point de vue de la spรฉcification des besoins, les diagrammes รฉtat-transition (ou tables รฉtattransition, matrices รฉtat-transition) nous permettent de dรฉcrire distinctement lโ€™aspect comportemental des systรจmes de maniรจre dynamique (par rapport aux mรฉthodes SA et JSP). De plus, une spรฉcification des contraintes de temps peut รชtre associรฉe sous la forme de temps de rรฉponse entrรฉe-sortie (une reprรฉsentation simple du domaine des temps de rรฉponse admissibles entre chaque รฉvรฉnement survenant sur les terminaux dโ€™entrรฉe, et chaque รฉvรฉnement rรฉsultant sur les terminaux de sortie). Cependant, dans le cas des grands systรจmes, en particulier des systรจmes complexes, la dรฉcomposition en รฉtat peut provoquer le problรจme de lโ€™explosion des รฉtats oรน les diagrammes รฉtat-transition peuventย รชtre inappropriรฉs en comparaison avec les statecharts ou les tables รฉtat-transition. Quand plusieurs รฉvรฉnements associรฉs ร  un รฉtat surviennent simultanรฉment, le choix de la transition ร  exรฉcuter et de lโ€™รฉtat suivant correspondant dans un diagramme รฉtat transition devient non-dรฉterministe. Etant une mรฉthode de spรฉcification, la mรฉthode SART ne propose aucun mรฉcanisme pour rรฉsoudre ce problรจme. Il laisse cela aux รฉtapes suivantes (lโ€™รฉtape de conception et dโ€™implรฉmentation). La communication entre le processus de contrรดle et ses processus de donnรฉes dans SA-RT est la communication synchrone faiblement couplรฉe rรฉalisรฉe uniquement par des flots dโ€™รฉvรฉnement (soit un Enable/Disable (E/D) รฉvรฉnement, soit un Trigger (T) รฉvรฉnement). Mais la communication synchrone fortement couplรฉe entre les processus de donnรฉes peut รชtre faite par des flots de donnรฉes discrets de faรงon ร  ce que le processus appelant va envoyer une requรชte au processus appelรฉ, attendre une donnรฉe de ce dernier.
e) Rรจgle : Comme dans SA, des DFD hiรฉrarchiques sont crรฉรฉs en partant du diagramme de contexte de donnรฉes en respectant les rรจgles suivantes : un seul ou aucun processus de contrรดle par niveau de diagramme (diagramme prรฉliminaire ou diagramme de dรฉcomposition); les flots de donnรฉes ne sont traitรฉs que dans les processus primitifs, les flots de contrรดle ne sont que dans le processus de contrรดle et font des interfaces entre le processus de contrรดle et des processus fonctionnels.
f) Organisation : Les traits essentiels de cette mรฉthodologie hiรฉrarchique descendante rรฉsident dans la mise en avant des aspects fonctionnels et comportementaux (exรฉcution) de lโ€™application analysรฉe.
โ€“ Diagramme de contexte : premier diagramme flot de donnรฉes permettant de dรฉcrireย lโ€™environnement de lโ€™application ร  dรฉvelopper. Le DCD reprรฉsente les bornes entre le systรจme et lโ€™environnement externe. Il identifie les entitรฉs extรฉrieures avec lesquelles le systรจme doit communiquer. Chaque entitรฉ est reprรฉsentรฉe sous la forme dโ€™une terminaison par un rectangle รฉtiquetรฉ. Le systรจme est reprรฉsentรฉ par un processus unique qui expose le but principal (cโ€™est-ร -dire le cercle contenant lโ€™identification du rรดle central du systรจme). Toutes les entrรฉes et les sorties du systรจme sont reprรฉsentรฉes sous la forme des flots de donnรฉes qui font des interfaces entre les terminaisons et le processus principal : donc tous les flots qui circulent vers le processus principal sont en entrรฉe, et tous les flots qui circulent ร  partir du processus principal sont en sortie.
โ€“ Diagramme prรฉliminaire : diagramme flot de donnรฉes prรฉsentant le premier niveau dโ€™analyse fonctionnelle de lโ€™application. Le DFD dรฉcompose le processus central unique et les flots dโ€™entrรฉe/sortie dans le DCD en sousprocessus et en sous-flot respectivement (les sous-flots sont donc introduits entre les sousprocessus) afin de dรฉtailler le fonctionnement du systรจme. Le DFD contient seulement des processus, des flots de donnรฉes et des zones de stockage. Les processus et les flots de donnรฉes sont similaires ร  ceux du diagramme de contexte de donnรฉes. Les stockages, indiquรฉs par des paires de lignes de droites parallรจles avec des noms ร  lโ€™intรฉrieur, reprรฉsentent des donnรฉes stockรฉes pour une utilisation ultรฉrieure par un processus.
โ€“ Diagrammes de dรฉcomposition : diagramme flot de donnรฉes prรฉsentant les analyses des processus fonctionnels non primitifs.
โ€“ Spรฉcification des processus fonctionnels primitifs : spรฉcification textuelle des fonctions rรฉalisรฉes par les processus fonctionnels.
Dans le diagramme prรฉliminaire, nous voyons trรจs clairement la fusion entre le modรจle de contrรดle et le modรจle des processus dans la spรฉcification des besoins de la mรฉthode SA-RT. Le processus de contrรดle, appelรฉ ยซ Contrรดle Chauffage ยป, est le contrรดleur du systรจme. Il dirige le fonctionnement de tous les processus fonctionnels grรขce ร  des flots dโ€™รฉvรฉnement appropriรฉs. Donc les processus dโ€™acquisition sont activรฉs ou dรฉsactivรฉs par des รฉvรฉnements ยซEnable/Disableยป (ou E/D), et les processus de commande sont dรฉclenchรฉs par des รฉvรฉnements ยซTriggerยป (ou T).
โ€“ Spรฉcification des processus de contrรดle : diagrammes รฉtat/transition dรฉcrivant le fonctionnement des processus de contrรดle.
Nous savons que dans le cas oรน un diagramme de flot de donnรฉes contient un processus de contrรดle, il est nรฉcessaire de gรฉnรฉrer une description ou une spรฉcification du processus de contrรดle afin de reprรฉsenter lโ€™aspect comportemental de lโ€™application. Cette spรฉcification peut รชtre faite sous la forme dโ€™un diagramme รฉtat-transition. Le diagramme รฉtat-transition est la reprรฉsentation la plus familiรจre dโ€™une machine sรฉquentielle (une machine sรฉquentielle est dรฉfinie comme une machine ร  รฉtats finis dont les sorties sont dรฉterminรฉes ร  la fois par les entrรฉes courantes et passรฉes). Dans un diagramme รฉtattransition, nous prรฉcisons tous les รฉtats possibles dโ€™un systรจme lors de son exรฉcution. Les รฉtats sont reprรฉsentรฉs par des boรฎtes rectangulaires avec les noms des รฉtats. A un instant donnรฉ, le systรจme doit รชtre toujours dans lโ€™un de ses รฉtats spรฉcifiรฉs. Le changement dโ€™un รฉtat courant ร  un autre รฉtat est dรฉterminรฉ par un arc de transition avec une flรจche vers lโ€™รฉtat suivant. Des รฉvรฉnements causant la transition, et des actions engendrรฉes lorsque la transition est franchie sont notรฉs directement sur lโ€™arc de transition. Les deux sont sรฉparรฉs par une ligne.
โ€“ Dictionnaire de donnรฉes : liste exhaustive des donnรฉes et des รฉvรฉnements utilisรฉs dans la spรฉcification. Le dictionnaire de donnรฉes regroupe la sรฉmantique et la structure des donnรฉes prรฉsentรฉes dans le systรจme. Le dictionnaire fournit une dรฉfinition exacte de chaque flot de donnรฉes et de tous les stockages.

La programmation parallรจle

1. Pourquoi la programmation parallรจle ?
โ€ข La puissance de calcul dโ€™une machine ยซ standard ยป nโ€™est pas suffisante pour toutes les applications informatiques
โ€ข Il nโ€™y a presque plus dโ€™architecture monoprocesseur, par faute de difficultรฉ dโ€™augmentation de la frรฉquence dโ€™horloge, les constructeurs font recours ร  lโ€™augmentation de nombre de processeur
โ€ข Pour augmenter la puissance des machines sans attendre de nouvelle technologie
โ€ข Pour augmenter les performances des machines monoprocesseur grรขce ร  des mรฉcanismes parallรจles intรฉgrรฉs (unitรฉs de traitement/calcul indรฉpendantes, multiplication des unitรฉs de calcul, pipeline) et aux architectures parallรจles associรฉes au processeur.
2. Dรฉfinition : Une architecture parallรจle est un ensemble de processeurs รฉlรฉmentaires communiquant qui coopรจrent pour rรฉsoudre un problรจme. Le systรจme parallรจle cโ€™est dรฉcouper un gros problรจme en de nombreux petits problรจmes. Le parallรฉlisme a deux niveaux : ร  lโ€™intรฉrieur du processeur (instructions en parallรจle et multi-cล“ur) et multiprocesseurs. [2][9] Dรฉfinition (Petit Robert) : En Informatique cโ€™est une Technique dโ€™accroissement des performances des ordinateurs utilisant plusieurs processeurs fonctionnant simultanรฉment.
Le parallรฉlisme au sein du processeur : Lโ€™exรฉcution dโ€™une instruction (multiplication par ex.) nรฉcessite plusieurs cycles dโ€™horloge. On exรฉcute en parallรจle les instructions indรฉpendantes pour gagner du temps. Un processeur possรจde plusieurs Unitรฉ Arithmรฉtique et Logique. Les instructions peuvent รชtre rรฉarrangรฉes afin dโ€™amรฉliorer le rendement (out of order execution).
Multi-cล“ur : Un cล“ur est une unitรฉ exรฉcutant les instructions dans un processeur. Dโ€™oรน le multi-cล“ur est lโ€™ensemble de plusieurs unitรฉs exรฉcutant des instructions en parallรจle. Multi-cล“ur (tous sur un mรชme circuit) ๏‚นmultiprocesseur (circuits diffรฉrents)
3. Les objectifs du parallรฉlisme
๏€ญ Un gain de performance
โ–ช Multiplier les ressources matรฉrielles pour diviser le temps dโ€™exรฉcution dโ€™autant
โ–ช Accroitre la taille des problรจmes ร  rรฉsoudre
โ–ช Mais un gain linรฉaire est difficile ร  obtenir
๏€ญ Un gain conceptuel
โ–ช Plusieurs expressions des modรจles de calcul parallรจle
โ–ช Une approche intrinsรจquement parallรจle des problรจmes peut dรฉboucher sur des solutions plus efficaces
๏€ญ Mais aussi : rรฉpartition de lโ€™ampliation et tolรฉrance aux pannes
4. Lโ€™exploitation du parallรฉlisme :
Les trois phases de lโ€™exploitation
๏€ญ Exhibition : construction dโ€™algorithmes parallรจles
โ–ช Rechercher et mettre en รฉvidence le caractรจre parallรจle dโ€™une application
โ–ช Analyser les graphes de donnรฉes et de contrรดle de lโ€™application
โ–ช Prรฉvoir le parallรฉlisme thรฉorique maximum qui pourra รชtre obtenu
๏€ญ Extraction : exprimer les algorithmes parallรจles dans un modรจle de calcul (ex: CSP, message passing, fork and join)
๏€ญ Exรฉcution : les modรจles de calcul sont mis en ล“uvre conjointement
โ–ช Par des outils logiciels (compilateurs optimisant, interprรจtesโ€ฆ)
โ–ช Par des outils matรฉriels (architectures matรฉrielles parallรจles)
Chaque รฉtape introduit des contraintes qui limitent les performances.
5. Les 3 sources du parallรฉlisme

Le rapport de stage ou le pfe est un document dโ€™analyse, de synthรจse et dโ€™รฉvaluation de votre apprentissage, cโ€™est pour cela rapport-gratuit.com propose le tรฉlรฉchargement des modรจles complet de projet de fin dโ€™รฉtude, rapport de stage, mรฉmoire, pfe, thรจse, pour connaรฎtre la mรฉthodologie ร  avoir et savoir comment construire les parties dโ€™un projet de fin dโ€™รฉtude.

Table des matiรจres

REMERCIEMENTS
LISTE DES SYMBOLES ET ABREVIATIONS
LISTE DES TABLEAUX
LISTE DES FIGURES
INTRODUCTION
PARTIE I: Systรจme de contrรดle-commande
I. Gรฉnรฉralitรฉs
1. Dรฉfinition
2. Les diffรฉrents systรจmes de contrรดle-commande
3. Caractรฉristiques de systรจmes de contrรดle-commande
4. Architectures logicielle et matรฉrielle
II. Contrรดle-commande temps rรฉel
1. Noyau de systรจme dโ€™exploitation
2. Noyau temps rรฉel
3. Concepts des tรขches
4. Gestion des tรขches
5. Outils de communication et de synchronisation
6. Gestion du temps
7. Ordonnancement
8. Implรฉmentation des applications de contrรดle-commande temps rรฉel
III. Spรฉcification et conception dโ€™une application de contrรดle-commande
1. La mรฉthode SA-RT
2. La mรฉthode DA-RT
PARTIE II: La technique multitรขche et la programmation parallรจle
I. Technique multitรขche
1. Gรฉnรฉralitรฉ
2. Notion de processus et threads
3. Dรฉfinition dโ€™une tรขche et dโ€™une application multitรขche
4. La technique multitรขche ou la gestion multitรขche
5. Type de programme multitรขche
6. Multitรขche, multithreading, multitraitement
II. La programmation parallรจle
1. Pourquoi la programmation parallรจle ?
2. Dรฉfinition
3. Les objectifs du parallรฉlisme
4. Lโ€™exploitation du parallรฉlisme
5. Les 3 sources du parallรฉlisme
III. Multithreading en Java
1. La classe thread et lโ€™interface runnable
2. Crรฉer, lancer et stopper un thread
3. Ordonnancement
4. Cycle de vie dโ€™un thread
5. Groupe de threads
6. Manipulation des threads [3]
b) Join
7. Avantages et inconvรฉnient dโ€™une application multithread
PARTIE III: Etude de cas reel et simulation du systรจme de contrรดle-commande temps rรฉel avec javaย 
I. Cahier de charge
1. Cas rรฉel
2. Modรจle rรฉduit du cas rรฉel
II. Spรฉcification des processus et tรขches aves la mรฉthode SA-RT
1. Diagramme de contexte
2. Diagramme de flot de donnรฉes et de contrรดle, diagramme prรฉliminaire et diagramme รฉtat/transition
3. Dictionnaire de donnรฉes et processus primitifs du diagramme prรฉliminaire
III. Conception des communications et synchronisations des tรขches avec la mรฉthode DA-RT
IV. Implรฉmentation sur JAVA
1. Diagramme des classes
2. Lโ€™implรฉmentation sur JAVA
3. Rรฉsultats
CONCLUSION
BIBLIOGRAPHIE
ANNEXE

Tรฉlรฉcharger le rapport complet

Tรฉlรฉcharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiรฉe. Les champs obligatoires sont indiquรฉs avec *