Évènements satellites

Le programme de la conférence comprends une journée préliminaire (le 5 juillet) avec des ateliers et tutoriels organisés par des membres de la communauté scientifique autour d'une grande variété de sujets.

Le programme est donné ici.

8h Enregistrement
 
9h ATELIER ATELIER   TUTORIEL TUTORIEL
  UBIMOB
S 026
SEC2
S 024
  GAUT
S 121
MPPA
S 108
10h 10:00 pause
  ATELIER ATELIER   TUTORIEL TUTORIEL
11h UBIMOB SEC2   GAUT MPPA
  S 026 S 024   S 121 S 108
12h          
  12:30 – 14:00 déjeuner
13h
           
14h ATELIER ATELIER ATELIER TUTORIEL TUTORIEL
  UBIMOB SEC2 Green Pythran Manycore
15h S 026 S 024 S 029 S 129 S 028
  15:30 pause
16h ATELIER ATELIER ATELIER TUTORIEL TUTORIEL
  UBIMOB SEC2 Green Pythran Manycore
  S 026 S 024 S 029 S 129 S 028

Ateliers

Ubimob2016

Organisateurs : Chantal Taconet (Univ. Paris Sud), Philippe Roose (Univ. de Pau)
Durée : 1 journée

Les journées UbiMob ciblent les systèmes informatiques mobiles, ubiquitaires et pervasifs.

La particularité d’UbiMob est de viser la pluridisciplinarité. Les journées rassemblent des travaux issus de plusieurs disciplines dont :

  • interaction homme-machine,
  • systèmes d’information,
  • intergiciel,
  • sécurité,
  • ergonomie,
  • sciences humaines et sociales.

Soumission et plus d'information :

http://ubimob2016.telecom-sudparis.eu/

SEC2 (Sécurité dans les Clouds)

Organisateurs : Louis Rilling (DGA Maîtrise de l’Information), Sébastien Canard (Orange Labs), Marc Lacoste (Orange Labs)
Durée : 1 journée

L’informatique en nuage a donné naissance à de nouvelles menaces sur les systèmes informatiques, ce qui freine son adoption par les entreprises et les administrations. Sont en cause notamment: la cohabitation de plusieurs intervenants sur les mêmes ressources physiques à l’aide de la virtualisation des infrastructures, la délégation aux opérateurs de nuages informatiques, l’administration des ressources virtuelles, et les vulnérabilités apportées par la couche de virtualisation. Les approches pour répondre à ces menaces sont multiples, et cette diversité se retrouve dans la recherche française.

Le but de l’atelier SEC2 est de rassembler, sur une journée, la communauté de la recherche française sur la sécurité de l’informatique en nuage, afin de dresser un état des lieux, de connaître les différentes initiatives et de promouvoir les collaborations pour relever les nombreux défis encore ouverts.

Soumission et plus d'information :

https://sec2-2016.inria.fr/

Green (Economiser l'énergie dans les systèmes distribués)

Organisateurs : Laurent Lefèvre (Inria, Ecole Normale Superieure of Lyon), Anne-Cécile Orgerie (CNRS, France)
Durée : 1/2 journée

Les infrastructures distribuées et parallèles (grilles, clouds, datacentres... ) offrent aux utilisateurs des capacités de calcul considérables. Cependant, leur rapide expansion conduit à une augmentation inquiétante et non maîtrisée de leur consommation électrique. La prise en compte de l'énergie dans les systèmes distribués est un défi clé des infrastructures actuelles. En effet, l'optimisation de l'énergie entre souvent en conflit avec la performance, la qualité de service ou la disponibilité des infrastructures. Des compromis doivent être proposés pour maîtriser la consommation énergétique sans avoir d'impactsnégatifs sur les applications des utilisateurs. La maîtrise de la consommation passe également par des étapes de mesure ou de simulation pour comprendre comment les infrastructures distribuées consomment de l'énergie.
Cet atelier vise à rassembler les acteurs académiques et industriels du domaine pour discuter de l'état actuel des avancées matérielles et logicielles, tant théoriques que pratiques, permettant d'économiser de l'énergie dans les systèmes distribués. L'atelier sera organisé autour de présentations invitées visant à présenter les contributions récentes des participants. Cet atelier est organisé en lien avec l'action Energie du GDR RSD.

Soumission et plus d'information :

http://perso.ens-lyon.fr/laurent.lefevre/green-atelier-compas2016/

Tutoriels

Manycore : Comment calculer sur un processeur à beaucoup de coeurs

Organisateur : Bernard Goossens (Université de Perpignan)
Durée : 1/2 journée
Destiné aux trois publics : système, parallélisme et archi.

Je revisiterai quelques piliers de la programmation séquentielle, comme les interruptions, les caches, la pile et la mémoire en général et la prédiction de sauts. Je porterai aussi un regard critique sur les threads et leur non déterminisme.
Ensuite, je définirai un processeur "manycore" capable de paralléliser. Une caractéristique essentielle du processeur est que les coeurs ne contiennent pas de mémoire de donnée et l'ISA ne comprend pas d'instructions d'accès à la mémoire (seulement registre-registre et contrôle).Enfin, je présenterai une méthode de programmation menant à une exécution parallèle et déterministe.
La parallélisation se fait par le matériel, sans intervention de l'OS. La méthode parallélise tout le code, c'est-à-dire les fonctions, les boucles "for" et aussi les boucles "while". Le code obtenu est potentiellement parallèle (à condition de disposer d'un "manycore" parallélisant). Il peut être vérifié (débuggé) par une exécution séquentielle sur un processeur actuel.
Le tutoriel devrait présenter de nombreux exemples de codes parallélisés (multiplication de matrice, tri, voyageur de commerce ...) que les auditeurs pourront tester sur leur machine.

L'archive est disponible ici.

MPPA : Programmation avec les threads Posix et OpenMP des many-cores MPPA (256 coeurs) de Kalray

Organisateur : Pierre Bomel (Université de Bretagne-Sud, Lab-STICC)
Durée : 1/2 journée

Paradigmes de programmation: Posix, OpenMP, OpenCL
Présentation des outils des machines Kalray
Présentation du sujet d'études
Programmation à distance par les participants.
À la fin mise en commun des résultats et discussion.
But = mettre en oeuvre le parallélisme (et mesurer des perfs)
sur un cas d'école en Posix et/ou OpenMP (selon le temps disponible)
- niveau "cluster" (mémoire partagée) du MPPA-256
- niveau "NoC" (mémoire distribuée) du MPPA-256
- niveau réseau de machines Kalray (2-3 machine, à voir si c'est possible)

Les slides sont disponibles ici :

GAUT

Organisateur : Philippe Coussy (Université de Bretagne Sud, Lab-STICC)
Durée : 1/2 journée

Ce tutoriel est une introduction à la synthèse de haut niveau aussi nommée synthèse d’architectures, synthèse comportementale ou compilation sur silicium. La demi-journée se décomposera en deux parties : une théorique et une pratique. L’objectif de la formation est de comprendre comment des architectures matérielles peuvent être générées à partir d’un langage de programmation de haut niveau. Les travaux pratiques vous permettront de découvrir et de manipuler une nouvelle version de l’outil de synthèse GAUT V3.

La partie théorique abordera les grandes étapes de la synthèse : compilation générant une représentation intermédiaire de type flot de contrôle et de données CDFG ; allocation des opérateurs ; ordonnancement des opérations des blocs de base du CDFG ; assignation des opérations sur les opérateurs ; génération de l’architecture de niveau transfert de registre RTL.

La partie pratique sera réalisée à l’aide de la nouvelle version de l’outil GAUT (non encore publique). Cette version sera très prochainement disponible en open source à l’adresse suivante www.gaut.fr. Les exercices permettront de prendre en main l’outil et de générer des architectures matérielles décrites en VHDL ou en SystemC à l’aide d’un code source en langage C/C++. Les différentes options de synthèse seront étudiées : transformation de code, allocation, ordonnancement, assignation, synthèse des interfaces, appels de fonction… Vous devrez pour cela utiliser votre ordinateur sur lequel le logiciel sera installé (les plateformes Windows, MAC et Linux sont supportées en 32 et 64 bits).

Pythran

Organisateur : Serge Guelton (Namek)
Durée : 1/2 journée

Le langage Python, couplé aux paquets numpy et scipy, est de plus en plus utilisé dans la communauté scientifique comme un substitut libre à Matlab. Si ce choix permet de prototyper rapidement de nouvelles idées, il peut s'avérer décevant en terme de performance, même si les noyaux de calcul utilisés par numpy font souvent appel à du code natif.

Dans ce tutoriel, on verra par la pratique et l'expérimentation comment le compilateur Pythran peut être utilisé pour transformer des noyaux de calcul écrits dans un Python de haut niveau en des modules natifs dont les performances n'ont rien à envier à des codes décrits dans un langage de plus bas niveau. On s'attardera sur deux aspects capitaux pour la recherche de performance, outre la compilation en code natif :

  • la parallélisation et vectorisation automatique de certaines opérations, reposant sur les informations de haut niveau fournie par le langage
  • la parallélisation et vectorisation manuelle à l'aide de directives OpenMP sur le code Python

La combinaison des deux approches permet de conserver l'expressivité du langage hôte, Python, et de néanmoins obtenir des codes tirant parti de différents types de ressources disponibles à l'exécution.
http://pythonhosted.org/pythran/

Les personnes désireuses de reproduire toute ou partie du tutoriel auront besoin de la dernière version de Pythran dont l'installation est décrite ici :

http://pythonhosted.org/pythran/#installation

Personnes connectées : 2