Transcript
Page 1: Logiciels libres en milieu industriel

Ce do

cume

nt es

t le pr

oprié

té de

CIO

Infor

matiq

ue In

dustr

ielle

et ne

peut

être d

iffusé

sans

son a

utoris

ation

écrite

Conférence le libre en milieu industriel - Solutions Linux 2007 - 30 Janvier 2007

Le libre en milieuLe libre en milieuindustrielindustriel

Retour d'expériencesRetour d'expériences

Page 2: Logiciels libres en milieu industriel

Ce do

cume

nt es

t le pr

oprié

té de

CIO

Infor

matiq

ue In

dustr

ielle

et ne

peut

être d

iffusé

sans

son a

utoris

ation

écrite

Conférence le libre en milieu industriel - Solutions Linux 2007 - 30 Janvier 2007

CIO Informatique Industrielle

Société d'ingénierie en informatique industrielle et technique

Au service de nos clients depuis 1990

Une équipe de 15 spécialistes pour accompagner les projets industriels ou militaires

La culture des systèmes ouverts et normalisés, l'expertise de l'embarqué et du temps réel

Investissement sur Linux depuis 2000

Siège à St Etienne

Agence à Marseille

Membre de Libertis, association de SSLL en région PACA

http://www.libertis.org

Page 3: Logiciels libres en milieu industriel

Ce do

cume

nt es

t le pr

oprié

té de

CIO

Infor

matiq

ue In

dustr

ielle

et ne

peut

être d

iffusé

sans

son a

utoris

ation

écrite

Conférence le libre en milieu industriel - Solutions Linux 2007 - 30 Janvier 2007

Linux en milieu industriel

Des caractéristiques séduisantes pour les besoins industriels : Possibilité de développement croisé

Adaptation de l'OS pour devices réduits

Solutions pour prise en compte de contraintes temps réel

Très grand nombre d'architectures supportées

Linux disponible sur les 5 architectures les plus utilisées

Processeur utilisé dans les applications embarquées(Embedded Linux Market Survey 2005 LinuxDevices.com)

Page 4: Logiciels libres en milieu industriel

Ce do

cume

nt es

t le pr

oprié

té de

CIO

Infor

matiq

ue In

dustr

ielle

et ne

peut

être d

iffusé

sans

son a

utoris

ation

écrite

Conférence le libre en milieu industriel - Solutions Linux 2007 - 30 Janvier 2007

Linux chez CIO

Projets types : Logiciels sur cahier des charges pour des clients du monde industriel ou de la défense

Comportent généralement des aspects temps réel et/ou embarqué, et des interactions avec le monde réel

OS utilisés jusqu'en 2000 :Windows pour les IHM et quelques projets de contrôle/commande

RTOS traditionnels tels OS9, VxWorks, QNX etc....

Action volontariste en direction de Linux à partir de 2000

Démarche basée sur :Connaissance préalable d'Unix

Intuition que la puissance d'Unix sur des bases matérielles accessibles (PC) serait une association intéressante.

Page 5: Logiciels libres en milieu industriel

Ce do

cume

nt es

t le pr

oprié

té de

CIO

Infor

matiq

ue In

dustr

ielle

et ne

peut

être d

iffusé

sans

son a

utoris

ation

écrite

Conférence le libre en milieu industriel - Solutions Linux 2007 - 30 Janvier 2007

Linux chez CIO

Une démarche en 3 temps :Prise en compte de la technologie sur projet de R&D interne

Communication sur Linux auprès de la clientèle, beaucoup d'intérêt mais peu de projets

Décollage important des projets industriels en Linux

2000 2002 2004 20060

10

20

30

40

50

60

70

80

90

100

Projets basés sur Linux

% C.A.

Page 6: Logiciels libres en milieu industriel

Ce do

cume

nt es

t le pr

oprié

té de

CIO

Infor

matiq

ue In

dustr

ielle

et ne

peut

être d

iffusé

sans

son a

utoris

ation

écrite

Conférence le libre en milieu industriel - Solutions Linux 2007 - 30 Janvier 2007

Linux chez CIO

Montée en puissance en plusieurs phases :Remplacement d'OS spécialisés et propriétaires sur architecture 68K, PowerPC par Linux sur architecture X86 (banalisation des composants issus du monde PC)

Essaimage sur d'autres architectures

Actuellement utilisé sur :Projets embarqués sur X86, PowerPC, Arm, bientôt FPGA et micro contrôleurs (2007)

Projets temps réel avec extensions RTAI et Xenomai

Présentation de quelques projets

Page 7: Logiciels libres en milieu industriel

Ce do

cume

nt es

t le pr

oprié

té de

CIO

Infor

matiq

ue In

dustr

ielle

et ne

peut

être d

iffusé

sans

son a

utoris

ation

écrite

Conférence le libre en milieu industriel - Solutions Linux 2007 - 30 Janvier 2007

Le projet : Contrôle/Commande sur Linux/RTAI

Buts du projet :Contrôler une machine de production à partir d'un PC industriel sous Linux (machine d'usinage)

Projet pilote pour valider la technologie Linux chez le client

Projet réalisé en 2001

Page 8: Logiciels libres en milieu industriel

Ce do

cume

nt es

t le pr

oprié

té de

CIO

Infor

matiq

ue In

dustr

ielle

et ne

peut

être d

iffusé

sans

son a

utoris

ation

écrite

Conférence le libre en milieu industriel - Solutions Linux 2007 - 30 Janvier 2007

Les contraintes du projet

Nécessité d'un déterminisme temps réel Évaluation des solutions compatibles avec un déterminisme à la milliseconde

Masquage des aspects informatiques de la solutionPas de processus d'installation complexe

Résistance aux coupures brutales

Stabilité des solutions retenues

Page 9: Logiciels libres en milieu industriel

Ce do

cume

nt es

t le pr

oprié

té de

CIO

Infor

matiq

ue In

dustr

ielle

et ne

peut

être d

iffusé

sans

son a

utoris

ation

écrite

Conférence le libre en milieu industriel - Solutions Linux 2007 - 30 Janvier 2007

Les choix de design

DéterminismeEvaluation des solutions possibles : patches du kernel, RTLinux, RTAI

Patches disponibles permettent seulement du soft temps réel, insuffisant

RTAI plus riche au niveau API que RTLinux, retenu

RobustesseEviter les corruptions de File System dûes aux arrêts brutaux (pas encore de File System journalisé)

File System monté en Ram Disk

Une partie minimale du File System sur disque dur pour mise à jour des données variables

InstallationInstallation de l'OS et de l'applicatif en 1 seule passe (3 disquettes d'installation)

Page 10: Logiciels libres en milieu industriel

Ce do

cume

nt es

t le pr

oprié

té de

CIO

Infor

matiq

ue In

dustr

ielle

et ne

peut

être d

iffusé

sans

son a

utoris

ation

écrite

Conférence le libre en milieu industriel - Solutions Linux 2007 - 30 Janvier 2007

Les difficultés rencontrées

Complexité due à RTAI Développement en mode kernel

Pas de protection mémoire (similaire à certains OS temps réel)

Debug plus difficilePossibilité de plantage complet du système(amélioré depuis en « trappant » les exceptions)

Design de l'application réparti entre Linux et RTAI

Communication avec l'extérieur sous Linux

Processus de contrôle commande sous RTAIEchanges entre parties RTAI (modules kernel) et process Linux par des mécanismes d'IPC

Absence de drivers RTAIMigration des drivers Linux vers RTAI

Page 11: Logiciels libres en milieu industriel

Ce do

cume

nt es

t le pr

oprié

té de

CIO

Infor

matiq

ue In

dustr

ielle

et ne

peut

être d

iffusé

sans

son a

utoris

ation

écrite

Conférence le libre en milieu industriel - Solutions Linux 2007 - 30 Janvier 2007

Les difficultés rencontrées

Allocateur mémoire RTAINécessité d'allouer dynamiquement de la mémoire partagée entre Linux et RTAI

RTAI propose 2 allocateurs

Allocateur dynamique pour mémoire interne à RTAIAllocateur non dynamique pour mémoire partagée entre RTAI et Linux

CIO crée un nouvel allocateur, synthèse des 2 allocateurs existants

Illustration concrète des avantages de l'Open Source

Documentation pas toujours à jour

Page 12: Logiciels libres en milieu industriel

Ce do

cume

nt es

t le pr

oprié

té de

CIO

Infor

matiq

ue In

dustr

ielle

et ne

peut

être d

iffusé

sans

son a

utoris

ation

écrite

Conférence le libre en milieu industriel - Solutions Linux 2007 - 30 Janvier 2007

Les aspects positifs

Solution réellement temps réel : temps de cycle de 1ms strictement respecté

Solution facilement embarquableEmpreinte disque inférieure à 3 Mo

Empreinte mémoire de l'ordre de quelques Mo

Accessibilité des sources de la plateforme systèmePossibilité de correction de bugs bloquants

Possibilité de customisation pour besoins propres (nouvel allocateur)

Page 13: Logiciels libres en milieu industriel

Ce do

cume

nt es

t le pr

oprié

té de

CIO

Infor

matiq

ue In

dustr

ielle

et ne

peut

être d

iffusé

sans

son a

utoris

ation

écrite

Conférence le libre en milieu industriel - Solutions Linux 2007 - 30 Janvier 2007

Le projet : Portage OS9 vers Linux

Buts du projet :Remplacement d'une architecture ancienne 68K/OS9 par une architecture PowerQuick/Linux

Assurer la faisabilité et estimer les coûts de portage sur une partie de l'application du client (pile de gestion SNMP de l'équipement)

Projet réalisé fin 2004

Page 14: Logiciels libres en milieu industriel

Ce do

cume

nt es

t le pr

oprié

té de

CIO

Infor

matiq

ue In

dustr

ielle

et ne

peut

être d

iffusé

sans

son a

utoris

ation

écrite

Conférence le libre en milieu industriel - Solutions Linux 2007 - 30 Janvier 2007

La démarche

Travailler au niveau système pour minimiser les coûts de portage Basée sur une bonne connaissance des OS de départ et d'arrivée

Création de wrappers sous forme de fichiers headers ou de librairie de transition

1ère phase de portage sur un PC LinuxFacilité de développement et de debug

Pas besoin de hardware spécifique au niveau applicatif

2ème phase de passage sur le hardware définitifProcesseur PowerQuick (architecture PowerPC)

Page 15: Logiciels libres en milieu industriel

Ce do

cume

nt es

t le pr

oprié

té de

CIO

Infor

matiq

ue In

dustr

ielle

et ne

peut

être d

iffusé

sans

son a

utoris

ation

écrite

Conférence le libre en milieu industriel - Solutions Linux 2007 - 30 Janvier 2007

Les difficultés rencontrées

Qualité du code source initial :Compilateur OS9 laxiste (car ancien)

Compilateur GCC actuel beaucoup moins tolérant

Des portions de code à reprendre pour passer la compilation

Problèmes d'alignement des structures de données :Différences d 'alignement entre compilateurs OS9 et Linux

Problème pour les échanges sur le réseau

Pas de mise des données au format réseau :Problème révélé par la phase 1 de travail sur PC Linux (Intel vs Motorola)

Passage de toutes les données réseau par les routines de mise au format réseau (htonl, htons, ntohl, ntohs etc...)

Page 16: Logiciels libres en milieu industriel

Ce do

cume

nt es

t le pr

oprié

té de

CIO

Infor

matiq

ue In

dustr

ielle

et ne

peut

être d

iffusé

sans

son a

utoris

ation

écrite

Conférence le libre en milieu industriel - Solutions Linux 2007 - 30 Janvier 2007

Les difficultés rencontrées

Modèle de mémoireApplication multi tâches avec de nombreuses structures de données partagées

OS9 utilisé en mémoire à plat – Linux impose une mémoire segmentée

Les structures de données partagées véhiculent des pointeurs

Les zones de mémoire partagées sont situées à des adresses différentes selon les process Linux incohérence des pointeurs

2 solutions :

Remplacer les pointeurs par des offsets

Mapper les mémoires partagées à la même adresse pour tous les process

2nde solution adoptée pour minimiser la réécriture, mais solution moins sûre (mapping dépendant de l'évolution de chaque process)

Page 17: Logiciels libres en milieu industriel

Ce do

cume

nt es

t le pr

oprié

té de

CIO

Infor

matiq

ue In

dustr

ielle

et ne

peut

être d

iffusé

sans

son a

utoris

ation

écrite

Conférence le libre en milieu industriel - Solutions Linux 2007 - 30 Janvier 2007

Les difficultés rencontrées

Utilisation massive de signaux et d'alarmes temporelles :OS9 permet un très grand nombre de signaux users, et de multiples alarmes armées en parallèle

Nécessité de multiplexer les signaux users sous Linux

Traitement des alarmes temporelles dans des threads d'alarme

Page 18: Logiciels libres en milieu industriel

Ce do

cume

nt es

t le pr

oprié

té de

CIO

Infor

matiq

ue In

dustr

ielle

et ne

peut

être d

iffusé

sans

son a

utoris

ation

écrite

Conférence le libre en milieu industriel - Solutions Linux 2007 - 30 Janvier 2007

Les aspects positifs

Démarche en 2 phases (PC puis PowerQuick) réussie code portable sur toute architecture Linux

Confort de la mise au point sur le PC de développement, en natif

Peu de reprise du code applicatifReprises liées au changement de compilateur (modulo la solution retenue pour la mapping mémoire)

Traitement « en transparence » du changement d'OS au niveau du fichier header et de la librairie de transition

Validation de la faisabilité de porter d'un RTOS assez spécifique à Linux (modèle mémoire, signaux, alarmes etc...)

Portage réalisé dans les budgets initialement prévus possibilité d'extrapoler le coût du portage global de l'application

Page 19: Logiciels libres en milieu industriel

Ce do

cume

nt es

t le pr

oprié

té de

CIO

Infor

matiq

ue In

dustr

ielle

et ne

peut

être d

iffusé

sans

son a

utoris

ation

écrite

Conférence le libre en milieu industriel - Solutions Linux 2007 - 30 Janvier 2007

Le projet : Redondance Ethernet

Buts du projet :Développer un équipement assurant la redondance d'un réseau Ethernet

La redondance doit rester transparente aux applications (déjà existantes)

Le matériel doit être très facilement modifiable (architecture processeur, facteur de forme etc...)

Équipement réalisé à partir d'une CPU et de 3 ports réseau Ethernet

Page 20: Logiciels libres en milieu industriel

Ce do

cume

nt es

t le pr

oprié

té de

CIO

Infor

matiq

ue In

dustr

ielle

et ne

peut

être d

iffusé

sans

son a

utoris

ation

écrite

Conférence le libre en milieu industriel - Solutions Linux 2007 - 30 Janvier 2007

Le concept

Trafic normalTrafic redondé

Duplication du trafic

Filtrage des paquets dupliqués

Page 21: Logiciels libres en milieu industriel

Ce do

cume

nt es

t le pr

oprié

té de

CIO

Infor

matiq

ue In

dustr

ielle

et ne

peut

être d

iffusé

sans

son a

utoris

ation

écrite

Conférence le libre en milieu industriel - Solutions Linux 2007 - 30 Janvier 2007

Pourquoi Linux ?

Le client souhaitait disposer du code source de l'ensemble du logiciel :

Système

Applicatif

Possibilité de réaliser le produit avec le maximum d'ouvertureChoix de la CPU le plus large possible (Intel, PPC, Arm)

Couverture la plus large possible en terme de chipset Ethernet

Nécessité d'une application totalement enfouie :Logiciel boite noire

Temps de démarrage réduit

Logiciel assimilable à un firmware

Qualité des stacks réseau de Linux

Page 22: Logiciels libres en milieu industriel

Ce do

cume

nt es

t le pr

oprié

té de

CIO

Infor

matiq

ue In

dustr

ielle

et ne

peut

être d

iffusé

sans

son a

utoris

ation

écrite

Conférence le libre en milieu industriel - Solutions Linux 2007 - 30 Janvier 2007

La mise en oeuvre

Projet réalisé sur :Architecture PowerQuick (PPC) : CPU disposant de 3 ports Ethernet

Architecture Intel : CPU + carte réseau Ethernet additionnelle dans rack Compact PCI

Application travaillant au niveau 802.3 en mode promiscuous

Génération de trames au format TCP/IP pour supervision de l'équipement

1ère version développée de manière classique, sous forme de processus

2nde version développée sous forme de kernel module pour optimiser la performance

Nécessité de modifier légèrement le code d'un driver Ethernet pour exploiter le mode promiscuous

Page 23: Logiciels libres en milieu industriel

Ce do

cume

nt es

t le pr

oprié

té de

CIO

Infor

matiq

ue In

dustr

ielle

et ne

peut

être d

iffusé

sans

son a

utoris

ation

écrite

Conférence le libre en milieu industriel - Solutions Linux 2007 - 30 Janvier 2007

La mise en oeuvre

Réalisation d'une empreinte de faible taille pour flashage

File system Linux minimal avec lancement de l'application de gestion de la redondance, aucune interaction avec un utilisateur

Pas d'adresse IP au niveau de l'équipement pour permettre un remplacement sans reconfiguration

Page 24: Logiciels libres en milieu industriel

Ce do

cume

nt es

t le pr

oprié

té de

CIO

Infor

matiq

ue In

dustr

ielle

et ne

peut

être d

iffusé

sans

son a

utoris

ation

écrite

Conférence le libre en milieu industriel - Solutions Linux 2007 - 30 Janvier 2007

Les aspects positifs

Application effectivement portable :Réalisée sur architecture PPC et Intel

Drivers Ethernet internes au PowerQuick (FEC) et Intel EtherExpress Pro utilisés

Temps de mise en route très court :Quinzaine de secondes pour Linux et applicatif

Temps du BIOS sur architecture Intel incompressible

Image compacte flashable dans quelques Mo, application totalement enfouie

Très peu de perte de bande passante ou de retard induit dans la version optimisée (module kernel)

Page 25: Logiciels libres en milieu industriel

Ce do

cume

nt es

t le pr

oprié

té de

CIO

Infor

matiq

ue In

dustr

ielle

et ne

peut

être d

iffusé

sans

son a

utoris

ation

écrite

Conférence le libre en milieu industriel - Solutions Linux 2007 - 30 Janvier 2007

Quelques autres projets concrets

Boîtier enregistreur pour l'industrie automobile :CPU PC104 + carte DSP + carte CAN sous Linux 2.4 + RTAI, portage des drivers + squelette applicatif

Appareil d'analyse médicale :CPU ARM, Linux 2.6 + librairies graphiques légères, génération et installation de l'environnement, automatisation de la création de l'image

Concentrateur de données embarqué sur engin militaireCartes VME PowerPC sous Linux 2.6, drivers + applicatif

Nouvelle carte basée sur processeur XScaleDéveloppements système : Bootloader, Boot Linux, drivers

Création du File System de base incluant services réseau, paramétrage Web, supervision SNMP

Page 26: Logiciels libres en milieu industriel

Ce do

cume

nt es

t le pr

oprié

té de

CIO

Infor

matiq

ue In

dustr

ielle

et ne

peut

être d

iffusé

sans

son a

utoris

ation

écrite

Conférence le libre en milieu industriel - Solutions Linux 2007 - 30 Janvier 2007

La gestion des évolutions

Politique de versions :Ne pas courir derrière la nouveauté

Attendre des versions de kernel mineure suffisamment stables (> 15)

Geler au maximum une version validée, et n'en changer qu'en cas de bug bloquant

En cas de bug bloquant, plusieurs possibilités :Correction par soi même à partir des sources

Application sélective de patch(s) pour corriger localement le bug

Changement global de version

Page 27: Logiciels libres en milieu industriel

Ce do

cume

nt es

t le pr

oprié

té de

CIO

Infor

matiq

ue In

dustr

ielle

et ne

peut

être d

iffusé

sans

son a

utoris

ation

écrite

Conférence le libre en milieu industriel - Solutions Linux 2007 - 30 Janvier 2007

Synthèse

Intérêt de l'Open Source pour la possibilité d'accès aux sourcesCompréhension / mise au point, corrections etc...

Ne pas tomber dans une analyse exhaustive du source (un industriel n'est pas une université !!!)

Richesse des outils de génie logiciel liés au monde LinuxDoxygen pour la documentation

CVS pour gestion de version etc...

Une plateforme technique arrivée à maturitéPour l'embarqué

Support de multiples architectures

Possibilité de viser quelques Mo de Flash et de RAM (ex: 8 Mo Flash/16 Mo RAM)

Pour le temps réel, mais au prix de l'utilisation d'extensions si l'on vise du temps réel dur

Page 28: Logiciels libres en milieu industriel

Ce do

cume

nt es

t le pr

oprié

té de

CIO

Infor

matiq

ue In

dustr

ielle

et ne

peut

être d

iffusé

sans

son a

utoris

ation

écrite

Conférence le libre en milieu industriel - Solutions Linux 2007 - 30 Janvier 2007

Synthèse

Gratuité des outils de développement issus du monde libre

Pas de risque lié à l'évolution commerciale d'une sociétéRachat

Changement de stratégie

Déplacement des coûts de l'acquisition d'outils à l'acquisition de compétences

Fort potentiel technique des solutions, dynamisme du développement

Phase d'apprentissage à prévoir : ne pas réinventer la roue, support différent du modèle traditionnel etc....

Absence d'interlocuteur central, mais possibilité d'appui par la communauté ou des sociétés spécialisées telle CIO

Page 29: Logiciels libres en milieu industriel

Ce do

cume

nt es

t le pr

oprié

té de

CIO

Infor

matiq

ue In

dustr

ielle

et ne

peut

être d

iffusé

sans

son a

utoris

ation

écrite

Conférence le libre en milieu industriel - Solutions Linux 2007 - 30 Janvier 2007

Pour aller plus loin

Pour toute information complémentaire :Visitez notre site Web http://www.cioinfoindus.fr

Contactez nous :

Tél : 04 95 05 19 41Mail : mailto:[email protected]

Possibilité d'envoi des slides de la présentation sur demande

Page 30: Logiciels libres en milieu industriel

Ce do

cume

nt es

t le pr

oprié

té de

CIO

Infor

matiq

ue In

dustr

ielle

et ne

peut

être d

iffusé

sans

son a

utoris

ation

écrite

Conférence le libre en milieu industriel - Solutions Linux 2007 - 30 Janvier 2007

Questions ?


Recommended