Bertrand - Consultant C C++
Ref : 181206D001-
34090 MONTPELLIER
-
Consultant, Développeur (58 ans)
-
Freelance
Senior Research Engineer, Open Software Foundation Research Institute
Grenoble, FRANCE - 1995 - 2003
Après avoir identifié très tôt Java comme une technologie clé : consultant, chef de projet et ingénieur de recherche pour tous les projets liés aux machines virtuelles Java (portages deHotJava aux systèmes UNIX classiques ou embarqués, compilateurs...)
Senior Research Engineer, Sun Microsystems Research Laboratories
Grenoble, FRANCE - 2003 - 2010
Supervision technique pour la mise en œuvre de la Spécification Java Temps-Réel (RTSJ) sur différentes machines virtuelles Java (CLDC et JavaSE ). Travail personnel sur les problèmes les plus complexes (verrous PIP corrects mais efficaces, extensions du ramasse-miette, invention et implémentation d’un nouveau ramasse-miette temps-réel strict destiné à de gros serveurs multiprocesseurs...). Présentations à quelques
conférences et dans différentes universités françaises.
Formations pour nos clients et conseil en cas de problèmes bloquant lors de l'utilisation de RTSJ dans divers domaines (bourse, avionique, centrales électriques...)
Consulting Member of Technical Staff(grade technique le plus élevé), Oracle Grenoble, FRANCE - 2010-2016
Participation accrue à ‘ JavaSE embedded’ après l'acquisition par Oracle:
- portages de HotSpot sur ARM /PowerPC, Travaillant sur les aspects les plus complexes (synchronisation, JSR292, GarbageFirst , ‘weak memory model’, ...).
- conception et implémentation d'une solution suffisamment efficace pour adapter HotSpot aux systèmes d’exploitation interdisant la génération dynamique de code (comme iOS).
Freelance, ********, Bertrand ******** Software Solutions Montpellier , FRANCE - 2016-
Recherche, développement et dépannage de logiciels complexes:
- aide en amont (design, analyse des solutions envisagées, planification ...)
- prototypage rapide ou développement à distance de fonctionnalités complexes
- solutionnage rapide de problèmes logiciels bloquant
Projets Remarquables
Ramasse-miette temps-réel strict
Ramasse-miette complètement asynchrone, garantissant des temps de pause inférieurs à 1milli-seconde sur des serveurs multiprocesseurs.
Code prégénéré pour HotSpot
Minimisation des changements nécessaires à HotSpot pour fonctio ner assez efficacement sur iOS , adressant le fait qu’iOS ne permet pas de générer dynamiquement du code. Application
de la solution à l'interpréteur et au compilateur C1 (transformant le JIT en un compilateur AOT).
Utilisé pour la version propriétaire Oracle dans le produit ADF pour iOS.
Réimplémentation complète d’une machine virtuelle STIP
Machine virtuelle CDC pour terminaux de paiement , basée sur les spécifications STIP et JEFF.
Héritant du rôle de responsable de la spécification JEFF au sein du J-consortium, un format de distribution pour applications Java adapté aux systèmes avec très peu de mémoire vive.
Education
Docteur en informatique, INPG, Grenoble, 1990-1994
« E-unification en démonstration automatique », une solution pragmatique
basée sur l’utilisation de résultats partiels d'un problème indécidable pour accélérer des démonstrations automatiques.
Ingénieur informatique ENSIMAG, Grenoble, 1988 -1990
Spécialisation en informatique après l’Ecole Polytechnique
Ingénieur Ecole Polytechnique , Palaiseau, 1985-1988
Mineur en sciences informatiques
Compétences
●Apprenant très rapide: assimilant tout nouveau problème ou technologie.
●Inventif: innovant personnellement ou contribuant activement aux groupes de réflexion.
●Analytique : capable d’anticiper les problèmes en tenant compte du contexte.
●Pragmatique : solutionnant dans les temps des tâches très complexes.
●Attentif aux détails: capable d'identifier et d’éviter les problèmes rares.
●Langages de programmation: C ++, assembleurs (x86, SPARC, ARM, bytecode),
scripts shell, Java ...
●Divers: machines virtuelles Java , concurrence, temps-réel , haute disponibilité,
systèmes embarqués, mobile, ramasse-miettes, compilateurs JIT et AOT, ...
● Langues: français (langue maternelle), anglais (courant), espagnol (scolaire).
Publications
●TurboJ, a Java Bytecode-to-Native Compiler, LCTES 1998
●JCOD: A Lightweight Modular Compilation Technology for Embedded Java, EMSOFT’02
●Mackinac: Making HotSpot Real-Time, ISORC 2005
●Présentations à des conférences , universités françaises, clients et prospects
BrevetsMethod and system for pre-marking objects for concurrent garbage collection
Amélioration de l’algorithme de marquage pour réduire le coût des barrières sur l’application
System and Method for Asynchronous Parallel Garbage Collection
Parallélisation efficace des activitées du ramasse-miette et de celles de l’application Java
Executable Code For Constrained Computing Environments
Idée de base du projet ci-dessous « Code prégénéré pour HotSpot »