La Programmation Sequentielle
(Sequential programming )
1
Programmation Sequentielle (Sequential programming)
En programmation séquentielle, nous exécutons des processus dans l'ordre.
Cela signifie qu'un processus est lancé lorsque le processus précédent est terminé.
A
Par
En d'autres termes, il n'y a toujours qu'un seul processus en cours d'exécution.
OMRANI M.
La figure suivante illustre ce principe:
2
Programmation Sequentielle en python (Py Sequential programming)
TRAVAUX PRATIQUEs
python -m pip install --user numpy scipy matplotlib ipython jupyter pandas sympy nose
3
Programmation Sequentielle en python (Py Sequential programming)
A
Par
OMRANI M.
4
La Programmation parallèle
(parallel programming )
5
Programmation parallèle (Parallel programming)
En programmation parallèle, plusieurs processus peuvent être exécutés
simultanément:
A
Par
OMRANI M.
6
Programmation parallèle (Parallel programming)
Le Multithreading / Threading:
Le threading est l'une des approches les plus connues pour atteindre le
parallélisme.
Le threading est une fonctionnalité généralement fournie par le
système d'exploitation.
Les threads sont plus légers que les processus et partagent le même
espace mémoire.
7
Programmation parallèle (Parallel programming)
Le Multithreading / Threading:
Un processeur est dit multithread s'il est capable d'exécuter efficacement
plusieurs threads simultanément. Contrairement aux systèmes
multiprocesseurs (tels les systèmes multi-cœur), les threads doivent
partager les ressources d'un unique cœur1 : les unités de traitement, le cache
processeur et le translation lookaside buffer ;
Chaque thread dispose de ses propres registres et de son propre pointeur
d'instruction.
Le multithreading a pour but d'augmenter l'utilisation d'un seul cœur en
Par
tirant profit des propriétés des threads et du parallélisme au niveau des
OMRANI M.
instructions.
8
[wikipedia]
Programmation parallèle (Parallel programming)
Le Multithreading / Threading:
Un thread ou tâche est similaire à un processus car tous le deux
représentent l'exécution d'un ensemble d'instructions du langage
machine d'un processeur.
Du point de vue de l'utilisateur, ces exécutions semblent se dérouler
en parallèle.
Par
OMRANI M.
9
Programmation parallèle (Parallel programming)
Le Multithreading / Threading:
Chaque processus possède sa propre mémoire virtuelle, les threads d'un
même processus se partagent sa mémoire virtuelle.
Par contre, tous les threads possèdent leur propre pile d'exécution.
[wikipedia]
Par
OMRANI M.
10
Programmation parallèle (Parallel programming)
Le Multithreading / Threading:
A
Par
OMRANI M.
11
Programmation parallèle (Parallel programming)
Le Multiprocessing
A
Par
OMRANI M.
12
FIN
13
CSI2520, Hiver
2007