Zheng - Architecte C

Ref : 140413L002
Photo de Zheng, Architecte C
Compétences
Expériences professionnelles
  • Depuis 12/2012 : Consultant senior ALTIM-France

    02/2013-03/2014, Ingénieur senior chez SoftAtHome
    SoftAtHome est un éditeur de plateformes logicielles permettant aux opérateurs d'offrir des applications
    convergentes pour la maison numérique. Dans le cadre STB (Set Top Box) de SoftAtHome, j’ai participé deux
    projets opensource DLNA et Universal Video Player.

    1) Opensource DLNA SoftAtHome
    Missions :
    · Éducation et comparaison des projets opensource DLNA et UPnP existants
    · Analyse de l’architecture du DLNA SoftAtHome actuelle et identification des modules cibles à
    remplacer ou à ré-écrire
    · Proposition de la méthode du remplacement pour chaque module cible
    · Analyse et spécification des impacts extérieur et intérieur du remplacement
    · Évaluation et amélioration de l'architecture DLNA SoftAtHome
    · Support web service

    2) Développement du support de différents multimédias ( PCM, FLAC, OGG et MPEG) pour
    SoftAtHome Universal Video Player basé sur le projet Gstreamer
    Missions :
    · Éducation des algorithmes et les plugins Gstreamer correspondants
    · Développement et intégration des plugins dans la cadre STB SoftAtHome
    · Validation et optimisation (qualité, vitesse) des plugins sur STB
    · Éducation, développement, intégration et validation de la audio-conversion et du audio-resampling
    Environnement : Linux; C, C++, Python; GCC, GDB; Pthread ; Wireshark, DLNA CTT, upnp inspector

    12/2012-01/2013, Architecte/ingénieur chez microfilm (le premier projet au forfait de l'ALTIM)
    Microflims est le leadeur dans le domaine du drone camera-télévision. Dans ce projet, j’ai réalisé un logiciel qui
    contrôle le camera en mode Speed et en mode Position.
    Missions :
    · Études et conception de l’algorithme
    · Développement, intégration, test et optimisation du logiciel qui contrôle le mouvement du camera
    Environnement : windows; C, C++, microchip

    ¨ 04/2010 – 11/2012: Ingénieur de recherche expert / INRIA / (2 ans 8 mois)
    Sujets principaux : Systèmes énergétiques efficaces, systèmes hétérogènes, programmations parallèles

    1) Membre du projet Customisation de HiPEAC
    Customisation est un projet dans le cadre du cluster « Conception et Simulation » de HiPEAC. La loi de
    Moore n'est pas encore terminée, mais nous commençons à sentir la pression (la performance, surtout
    l'énergie). Les contraintes énergétiques appellent à la « customisation » et donc multi-coeur hétérogènes, une
    combinaison des coeurs et accélérateurs.
    Missions :
    · Conception et réalisation d'une interface mémoire entre accélérateurs et système de mémoire
    - analyse des approches existantes, proposition de la nouvelle approche
    - spécification, conception, codage, test, évaluation et optimisation
    · Conception d'une approche de programmation pour multi-coeur hétérogènes
    - analyse des approches existantes, proposition de la nouvelle approche
    · Comparaison de la consommation énergétique des accélérateurs reconfigurables et des processeurs
    embarqués généraux
    - construction de simulateurs de processeurs embarqués généraux sur la plate-forme Gem5
    - conception et implémentation des moniteurs pour recueillir des informations d'exécution
    - évaluation de la consommation énergétique des processeurs embarqués généraux avec McPAT
    Environnement : Linux; C, C++, SystemC, Verilog; Verilator, gem5, UNISIM, McPAT/CACTI, SVN

    2) Membre et chef du projet archexplorer de HiPEAC ( ********/ )
    ArchExplorer est une web plateforme qui vise à faciliter une comparaison équitable et quantitative des idées
    architecturales en fournissant des implémentations référentielles en fonction de la performance, de la
    puissance, et de la taille. Cela permet de choisir la meilleure conception de processeurs parmi les variations
    innombrables de microarchitecture et la meilleure combinaison des options de compilation.
    Missions :
    · Conception et réalisation des ‘wrappers’ afin de standardiser les interfaces des composants
    - conception, codage, test
    · Définition et mis en production des nouvelles demandes
    · Maintenance du site web et du cluster de simulation
    Environnement : Linux; C, C++, SystemC, UNISIM, SVN

    ¨ 10/2006 – 03/2010: Chercheur d octorant / INRIA et STMicroelectronics / (3 ans 6 mois)
    Lors du travail de ma thèse, j'ai effectué plusieurs projets en parallèle dans le domaine de l'architecture des
    processeurs(multi-coeur) et de modèles de programmation parallèle.

    1) CAPSULE : (********/)
    CAPSULE est un environnement/modèle visant à faciliter la programmation parallèle et améliorer les
    performances des applications.
    Participants : Inria, STMicroelectronics, LIP6
    Missions :
    · Optimisation de la version logicielle de CAPSULE pour CMP générique
    · Implémentation de CAPSULE sur simulateur UNISIM
    - Linux syscalls, gestion de la mémoire, Pthreads, primitives de CAPSULE
    · Conception et réalisation du support architecturale pour CAPSULE sur multi-coeur ‘scalable’
    - spécification, conception, codage et test d'un NoC(Network on Chip) intelligent
    - conception, codage et test des primitives de 'probe' et de 'division'
    - validation, évaluation et optimisation du système avec benchmarks
    Environnement : Linux; C, C++; Pthread, Cilk, Charm++, Capsule; GCC, GDB, Cross compilateurs

    2) UNISIM (UNIted SIMulation environment) : (********/)
    Unisim est une plateforme de simulation structurale et une bibliothèque de composants de
    processeurs avec simulations au niveau cycle et TLM.
    Participants : Inria, CEA-List, Gent University, Princeton University
    Missions :
    · Conception et réalisation d’un NoC ‘scalable’ pour l’architecture multi-coeur
    - conception, codage, test, évaluation et optimisation
    · Développement du protocole de la cohérence de cache
    - conception, codage, test
    · Conception et réalisation du simulateur du processeur ST231 (VLIW) au niveau cycle et niveau TLM
    - pipeline, jeu d'instructions, appels système, gestion de la mémoire etc
    - conception, codage, test
    · Construction de simulateurs multi-coeur basés sur NoCs
    Environnement : Linux; Assembly(ST231), C, C++, System C, Python; GCC, GDB, Cross compilateurs

    3) RNTL-APE (Applications Parallèles pour l'Embarqué):
    APE est une approche de parallélisation pour les applications embarquées, et un benchmark des
    applications parallèles pour systèmes embarqués.
    Participants : STMicroelectronics, Inria, Thalès, CEA, ENSTA, LIP6
    Missions :
    · Conception et réalisation d'un benchmark parallèle en 4 versions (Pthread, CAPSULE, Clik, Charm++)
    - 2 applications : Gzip, Watershed (complètement réécrit)
    - 5 noyaux : matrice, matrice creuse, quicksort, dijikstra, connected components
    - conception, codage, test, évaluation et optimisation
    Environnement : Linux; C, C++; Pthread, Cilk, Charm++, Capsule; GCC, GDB, Cross compilateurs

    4) SoCLib : (********/)
    SocLib est une plateforme pour le prototypage virtuel de système sur puce/chip. Le noyau de la
    plateforme est une bibliothèque de modèles de simulation SystemC pour les composants virtuels (IP
    cores)
    Participants : 9 instituts académiques dont Inria et 5 participants industriels dont Thales, BULL et
    STMicroelectronics
    Missions :
    · Développement et intégration du simulateur de ST231
    · Revue du projet
    Environnement : Linux; C, C++, Python, System C; GCC, GDB, Cross compilers

    ¨ 04/2006 - 09/2006 : Ingénieur programmation parallèle / Stage master / LIP6 / (6 mois)
    Sujet : Étude d’environnements de programmation parallèle pour le développement d'applications logicielles
    destinées à des architectures MPSoC
    Missions :
    · Étudier des environnements de programmation parallèle existants et choisir les environnements vivants et
    adaptés aux architectures de MPSOC
    · Comparer les avantages et désavantages des environnements choisis (Clik, CHARM++ et CAPSULE)
    · Valider la conclusion avec 3 kernels (matrice, matrice crease, quicksort)
    Environnement : Linux; C, C++ ; Pthread, Clik, Charm++, Capsule

    ¨ 07/2005 - 08/2005 : Ingénieur d’étude / Stage d'été / LIP6 / (2 mois)
    Projet : Modélisation d'un système logiciel sur puce orienté « télécommunications »
    Missions :
    · Étude l'architecture MPSOC orienté "télécommunications"
    · R&D un simulateur en C++ basé sur les composants SocLib
    · R&D d'un canal de communication MWMR (multi-writer / multi-reader)
    · Validation du canal MWMR et du simulateur avec un générateur de paquets
    Environnement : Linux; C, C++

    ¨ 07/1999 - 06/2003 : Chef de projet et ingénier senior / Neusoft / (4 ans)
    Neusoft est le plus grand fournisseur de solutions et services informatiques en Chine, actuellement, emploie
    plus de 20000 collaborateurs dans le monde (********). Au sien du département Autoradio, qui a
    pour activité principale le développement des logiciels pour les autoradios ALPINE, j'ai participe à 5 projets.
    Résumé Missions :
    · R&D des logiciels de l’autoradio ALPINE pour BMW, Mercedes-Benz, TOYOTA et HYUNDAI
    · Gestion de projet (20 ingénieurs, CMM 5)

    01/2002-06/2003 : ‘ 03 DVD F#1 ’ (200 person months, le plus haut niveau SQ)
    ‘ MOBIS OEM ’ (160 person months, pour Hyundai )
    Missions : Chef de projet
    · Analyse du besoin (au Japon) :étudier les besoins du marché, définir les fonctions du produit
    · Gestion de projet (CMM-5) :planification du projet, gestion de la configuration, gestion des
    exigences, gestion des risques, surveillance et contrôle des projets, analyse causale et résolution
    · Gestion de la qualité logicielle (CMM-5)
    · Spécification, Conception du système / Conception architecturale
    · Test du système
    · Revues des conceptions (système et modules), revues des codes, revue du projet

    04/2001-01/2002 : ‘ Common Grahic ’ (100 person months ) Prix : "Meilleur projet de Neusoft 2001 "
    Missions : Chef de projet
    · Gestion de projet (CMM niveau-3 et QC-Circle)
    · Gestion de la qualité logicielle (CMM niveau-3)
    · Conception du système
    · Conception et développement de D(isplay)-langage (haut-niveau abstractions de programmation
    pour module graphique basée sur C et assembleur)
    · Conceptions préliminaires et conceptions détaillées du module ‘Graphic’
    · Test du système, tests d’intégration
    · Revues des conceptions, revues des codes, revue du projet
    · Formateur du simulateur/émulateur de NEC 78K4

    07/1999-03/2001 : ‘ 01MY 2Din ’ et du projet ‘ 00MY 2Din ’
    Missions : Ingénieur
    · Conceptions préliminaires, conceptions détaillées, codage et tests des modules graphic, clavier,
    télécommande et communication
    · Codage et maintenance de MXOS(OS embarqué)
    · Codage et maintenance du driver d'écran OLED
    · Tests unitaires et d’intégration des modules, tests du système
    Environnement : Os temps réel (NEC et Mitsubishi); C, C++, assembleur (NEC et Mitsubishi); Project,
    SourceSafe, Office, Visio ; oscilloscope, analyseur logique

    ¨ 03/1999 - 07/1999 : Ingénieur développement logiciel C / Stage maîtrise / Neusoft / (4 mois)
    Sujet : Conception et réalisation d’un contrôleur logiciel (driver) de CD-Mech
    Environnement : Windows; Assembleur, C

    ¨ 2004-2006 : Projets d ’ études de Master I et II
    · Modélisation et simulation d'un coprocesseur matériel spécialisé pour un système intégré sur puce orienté
    télécommunications en SystemC (Stage Master I, 2 mois)
    · Conception et réalisation d’une machine virtuelle en C++
    · Conception et réalisation VLSI du processeur MIPS(R3000)
    · Conception et réalisation VLSI du processeur AMD2901
    · Implantation d’algorithmes de traitement du signal sur DSP Texas Instrument

Études et formations
  • Compétences techniques
    ¨ Gestions de projet :
    Méthodologies : CMM (Niveau-5), QC-Circle, Cycle en V, Agile, Scrum
    Outils : Project, Sourcesafe, SVN, Perforce, Microsoft/Open office
    ¨ Étude et développement :
    Langages de programmation :
    C, C++, Assembleur, Python; Pthread, Cilk, Charm++, TBB, Capsule
    Outils de développement :
    GCC, GDB, Cross compilateurs, Valgrind, Firebug, Wireshark, DLNA CTT
    Protocoles / standards :
    AUTOSAR, TCP/IP, H.264, AES, PCI, I2C, Dbus, DLNA, UpnP, Gstreamer
    Systèmes d’exploitation :
    Linux, Windows, OS embarqué temps réel (MXOS, RTLinux)

    Électroniques :
    Connaissances en circuits analogiques et numériques, timing analyse, simulation
    Instruments : oscilloscope, analyseur logique
    ASIC / Système sur puce :
    Processeurs / plateformes / simulateurs : ARM5 et 7, ST231, PPC405/750, Mips32,
    NEC-78K4, Mitsubishi-M16; FPGA Xilinx; UNISIM, SoCLib, Gem5, SimpleScalar
    Langages : C++, SystemC, Verilog
    Outil : Synopsys, ModelSim, Chaîne CAO Alliance, McPAT/CACTI

    ¨ Langues : Chinois (maternelle), Français (courant), Anglais (courant), Japonais (notions)

    Formations
    ¨ 10/2006 - 03/2010 : Doctorat, INRIA et Université Paris-SUD
    Sujets de recherche : architectures de processeurs, modèles de programmation parallèle
    Sujet de thèse :Support architectural pour l’environnement de parallélisation

    ¨ 07/2007 : ACACES 2007, Italie
    École d'été internationale sur l'architecture des ordinateurs avancée et compilation pour systèmes embarqués

    ¨ 07/2006 : ACACES'2006, Italie
    École d'été internationale sur l'architecture des ordinateurs avancée et compilation pour systèmes embarqués

    ¨ 09/2004 - 09/2006 : Master I et II, Université Pierre & Marie CURIE et Télécom ParisTech
    Architecture et Logiciels pour Systèmes Embarqués sur Puce (reçu 1er)

    ¨ 04/2001 - 06/2003 : CMM, Neusoft Chine
    Formation de CMM niveau -3, 4 et 5 fournit par DNV (Det Norske Veritas)

    ¨ 08/1995 - 07/1999 : Maîtrise, Université Polytechnique de Dalian en Chine
    Ingénierie électronique et informatique

D'autres freelances
Chef de projet C

Ces profils pourraient vous intéresser !
CV Développeur Web - Python / Django
Aurélien

Développeur Web - Python / Django

  • ARCUEIL
PYTHON DJANGO HTML5 JIRA JAVASCRIPT CSS C C++
CV Ingénieur/docteur développement FPGA et IA
Tarek

Ingénieur/docteur développement FPGA et IA

  • SAINT-OUEN-L'AUMÔNE
FPGA PYTHON C++ C
Disponible
CV Chef de projet MONETIQUE
Houssine

Chef de projet MONETIQUE

  • CLAMART
MONETIQUE SQL UNIX LINUX KANEST TUXEDO C C++ ORACLE JIRA
Disponible
CV Ingénieur logiciel
Stéphane

Ingénieur logiciel

  • SAINT-ROMAIN-LE-PUY
.NET C# WPF HTML5 ASP.NET C++ C Vue.js
CV Développeur JS+React+Next/Node & No-code
Arthur

Développeur JS+React+Next/Node & No-code

  • PARIS
BUBBLE JAVASCRIPT NODE.JS REACT.JS C PYTHON PHP Arduino POSTGRES SHELL UNIX
CV Consultant IT
Hugues

Consultant IT

  • MAREIL-MARLY
PYTHON C WINDOWS AGILE LINUX C# JAVA SQL AZURE JAVASCRIPT
CV Développeur PYTHON
Houmame

Développeur PYTHON

  • ÉPINAY-SUR-SEINE
PYTHON DJANGO HTML5 CSS C JAVASCRIPT MYSQL SQL SERVER SHELL UNIX SCRIPT SHELL
CV Développeur WEB/Mobile
Alexandre

Développeur WEB/Mobile

  • TOULOUSE
JAVASCRIPT JAVA SWIFT C++ Angular C TypeScript HTML CSS
CV Expert JAVA
Sami

Expert JAVA

  • LILLE
JAVA J2EE C SQL Angular AGILE CI/CD LEAD MANAGEMENT JAVASCRIPT POSTGRESQL
CV Ingénieur optique MATLAB
Abderrahim

Ingénieur optique MATLAB

  • ARLES
MATLAB CAO INVENTOR PACK OFFICE Altium C LABVIEW COMSOL MULTIPHYSICS