SlideShare une entreprise Scribd logo
1  sur  31
Emplacement éventuel pour votre logo
La loi de Moore et ses conséquences… http://public.itrs.net/
10,000 Microprocesseur 2001 Réseau 1,000 Intel Cancels Top-Speed Pentium 4 Chip Thu Oct 14, 6:50 PM ET   Technology - Reuters  Intel …canceled plans to introduceitshighest-speed desktop computer chip, ending for now a 25-yearrunthat has seen the speeds of Intel'smicroprocessorsincrease by more than 750 times. 1997 Disques Architecture d’aujourd’hui : Le temps d’accès mémoire ne soutient pas les progrès des vitesses d’horloge des CPU Mémoire 100 Amélioration relative de la bande passante 1993 10,000 10 1,000 1989 L’amélioration en temps de latence équivaut à celle en bande passante CPU Clock Speed 100 Vitesse (MHz) 1985 1 DRAM Access Speed 10 1982 1	10	100 1990                            1997               	          2004 Amélioration relative du temps de latence Jason Patterson, « Modern Microprocessors » David Patterson, « LatencylagsBandwidth » Hardware : au seuil d’un changement de paradigme
L’architecture des CPU aujourd’huiLa chaleur devient un problème insurmontable Surface du soleil 10,000 1,000 100 10 1 Jet de gaz d’une fusée Réacteur nucléaire Pentium® Densité de puissance (W/cm2) 8086 Assiette chaude 4004 8085 8008 386 286 486 8080 1970	1980	1990	2000	2010 Intel Developer Forum, Printemps 2004 - Pat Gelsinger
Evolutions des CPU : 2004 - 2010 Discontinuité !  2008 : 8 cœurs, 16 processeurs logiques 2010 : 32 cœurs, 128 processeurs logiques Doublement de la densité par unité de surface tous les 18 mois 128 processeurs logiques par chip dans moins de 48 mois
Une vue à 5 ans… Intel Developer Forum Fall 2006
Etendue du spectre du parallélisme Parallélisme inter-nœuds Parallélisme intra-nœuds
La programmation parallèle reste un art difficile… Analyse des causes profondes des bogues Hot fixes pour Windows 2000 Les erreurs de parallélisme constituent les défauts les plus communs parmi les « erreurs détectables » 26 % des défauts analysés étaient des race conditions ou des deadlocks (14 parmi 52) Une synchronisation incorrecte et des erreurs de protocole constituent les défauts les plus communs parmi toutes les erreurs de codage 33 % des défauts analysés étaient dus à des erreurs de synchronisation ou de protocole (15 parmi 45) Défauts de Windows Server 2003 (en fin de cycle de développement) Les erreurs de synchronisation arrivent en second sur la liste, juste après les buffer overruns 13 % des défauts de fin de cycle de développement étaient dus à des erreurs de synchronisation Initiative « No hangs » 12 % des blocages signalés d’IE sont dus à des bogues de synchronisation   47% des blocages signalés de FrontPage sont dus à des bogues de synchronisation (XPSP1) Etudes internes de Microsoft Compilées par : Tony Andrews, James Larus, MadanMusuvathi, ShazQadeer, SriramK. Rajamani, Jakob Rehof
24 GHz, 1 Cœur  12 GHz, 1 cœur  6 GHz 1 Cœur  3 GHz, 4 Cœurs  3 GHz, 8 Cœurs 3 GHz 2 Cœurs  3GHz1 Cœur  Le changement est en marche 1 Cœur Pas de progrès sans effort pour le logiciel traditionnel (Sans un logiciel capable de fonctionner en parallèle, celui-ci n’ira pas plus vite !) Progrès sans peine pour logiciel classique (il s’exécute deux fois plus rapidement tous les 18 mois sans aucun changement !) 2 Cœurs Operations par seconde pour un code exécuté en série 4 Cœurs  8 Cœurs  Opérations supplémentaires par seconde si l’on peut tirer partie du parallélisme
Qu’est-ce qu’un processeur Many-Core ?Un System on a Chip, modulaire, hétégorène et multiprocesseur Serveur : 350 mm2, 120 W, 2000 $ Desktop : 200 mm2, 100 W, 400 $ Ultra-Mobile : 40 mm2, 5 W,  50 $ (2008 45 nm process)
Le Many-Core nécessite des ajustements à travers toute la pile Applications Construction d’applications parallèles Librairies Exécution d’applications parallèles à grain fin Langages, Compilateurs et  outils ConcurrencyRuntime Coordination des ressources système et des services OS/Hyperviseur Hardware
Les impacts sur les modèles de développement
Modèles de programmation Agents asynchrones (composition) Passages de message entre domaines isolés Programmation standard impérative pour réagir aux messages Tolérance à la latence par construction La parallélisme est relié à la structure du programme Collections parallèles (décomposition) Parallélisme des données imbriquée Utilisation opportuniste du parallélisme Constructions structurées qui conviennent la complexité Transactions (interactions) Remplacer les verrous par des concepts plus intentionnels Intégrer avec les actions distribuées au travers des agents Support spécial pour les mises à jour en mémoire
Le futur des outils de développement DSL
Les systèmes deviennent plus complexes Volume croissant Des données Du code Évolutivité croissante De la partie métier (mondialisation, concentrations, restructurations, …) De la partie plate-forme d’exécution Hétérogénéité croissante Des langages et des paradigmes Des supports de données et des protocoles d’accès d’ Des systèmes et des plates-formes Des technologies Le rythme d’arrivée des nouvelles technologies s’accélère Ce rythme ne se ralentira pas Les vielles technologies ne meurent pas, elles se cachent
Un exemple typique… Un jeune ingénieur en sortie de Bac+5 et ayant des connaissances de base en Java, XML et UML se voit invité, lors de son arrivée en entreprise et avant de commencer son travail, à lire le lundi le rapport public J2EE v1.4 de 228 pages Dans les six premières pages de ce rapport il est fait référence à : EJB, JSP, JMS, JMX, JCA, JAAS, JAXP, JDBC, JNDI Cette nouvelle version de J2EE est la version Web services et on suppose donc connus les concepts SOAP, SAAJ, JAX-RPC et JAXR Chacun des acronymes cités correspond à une spécification La spécification de EJB 2.1 correspond à un document PDF de 640 pages qui sera lu le mardi Le mercredi sera consacré à la lecture du document Servlet 2.4 PFD specification de 307 pages Le jeudi il s’attaque à la lecture du document JSP 2.0 PFD spécification de 374 pages Et ainsi de suite … Au bout d’un mois de lectures, notre ingénieur est enfin prêt à commencer le travail productif … D’après « Is complexityhurtingJava ? »  de Jason Weiss,  dans Java Developer’sJournal, Vol. 7, Issue 10, Octobre 2002. - 16 -
Croissance de la complexité des spécifications d’après Interactive-Objects
La crise du logiciel en chiffres Dépense de 250 milliards de $ par an sur du développement logiciel aux US (en moyenne 430 K$ à 2,3 M$ par projet) 16 % de ces projets sont terminés à temps tout en respectant leur budget  31 % de ces projets sont abandonnés principalement en raison de problèmes de qualité, pour une perte de 81 milliards de $ par an 53 % coûtent plus cher qu’attendu, dépassant leur budget de 189 % en moyenne, ce qui correspond à un perte de 59 milliards de $ par an Les projets qui se terminent délivrent en moyenne seulement 42% des fonctionnalités planifiées initialement Source : Standish Group 2004
D’après « Kurzweil, Moore, and Accelerating Change », IlkkaTuomi,  http://www.jrc.es/~tuomiil/articles/Kurzweil.pdf
Le développement logiciel comme un artisanat Travail intensif Outils génériques Processus génériques Applications uniques « Cousu main » depuis le début Réutilisation minime Débordements, défauts, trous de sécurité, échecs des projets
Que faire ? (… sachant que de ne rien faire est une option de plus en plus coûteuse et dangereuse) (… sachant que la complexité a atteint un tel niveau qu’il est hors de portée d’un seul individu d’avoir une vision globale sur un système en évolution) Accélérer encore la course aux nouvelles technologies dans l’espoir qu’une nouvelle solution magique se présente ? Fuite en avant ? Les technologies doivent être évaluées essentiellement pour leur capacité  d’intégration de maîtrise de la complexité
Usines à logiciel Processus spécifiques au domaine Outils & langages spécifique au domaine Contenu spécifique au domaine Automatise les tâches subalternes et machinales S’améliore grâce à l’expérience et la  mesure Des IDE d’usage général deviennent des usines à logiciel spécifiques au domaine
Augmenter le niveau d’abstraction « The history of programmingis an exercise in hierarchical abstraction. In eachgeneration, language designers produceconstructs for lessonslearned in the previousgeneration, and thenarchitects use them to build more complex and powerful abstractions. » (Smith and Stotts)
¶C(x)              h2¶ 2C(x) ¶ t                 2m     ¶ x2 ih             =   – Call Record base rate: £/s  call length store call jo      biscuits    24         green pat    cakes       32          pink Employee name address promote Job description pay assign 0..* Domain Specific Languages Déclaratif a>b && c==d <CallRecord>    <caller><number>07713248</number> Textuel Illustré classMagnox : NuclearPowerStation{ public voiddropRods () Procedural
Domain Specific Languages Focalisé sur un seul aspect de la construction d’application Succès significatif dans de larges domaines horizontaux : SQL, Windows Form Designer Conçu pour supporté les concepts définis par un framework sous-jacent Automatise les tâches machinales avec une génération efficace de code Améliore l’agilité au visualisant les concepts, en générant du code et d’autres artéfacts, permettant ainsi des itérations rapides Les construire doit être rapide, peu coûteux et facile
Les éléments d’un DSL Concepts et règles de bonne  formation Notations et mises en correspondance Sérialisation XML Artéfacts générés et reliés
Implémenter un DSL Concepteur du langage de modélisation (outil) Alimente la conception dulangage / outil Développeur Ajoute des détails au design c’est-à-dire des métadonnées supplémentaires pourconduire la génération du code Générer le code Concepteurde logiciels/ Systèmes Ajoute du code (optionnel)
Constuire une application 1. Créer des modèles 2. Stocker et partager ces modèles 4. Déployer, exécuter, gérer l’application 3. Ajouter des composants
Oslo en bref Services – étendre les services depuis le client à l’Internet Modèles – Faire des modèles un élément clé du développement APPLICATIONS SERVICES MODELES Oslo
Virtualisation du Datacenter aujourd'hui Gestion physique et virtuelle .NET IIS .NET Exchange Oracle Consolidation de serveur  Provisionnement accéléré PRA/PCA Dev/Test
L'émergence d'un datacenter dynamique Modèles Management Virtualisation d’applications .NET .NET Virtualisationdu hardware  Datacenters Physiques

Contenu connexe

En vedette

Nathan Stern Voisin-age
Nathan Stern Voisin-ageNathan Stern Voisin-age
Nathan Stern Voisin-age
Fing
 
Definiciones limite de unasucesión
Definiciones limite de unasucesiónDefiniciones limite de unasucesión
Definiciones limite de unasucesión
Isidorogg
 
PresentacióN De La Saligna
PresentacióN De La SalignaPresentacióN De La Saligna
PresentacióN De La Saligna
amiruchi
 
La pandémie de sida serait partie de Kinshasa dans les années 1920
La pandémie de sida serait partie de Kinshasa dans les années 1920La pandémie de sida serait partie de Kinshasa dans les années 1920
La pandémie de sida serait partie de Kinshasa dans les années 1920
morose jeune
 
OPEN DATA WEEK // Présentation du collectif Open Data France par Jean-Marie ...
OPEN DATA WEEK // Présentation du collectif Open Data France  par Jean-Marie ...OPEN DATA WEEK // Présentation du collectif Open Data France  par Jean-Marie ...
OPEN DATA WEEK // Présentation du collectif Open Data France par Jean-Marie ...
Fing
 
Comunicación en el matrimonio
Comunicación en el matrimonioComunicación en el matrimonio
Comunicación en el matrimonio
Rigoberto Morales
 

En vedette (20)

Bilan psdr-galliano
Bilan psdr-gallianoBilan psdr-galliano
Bilan psdr-galliano
 
Mémoire pdf
Mémoire pdfMémoire pdf
Mémoire pdf
 
Uso de facebook charla a padres de líderes - patricia osorio domínguez
Uso de facebook   charla a padres de líderes - patricia osorio domínguezUso de facebook   charla a padres de líderes - patricia osorio domínguez
Uso de facebook charla a padres de líderes - patricia osorio domínguez
 
Idris MEZABER - CV
Idris MEZABER - CVIdris MEZABER - CV
Idris MEZABER - CV
 
bienvenid@s
bienvenid@sbienvenid@s
bienvenid@s
 
Nathan Stern Voisin-age
Nathan Stern Voisin-ageNathan Stern Voisin-age
Nathan Stern Voisin-age
 
Definiciones limite de unasucesión
Definiciones limite de unasucesiónDefiniciones limite de unasucesión
Definiciones limite de unasucesión
 
Analyse et Optimisation des « Landing Pages » - SMX 2010
Analyse et Optimisation des « Landing Pages » - SMX 2010Analyse et Optimisation des « Landing Pages » - SMX 2010
Analyse et Optimisation des « Landing Pages » - SMX 2010
 
welcometutorial_fre
welcometutorial_frewelcometutorial_fre
welcometutorial_fre
 
PresentacióN De La Saligna
PresentacióN De La SalignaPresentacióN De La Saligna
PresentacióN De La Saligna
 
Beacons
BeaconsBeacons
Beacons
 
Produire un document audio accessible avec obi
Produire un document audio accessible avec obiProduire un document audio accessible avec obi
Produire un document audio accessible avec obi
 
Bosphoreen tuquie vera
Bosphoreen tuquie veraBosphoreen tuquie vera
Bosphoreen tuquie vera
 
End Note Psychomot 2010
End Note Psychomot 2010End Note Psychomot 2010
End Note Psychomot 2010
 
Aubade Paris
Aubade ParisAubade Paris
Aubade Paris
 
Valise a energie propre 2010
Valise a energie propre 2010Valise a energie propre 2010
Valise a energie propre 2010
 
La pandémie de sida serait partie de Kinshasa dans les années 1920
La pandémie de sida serait partie de Kinshasa dans les années 1920La pandémie de sida serait partie de Kinshasa dans les années 1920
La pandémie de sida serait partie de Kinshasa dans les années 1920
 
OPEN DATA WEEK // Présentation du collectif Open Data France par Jean-Marie ...
OPEN DATA WEEK // Présentation du collectif Open Data France  par Jean-Marie ...OPEN DATA WEEK // Présentation du collectif Open Data France  par Jean-Marie ...
OPEN DATA WEEK // Présentation du collectif Open Data France par Jean-Marie ...
 
Présentation prépa paces
Présentation prépa paces Présentation prépa paces
Présentation prépa paces
 
Comunicación en el matrimonio
Comunicación en el matrimonioComunicación en el matrimonio
Comunicación en el matrimonio
 

Similaire à Wygday 2008

Similaire à Wygday 2008 (20)

2012 02-09-eranea-presentation-jug-lausanne
2012 02-09-eranea-presentation-jug-lausanne2012 02-09-eranea-presentation-jug-lausanne
2012 02-09-eranea-presentation-jug-lausanne
 
La Duck Conf 2018 : "Une infrastructure peut en cacher une autre !"
La Duck Conf 2018 : "Une infrastructure peut en cacher une autre !"La Duck Conf 2018 : "Une infrastructure peut en cacher une autre !"
La Duck Conf 2018 : "Une infrastructure peut en cacher une autre !"
 
Virtualisation du Poste de Travail - Desktop as a Service - 16h - Atelier VDI...
Virtualisation du Poste de Travail - Desktop as a Service - 16h - Atelier VDI...Virtualisation du Poste de Travail - Desktop as a Service - 16h - Atelier VDI...
Virtualisation du Poste de Travail - Desktop as a Service - 16h - Atelier VDI...
 
Agl2012
Agl2012Agl2012
Agl2012
 
.NET Microframework, les joies de l'électronique et du code pour tous
.NET Microframework, les joies de l'électronique et du code pour tous.NET Microframework, les joies de l'électronique et du code pour tous
.NET Microframework, les joies de l'électronique et du code pour tous
 
Réussir une montée en charge avec MongoDB
Réussir une montée en charge avec MongoDBRéussir une montée en charge avec MongoDB
Réussir une montée en charge avec MongoDB
 
§G-VisualDECO
§G-VisualDECO§G-VisualDECO
§G-VisualDECO
 
Présentation Eranea à Open Source Now 2012
Présentation Eranea à Open Source Now 2012Présentation Eranea à Open Source Now 2012
Présentation Eranea à Open Source Now 2012
 
Systeme embarque
Systeme embarqueSysteme embarque
Systeme embarque
 
At2008 Grenoble Hugonnet Sanlaville Public
At2008 Grenoble Hugonnet Sanlaville PublicAt2008 Grenoble Hugonnet Sanlaville Public
At2008 Grenoble Hugonnet Sanlaville Public
 
.NET Microframework: du code, de l’électronique, de la robotique
.NET Microframework: du code, de l’électronique, de la robotique.NET Microframework: du code, de l’électronique, de la robotique
.NET Microframework: du code, de l’électronique, de la robotique
 
my_resume(fre)
my_resume(fre)my_resume(fre)
my_resume(fre)
 
Architecture logicielle #1 : introduction
Architecture logicielle #1 : introductionArchitecture logicielle #1 : introduction
Architecture logicielle #1 : introduction
 
Xml
XmlXml
Xml
 
Perfug BOF devoxx2017.pptx
Perfug BOF devoxx2017.pptxPerfug BOF devoxx2017.pptx
Perfug BOF devoxx2017.pptx
 
Gl intro
Gl introGl intro
Gl intro
 
Ecrire et déployer une appli PHP maintenable
Ecrire et déployer une appli PHP maintenableEcrire et déployer une appli PHP maintenable
Ecrire et déployer une appli PHP maintenable
 
Outils de construction pour la recherche
Outils de construction pour la rechercheOutils de construction pour la recherche
Outils de construction pour la recherche
 
20160216 - From BigData to BigProcessing
20160216 - From BigData to BigProcessing20160216 - From BigData to BigProcessing
20160216 - From BigData to BigProcessing
 
Entity framework core 2 vs micro orm performances
Entity framework core 2 vs micro orm performancesEntity framework core 2 vs micro orm performances
Entity framework core 2 vs micro orm performances
 

Plus de Gregory Renard

WygDay - Session Innovation xBrainLab
WygDay - Session Innovation xBrainLabWygDay - Session Innovation xBrainLab
WygDay - Session Innovation xBrainLab
Gregory Renard
 
Wygday 2009 Session Innovation
Wygday 2009   Session InnovationWygday 2009   Session Innovation
Wygday 2009 Session Innovation
Gregory Renard
 
Net 2007 Faire Du E Commerce Dans Les Mv
Net 2007   Faire Du E Commerce Dans Les MvNet 2007   Faire Du E Commerce Dans Les Mv
Net 2007 Faire Du E Commerce Dans Les Mv
Gregory Renard
 
Wygday Session PléNièRe (2)
Wygday Session PléNièRe (2)Wygday Session PléNièRe (2)
Wygday Session PléNièRe (2)
Gregory Renard
 
Wygday Session PléNièRe (1)
Wygday Session PléNièRe (1)Wygday Session PléNièRe (1)
Wygday Session PléNièRe (1)
Gregory Renard
 
Vs2008 Breakthrough Software Dev
Vs2008 Breakthrough Software DevVs2008 Breakthrough Software Dev
Vs2008 Breakthrough Software Dev
Gregory Renard
 
Visual Studio 2008 Overview
Visual Studio 2008 OverviewVisual Studio 2008 Overview
Visual Studio 2008 Overview
Gregory Renard
 
Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0
Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0
Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0
Gregory Renard
 
Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0
Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0
Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0
Gregory Renard
 
Visual Basic 9.0 Trucs Et Astuces Dans Visual Studio 2008
Visual Basic 9.0   Trucs Et Astuces Dans Visual Studio 2008Visual Basic 9.0   Trucs Et Astuces Dans Visual Studio 2008
Visual Basic 9.0 Trucs Et Astuces Dans Visual Studio 2008
Gregory Renard
 
Visual Basic 9.0 Trucs Et Astuces Dans Visual Studio 2008
Visual Basic 9.0   Trucs Et Astuces Dans Visual Studio 2008Visual Basic 9.0   Trucs Et Astuces Dans Visual Studio 2008
Visual Basic 9.0 Trucs Et Astuces Dans Visual Studio 2008
Gregory Renard
 
Techdays Visual Studio 2010
Techdays Visual Studio 2010Techdays Visual Studio 2010
Techdays Visual Studio 2010
Gregory Renard
 

Plus de Gregory Renard (20)

WygDay - Session Innovation xBrainLab
WygDay - Session Innovation xBrainLabWygDay - Session Innovation xBrainLab
WygDay - Session Innovation xBrainLab
 
WygDay 2010
WygDay 2010WygDay 2010
WygDay 2010
 
M Forum
M ForumM Forum
M Forum
 
Approach the future of tourism by the new Technologies
Approach the future of tourism by the new TechnologiesApproach the future of tourism by the new Technologies
Approach the future of tourism by the new Technologies
 
Approach the future of cities by the singularity of technologies !
Approach the future of cities by the singularity of technologies !Approach the future of cities by the singularity of technologies !
Approach the future of cities by the singularity of technologies !
 
Wygday 2009 Session Innovation
Wygday 2009   Session InnovationWygday 2009   Session Innovation
Wygday 2009 Session Innovation
 
Net 2007 Faire Du E Commerce Dans Les Mv
Net 2007   Faire Du E Commerce Dans Les MvNet 2007   Faire Du E Commerce Dans Les Mv
Net 2007 Faire Du E Commerce Dans Les Mv
 
Wygday Session PléNièRe (2)
Wygday Session PléNièRe (2)Wygday Session PléNièRe (2)
Wygday Session PléNièRe (2)
 
Wygday Session PléNièRe (1)
Wygday Session PléNièRe (1)Wygday Session PléNièRe (1)
Wygday Session PléNièRe (1)
 
Web Services
Web ServicesWeb Services
Web Services
 
Vs2008 Linq
Vs2008 LinqVs2008 Linq
Vs2008 Linq
 
Vs2008 Breakthrough Software Dev
Vs2008 Breakthrough Software DevVs2008 Breakthrough Software Dev
Vs2008 Breakthrough Software Dev
 
Vs2008 Ms Lux
Vs2008 Ms LuxVs2008 Ms Lux
Vs2008 Ms Lux
 
Visual Studio 2008 Overview
Visual Studio 2008 OverviewVisual Studio 2008 Overview
Visual Studio 2008 Overview
 
Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0
Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0
Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0
 
Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0
Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0
Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0
 
Visual Basic 9.0 Trucs Et Astuces Dans Visual Studio 2008
Visual Basic 9.0   Trucs Et Astuces Dans Visual Studio 2008Visual Basic 9.0   Trucs Et Astuces Dans Visual Studio 2008
Visual Basic 9.0 Trucs Et Astuces Dans Visual Studio 2008
 
Visual Basic 9.0 Trucs Et Astuces Dans Visual Studio 2008
Visual Basic 9.0   Trucs Et Astuces Dans Visual Studio 2008Visual Basic 9.0   Trucs Et Astuces Dans Visual Studio 2008
Visual Basic 9.0 Trucs Et Astuces Dans Visual Studio 2008
 
Tour Horizont.Net
Tour Horizont.NetTour Horizont.Net
Tour Horizont.Net
 
Techdays Visual Studio 2010
Techdays Visual Studio 2010Techdays Visual Studio 2010
Techdays Visual Studio 2010
 

Wygday 2008

  • 2. La loi de Moore et ses conséquences… http://public.itrs.net/
  • 3. 10,000 Microprocesseur 2001 Réseau 1,000 Intel Cancels Top-Speed Pentium 4 Chip Thu Oct 14, 6:50 PM ET Technology - Reuters Intel …canceled plans to introduceitshighest-speed desktop computer chip, ending for now a 25-yearrunthat has seen the speeds of Intel'smicroprocessorsincrease by more than 750 times. 1997 Disques Architecture d’aujourd’hui : Le temps d’accès mémoire ne soutient pas les progrès des vitesses d’horloge des CPU Mémoire 100 Amélioration relative de la bande passante 1993 10,000 10 1,000 1989 L’amélioration en temps de latence équivaut à celle en bande passante CPU Clock Speed 100 Vitesse (MHz) 1985 1 DRAM Access Speed 10 1982 1 10 100 1990 1997 2004 Amélioration relative du temps de latence Jason Patterson, « Modern Microprocessors » David Patterson, « LatencylagsBandwidth » Hardware : au seuil d’un changement de paradigme
  • 4. L’architecture des CPU aujourd’huiLa chaleur devient un problème insurmontable Surface du soleil 10,000 1,000 100 10 1 Jet de gaz d’une fusée Réacteur nucléaire Pentium® Densité de puissance (W/cm2) 8086 Assiette chaude 4004 8085 8008 386 286 486 8080 1970 1980 1990 2000 2010 Intel Developer Forum, Printemps 2004 - Pat Gelsinger
  • 5. Evolutions des CPU : 2004 - 2010 Discontinuité ! 2008 : 8 cœurs, 16 processeurs logiques 2010 : 32 cœurs, 128 processeurs logiques Doublement de la densité par unité de surface tous les 18 mois 128 processeurs logiques par chip dans moins de 48 mois
  • 6. Une vue à 5 ans… Intel Developer Forum Fall 2006
  • 7. Etendue du spectre du parallélisme Parallélisme inter-nœuds Parallélisme intra-nœuds
  • 8. La programmation parallèle reste un art difficile… Analyse des causes profondes des bogues Hot fixes pour Windows 2000 Les erreurs de parallélisme constituent les défauts les plus communs parmi les « erreurs détectables » 26 % des défauts analysés étaient des race conditions ou des deadlocks (14 parmi 52) Une synchronisation incorrecte et des erreurs de protocole constituent les défauts les plus communs parmi toutes les erreurs de codage 33 % des défauts analysés étaient dus à des erreurs de synchronisation ou de protocole (15 parmi 45) Défauts de Windows Server 2003 (en fin de cycle de développement) Les erreurs de synchronisation arrivent en second sur la liste, juste après les buffer overruns 13 % des défauts de fin de cycle de développement étaient dus à des erreurs de synchronisation Initiative « No hangs » 12 % des blocages signalés d’IE sont dus à des bogues de synchronisation  47% des blocages signalés de FrontPage sont dus à des bogues de synchronisation (XPSP1) Etudes internes de Microsoft Compilées par : Tony Andrews, James Larus, MadanMusuvathi, ShazQadeer, SriramK. Rajamani, Jakob Rehof
  • 9. 24 GHz, 1 Cœur 12 GHz, 1 cœur 6 GHz 1 Cœur 3 GHz, 4 Cœurs 3 GHz, 8 Cœurs 3 GHz 2 Cœurs 3GHz1 Cœur Le changement est en marche 1 Cœur Pas de progrès sans effort pour le logiciel traditionnel (Sans un logiciel capable de fonctionner en parallèle, celui-ci n’ira pas plus vite !) Progrès sans peine pour logiciel classique (il s’exécute deux fois plus rapidement tous les 18 mois sans aucun changement !) 2 Cœurs Operations par seconde pour un code exécuté en série 4 Cœurs 8 Cœurs Opérations supplémentaires par seconde si l’on peut tirer partie du parallélisme
  • 10. Qu’est-ce qu’un processeur Many-Core ?Un System on a Chip, modulaire, hétégorène et multiprocesseur Serveur : 350 mm2, 120 W, 2000 $ Desktop : 200 mm2, 100 W, 400 $ Ultra-Mobile : 40 mm2, 5 W, 50 $ (2008 45 nm process)
  • 11. Le Many-Core nécessite des ajustements à travers toute la pile Applications Construction d’applications parallèles Librairies Exécution d’applications parallèles à grain fin Langages, Compilateurs et outils ConcurrencyRuntime Coordination des ressources système et des services OS/Hyperviseur Hardware
  • 12. Les impacts sur les modèles de développement
  • 13. Modèles de programmation Agents asynchrones (composition) Passages de message entre domaines isolés Programmation standard impérative pour réagir aux messages Tolérance à la latence par construction La parallélisme est relié à la structure du programme Collections parallèles (décomposition) Parallélisme des données imbriquée Utilisation opportuniste du parallélisme Constructions structurées qui conviennent la complexité Transactions (interactions) Remplacer les verrous par des concepts plus intentionnels Intégrer avec les actions distribuées au travers des agents Support spécial pour les mises à jour en mémoire
  • 14. Le futur des outils de développement DSL
  • 15. Les systèmes deviennent plus complexes Volume croissant Des données Du code Évolutivité croissante De la partie métier (mondialisation, concentrations, restructurations, …) De la partie plate-forme d’exécution Hétérogénéité croissante Des langages et des paradigmes Des supports de données et des protocoles d’accès d’ Des systèmes et des plates-formes Des technologies Le rythme d’arrivée des nouvelles technologies s’accélère Ce rythme ne se ralentira pas Les vielles technologies ne meurent pas, elles se cachent
  • 16. Un exemple typique… Un jeune ingénieur en sortie de Bac+5 et ayant des connaissances de base en Java, XML et UML se voit invité, lors de son arrivée en entreprise et avant de commencer son travail, à lire le lundi le rapport public J2EE v1.4 de 228 pages Dans les six premières pages de ce rapport il est fait référence à : EJB, JSP, JMS, JMX, JCA, JAAS, JAXP, JDBC, JNDI Cette nouvelle version de J2EE est la version Web services et on suppose donc connus les concepts SOAP, SAAJ, JAX-RPC et JAXR Chacun des acronymes cités correspond à une spécification La spécification de EJB 2.1 correspond à un document PDF de 640 pages qui sera lu le mardi Le mercredi sera consacré à la lecture du document Servlet 2.4 PFD specification de 307 pages Le jeudi il s’attaque à la lecture du document JSP 2.0 PFD spécification de 374 pages Et ainsi de suite … Au bout d’un mois de lectures, notre ingénieur est enfin prêt à commencer le travail productif … D’après « Is complexityhurtingJava ? » de Jason Weiss, dans Java Developer’sJournal, Vol. 7, Issue 10, Octobre 2002. - 16 -
  • 17. Croissance de la complexité des spécifications d’après Interactive-Objects
  • 18. La crise du logiciel en chiffres Dépense de 250 milliards de $ par an sur du développement logiciel aux US (en moyenne 430 K$ à 2,3 M$ par projet) 16 % de ces projets sont terminés à temps tout en respectant leur budget 31 % de ces projets sont abandonnés principalement en raison de problèmes de qualité, pour une perte de 81 milliards de $ par an 53 % coûtent plus cher qu’attendu, dépassant leur budget de 189 % en moyenne, ce qui correspond à un perte de 59 milliards de $ par an Les projets qui se terminent délivrent en moyenne seulement 42% des fonctionnalités planifiées initialement Source : Standish Group 2004
  • 19. D’après « Kurzweil, Moore, and Accelerating Change », IlkkaTuomi, http://www.jrc.es/~tuomiil/articles/Kurzweil.pdf
  • 20. Le développement logiciel comme un artisanat Travail intensif Outils génériques Processus génériques Applications uniques « Cousu main » depuis le début Réutilisation minime Débordements, défauts, trous de sécurité, échecs des projets
  • 21. Que faire ? (… sachant que de ne rien faire est une option de plus en plus coûteuse et dangereuse) (… sachant que la complexité a atteint un tel niveau qu’il est hors de portée d’un seul individu d’avoir une vision globale sur un système en évolution) Accélérer encore la course aux nouvelles technologies dans l’espoir qu’une nouvelle solution magique se présente ? Fuite en avant ? Les technologies doivent être évaluées essentiellement pour leur capacité d’intégration de maîtrise de la complexité
  • 22. Usines à logiciel Processus spécifiques au domaine Outils & langages spécifique au domaine Contenu spécifique au domaine Automatise les tâches subalternes et machinales S’améliore grâce à l’expérience et la mesure Des IDE d’usage général deviennent des usines à logiciel spécifiques au domaine
  • 23. Augmenter le niveau d’abstraction « The history of programmingis an exercise in hierarchical abstraction. In eachgeneration, language designers produceconstructs for lessonslearned in the previousgeneration, and thenarchitects use them to build more complex and powerful abstractions. » (Smith and Stotts)
  • 24. ¶C(x) h2¶ 2C(x) ¶ t 2m ¶ x2 ih = – Call Record base rate: £/s  call length store call jo biscuits 24 green pat cakes 32 pink Employee name address promote Job description pay assign 0..* Domain Specific Languages Déclaratif a>b && c==d <CallRecord> <caller><number>07713248</number> Textuel Illustré classMagnox : NuclearPowerStation{ public voiddropRods () Procedural
  • 25. Domain Specific Languages Focalisé sur un seul aspect de la construction d’application Succès significatif dans de larges domaines horizontaux : SQL, Windows Form Designer Conçu pour supporté les concepts définis par un framework sous-jacent Automatise les tâches machinales avec une génération efficace de code Améliore l’agilité au visualisant les concepts, en générant du code et d’autres artéfacts, permettant ainsi des itérations rapides Les construire doit être rapide, peu coûteux et facile
  • 26. Les éléments d’un DSL Concepts et règles de bonne formation Notations et mises en correspondance Sérialisation XML Artéfacts générés et reliés
  • 27. Implémenter un DSL Concepteur du langage de modélisation (outil) Alimente la conception dulangage / outil Développeur Ajoute des détails au design c’est-à-dire des métadonnées supplémentaires pourconduire la génération du code Générer le code Concepteurde logiciels/ Systèmes Ajoute du code (optionnel)
  • 28. Constuire une application 1. Créer des modèles 2. Stocker et partager ces modèles 4. Déployer, exécuter, gérer l’application 3. Ajouter des composants
  • 29. Oslo en bref Services – étendre les services depuis le client à l’Internet Modèles – Faire des modèles un élément clé du développement APPLICATIONS SERVICES MODELES Oslo
  • 30. Virtualisation du Datacenter aujourd'hui Gestion physique et virtuelle .NET IIS .NET Exchange Oracle Consolidation de serveur Provisionnement accéléré PRA/PCA Dev/Test
  • 31. L'émergence d'un datacenter dynamique Modèles Management Virtualisation d’applications .NET .NET Virtualisationdu hardware Datacenters Physiques

Notes de l'éditeur

  1. Agents are “parallel by construction”