Université de Sherbrooke, PCP

Quelques raccourcis :

Vous trouverez ici quelques documents et quelques liens pouvant, je l'espère, vous être utiles. Vous pouvez aussi consulter, parmi les liens divers mis à votre disposition, ceux portant sur la multiprogrammation et ceux portant sur le parallélisme. Dans les suggestions de lecture, il est probable que vous ayez un intérêt pour celles portant sur les systèmes répartis.

Les documents qui vous sont fournis ici le sont pour vous rendre service.

Je travaille très fort sur chacun de mes cours. Veuillez ne pas vendre (ou donner) les documents que je vous offre ici à qui que ce soit sans mon consentement. Si des abus surviennent, je vais cesser de rendre ce matériel disponible à toutes et à tous.

Si ces documents vous rendent service, faites-le moi savoir. Mon adresse de courriel est disponible sur la page où on trouve mon horaire.

À propos des séances en classe

Notez qu'en cette saison d'été 2017, un lundi est férié : le 22 mai (fête des patriotes).

Index des séances théoriques
S00 S01 S02 S03 S04 S05 S06 S07 S08 S09 S10 S11 S12 S13 S14
Séance Semaine du Contenu
S00

1 mai

Au menu :

Sur le plan des bases de l'opérationnalisation de la multiprogrammation, nous avons jeté un oeil à ce qui suit :

Sur le plan technique, nous avons survolé les opérateurs de transtypage ISO, propres au langage C++ et à la richesse de son système de types, de même que les conventions d'appel, pour lesquelles le concept est général mais l'écriture utilisée pour fins d'illustration (p. ex. : __stdcall)) est celle d'un compilateur en particulier.

Quelques mots sont « échappés » (condition de course, par exemple) sans être expliqués, mais nous y reviendrons...

S01

8 mai

Au menu :

Nous avons aussi survolé la question des concepts d'atomicité et de volatilité dans divers langages, pour comprendre leur utilité (parfois, leur nécessité), leurs limites et leurs ramifications.

Ceci met en relief les limites des compilateurs et de certaines approches plus traditionnelles à la concurrence sur des ordinateurs munis de plusieurs processeurs ou de plusieurs coeurs, et mène à discuter de synchronisation à très bas niveau.

J'ai ajouté un exemple opérationnel d'une classe Mutex avec deux implémentations (système, usager) sur ../../Sujets/Client-Serveur/mutex-deux-impl.html

S02

15 mai

Au menu :

Le TP00 vous sera proposé durant cette séance.

 

22 mai

Congé (fête des patriotes)

S03

29 mai

Au menu : à déterminer

S04

5 juin

Au menu : à déterminer

S05

8 juin 18 h-21 h

Au menu : à déterminer

Le TP01 vous sera proposé durant cette séance.

Normalement, nous aurions remis le TP00 aujourd'hui, mais j'ai choisi de vous donner jusqu'à S06 dû au bouleversement d'horaire

S06

12 juin

Au menu : à déterminer

Remettez le TP00 soit en début de séance (papier) ou au plus tard à 17 h (électronique)

S07

19 juin

Au menu : à déterminer

Cette semaine est celle des intras. Puisqu'il n'y a pas d'intras dans ce cours, nous tiendrons une séance (humaine!) en classe

26 juin

Relâche pour vous. Profitez-en!

S08

3 juillet

Au menu : à déterminer

 

10 juillet

Votre chic prof sera à Toronto cette semaine pour la rencontre du WG21. Vous pouvez suivre ses aventures sur ../../Sujets/Orthogonal/wg21-2017-Toronto.html si vous le souhaitez

S09

17 juillet

Au menu : à déterminer

Le TP02 vous sera proposé durant cette séance.

Remettez le TP01 soit en début de séance (papier) ou au plus tard à 17 h (électronique)

S10

24 juillet

Au menu : à déterminer

S11

31 juillet

Au menu : à déterminer

S12

7 août

Au menu : à déterminer

« S14 »

Entre le 8 et le 18 août inclusivement

À la « séance 14 », vous aurez droit à un on-ne-peut-plus-chic examen final, qui se tiendra de 9h à 12h au local XX-XXXX.

Le TP02 doit être remis en début de séance (si vous privilégiez la forme imprimée) ou à 17 h aujourd'hui (si vous privilégiez la remise électronique).

Code des cas sous étude dans les notes de cours

Les sections qui suivent proposent du code ou des exemples proposés en classe, le tout dans le but de vous permettre d'étudier la chose, de critiquer, de commenter, de questionner et d'expérimenter à loisir.

Le dîner des philosophes

Sélectionnez cette cible pour les sources de l'exemple Philosophes-0. Ces sources implémentent une solution naïve... tellement qu'il ne s'agit pas d'une solution (elle ne fonctionne pas vraiment, contenant une condition de course). Pour une cible plus globale, touchant chacune des solutions proposées, voir ceci.

Sélectionnez cette cible pour les sources de l'exemple Philosophes-1. Cette solution repose sur l'intervention d'un médiateur (un Waiter), qui implémente une politique de permission évitant de réelles situations problématiques. Pour une cible plus globale, touchant chacune des solutions proposées, voir ceci

Sélectionnez cette cible pour les sources de l'exemple Philosophes-2. Cette solution repose sur un protocole entre les philosophes (on ne prend les baguettes que dans un ordre bien précis). Pour une cible plus globale, touchant chacune des solutions proposées, voir ceci

Sélectionnez cette cible pour les sources de l'exemple Philosophes-3. Cette solution repose sur un moniteur capable de d'accorder le privilège de manger à un philosophe seulement s'il est certain que ses deux voisins ne mangent pas déjà. Pour une cible plus globale, touchant chacune des solutions proposées, voir ceci

Résultats des questions quasi-hebdomadaires

Les moyennes des résultats obtenus aux questions quasi-hebdomadaires suivent. Notez que l'écart-type n'est pas significatif étant donné la pondération des questions (sur cinq points, un point de différence représente , ce qui bousille quelque peu cette composante statistique).

 Question   Séance 
Q00 S02
Q01 S??
Q02 S??
Q03 S??
Q04 S??
Q05 S??
Q06 S??
Q07 S??
Q08 S??
Q09 S??
 :

Petite remarque sur les moyennes par question et sur la moyenne globale telles que présentées ici : je ne tiens compte que des participant(e)s au minitest, excluant les absent(e)s ce jour-là (ce qui explique les variations dans la colonne du ) ce qui signifie que la moyenne globale qui servira à évaluer la note finale sera, règle générale, un peu plus faible que ce que vous voyez ici (les absents à chaque minitest auront alors zéro pour ce minitest). Ce qui m'intéresse ici est de montrer les résultats pour celles et ceux qui ont effectivement répondu aux questions.

Consignes des travaux pratiques

Les consignes des travaux pratiques en lien avec le cours sont ci-dessous. Notez que dû aux contraintes du calendrier, il est possible que deux travaux pratiques se chevauchent; tenez-en compte dans votre gestion du temps.

Travail Consignes Date de proposition Date de remise

TP00

IFT630--TP00.pdf

S02 (15 mai) S05S06 (12 juin)

TP01

à venir

S05 (8 juin) S08 (17 juillet)

TP02

à venir

S08 (17 juillet) « S14 » (à déterminer)

Valid XHTML 1.0 Transitional

CSS Valide !