Techniques d ordonnancement pour les SoC

Dimension: px
Commencer à balayer dès la page:

Download "Techniques d ordonnancement pour les SoC"

Transcription

1 Techniques d ordonnancement pour les SoC Pierre Boulet équipe WEST Pierre.Boulet@lifl.fr Ordonnancement DEA informatique Lille p. 1/104

2 Plan Ordonnancement de tâches Placement sur SoC Ordonnancement de nids de boucles Cas du traitement de signal systématique Ordonnancement DEA informatique Lille p. 2/104

3 Ordonnancement de tâches Ordonnancement DEA informatique Lille p. 3/104

4 Le problème dans un contexte informatique ordonnancer des tâches sous-programmes processus fils d exécution affecter à chaque tâche une date d exécution (un processeur) avec contraintes de ressources ou non problème fondamental gestion efficace de la concurrence sur les architectures modernes Ordonnancement DEA informatique Lille p. 4/104

5 Références Computer and Job-Shop Scheduling Theory par Coffman chez John Willey & Sons, 1976 Task Scheduling in Parallel and Distributed Systems par El-Rewini, Lewis et Ali chez Prentice Hall, 1994 Scheduling Theory and Its Applications coordonné par Chrétienne, Coffman, Lenstra et Liu chez John Willey & Sons, 1995 Scheduling and Automatic Parallelization par Darte, Robert et Vivien chez Birkhäuser, 2000 Ordonnancement DEA informatique Lille p. 5/104

6 Exemple : programme séquentiel DO i = 1, n T^ache T i,i : x(i) = b(i) / a(i,i) DO j = i+1, n T^ache T i,j ENDDO : b(j) = b(j) - a(j,i) * x(i) ENDDO Résolution d un système triangulaire Ax = b A matrice de taille n n b et x vecteurs de taille n ordre séquentiel (< s ) des tâches : T 1,1 < s T 1,2 < s... < s T 1,n < s T 2,2 < s... < s T 2,n < s T 3,3 < s... < s T n,n Ordonnancement DEA informatique Lille p. 6/104

7 Exemple : graphe de tâches DO i = 1, n T^ache T i,i : x(i) = b(i) / a(i,i) DO j = i+1, n T^ache T i,j ENDDO : b(j) = b(j) - a(j,i) * x(i) ENDDO quelles tâches peuvent être calculées indépendamment? dépendances de données identifier les variables communes T i,i produit x(i) utilisé par T i,j, i < j n T i,j produit b(j) utilisé par T i+1,j Ordonnancement DEA informatique Lille p. 7/104

8 Dépendances exprimer la concurrence en respectant la sémantique du programme deux tâches sont dépendantes ( ) si elles accèdent à une même variable un des accès est une écriture conditions de Bernstein T T ou ou Lectures(T ) Ecritures(T ) Ecritures(T ) Lectures(T ) Ecritures(T ) Ecritures(T ) Ordonnancement DEA informatique Lille p. 8/104

9 Graphe de dépendances en cas de dépendance, respect de l ordre séquentiel construction d un ordre partiel ( ) (< s ) + clôture transitive de l intersection de la relation de dépendance et de l ordre séquentiel représentation par un DAG (graphe direct acyclique) omission habituelle des arcs de transitivité Ordonnancement DEA informatique Lille p. 9/104

10 Ord. sans communications définition du problème Entrée : graphe de tâches G = (V, E, w) nombre de sommets ( V ) fini arêtes (E) = contraintes de précédence sommets étiquetés par temps de calcul de la tâche (w : V N) Sortie : affectation (σ : V N) de dates de début d exécution pour chaque sommet respectant les contraintes de dépendances σ(u) + w(u) σ(v) pour tout (u, v) E Ordonnancement DEA informatique Lille p. 10/104

11 Ord. sans communications contraintes nombre de processeurs limité ou non un processeur n exécute qu une tâche à la fois alloc(t ) = alloc(t ) σ(t ) + w(t ) σ(t ) ou σ(t ) + w(t ) σ(t ) objectif : minimier la latence temps total d exécution L(σ) = max v V (σ(v) + w(v)) min v V σ(v) Ordonnancement DEA informatique Lille p. 11/104

12 Accélération définition : s(σ, p) = Seq L(σ, p) avec Seq = v V w(v) propriétés s(σ, p) p Seq = L opt (1)... L opt (p) L opt (p + 1)... L opt ( ) Ordonnancement DEA informatique Lille p. 12/104

13 Sans limite de ressources nombre de processeurs illimité définitions PRED(v) = prédécesseurs immédiats de v SUCC(v) = successeurs immédiats de v v est une entrée du DAG ssi PRED(v) = v est une sortie du DAG ssi SUCC(v) = niveau haut de v, nh(v) = plus grand poids d un chemin d une entrée à v (sans compter v) facile niveau bas de v, nb(v) = plus grand poids d un chemin de v à une sortie (en incluant v) Ordonnancement DEA informatique Lille p. 13/104

14 Ordonnancement optimal définition : σ free (v) = nh(v), v V ordonnancement au plus tôt théorème : σ free est optimal corrolaire : on peut trouver un ordonnancement optimal en temps O( V + E ) pas de délais de communication nombre de processeurs illimité remarque : σ free n est pas le seul ordonnancement optimal ordonnancement au plus tard Ordonnancement DEA informatique Lille p. 14/104

15 Exemple DO i = 1, n T^ache T i,i : x(i) = b(i) / a(i,i) DO j = i+1, n T^ache T i,j ENDDO ENDDO temps de calcul : w(t i,i ) = 2 w(t i,j ) = 1, i < j n L(σ free, ) = 3n 1 : b(j) = b(j) - a(j,i) * x(i) Ordonnancement DEA informatique Lille p. 15/104

16 Avec p processeurs mauvaise nouvelle NP-complet bonne nouvelle heuristiques garanties (au plus 2 optimal) heuristiques de liste difficile Ordonnancement DEA informatique Lille p. 16/104

17 Heuristiques de liste définition heuristiques gloutonnes à chaque pas de temps, démarrer le plus de tâches possible plusieurs choix possibles priorités tâche libre à l instant t v FREE(σ, t) σ(v) t et u PRED(v), σ(u) + w(u) t ordonnancement de liste aucun processeur n est laissé délibérément inactif t, FREE(σ, t) = r 1 et q processeurs disponibles démarrer min(r, q) tâches Ordonnancement DEA informatique Lille p. 17/104

18 Heuristiques de liste structures de données graphe G tableau A : # de prédécesseurs de chaque tâche tas Q : tâches prêtes valuées par priorité tas P : processeurs valués par date de fin d exécution pseudo-code Q=entrées(G); P =vide; t=-1; tant_que Q<>vide faire t =événement_suivant(p,t); Mise_à_jour(t,A,Q); Allocation(t,P,Q); t=t ; fin_tant_que complexité = O( V log V + E ) implémentation Ordonnancement DEA informatique Lille p. 18/104

19 Exemple DO i = 1, n T^ache T i,i : x(i) = b(i) / a(i,i) DO j = i+1, n T^ache T i,j ENDDO ENDDO temps de calcul : w(t i,i ) = 2 : b(j) = b(j) - a(j,i) * x(i) w(t i,j ) = 1, i < j n priorité = niveau bas n = 6, p = 2, L(σ chemin critique, p) = 17 Ordonnancement DEA informatique Lille p. 19/104

20 Ord. avec communications complique énormément les choses problème NP-complet même sans contrainte de ressources modélisation habituelle comm(t, T ) = O si alloc(t ) = alloc(t ) c(t, T ) sinon coût de communication indépendant des processeurs de plus en plus réaliste contraintes sur l ordonnancement e = (u, v) E, σ(u) + w(u) σ(v) si alloc(u) = alloc(v) σ(u) + w(u) + c(u, v) σ(v) sinon Ordonnancement DEA informatique Lille p. 20/104

21 Sans limite de ressources heuristique de Hanen et Munier garantie à au plus 4 3 de l optimal programmation linéaire relaxation en rationnels (polynomial) d un programme en entiers (NP-difficile) basée sur l idée de successeur favori l unique successeur de T vérifiant σ(t ) < σ(t ) + w(t ) + c(t, T ) Ordonnancement DEA informatique Lille p. 21/104

22 Avec p processeurs bien évidemment NP-complet deux classes d heuristiques (la plupart non garanties) heuristiques de liste heuristiques de regroupement (clustering) Ordonnancement DEA informatique Lille p. 22/104

23 Heuristiques de liste chemin critique naïf priorité = niveau bas calculé en supposant communication systématique chemin critique amélioré allouer une tâche libre au processeur qui permet son exécution le plus tôt en tenant compte des décisions déjà prises on peut allouer à un processeur non libre Ordonnancement DEA informatique Lille p. 23/104

24 Exemple DO i = 1, n T^ache T i,i : x(i) = b(i) / a(i,i) DO j = i+1, n T^ache T i,j ENDDO : b(j) = b(j) - a(j,i) * x(i) ENDDO temps de calcul : w(t i,i ) = 2, w(t i,j ) = 1, i < j n temps de communication uniformes = 4 n = 6, p = 2, L(σ chemin critique amélioré, p) = 28 moins bon que tous sur le même processeur! (Seq = 26) Ordonnancement DEA informatique Lille p. 24/104

25 Heuristiques de regroupement deux étapes regrouper des tâches allouer ces groupes et décider de l ordonnancement final regroupement toujours itératif faire diminuer le temps parallèle estimé plusieurs stratégies selon les plus longs chemins annuler les communications coûteuses une arête à la fois sur le plus long chemin courant heuristiques aussi pour la deuxième phase peu d arguments pour choisir :-( Ordonnancement DEA informatique Lille p. 25/104

26 Récapitulation graphe de dépendance ordonnancement sans communications sans limite de ressources algorithme polynomial optimal à p processeurs NP-complet, heuristiques garanties à 2 optimal ordonnancement avec communications sans limite de ressources NP-complet, heuristique garantie à 4 3 optimal à p processeurs NP-complet, heuristiques non garanties Ordonnancement DEA informatique Lille p. 26/104

27 Placement sur SoC Ordonnancement DEA informatique Lille p. 27/104

28 Contexte placement et ordonnancement d applications de contrôle/commande ou de traitement de signal contraintes temps réel sur architectures hétérogènes, distribuées, embarquées méthodologie Adéquation Algorithme Architecture (AAA) développée à l INRIA Rocquencourt, projet Sosso, puis action Ostre implémentée dans le logiciel SynDEx références web AAA : thèse de Thierry Grandpierre : Ordonnancement DEA informatique Lille p. 28/104

29 Démarche graphe de description de l architecture graphe de description de l algorithme flot de données placement et ordonnancement automatique heuristique de liste ordonnancement statique, non préemptif placement des calculs placement des données placement des communications objectif = minimiser la latence génération d un exécutif Ordonnancement DEA informatique Lille p. 29/104

30 Description de l architecture objectif permettre l ordonnancement granularité adaptée représenter fidèlement le comportement de l architecture prendre en compte les moyens de communications exprimer tout le parallélisme potentiel modéliser finement les arbitrages des ressources partagées graphe orienté sommets = machines à états finis Ordonnancement DEA informatique Lille p. 30/104

31 Modèle d architecture cinq types de sommets opérateurs mémoires RAM (registres, RAM partagées ou non) contenant données, programmes ou les deux memoires SAM (FIFOs) bus (bus/mux/demux/arbitres) communicateurs (DMA) liens représentent transferts possibles de données orientés Ordonnancement DEA informatique Lille p. 31/104

32 Principes de modélisation minimiser nombre de sommets encapsuler séquence de bux/mux/demux/arbitres dans un seul sommet encapsuler arbitre dans sommet RAM ou SAM règles chaque opérateur connecté à une RAM programme et au moins une RAM données chaque RAM partagée ou SAM connectée à au moins deux sommets opérateurs ou communicateurs pas de connexion directe entre RAM/SAM insertion de bus/arbitre là où nécessaire Ordonnancement DEA informatique Lille p. 32/104

33 Communicateurs séquenceur autonome d opérations de transfert de données nécessite connexion à une RAM contenant ces opérations modélise un canal de DMA + sa programmation par le processeur pas d équivalent matériel direct permet ordonnancement communications en concurrence avec calculs Ordonnancement DEA informatique Lille p. 33/104

34 Exemples simples d architectures architectures monoprocesseur générales Von Neumann Harvard DSP pouvant accéder simultanément à deux opérandes et une opération architectures multiprocesseurs régulières SIMD, MIMD à mémoire partagée/distribuée Ordonnancement DEA informatique Lille p. 34/104

35 à un communicateur et d autre part à l opérateur. Le Bus/Mux/Demux permet de sélectionner laquelle des SAM est accédée par l opérateur. Les deux ports de mémoires externes permettent à l opérateur et aux communicateurs d accéder aux deux mémoires externes, il y a donc arbitrage que nous modélisons par deux sommets Bus/Mux/Demux/Arbitre ( et ) entre les RAM externes, l opérateur et les communicateurs. Les Bus/Mux/Demux à modélise la capacité, pour chaque communicateur, d accéder soit à une SAM, soit à la mémoire externe. DSP TMS320C40 b10 C1 b1 S1 operateur b7 b8 R0 R1 b9 C2 C3 b2 b3 S2 S3 C4 b4 S4 C5 b5 S5 C6 b6 S6 b11 R loc R0,R1 : mémoires RAM internes partagées R loc,r glob: mémoires RAM externes partagées C0 à C6 : communicateurs S1 à S6 : mémoires SAM b1 à b8, b10 : bus/mux/demux b9, b11, b12 : bus/mux/demux /arbitre b12 R glob Ordonnancement DEA informatique Lille p. 35/104

36 Architecture quadri TMS320C EXEMPLES DE MODÉLISATIONS DE MACHINES 45 TMS320C40-1 TMS320C40-2 C1 S1 C1 operateur R0 R1 C2 C3 C4 S2 S3 S4 S2 S3 S4 C2 C3 C4 R0 R1 operateur C5 S5 S5 C5 C6 C6 R loc R loc S6 R glob S6 R loc R loc C6 C6 C5 S5 S5 C5 operateur R1 R0 C4 C3 C2 S4 S3 S2 S4 S3 S2 C4 C3 C2 R1 R0 operateur C1 C1 S1 TMS320C40-4 TMS320C40-3 FIG. 1.39: Modélisation d une architecture composée de 4 TMS320C40 Ordonnancement DEA informatique Lille p. 36/104

37 Caractérisation étiquetage des sommets par indications de capacités sommet caractéristiques opérateur liste opérations et durées bande passante d accès aux mémoires communicateur liste d opérations bande passante d accès aux mémoires mémoire capacité et bande passante max RAM partagée politique d arbitrage mesures ou estimations Ordonnancement DEA informatique Lille p. 37/104

38 Modélisation de l algorithme graphe de flot de données sommets = opérations atomiques arcs = dépendances de données répétition infinie implicite (flot) sommets retards pour dépendances inter-répétitions graphe acyclique sauf présence de retards Ordonnancement DEA informatique Lille p. 38/104

39 Factorisation regroupement d opérations répétitives moins puissant qu Array-OL pour le SPMD exprime aussi des dépendances inter-répétitions utilise des sommets particuliers D (Diffusion) : diffusion à toutes les répétitions F (Fork) : découpage J (Join) : regroupement I (Iterate) : dépendance inter-répétition nécessite une valeur initiale exemple : produit matrice-vecteur Ordonnancement DEA informatique Lille p. 39/104

40 Autres caractéristiques flot infini = factorisation implicite E = capteurs correspond à F S = actionneur correspond à J $ = retard correspond à I sommets constantes paramètres calculés une seule fois conditionnelles arcs de conditionnement destination exécutée seulement si entrée vraie et autres données présentes sommet merge pour fusionner résultats d opérations exclusives Ordonnancement DEA informatique Lille p. 40/104

41 Caractérisation pour chaque opération durée d exécution sur chaque opérateur qui peut l exécuter taille mémoire programme nécessaire taille mémoire données nécessaire pour chaque dépendance type de données taille Ordonnancement DEA informatique Lille p. 41/104

42 Modèle d implantation représente une implantation particulière d une application sur une architecture résultat de l heuristique de placement construit par raffinements successifs étiquetage du graphe d algorithme Ordonnancement DEA informatique Lille p. 42/104

43 Étape préliminaire : routage construction des chemins de communication entre les opérateurs suite de sommets bus, RAM, SAM et communicateurs deux types iso-opérateur une par RAM connectée à l opérateur inter-opérateurs conservation des plus courtes uniquement s il y en a plusieurs, communications parallèles possibles Ordonnancement DEA informatique Lille p. 43/104

44 Allocation spatiale : distribution partitionnement allocation des opérations aux opérateurs allocation des dépendances aux routes communication ajout de sommets dans graphe d algorithme avec association avec éléments du graphe d architecture communication communicateurs (read/write, send/receive, sync) allocation mémoires (données, programmes, communications) identité bus/mux/demux cas des conditionnelles Ordonnancement DEA informatique Lille p. 44/104

45 Exemple d algorithme distribué Graphe d architecture: Graphe d algorithme partitionné (avant communication) : Opr1 Opr2 Opr3 OPR2 C11 R1 a1 C12 S1 C21 R2 a2 C22 C23 S2 C31 R3 a3 C32 A d1 d2 B d3 C OPR1 d6 D d5 d4 OPR3 E Graphe d algorithme après distribution : i /a1 /c12 a /S1 a /R1 ad i /a1 ap B B a ap A /R1 /R1 /R1 /R1 a /R1 B /Opr1 ad A A /R1 /Opr1 a /R1 C /Opr1 a i ap /R1 /a1 C ad C /R1 /R1 S3 s r i /c21 /a2 a /R2 ap D a /s1 i s r /c12 /c21 s /c11 ad D /R2 /R2 D /opr2 a /s3 a /R2 i /a2 a /R2 s /c23 /a2 s /c23 a /s2 r r /c31 /c32 a /s2 r /c31 i i /a3 a /R3 i a : sommets allocation données ap A à ap E : sommets allocation programme ad A à ad E : sommets allocation données (variables internes) i : sommets identité s,r : sommets SENDs et RECEIVEs /a3 a /R3 a /R3 /a3 E /opr3 ap E /R3 ad E /R3 Ordonnancement DEA informatique Lille p. 45/104

46 Ordonnancement proposer un ordre total des opérations sur opérateurs communicateurs réalisation : ajout d arcs de précédence supplémentaires entre opérations affectées au même opérateur contraintes ordre des opérations dans une SAM ajout éventuel de sommets de synchronisation Ordonnancement DEA informatique Lille p. 46/104

47 Exemple d algorithme ordonnancé Graphe d architecture: Graphe d algorithme avant distribution : Opr1 Opr2 Opr3 OPR2 C11 Graphe d algorithme après distribution : ad A /R1 /Opr1 a /R1 /R1 /a1 /c12 /Opr1 a /S1 ad ap B i B a ap /R1 A /R1 /R1 /R1 a /R1 A R1 a1 C12 a S1 i C21 C B ap C ad C /R1 /R1 R2 s a2 C22 S3 C23 /a1 a i /R1 /a1 r S2 i /c21 /a2 C31 R3 a3 a /R2 a /s1 i s r /c12 /c21 s /c11 C32 ap D ad D /R2 /R2 D /opr2 a /s3 A d2 B d3 a /R2 i /a2 a /R2 s OPR1 /c23 C /a2 s /c23 a /s2 r r d1 /c31 /c32 a /s2 r /c31 d6 D a : sommets allocation données ap A à ap E : sommets allocation programme ad A à ad E : sommets allocation données (variables internes) i : sommets identité s,r : sommets SENDs et RECEIVEs : dépendances de données : précédences i /a3 i /a3 a /R3 i d5 a /R3 a /R3 /a3 d4 ap E /R3 ad E /R3 /opr3 E E OPR3 Ordonnancement DEA informatique Lille p. 47/104

48 Optimisation construction d un graphe d implantation à partir d un graphe d algorithme et d un graphe d architecture avec un objectif objectif respect de contraintes de temps latence = cadence minimisation latence heuristique Ordonnancement DEA informatique Lille p. 48/104

49 Heuristique de liste routage initialisation liste avec opérations sans prédécesseurs tant que liste non vide sélectionner opération dans la liste choix meilleur opérateur pour chaque opération restriction liste candidats pour éviter inactivité opérateurs choix candidat en fonction de son urgence mettre à jour liste suppression candidat choisi ajout de ses successeurs ordonnançables Ordonnancement DEA informatique Lille p. 49/104

50 Détails heuristique choix meilleur opérateur pour une opération ordonnancement sur tous les opérateurs possibles construction des communications associées calcul des fonctions de coût si égalité, choix en fonction de la mémoire libre restante restriction liste candidats suppression candidats dont date de début au plus tôt date de fin au plus tôt de celui qui a la plus petite date de début au plus tôt fonction de coût, urgence allongement chemin critique sinon opposé flexibilité d ordonnancement différence entre ordonnancement au plus tard et ordonnancement au plus tôt Ordonnancement DEA informatique Lille p. 50/104

51 Cas particuliers sommets constantes considérés ordonnancés par l heuristique à la fin, allocation sur chaque opérateur consommant leurs données duplication éventuelle ordonnancement avant toutes les autres opérations sommets retards dépendances inter-itérations implantés par une copie de données ordonnançables après prédécesseurs et successeurs Ordonnancement DEA informatique Lille p. 51/104

52 Bilan heuristique d ordonnancement/placement architecture hétérogène graphe de flot de données prend en compte communications et allocation mémoire suite de la chaîne de traitement de SynDEx compaction de la mémoire génération de code exécutable extensions possibles modèles applications et architectures SPMD (à la Array-OL) modèles matériels de FPGA ou d ASIC autres objectifs (consommation, surface, tolérance aux pannes) heuristique plus sophistiquée Ordonnancement DEA informatique Lille p. 52/104

53 Ordonnancement de nids de boucles Ordonnancement DEA informatique Lille p. 53/104

54 Nids de boucles DO i=1,n DO j=i,n+1 DO k=j-i,n S 1 S 2 ENDDO ENDDO DO r=1,n boucles non parfaitement imbriquées vecteur d itération valeur des indices englobants domaine d itération domaine des indices englobants opérations instances des instructions S 3 ENDDO ENDDO Ordonnancement DEA informatique Lille p. 54/104

55 Ordre séquentiel (1/2) ordre d exécution des opérations opérations d une même instruction S(I) < seq S(J) I < lex J < lex = ordre lexicographique ou {I 1 < J 1 } ou {I 1 = J 1 et I 2 < J 2 } ou... ou {I 1 = J 1 et... et I n 1 = J n 1 et I n < J n } entre instructions du même bloc ordre textuel < text Ordonnancement DEA informatique Lille p. 55/104

56 Ordre séquentiel (2/2) cas général : opérations S(I) et T (J) notations : S (resp. T ) englobé par n S (resp. n T ) boucles n S,T boucles englobantes communes Ĩ (resp. J) = I (resp. J) tronqué aux ns,t premières composantes 3 cas : si Ĩ < lex J alors S(I) < seq T (J) si J <lex Ĩ alors T (J) < seq S(I) si Ĩ = J alors S(I) < seq T (J) S < text J Ordonnancement DEA informatique Lille p. 56/104

57 Modèle de boucles instructions décrites par leur vecteur d itération leur position dans le texte domaines d itération = polyèdres un point entier dans ce polyèdre = un vecteur d itération possible boucles correspondant au modèle : bornes = fonctions affines des indices des boucles englobantes pas = 1 Ordonnancement DEA informatique Lille p. 57/104

58 Dépendances de données conditions de Bernstein il y a dépendance de données entre S(I) et T (J) ssi accès à la même variable et un accès en écriture dépendance orientée selon ordre séquentiel notation : S(I) T (J) trois types de dépendances de données, toujours entre deux accès consécutifs dans l ordre séquentiel dépendance de flot : écriture pour S(I), lecture pour T (J) anti-dépendance : lecture pour S(I), écriture pour T (J) dépendance de sortie : écriture pour S(I), écriture pour T (J) Ordonnancement DEA informatique Lille p. 58/104

59 Exemple DO i=1,n DO j=1,n a(i+j)=a(i+j-1)+1 ENDDO ENDDO espace d itération? dépendances de données dépendances de flot? anti-dépendances? dépendances de sortie? Ordonnancement DEA informatique Lille p. 59/104

60 Analyse de dépendances de nombreuses méthodes proposées en une vingtaine d années différentes abstractions distances de dépendance niveaux de dépendance vecteurs de direction polyèdres/cônes de dépendance graphes de flot de données formules de Presburger à chaque abstraction son ou ses analyses (tests) Ordonnancement DEA informatique Lille p. 60/104

61 Graphe de dépendance étendu (GDE) le graphe de dépendance général (voir cours précédent) sommets = toutes les opérations ne peut pas être généré à la compilation taille proportionnelle au nombre d opérations dépend des valeurs des paramètres de taille du problème pas forcément adapté au calcul de l ordonnancement dans certains cas représentable de façon compacte programmes à contrôle statique taille proportionnelle au nombre d instructions Ordonnancement DEA informatique Lille p. 61/104

62 Vecteur/ensemble de distance distance de dépendance correspondant à une dépendance S(I) p T (J) due à une paire p de références = J Ĩ( Nn S,T ) toujours lexicographiquement positive ensemble de distances (de dépendance) E p S,T = {( J Ĩ) (I, J) Nn S Nn T, S(I) p T (J)} Ordonnancement DEA informatique Lille p. 62/104

63 Graphe de dépendance réduit (GDR) représentation compacte mais approximative du GDE exacte dans le cas des programmes à contrôle statique sommets = instructions arête entre S et T si (I, J) N n S N n T S(I) T (J) une arête par paire p de références étiquetée par une sur-approximation D e des ensembles de distances si S(I) T (J) dans le GDE alors e = (S, T ) dans le RDG telle que J Ĩ D e graphe de dépendance apparent (GDA) dépendances apparaissant si on déroule le GDR GDA = GDE si analyse exacte Ordonnancement DEA informatique Lille p. 63/104

64 Approximations des ensembles de distance niveaux de dépendance utilisés dans l algorithme de détection du parallélisme d Allen et Kennedy vecteurs de direction utilisés dans l algorithme de Wolf et Lam polyèdres de dépendance utilisés dans l algorithme de partition en super-nœuds d Irigoin et Triolet Ordonnancement DEA informatique Lille p. 64/104

65 Niveaux de dépendance dépendance S(I) T (J) indépendante des boucles si Ĩ = J niveau dépendance portée par une boucle si Ĩ J niveau = rang de la première coordonnée non nulle de J Ĩ Ordonnancement DEA informatique Lille p. 65/104

66 Vecteurs de direction vecteur de dépendance uniforme quand la taille de l ensemble de distances associé est de taille indépendante de la taille de l espace d itération sinon, vecteur de direction vecteur de dimension n S,T à valeurs dans Z {, +, } (Z {+, }) chaque coordonnée = approximation de toutes les valeurs de la coordonnée correspondante des vecteurs de distance z+ si toujours z (+ = 1+) z si toujours z ( = 1 ) si valeurs dans Z Ordonnancement DEA informatique Lille p. 66/104

67 Exemple de GDR DO i=2,n S 1 : s(i)=0 DO j=1,i-1 S 2 : s(i)=s(i)+a(i,j)*b(j) ENDDO : b(i)=b(i)-s(i) S 3 ENDDO GDR par niveaux GDR par vecteurs de direction Ordonnancement DEA informatique Lille p. 67/104

68 Limites des approximations réduisent le nombre d ordonnancements possibles analyse exacte des dépendances pas toujours possible ou trop coûteuse développement d un algorithme de détection du parallélisme capacité limitée par cette approximation en général on ignore la forme de l espace d itération optimalité par rapport à l approximation algorithme de Feautrier programmes à contrôle statique travaille sur l analyse exacte des dépendances tient compte de la forme de l espace d itération limité par les transformations de boucles recherchées le plus puissant à l heure actuelle Ordonnancement DEA informatique Lille p. 68/104

69 Algorithme d Allen et Kennedy utilise les niveaux de dépendance but : pour chaque instruction détecter le nombre maximal de boucles englobantes parallèles transformations de code utilisées : distribution de boucles son inverse, la fusion de boucles optimal par rapport à l approximation choisie Ordonnancement DEA informatique Lille p. 69/104

70 Distribution de boucles toutes les instances de S peuvent être exécutées avant toutes les instances de T s il n y a pas de dépendance de T vers S cas simple : une boucle autour de S 1 et S 2 S 1 S 2, distribution de S 1 avant S 2 S 2 S 1, distribution de S 2 avant S 1 pas de dépendance, tous codes valides S 1 S 2 et S 2 S 1, pas de distribution valide inversion des instructions possible si toutes dépendances portées cas général : calculer les composantes fortement connexes du RDG les trier topologiquement distribuer les boucles autour Ordonnancement DEA informatique Lille p. 70/104

71 Allen-Kennedy(G,k) appeler Allen-Kennedy(GDR par niveaux, 1) enlever de G toutes les arêtes de niveau < k calculer les composantes fortement connexes de G pour chaque composante C, dans l ordre topologique faire si C est une seule instruction, S, sans arête alors générer boucles // autour de S sinon soit l = min e C l(e) (l(e) =niveau de e) générer boucles // du niveau k à l 1 générer boucle séquentielle au niveau l appeler Allen-Kennedy(C,l + 1) Ordonnancement DEA informatique Lille p. 71/104

72 Exemple Allen-Kennedy DO i=...,... DO j=...,... DO k=...,... S 1 S 2 ENDDO S 3 S 4 ENDDO ENDDO S 1 S S 4 S Ordonnancement DEA informatique Lille p. 72/104

73 Transformations unimodulaires principalement pour les boucles parfaitement imbriquées changement de l ordre d itération considérer corps de boucle indivisible caractérisé par une matrice unimodulaire matrice entière à inverse entière parcours dans l ordre lexicographique de I = T.I formalisme englobe de nombreuses transformations permutation renversement torsion Ordonnancement DEA informatique Lille p. 73/104

74 Génération de code code de départ DO I D S(I) ENDDO après transformation par T DO I T (D) S(T 1.I ) ENDDO algorithmes de génération du code d itération basés sur de la programmation linéaire en nombres entiers ou l élimination de Fourier-Motzkin Ordonnancement DEA informatique Lille p. 74/104

75 Validité conserver l ordre des dépendances dépendances indépendantes des boucles inchangées dépendances portées par les boucles S i (I) S j (J) implique T.I < lex T.J soit T.(J I) > lex 0 Ordonnancement DEA informatique Lille p. 75/104

76 Méthode de l hyperplan idée : choisir T telle que pour chaque vecteur d de dépendance T.d > lex 0 et même première composante de T.d > 0 une boucle séquentielle englobant des boucles parallèles si s est la 1 re ligne de T, s.d 1 s est la normale à un hyperplan d équation s.x = 0 ordonnancement selon s.i = t théorème : un tel vecteur s existe toujours preuve constructive il faut encore construire la matrice unimodulaire utilisation de la forme normale de Hermite Ordonnancement DEA informatique Lille p. 76/104

77 Exemple hyperplan DO i=1,n DO j=1,n a(i+j)=a(i+j-1)+1 ENDDO ENDDO vecteurs de dépendance : {(1, 1); (1, 2); (1, 0); (0, 1)} vecteur d hyperplan : s = (3, 1) matrice unimodulaire : T = ( ) DO j=4,4*n DO// i=max(1,ceil((j-n)/3)),min(n,floor((j-1)/3)) a(j-2*i)=a(j-2*i-1)+1 ENDDO// ENDDO Ordonnancement DEA informatique Lille p. 77/104

78 État de l art de nombreuses méthodes différentes modélisations optimalité de l algorithme relatif à la modélisation seulement une étape analyse de dépendances : plusieurs modèles découvrir le parallélisme : ordonnancement bien compris placement : pas mûr adaptation de la granularité : nombreux travaux applicabilité restreinte Ordonnancement DEA informatique Lille p. 78/104

79 Cas du traitement de signal systématique Ordonnancement DEA informatique Lille p. 79/104

80 Contexte langage Array-OL deux niveaux de description global : graphe de tâches local : itérations data-parallèles placement et ordonnancement sur SoC architecture hétérogène références thèse de Julien Soula Principe de Compilation d un Langage de Traitement de Signal rapport LIFL02-11 de Philippe Dumont Étude des transformations d un code Array-OL dans Gaspard Ordonnancement DEA informatique Lille p. 80/104

Annexe 6. Notions d ordonnancement.

Annexe 6. Notions d ordonnancement. Annexe 6. Notions d ordonnancement. APP3 Optimisation Combinatoire: problèmes sur-contraints et ordonnancement. Mines-Nantes, option GIPAD, 2011-2012. Sophie.Demassey@mines-nantes.fr Résumé Ce document

Plus en détail

Communications collectives et ordonnancement en régime permanent pour plates-formes hétérogènes

Communications collectives et ordonnancement en régime permanent pour plates-formes hétérogènes Loris MARCHAL Laboratoire de l Informatique du Parallélisme Équipe Graal Communications collectives et ordonnancement en régime permanent pour plates-formes hétérogènes Thèse réalisée sous la direction

Plus en détail

Chapitre 5 : Flot maximal dans un graphe

Chapitre 5 : Flot maximal dans un graphe Graphes et RO TELECOM Nancy A Chapitre 5 : Flot maximal dans un graphe J.-F. Scheid 1 Plan du chapitre I. Définitions 1 Graphe Graphe valué 3 Représentation d un graphe (matrice d incidence, matrice d

Plus en détail

Programmation linéaire

Programmation linéaire 1 Programmation linéaire 1. Le problème, un exemple. 2. Le cas b = 0 3. Théorème de dualité 4. L algorithme du simplexe 5. Problèmes équivalents 6. Complexité de l Algorithme 2 Position du problème Soit

Plus en détail

Définitions. Numéro à préciser. (Durée : )

Définitions. Numéro à préciser. (Durée : ) Numéro à préciser (Durée : ) On étudie dans ce problème l ordre lexicographique pour les mots sur un alphabet fini et plusieurs constructions des cycles de De Bruijn. Les trois parties sont largement indépendantes.

Plus en détail

Exemples de problèmes et d applications. INF6953 Exemples de problèmes 1

Exemples de problèmes et d applications. INF6953 Exemples de problèmes 1 Exemples de problèmes et d applications INF6953 Exemples de problèmes Sommaire Quelques domaines d application Quelques problèmes réels Allocation de fréquences dans les réseaux radio-mobiles Affectation

Plus en détail

ADÉQUATION ALGORITHME-ARCHITECTURE APPLIQUÉE AUX CIRCUITS RECONFIGURABLES

ADÉQUATION ALGORITHME-ARCHITECTURE APPLIQUÉE AUX CIRCUITS RECONFIGURABLES ADÉQUATION ALGORITHME-ARCHITECTURE APPLIQUÉE AUX CIRCUITS RECONFIGURABLES AILTON F. DIAS, MOHAMED AKIL, CHRISTOPHE LAVARENNE, YVES SOREL CNEN/CDTN Divisão de Computação e Informação, CP 941-012-970 Belo

Plus en détail

Sanity Check. bgcolor mgcolor fgcolor

Sanity Check. bgcolor mgcolor fgcolor Sanity Check bgcolor mgcolor fgcolor 0 1 2 3 4 5 6 7 8 9 10 Compilation pour cibles hétérogènes: automatisation des analyses, transformations et décisions nécessaires, François Irigoin et Ronan Keryell

Plus en détail

Résolution de systèmes linéaires par des méthodes directes

Résolution de systèmes linéaires par des méthodes directes Résolution de systèmes linéaires par des méthodes directes J. Erhel Janvier 2014 1 Inverse d une matrice carrée et systèmes linéaires Ce paragraphe a pour objet les matrices carrées et les systèmes linéaires.

Plus en détail

Ordonnancement temps réel

Ordonnancement temps réel Ordonnancement temps réel Laurent.Pautet@enst.fr Version 1.5 Problématique de l ordonnancement temps réel En fonctionnement normal, respecter les contraintes temporelles spécifiées par toutes les tâches

Plus en détail

Conception des systèmes répartis

Conception des systèmes répartis Conception des systèmes répartis Principes et concepts Gérard Padiou Département Informatique et Mathématiques appliquées ENSEEIHT Octobre 2012 Gérard Padiou Conception des systèmes répartis 1 / 37 plan

Plus en détail

La programmation linéaire : une introduction. Qu est-ce qu un programme linéaire? Terminologie. Écriture mathématique

La programmation linéaire : une introduction. Qu est-ce qu un programme linéaire? Terminologie. Écriture mathématique La programmation linéaire : une introduction Qu est-ce qu un programme linéaire? Qu est-ce qu un programme linéaire? Exemples : allocation de ressources problème de recouvrement Hypothèses de la programmation

Plus en détail

MABioVis. Bio-informatique et la

MABioVis. Bio-informatique et la MABioVis Modèles et Algorithmes pour la Bio-informatique et la Visualisation Visite ENS Cachan 5 janvier 2011 MABioVis G GUY MELANÇON (PR UFR Maths Info / EPI GRAVITE) (là, maintenant) - MABioVis DAVID

Plus en détail

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP COURS PROGRAMMATION INITIATION AU LANGAGE C SUR MICROCONTROLEUR PIC page 1 / 7 INITIATION AU LANGAGE C SUR PIC DE MICROSHIP I. Historique du langage C 1972 : naissance du C dans les laboratoires BELL par

Plus en détail

Les diagrammes de modélisation

Les diagrammes de modélisation L approche Orientée Objet et UML 1 Plan du cours Introduction au Génie Logiciel L approche Orientée Objet et Notation UML Les diagrammes de modélisation Relations entre les différents diagrammes De l analyse

Plus en détail

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/ Recherche opérationnelle Les démonstrations et les exemples seront traités en cours Souad EL Bernoussi Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/ Table des matières 1 Programmation

Plus en détail

Problèmes d ordonnancement dans les systèmes de production. Journée Automatique et Optimisation Université de Paris 12 20 Mars 2003

Problèmes d ordonnancement dans les systèmes de production. Journée Automatique et Optimisation Université de Paris 12 20 Mars 2003 Problèmes d ordonnancement dans les systèmes de production Michel Gourgand Université Blaise Pascal Clermont Ferrand LIMOS CNRS UMR 6158 1 Le LIMOS Laboratoire d Informatique, de Modélisation et d Optimisation

Plus en détail

Rappels sur les suites - Algorithme

Rappels sur les suites - Algorithme DERNIÈRE IMPRESSION LE 14 septembre 2015 à 12:36 Rappels sur les suites - Algorithme Table des matières 1 Suite : généralités 2 1.1 Déition................................. 2 1.2 Exemples de suites............................

Plus en détail

Jean-Philippe Préaux http://www.i2m.univ-amu.fr/~preaux

Jean-Philippe Préaux http://www.i2m.univ-amu.fr/~preaux Colonies de fourmis Comment procèdent les colonies de fourmi pour déterminer un chemin presque géodésique de la fourmilière à un stock de nourriture? Les premières fourmis se déplacent au hasard. Les fourmis

Plus en détail

Ordonnancement. N: nains de jardin. X: peinture extérieure. E: électricité T: toit. M: murs. F: fondations CHAPTER 1

Ordonnancement. N: nains de jardin. X: peinture extérieure. E: électricité T: toit. M: murs. F: fondations CHAPTER 1 CHAPTER 1 Ordonnancement 1.1. Étude de cas Ordonnancement de tâches avec contraintes de précédences 1.1.1. Exemple : construction d'une maison. Exercice. On veut construire une maison, ce qui consiste

Plus en détail

INF6500 : Structures des ordinateurs. Sylvain Martel - INF6500 1

INF6500 : Structures des ordinateurs. Sylvain Martel - INF6500 1 INF6500 : Structures des ordinateurs Sylvain Martel - INF6500 1 Cours 4 : Multiprocesseurs Sylvain Martel - INF6500 2 Multiprocesseurs Type SISD SIMD MIMD Communication Shared memory Message-passing Groupe

Plus en détail

Programmation temps-réel Cours 1 et 2 Introduction et ordonnancement

Programmation temps-réel Cours 1 et 2 Introduction et ordonnancement Master 2 pro Programmation temps-réel Cours 1 et 2 Introduction et ordonnancement Isabelle PUAUT / Rémi COZOT Université de Rennes I 1 Applications temps-réel embarquées Systèmes en interaction avec l

Plus en détail

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes PLAN CYCLE DE VIE D'UN LOGICIEL EXPRESSION DES BESOINS SPÉCIFICATIONS DU LOGICIEL CONCEPTION DU LOGICIEL LA PROGRAMMATION TESTS ET MISE AU POINT DOCUMENTATION CONCLUSION C.Crochepeyre Génie Logiciel Diapason

Plus en détail

Organigramme / Algorigramme Dossier élève 1 SI

Organigramme / Algorigramme Dossier élève 1 SI Organigramme / Algorigramme Dossier élève 1 SI CI 10, I11 ; CI 11, I10 C24 Algorithmique 8 février 2009 (13:47) 1. Introduction Un organigramme (ou algorigramme, lorsqu il est plus particulièrement appliqué

Plus en détail

Initiation au HPC - Généralités

Initiation au HPC - Généralités Initiation au HPC - Généralités Éric Ramat et Julien Dehos Université du Littoral Côte d Opale M2 Informatique 2 septembre 2015 Éric Ramat et Julien Dehos Initiation au HPC - Généralités 1/49 Plan du cours

Plus en détail

Performances et optimisations

Performances et optimisations Performances et optimisations Outils pour le calcul scientifique à haute performance École doctorale sciences pour l ingénieur juin 2001 Philippe MARQUET phm@lifl.fr Laboratoire d informatique fondamentale

Plus en détail

Programmation linéaire

Programmation linéaire Programmation linéaire DIDIER MAQUIN Ecole Nationale Supérieure d Electricité et de Mécanique Institut National Polytechnique de Lorraine Mathématiques discrètes cours de 2ème année Programmation linéaire

Plus en détail

Calculer avec Sage. Revision : 417 du 1 er juillet 2010

Calculer avec Sage. Revision : 417 du 1 er juillet 2010 Calculer avec Sage Alexandre Casamayou Guillaume Connan Thierry Dumont Laurent Fousse François Maltey Matthias Meulien Marc Mezzarobba Clément Pernet Nicolas Thiéry Paul Zimmermann Revision : 417 du 1

Plus en détail

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test Grandes lignes Analyseur Statique de logiciels Temps RÉel Embarqués École Polytechnique École Normale Supérieure Mercredi 18 juillet 2005 1 Présentation d 2 Cadre théorique de l interprétation abstraite

Plus en détail

Mémoire de Fin d Etudes

Mémoire de Fin d Etudes Mémoire de Fin d Etudes Pour l Obtention du Diplôme d Ingénieur d Etat en Informatique Présenté par : MOSTEFA MERIEM Option : Système distribué Session Juin 2009 THEME PLACEMENT DES TACHES REPETITIVES

Plus en détail

La NP-complétude. Johanne Cohen. PRISM/CNRS, Versailles, France.

La NP-complétude. Johanne Cohen. PRISM/CNRS, Versailles, France. La NP-complétude Johanne Cohen PRISM/CNRS, Versailles, France. Références 1. Algorithm Design, Jon Kleinberg, Eva Tardos, Addison-Wesley, 2006. 2. Computers and Intractability : A Guide to the Theory of

Plus en détail

Complexité. Licence Informatique - Semestre 2 - Algorithmique et Programmation

Complexité. Licence Informatique - Semestre 2 - Algorithmique et Programmation Complexité Objectifs des calculs de complexité : - pouvoir prévoir le temps d'exécution d'un algorithme - pouvoir comparer deux algorithmes réalisant le même traitement Exemples : - si on lance le calcul

Plus en détail

Cours de Recherche Opérationnelle IUT d Orsay. Nicolas M. THIÉRY. E-mail address: Nicolas.Thiery@u-psud.fr URL: http://nicolas.thiery.

Cours de Recherche Opérationnelle IUT d Orsay. Nicolas M. THIÉRY. E-mail address: Nicolas.Thiery@u-psud.fr URL: http://nicolas.thiery. Cours de Recherche Opérationnelle IUT d Orsay Nicolas M. THIÉRY E-mail address: Nicolas.Thiery@u-psud.fr URL: http://nicolas.thiery.name/ CHAPTER 1 Introduction à l optimisation 1.1. TD: Ordonnancement

Plus en détail

Parallélisme et Répartition

Parallélisme et Répartition Parallélisme et Répartition Master Info Françoise Baude Université de Nice Sophia-Antipolis UFR Sciences Département Informatique baude@unice.fr web du cours : deptinfo.unice.fr/~baude Septembre 2009 Chapitre

Plus en détail

La Licence Mathématiques et Economie-MASS Université de Sciences Sociales de Toulouse 1

La Licence Mathématiques et Economie-MASS Université de Sciences Sociales de Toulouse 1 La Licence Mathématiques et Economie-MASS Université de Sciences Sociales de Toulouse 1 La licence Mathématiques et Economie-MASS de l Université des Sciences Sociales de Toulouse propose sur les trois

Plus en détail

La classification automatique de données quantitatives

La classification automatique de données quantitatives La classification automatique de données quantitatives 1 Introduction Parmi les méthodes de statistique exploratoire multidimensionnelle, dont l objectif est d extraire d une masse de données des informations

Plus en détail

ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.

ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview. ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview. Sciences et Technologies de l Industrie et du Développement Durable Formation des enseignants parcours : ET24 Modèle de

Plus en détail

Info0804. Cours 6. Optimisation combinatoire : Applications et compléments

Info0804. Cours 6. Optimisation combinatoire : Applications et compléments Recherche Opérationnelle Optimisation combinatoire : Applications et compléments Pierre Delisle Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique 17 février 2014 Plan de

Plus en détail

Métriques de performance pour les algorithmes et programmes parallèles

Métriques de performance pour les algorithmes et programmes parallèles Métriques de performance pour les algorithmes et programmes parallèles 11 18 nov. 2002 Cette section est basée tout d abord sur la référence suivante (manuel suggéré mais non obligatoire) : R. Miller and

Plus en détail

Architecture des Systèmes d Information Architecture des Systèmes d Information

Architecture des Systèmes d Information Architecture des Systèmes d Information Plan... Tableaux et tris I3 - Algorithmique et programmation 1 Rappels Nicol Delestre 2 Tableaux à n dimensions 3 Initiation aux tris Tableaux - v2.0.1 1 / 27 Tableaux - v2.0.1 2 / 27 Rappels : tableau

Plus en détail

Gestion de mémoire secondaire F. Boyer, Laboratoire Sardes Fabienne.Boyer@imag.fr

Gestion de mémoire secondaire F. Boyer, Laboratoire Sardes Fabienne.Boyer@imag.fr Gestion de mémoire secondaire F. Boyer, Laboratoire Sardes Fabienne.Boyer@imag.fr 1- Structure d un disque 2- Ordonnancement des requêtes 3- Gestion du disque - formatage - bloc d amorçage - récupération

Plus en détail

ALGORITHMIQUE II NOTION DE COMPLEXITE. SMI AlgoII

ALGORITHMIQUE II NOTION DE COMPLEXITE. SMI AlgoII ALGORITHMIQUE II NOTION DE COMPLEXITE 1 2 Comment choisir entre différents algorithmes pour résoudre un même problème? Plusieurs critères de choix : Exactitude Simplicité Efficacité (but de ce chapitre)

Plus en détail

Cours de Master Recherche

Cours de Master Recherche Cours de Master Recherche Spécialité CODE : Résolution de problèmes combinatoires Christine Solnon LIRIS, UMR 5205 CNRS / Université Lyon 1 2007 Rappel du plan du cours 16 heures de cours 1 - Introduction

Plus en détail

Programmation Linéaire - Cours 1

Programmation Linéaire - Cours 1 Programmation Linéaire - Cours 1 P. Pesneau pierre.pesneau@math.u-bordeaux1.fr Université Bordeaux 1 Bât A33 - Bur 265 Ouvrages de référence V. Chvátal - Linear Programming, W.H.Freeman, New York, 1983.

Plus en détail

Conception de réseaux de télécommunications : optimisation et expérimentations

Conception de réseaux de télécommunications : optimisation et expérimentations Conception de réseaux de télécommunications : optimisation et expérimentations Jean-François Lalande Directeurs de thèse: Jean-Claude Bermond - Michel Syska Université de Nice-Sophia Antipolis Mascotte,

Plus en détail

Quelques Algorithmes simples

Quelques Algorithmes simples Quelques Algorithmes simples Irène Guessarian ig@liafa.jussieu.fr 10 janvier 2012 Je remercie Patrick Cegielski de son aide efficace pour la programmation Java ; la section sur le codage de Huffman a été

Plus en détail

Théorie et codage de l information

Théorie et codage de l information Théorie et codage de l information Les codes linéaires - Chapitre 6 - Principe Définition d un code linéaire Soient p un nombre premier et s est un entier positif. Il existe un unique corps de taille q

Plus en détail

1 Architecture du cœur ARM Cortex M3. Le cœur ARM Cortex M3 sera présenté en classe à partir des éléments suivants :

1 Architecture du cœur ARM Cortex M3. Le cœur ARM Cortex M3 sera présenté en classe à partir des éléments suivants : GIF-3002 SMI et Architecture du microprocesseur Ce cours discute de l impact du design du microprocesseur sur le système entier. Il présente d abord l architecture du cœur ARM Cortex M3. Ensuite, le cours

Plus en détail

Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications

Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications A. Optimisation sans contrainte.... Généralités.... Condition nécessaire et condition suffisante

Plus en détail

Les algorithmes de base du graphisme

Les algorithmes de base du graphisme Les algorithmes de base du graphisme Table des matières 1 Traçage 2 1.1 Segments de droites......................... 2 1.1.1 Algorithmes simples.................... 3 1.1.2 Algorithmes de Bresenham (1965).............

Plus en détail

Polynômes à plusieurs variables. Résultant

Polynômes à plusieurs variables. Résultant Polynômes à plusieurs variables. Résultant Christophe Ritzenthaler 1 Relations coefficients-racines. Polynômes symétriques Issu de [MS] et de [Goz]. Soit A un anneau intègre. Définition 1.1. Soit a A \

Plus en détail

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT Ces exercices portent sur les items 2, 3 et 5 du programme d informatique des classes préparatoires,

Plus en détail

Étude des Corrélations entre Paramètres Statiques et Dynamiques des Convertisseurs Analogique-Numérique en vue d optimiser leur Flot de Test

Étude des Corrélations entre Paramètres Statiques et Dynamiques des Convertisseurs Analogique-Numérique en vue d optimiser leur Flot de Test 11 juillet 2003 Étude des Corrélations entre Paramètres Statiques et Dynamiques des Convertisseurs Analogique-Numérique en vue d optimiser leur Flot de Test Mariane Comte Plan 2 Introduction et objectif

Plus en détail

Résolution d équations non linéaires

Résolution d équations non linéaires Analyse Numérique Résolution d équations non linéaires Said EL HAJJI et Touria GHEMIRES Université Mohammed V - Agdal. Faculté des Sciences Département de Mathématiques. Laboratoire de Mathématiques, Informatique

Plus en détail

1 de 46. Algorithmique. Trouver et Trier. Florent Hivert. Mél : Florent.Hivert@lri.fr Page personnelle : http://www.lri.fr/ hivert

1 de 46. Algorithmique. Trouver et Trier. Florent Hivert. Mél : Florent.Hivert@lri.fr Page personnelle : http://www.lri.fr/ hivert 1 de 46 Algorithmique Trouver et Trier Florent Hivert Mél : Florent.Hivert@lri.fr Page personnelle : http://www.lri.fr/ hivert 2 de 46 Algorithmes et structures de données La plupart des bons algorithmes

Plus en détail

Contrainte de flot pour RCPSP avec temps de transfert

Contrainte de flot pour RCPSP avec temps de transfert Contrainte de flot et x-rcpsc T 1 Contrainte de flot pour RCPSP avec temps de transfert PS temp, s ij Cmax BENOIST Thierry BOUYGUES/e-Lab DIAMANTINI Maurice ENSTA/LMA Contrainte de flot et x-rcpsc T Présentation

Plus en détail

Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes.

Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes. Promotion X 004 COURS D ANALYSE DES STRUCTURES MÉCANIQUES PAR LA MÉTHODE DES ELEMENTS FINIS (MEC 568) contrôle non classant (7 mars 007, heures) Documents autorisés : polycopié ; documents et notes de

Plus en détail

Big Data et Graphes : Quelques pistes de recherche

Big Data et Graphes : Quelques pistes de recherche Big Data et Graphes : Quelques pistes de recherche Hamamache Kheddouci Laboratoire d'informatique en Image et Systèmes d'information LIRIS UMR 5205 CNRS/INSA de Lyon/Université Claude Bernard Lyon 1/Université

Plus en détail

THÈSE. En vue de l obtention du DOCTORAT DE L UNIVERSITÉ DE TOULOUSE. Touria CHAFQANE BEN RAHHOU

THÈSE. En vue de l obtention du DOCTORAT DE L UNIVERSITÉ DE TOULOUSE. Touria CHAFQANE BEN RAHHOU THÈSE En vue de l obtention du DOCTORAT DE L UNIVERSITÉ DE TOULOUSE Délivré par : l Université Toulouse 3 Paul Sabatier (UT3 Paul Sabatier) Présentée et soutenue le 24/06/2013 par : Touria CHAFQANE BEN

Plus en détail

Julien MATHEVET Alexandre BOISSY GSID 4. Rapport RE09. Load Balancing et migration

Julien MATHEVET Alexandre BOISSY GSID 4. Rapport RE09. Load Balancing et migration Julien MATHEVET Alexandre BOISSY GSID 4 Rapport Load Balancing et migration Printemps 2001 SOMMAIRE INTRODUCTION... 3 SYNTHESE CONCERNANT LE LOAD BALANCING ET LA MIGRATION... 4 POURQUOI FAIRE DU LOAD BALANCING?...

Plus en détail

Cours d analyse numérique SMI-S4

Cours d analyse numérique SMI-S4 ours d analyse numérique SMI-S4 Introduction L objet de l analyse numérique est de concevoir et d étudier des méthodes de résolution de certains problèmes mathématiques, en général issus de problèmes réels,

Plus en détail

Informatique industrielle A7-19571 Systèmes temps-réel J.F.Peyre. Partie I : Introduction

Informatique industrielle A7-19571 Systèmes temps-réel J.F.Peyre. Partie I : Introduction Informatique industrielle A7-19571 Systèmes temps-réel J.F.Peyre Partie I : Introduction Plan de la première partie Quelques définitions Caractéristiques communes des applications temps-réel Exemples d

Plus en détail

ASR1 TD7 : Un microprocesseur RISC 16 bits

ASR1 TD7 : Un microprocesseur RISC 16 bits {Â Ö Ñ º ØÖ Ý,È ØÖ ºÄÓ Ù,Æ ÓÐ ºÎ ÝÖ Ø¹ ÖÚ ÐÐÓÒ} Ò ¹ÐÝÓÒº Ö ØØÔ»»Ô Ö Óº Ò ¹ÐÝÓÒº Ö» Ö Ñ º ØÖ Ý»¼ Ö½» ASR1 TD7 : Un microprocesseur RISC 16 bits 13, 20 et 27 novembre 2006 Présentation générale On choisit

Plus en détail

Model checking temporisé

Model checking temporisé Model checking temporisé Béatrice Bérard LAMSADE Université Paris-Dauphine & CNRS berard@lamsade.dauphine.fr ETR 07, 5 septembre 2007 1/44 Nécessité de vérifier des systèmes... 2/44 Nécessité de vérifier

Plus en détail

Big Data et Graphes : Quelques pistes de recherche

Big Data et Graphes : Quelques pistes de recherche Big Data et Graphes : Quelques pistes de recherche Hamamache Kheddouci http://liris.cnrs.fr/hamamache.kheddouci Laboratoire d'informatique en Image et Systèmes d'information LIRIS UMR 5205 CNRS/INSA de

Plus en détail

Cours de Génie Logiciel

Cours de Génie Logiciel Cours de Génie Logiciel Sciences-U Lyon Diagrammes UML (2) http://www.rzo.free.fr Pierre PARREND 1 Avril 2005 Sommaire Les Diagrammes UML Diagrammes de Collaboration Diagrammes d'etats-transitions Diagrammes

Plus en détail

03/04/2007. Tâche 1 Tâche 2 Tâche 3. Système Unix. Time sharing

03/04/2007. Tâche 1 Tâche 2 Tâche 3. Système Unix. Time sharing 3/4/27 Programmation Avancée Multimédia Multithreading Benoît Piranda Équipe SISAR Université de Marne La Vallée Besoin Programmes à traitements simultanés Réseau Réseau Afficher une animation en temps

Plus en détail

Optimisation Combinatoire et Colonies de Fourmis Nicolas Monmarche April 21, 1999 Sommaire Inspiration biologiques Ant Colony Optimization Applications TSP QAP Flow Shop Problemes dynamiques 1 Historique

Plus en détail

Intérêt du découpage en sous-bandes pour l analyse spectrale

Intérêt du découpage en sous-bandes pour l analyse spectrale Intérêt du découpage en sous-bandes pour l analyse spectrale David BONACCI Institut National Polytechnique de Toulouse (INP) École Nationale Supérieure d Électrotechnique, d Électronique, d Informatique,

Plus en détail

MEAD : temps réel et tolérance aux pannes pour CORBA

MEAD : temps réel et tolérance aux pannes pour CORBA MEAD : un intergiciel temps-réel et tolérant aux pannes pour CORBA Master 2 Informatique Recherche Université de Marne-la-Vallée Vendredi 3 mars 2006 Plan 1 Introduction 2 Solutions existantes 3 Concilier

Plus en détail

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if Pierre Boudes 28 septembre 2011 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike

Plus en détail

Modélisation et Simulation

Modélisation et Simulation Cours de modélisation et simulation p. 1/64 Modélisation et Simulation G. Bontempi Département d Informatique Boulevard de Triomphe - CP 212 http://www.ulb.ac.be/di Cours de modélisation et simulation

Plus en détail

Capacité d un canal Second Théorème de Shannon. Théorie de l information 1/34

Capacité d un canal Second Théorème de Shannon. Théorie de l information 1/34 Capacité d un canal Second Théorème de Shannon Théorie de l information 1/34 Plan du cours 1. Canaux discrets sans mémoire, exemples ; 2. Capacité ; 3. Canaux symétriques ; 4. Codage de canal ; 5. Second

Plus en détail

Fonctions de plusieurs variables

Fonctions de plusieurs variables Module : Analyse 03 Chapitre 00 : Fonctions de plusieurs variables Généralités et Rappels des notions topologiques dans : Qu est- ce que?: Mathématiquement, n étant un entier non nul, on définit comme

Plus en détail

Efficacité énergétique des réseaux de cœur et d accès

Efficacité énergétique des réseaux de cœur et d accès Efficacité énergétique des réseaux de cœur et d accès David Coudert Joanna Mouliérac, Frédéric Giroire MASCOTTE I3S (CNRS/Université Nice Sophia-Antipolis) INRIA Sophia-Antipolis Méditerranée 1 Contexte

Plus en détail

Licence ST Université Claude Bernard Lyon I LIF1 : Algorithmique et Programmation C Bases du langage C 1 Conclusion de la dernière fois Introduction de l algorithmique générale pour permettre de traiter

Plus en détail

Ordonnancement robuste et décision dans l'incertain

Ordonnancement robuste et décision dans l'incertain Ordonnancement robuste et décision dans l'incertain 4 ème Conférence Annuelle d Ingénierie Système «Efficacité des entreprises et satisfaction des clients» Centre de Congrès Pierre Baudis,TOULOUSE, 2-4

Plus en détail

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN 1. DÉVELOPPEMENT D'APPLICATION (CONCEPTEUR ANALYSTE) 1.1 ARCHITECTURE MATÉRIELLE DU SYSTÈME INFORMATIQUE 1.1.1 Architecture d'un ordinateur Processeur,

Plus en détail

Le Guide Pratique des Processus Métiers

Le Guide Pratique des Processus Métiers Guides Pratiques Objecteering Le Guide Pratique des Processus Métiers Auteur : Version : 1.0 Copyright : Softeam Equipe Conseil Softeam Supervisée par Philippe Desfray Softeam 21 avenue Victor Hugo 75016

Plus en détail

REALISATION d'un. ORDONNANCEUR à ECHEANCES

REALISATION d'un. ORDONNANCEUR à ECHEANCES REALISATION d'un ORDONNANCEUR à ECHEANCES I- PRÉSENTATION... 3 II. DESCRIPTION DU NOYAU ORIGINEL... 4 II.1- ARCHITECTURE... 4 II.2 - SERVICES... 4 III. IMPLÉMENTATION DE L'ORDONNANCEUR À ÉCHÉANCES... 6

Plus en détail

Université du Québec à Chicoutimi. Département d informatique et de mathématique. Plan de cours. Titre : Élément de programmation.

Université du Québec à Chicoutimi. Département d informatique et de mathématique. Plan de cours. Titre : Élément de programmation. Université du Québec à Chicoutimi Département d informatique et de mathématique Plan de cours Titre : Élément de programmation Sigle : 8inf 119 Session : Automne 2001 Professeur : Patrice Guérin Local

Plus en détail

High Performance by Exploiting Information Locality through Reverse Computing. Mouad Bahi

High Performance by Exploiting Information Locality through Reverse Computing. Mouad Bahi Thèse High Performance by Exploiting Information Locality through Reverse Computing Présentée et soutenue publiquement le 21 décembre 2011 par Mouad Bahi pour l obtention du Doctorat de l université Paris-Sud

Plus en détail

Programmes des classes préparatoires aux Grandes Ecoles

Programmes des classes préparatoires aux Grandes Ecoles Programmes des classes préparatoires aux Grandes Ecoles Filière : scientifique Voies : Mathématiques, physique et sciences de l'ingénieur (MPSI) Physique, chimie et sciences de l ingénieur (PCSI) Physique,

Plus en détail

www.h-k.fr/publications/objectif-agregation

www.h-k.fr/publications/objectif-agregation «Sur C, tout est connexe!» www.h-k.fr/publications/objectif-agregation L idée de cette note est de montrer que, contrairement à ce qui se passe sur R, «sur C, tout est connexe». Cet abus de langage se

Plus en détail

Contexte. Pour cela, elles doivent être très compliquées, c est-à-dire elles doivent être très différentes des fonctions simples,

Contexte. Pour cela, elles doivent être très compliquées, c est-à-dire elles doivent être très différentes des fonctions simples, Non-linéarité Contexte Pour permettre aux algorithmes de cryptographie d être sûrs, les fonctions booléennes qu ils utilisent ne doivent pas être inversées facilement. Pour cela, elles doivent être très

Plus en détail

WHITEPAPER. Quatre indices pour identifier une intégration ERP inefficace

WHITEPAPER. Quatre indices pour identifier une intégration ERP inefficace Quatre indices pour identifier une intégration ERP inefficace 1 Table of Contents 3 Manque de centralisation 4 Manque de données en temps réel 6 Implémentations fastidieuses et manquant de souplesse 7

Plus en détail

INF 232: Langages et Automates. Travaux Dirigés. Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies

INF 232: Langages et Automates. Travaux Dirigés. Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies INF 232: Langages et Automates Travaux Dirigés Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies Année Académique 2013-2014 Année Académique 2013-2014 UNIVERSITÉ JOSEPH

Plus en détail

Plus courts chemins, programmation dynamique

Plus courts chemins, programmation dynamique 1 Plus courts chemins, programmation dynamique 1. Plus courts chemins à partir d un sommet 2. Plus courts chemins entre tous les sommets 3. Semi-anneau 4. Programmation dynamique 5. Applications à la bio-informatique

Plus en détail

Chapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping

Chapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping Chapitre V : La gestion de la mémoire Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping Introduction Plusieurs dizaines de processus doivent se partager

Plus en détail

MIS 102 Initiation à l Informatique

MIS 102 Initiation à l Informatique MIS 102 Initiation à l Informatique Responsables et cours : Cyril Gavoille Catherine Pannier Matthias Robine Marc Zeitoun Planning : 6 séances de cours 5 séances de TD (2h40) 4 séances de TP (2h40) + environ

Plus en détail

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE» MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE» Du cours Modélisation Semi -Formelle de Système d Information Du Professeur Jean-Pierre GIRAUDIN Décembre. 2002 1 Table de matière Partie 1...2 1.1

Plus en détail

Objectifs du cours d aujourd hui. Informatique II : Cours d introduction à l informatique et à la programmation objet. Complexité d un problème (2)

Objectifs du cours d aujourd hui. Informatique II : Cours d introduction à l informatique et à la programmation objet. Complexité d un problème (2) Objectifs du cours d aujourd hui Informatique II : Cours d introduction à l informatique et à la programmation objet Complexité des problèmes Introduire la notion de complexité d un problème Présenter

Plus en détail

Optimisation Discrète

Optimisation Discrète Prof F Eisenbrand EPFL - DISOPT Optimisation Discrète Adrian Bock Semestre de printemps 2011 Série 7 7 avril 2011 Exercice 1 i Considérer le programme linéaire max{c T x : Ax b} avec c R n, A R m n et

Plus en détail

Calcul différentiel. Chapitre 1. 1.1 Différentiabilité

Calcul différentiel. Chapitre 1. 1.1 Différentiabilité Chapitre 1 Calcul différentiel L idée du calcul différentiel est d approcher au voisinage d un point une fonction f par une fonction plus simple (ou d approcher localement le graphe de f par un espace

Plus en détail

Francis BISSON (06 794 819) Kenny CÔTÉ (06 836 427) Pierre-Luc ROGER (06 801 883) IFT702 Planification en intelligence artificielle

Francis BISSON (06 794 819) Kenny CÔTÉ (06 836 427) Pierre-Luc ROGER (06 801 883) IFT702 Planification en intelligence artificielle Francis BISSON (06 794 819) Kenny CÔTÉ (06 836 427) Pierre-Luc ROGER (06 801 883) PLANIFICATION DE TÂCHES DANS MS PROJECT IFT702 Planification en intelligence artificielle Présenté à M. Froduald KABANZA

Plus en détail

4.2 Unités d enseignement du M1

4.2 Unités d enseignement du M1 88 CHAPITRE 4. DESCRIPTION DES UNITÉS D ENSEIGNEMENT 4.2 Unités d enseignement du M1 Tous les cours sont de 6 ECTS. Modélisation, optimisation et complexité des algorithmes (code RCP106) Objectif : Présenter

Plus en détail

FIMA, 7 juillet 2005

FIMA, 7 juillet 2005 F. Corset 1 S. 2 1 LabSAD Université Pierre Mendes France 2 Département de Mathématiques Université de Franche-Comté FIMA, 7 juillet 2005 Plan de l exposé plus court chemin Origine du problème Modélisation

Plus en détail

WEA Un Gérant d'objets Persistants pour des environnements distribués

WEA Un Gérant d'objets Persistants pour des environnements distribués Thèse de Doctorat de l'université P & M Curie WEA Un Gérant d'objets Persistants pour des environnements distribués Didier Donsez Université Pierre et Marie Curie Paris VI Laboratoire de Méthodologie et

Plus en détail

Problème 1 : applications du plan affine

Problème 1 : applications du plan affine Problème 1 : applications du plan affine Notations On désigne par GL 2 (R) l ensemble des matrices 2 2 inversibles à coefficients réels. Soit un plan affine P muni d un repère (O, I, J). Les coordonnées

Plus en détail

introduction Chapitre 5 Récursivité Exemples mathématiques Fonction factorielle ø est un arbre (vide) Images récursives

introduction Chapitre 5 Récursivité Exemples mathématiques Fonction factorielle ø est un arbre (vide) Images récursives introduction Chapitre 5 Images récursives http ://univ-tln.fr/~papini/sources/flocon.htm Récursivité http://www.poulain.org/fractales/index.html Image qui se contient elle-même 1 Exemples mathématiques

Plus en détail