Rational France - Livre Blanc - Des techniques de développement multicoeur de pointe pour la nouvelle génération des systèmes électroniques
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Rational France - Livre Blanc - Des techniques de développement multicoeur de pointe pour la nouvelle génération des systèmes électroniques

on

  • 704 views

 

Statistics

Views

Total Views
704
Views on SlideShare
704
Embed Views
0

Actions

Likes
0
Downloads
3
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Rational France - Livre Blanc - Des techniques de développement multicoeur de pointe pour la nouvelle génération des systèmes électroniques Document Transcript

  • 1. IBM Software ElectroniqueRationalDes techniques de développementmulticoeur de pointe pour la nouvellegénération de systèmes électroniques
  • 2. 2 Des techniques de développement multicoeur de pointe pour la nouvelle génération de systèmes électroniquesIntroduction équipes développement de tirer parti des nouvelles technologies multicoeur, ainsi que d’un système automatiséLa miniaturisation reste le moteur de l’industrie permettant de réutiliser le logiciel à noyau unique pour desélectronique. Les dimensions des facteurs de forme des systèmes multicoeur, ce qui vous permet à la fois dêtre à laappareils et de leurs composants de base se réduisent au fur pointe de votre secteur et de réaliser des économies deet à mesure de l’amélioration des capacités et des temps et dargent de façon drastique par réutilisation desperformances. systèmes existants.Les appareils électroniques deviennent aussi des élémentsd’un écosystème fortement interconnecté du fait des liens de Les perspectives offertes par lecommunication qui viennent le compléter. Les constructeurs multicoeurde matériel électronique adoptent des processeurs La tendance est à l’amélioration des performances et auxmulticoeur, un système de traitement composé de deux ou économies dénergie, à la réduction des coûts sur les plates-plusieurs cœurs indépendants,1 pour faire profiter de ces formes informatiques utilisées pour fabriquer des produitsprogrès à leurs produits de nouvelle génération. électroniques de pointe. Il a été de tradition de pousser les processeurs pour améliorer les performances en augmentantAvec l’expansion continue des processeurs multicoeur dans le nombre de transistors sur une microplaquette et lales matériels électroniques - PC, téléphones portables, jeux fréquence de l’horloge, même en remettant en question la loiélectroniques, équipement de réseau, systèmes de régulation de Moore.2 La tendance ne s’est pas inversée, mais pour faireindustrielle et maintenant l’équipement médical – les un véritable bond en avant en termes de gestion desexigences du développement logiciel pour ces systèmes sont performances et de puissance, il faut innover dans le domainede première importance dans lindustrie de lélectronique. des technologies multicoeur.Les avantages des architectures multicoeur sont nombreux :meilleure performance, une moindre consommation Les systèmes multicoeur sont économes en énergie etdénergie, des coûts réduits et une plus grande flexibilité, fonctionnent généralement à des fréquences d’horloge plusmais ne sont véritablement dégagés quà la condition de lentes, ce qui permet daméliorer nettement la durée de viedévelopper le logiciel adapté. De nombreux développeurs de des batteries et de réduire la production de chaleur. Leslogiciel dans l’industrie de l’électronique actuelle manquent températures de fonctionnement des refroidisseurs signifientde compétences pour élaborer un logiciel optimisé pour le que les entreprises peuvent faire appel à des groupesmulticoeur. La complexité des architectures multicoeur peut refroidisseurs sans ventilateurs, plus silencieux, à meilleuraussi avoir une croissance exponentielle lorsque le nombre rendement énergétique. Il est possible dadopter des appareilsde cœurs passe de deux à quatre jusqu’à trente-deux cœurs ; dont les facteurs de formes sont plus petits, ce qui réduit leautrement dit, les moyens traditionnels de développement nombre de processeurs distincts en faveur dun nombrene peuvent plus évoluer. La seule façon de traiter la réduit de processeurs multicoeur. Les environnementscomplexité consiste à automatiser le système et adopter un multicoeur offrent aussi la possibilité de disposer d’unlangage multi-niveaux qui permet d’automatiser le véritable système de fonctionnement multitâche etdéveloppement du logiciel sur différents noyaux. Le délai de daméliorer très nettement les performances des applicationscommercialisation étant un facteur de différenciation par rapport à des environnements monocoeur, qui peuventcritique dans l’industrie de l’électronique, tenir les délais atteindre très vite le seuil d’utilisation d’une unité centrale.limite de mise sur le marché passe par l’utilisation d’un code Une véritable mise en parallèle est maintenant possiblesource logiciel existant dans lorganisation. Il sagit toutefois, lorsquon gère une charge croissante dapplications à fortedans la plupart des cas, dun code en langage source mono- puissance. L’équilibrage des charges et la séparation de lacœur, non optimisé pour une technologie multicoeur. fonctionnalité du système avec les technologies multicoeurCe Livre blanc IBM® Rational® traite des méthodes de permettent en outre d’améliorer la robustesse et la sécuritédéveloppement de pointe des logiciels qui permettent à vos du système.
  • 3. IBM Software 3Des PC et des stations de travail aux smartphones et communication inter-tâches et l’affectation des tâchesportables haut de gamme, la demande des utilisateurs pour centrales deviennent des facteurs de réussite essentiels pourdes performances, une durée de vie des batteries en le développement de lapplicatif. Il importe de plus en plusconstante amélioration et des fonctions avancées a conduit de réutiliser toutes les tâches et tous les composants desles fabricants à créer et livrer des produits faisant appel à systèmes à forte puissance logicielle.des technologies multicoeur. La prochaine générationd’appareils électroniques personnels et de produits plus Il faut faire appel à des outils de refactorisation quiintelligents fera appel à des environnements multicoeur réorganisent les applications existantes pour les fairepour offrir une connectivité, une réactivité, une facilité tourner sur la nouvelle architecture multicoeur afin de tirerdutilisation et des applications à forte productivité encore parti des améliorations des performances de base deaméliorées à une clientèle de plus en plus férue de nouvelles larchitecture parallèle et, surtout, afin dassurer leur bontechnologies. Le logiciel sera l’élément vital pour tenir les fonctionnement. Ce qui a tourné sans problème et en toutepromesses du multicoeur, et la réussite ou l’échec repose sécurité sur un système monocoeur, même avec un systèmevisiblement sur l’équipe du logiciel embarqué. dexploitation multitâches, pourrait savérer défectueux, voire dangereux dans l’architecture parallèle proposé par unLes défis à relever avec le multicoeur système multicoeur.Les promesses offertes par les technologies multicoeur sont Le déboguage et les tests s’avèrent encore plus vitaux lorssynonymes de coûts et de risque importants pour les du développement d’un logiciel vers un système multicoeur.équipes développement actuelles. Les environnements Les techniques traditionnelles de déboguage au niveau desmulticoeur complexifient encore plus la conception et la codes sources et d’essais en phase finale ne peuvent évoluerfourniture de produits et les applications à forte dans la plupart des cas vers des environnements multicoeur.concentration de logiciels qui les pilotent. Il faut faire des De nouvelles techniques et de nouveaux environnements dechoix concernant la distribution des ressources et des tests s’avèrent nécessaires pour assurer le bon fonction-fonctionnalités, affectant larchitecture des produits. Pour nement du logiciel et le niveau de fonctionnalité requis.les concepteurs de systèmes, les décisions sur le nombre réelde processeurs, de noyaux requis, les caractéristiques dusystème d’exploitation (symétrique ou asymétrique) et Les systèmes IBM Rational pour évoluerl’intergiciel sont plus difficiles à prendre. Côté logiciel, les vers le multicoeurconcepteurs doivent tenir compte des nouveaux problèmes Nous recommandons trois méthodes pour unrelatifs au découpage des applications, à la communication développement efficace du système multicoeur :entre noyaux et entre tâches, et l’évolutivité du modèle dansun système multicoeur. Les fonctions du(des) système(s) • Etudier les options possibles pour évaluer les solutionsd’exploitation et l’intergiciel potentiel utilisés rendent alternatives ;encore plus complexe la conception du logiciel dans son • Utiliser le logiciel existant pour accélérer leensemble. développement ; • Automatiser la création du logiciel pour améliorer laLes entreprises qui passent à une technologie multicoeur qualité.vont devoir faire évoluer l’ensemble des compétences deleurs équipes de conception de logiciels. La mise en Etudier les options possibles pour évaluer les solutionsparallèle doit devenir la norme, il faut modifier la méthode alternativesde construction de leurs applications pour tirer pleinement Réutiliser simplement un logiciel existant pour ladapter à unparti de l’architecture parallèle disponible dans un processeur multicoeur peut en fait aboutir à le faire tournerenvironnement multicoeur. Les critères relatifs à une plus à la même vitesse, voire plus lentement.3 Ceci est dû au faitlarge utilisation de nombreuses tâches, des systèmes de que les noyaux actuels sont généralement plus lents, pris
  • 4. 4 Des techniques de développement multicoeur de pointe pour la nouvelle génération de systèmes électroniquesindividuellement, que celui du processeur dorigine. Cela se l’environnement opérationnel à noyau unique actuel,vérifie notamment par le fait que les données partagées et pourrait même tourner correctement dans le nouvelpeuvent ralentir la communication. Toute l’application environnement multicoeur. Il vous faut conserver sa valeurpourrait même tourner à la vitesse d’un noyau unique. en le réutilisant autant que possible, et vous devez faire enL’étude des différentes options possibles est essentielle pour sorte daméliorer ses performances et le faire évoluer pourévaluer des solutions alternatives et faire en sorte que lon satisfaire aux exigences de son nouvel environnement.obtiendra les améliorations souhaitées en termes deperformance, de vitesse et dutilisation des ressources. Le développement pour un système multicoeur sappuyant sur une approche orientée-modèle offre dimportantesLa modélisation de l’architecture logicielle de votre produit possibilités de réutilisation de votre logiciel actuel.et la création de différentes fonctions afin qu’il puisse De la simple visualisation de la structure et des relations dutourner sur plusieurs noyaux sont vitales pour le succès de logiciel et de ses composants jusquà la refactorisation dusa mise en œuvre. Les tâches actuelles sont appliquées aux code source pour optimiser le déploiement vers unnoyaux, auxquelles viennent s’ajouter des tâches environnement multicoeur, à une intégration et unesupplémentaires, si nécessaire. La modélisation vous permet extension dans le cadre d’une conception et d’uneaussi de mieux appréhender la façon d’optimiser les architecture d’applications tout à fait nouvelles, lensemblecommunications entre les tâches et les opérations intégrées doutils approprié basé sur des modèles pourra nettementdans vos applications. accélérer vos possibilités de réutiliser le logiciel qui a fait ses preuves dans votre entreprise.Une autre méthode clé consiste à simuler le modèle quevous avez créé afin de vérifier le bon fonctionnement de La visualisation de votre logiciel d’applications actuell’ensemble comme prévu. Sans cette simulation, il vous faut dégage des gains immédiats en vous permettant de mieuxespérer que le logiciel fonctionnera. comprendre la façon dont sont structurés le logiciel et les interactions des composants. Elle vous permet didentifierLors de l’étude des différentes options possibles, le modèle les critères optimaux et inférieurs à la norme de votrevous permet de documenter les raisons pour lesquelles vous modèle et de générer la documentation du modèle actuelavez pris certaines décisions. Il importe aussi de comparer pour déterminer plus facilement la meilleure façon dutiliservotre modèle aux spécifications d’origine. Comprendre les le code source dans le nouveau modèle, sans même devoir leaspects en temps réel des exigences vous permet de décider changer. Ce code source visualisé peut être destiné aude la nature des tâches à mettre en correspondance avec nouvel environnement multicoeur et vous pourrez étudiezchaque noyau. Par exemple, il est possible que vous n’ayez les différentes options possibles pour décider du meilleurpas besoin de prévoir l’interface utilisateur du logiciel sur sort réservé à l’application, soit sa réutilisation telle quelle,les mêmes noyaux que les composants de contrôle en temps soit sa refactorisation.réel ou de contrôle critique. Si vous estimez finalement que le logiciel actuel ne tourneIl importe de mener l’étude des différentes options possibles pas aussi bien dans le nouvel environnement ou que sonpour comprendre les fonctions de quel élément de votre architecture est insuffisante pour lenvironnementlogiciel doivent passer sur certains noyaux. A défaut, vous multicoeur, la refactorisation est une solution valable. Enne pourrez pas tout simplement évaluer les meilleures important le code source comme éléments modèles, il estsolutions alternatives et être certain du fonctionnement possible de le refactoriser et le régénérer pour la prise enoptimal de vos applications sur les noyaux. charge dune architecture d’application de meilleure qualité, adaptée à la technologie multicoeur. La modélisation et laUtiliser le logiciel actuel pour accélérer le développement génération automatique du code source permettent uneVotre produit actuel pourrait déjà très bien tourner avec le refactorisation peu coûteuse du code source existant pour lalogiciel d’application actuel. Il tourne bien dans réécriture de l’application.
  • 5. IBM Software 5Enfin, vous pouvez utiliser les composants du logiciel actuel l’utilisation de modèles et la génération automatisée dessur de nouveaux modèles et de nouvelles applications créés codes source. Ceci permet de visualiser le modèle et lapour les produits destinés à un environnement multicoeur. duplication de ce modèle dans le code source généré. LorsIci également, les capacités de visualisation, de du transfert d’une tâche d’un noyau à un autre, il estrefactorisation et de génération automatique intégrées à un possible de régénérer la modification du modèle et de leoutil performant de développement basé sur des modèles transcrire dans un code spécifique au nouveau noyau, sirenforcent votre capacité de décision pour leur réutilisation. nécessaire, même s’il utilise un système dexploitationIl est possible d’écrire de nouvelles applications destinées différent ou sil doit utiliser un protocole différent pouraux produits, ce qui réduit la nécessité de reprendre la communiquer à des tâches sur le noyau dorigine. Ceciconception de zéro. Les composants réutilisés peuvent aussi nécessite généralement un codage manuel du changement,se prévaloir dune bonne réussite avec les produits mais pour une application modélisée, ce changementantérieurs, leurs comportements sont connus et testés, ce sopère normalement par simple affectation des fonctions àqui limite les tâches de nouveaux tests et de nouveau laide des capacités de génération automatique dun outil dedéboguage par rapport à leur performance dans le cadre de développement basé sur un modèle prenant en compte lela nouvelle application. reste de la conversion. A chaque phase du développement, la modélisation et la génération du code source sont duneAvec le passage à un nouveau matériel, la réutilisation d’un importance vitale pour aider les développeurs à tester etcode source récupéré est toujours déterminante, car trop développer leurs applications multicoeur. Ceci se vérifielaborieuse pour tout réécrire. En outre, disposer d’un code notamment sur les marchés sensibles aux délais, commesource déjà testé est vital pour l’exécution d’un projet dans l’industrie de l’électronique.les délais impartis. La visualisation graphique du codesource réutilisable vous aide à comprendre la façon de Conclusionl’adapter à la fonctionnalité que vous ajoutez lors du passage Vu la tendance à commercialiser des produits innovants età une nouvelle plate-forme multicoeur. différenciés dans des délais plus courts, l’industrie de l’électronique dans son ensemble adoptera de plus en plus leAutomatiser la production dun logiciel pour améliorer laqualité système informatique multicoeur afin de tirer les bénéfices dune meilleure performance, d’une plus faibleDu fait d’un environnement fortement parallèle inhérent à consommation d’énergie, d’une plus longue durée de vie desl’environnement multicoeur, les communications entre batteries, d’une réduction des coûts et d’une plus grandetâches dans une application et entre applications revêtent souplesse. Mais ces retombées bénéfiques impliquentune importance capitale dans la réussite du développement obligatoirement une architecture du logiciel correspondantde ces applications. Les tâches doivent communiquer dans adaptée à la technologie multicoeur. On peut utiliserla plupart des situations avec différents systèmes lorsqu’elles plusieurs méthodes de pointe pour simplifier et accélérer lepassent du noyau unique de résidence à différents noyaux. développement logiciel pour le multicoeur. LeCette forte dépendance à des communications performantes développement basé sur des modèles permet auxaugmente l’intérêt de disposer de bonnes interfaces entre les concepteurs de logiciels de mener des études sur lestâches et d’utiliser un environnement de modélisation différentes options possibles de la technologie multicoeur,permettant de générer automatiquement les systèmes de visualiser et refactoriser le code source pour assurer unesupports. meilleure réutilisation, et générer automatiquement le code source en fonction de la configuration du matériel et desLa compréhension, la spécification et l’exploration protocoles de communication utilisés.complètes des solutions impliquant le passage à un matérielet des protocoles de communication différents nécessitent
  • 6. Pour en savoir plus…Sur les techniques de développement multicoeur, contactezvotre représentant ou votre chargé d’affaires IBM,ou visitez le site : ibm.com/software/rational/info/multicore/Les solutions de financement proposées par IBM Global © Copyright IBM Corporation 2011Financing permettent également d’assurer une gestion efficace Compagnie IBM Francede la trésorerie, de se protéger de lobsolescence 17 Avenue de lEuropetechnologique, daméliorer le coût total de propriété et le 92 275 Bois-Colombes Cedexretour sur investissement. Nos Services Mondiaux de Imprimé en FranceReconstitution de l’actif financier permettent également de Mars 2011traiter les problèmes liés à l’environnement grâce à de Tous droits réservés.nouvelles solutions plus économes en énergie. IBM, le logo IBM, ibm.com, et Rational sont des marquesPour de plus amples informations sur IBM Global Financing, commerciales ou des marques déposées d’International Business Machines Corporation, aux Etats-Unis, dans d’autres pays, ou aussivisitez le site : ibm.com/financing. bien aux Etats-Unis que dans d’autres pays. Si ces termes et dautres termes IBM de marques commerciales sont signalés à leur première apparition dans la présente publication par un symbole de marque déposée (® ou ™), ces symboles indiquent des marques déposées ou des marques commerciales relevant du droit coutumier des Etats- Unis, qui sont la propriété d’IBM à la date de publication du présent document. Il est possible que ces marques commerciales soient aussi des marques déposées ou relevant du droit coutumier dans d’autres pays. Une liste actuelle des marques commerciales IBM est disponible sur Internet à la page « Informations sur les droits de reproduction et les marques commerciales » sur le site ibm.com/legal/copytrade.shtml D’autres noms de sociétés, de produits ou de services peuvent être des marques commerciales ou des marques de service de tiers. Les renvois dans la présente publication à des produits ou des services IBM n’impliquent pas l’intention d’IBM de les rendre accessibles à tous les pays où opère IBM. Les informations contenues dans cette publication sont données uniquement à titre indicatif. En dépit de tous les efforts mis en œuvre pour vérifier l’exhaustivité et l’exactitude des informations contenues dans cette publication, elles sont fournies « telles que d’origine » sans garantie dune quelconque nature, expresse ou implicite. Ces informations sont également basées sur les programmes et la stratégie produits actuels dIBM, susceptibles dêtre modifiés par IBM sans préavis. IBM ne sera pas tenu responsable du préjudice causé par l’utilisation ou lié à l’utilisation de ce document ou de tout autre documentation. Aucun élément contenu dans la présente publication nest destiné, ni na pour effet de créer des garanties ou des représentations de la part d’IBM (ou de ses fournisseurs ou donneurs de licence), ou d’altérer les termes et conditions du contrat de licence en vigueur régissant lutilisation des logiciels IBM. 1 http://en.wikipedia.org/wiki/Multicore_processor 2 http://en.wikipedia.org/wiki/Moore’s_law 3 http://www.forbes.com/2009/11/23/google-microsoft-programming- technology-cio-network-multicore-hardware.html Recyclable, merci de recycler RAW14209-FRFR-00