Projet : CoreFreq - Conception d’un logiciel de Perfomance pour Processeur multi-cœurs
Auteur du logiciel de Perfomance de Processeur multi-cœurs X86_64
A/ Programmation Kernel module:
• initialisation du driver : device, region, class, arguments,
• diverses méthodes d'allocation mémoire : page, k|v:malloc, slab cache aligned
• boucles de timers haute résolution par affinité CPU : hrtimer, smp_call_function()
• projection sécurisée de mémoires partagés en user-space: remap_pfn_range()
• synchronisation atomique du parallélisme d’exécution en mode Producteur/Consommateur des User-Space threads création d'une bibliothèque assembleur LOCKLESS
• handlers d'événements CPU hot-plugging et Kernel suspend/resume : register_hotcpu_notifier; les structures notifier_block et pm_ops, les affinités CPU
• établissement de la topologie CPU et Caches ; et requêtage du BUS PCI
• le décodage des informations Processeur par CPUID et registres MSR
• algorithmie de collecte des compteurs de cycles C-States du PMU, des TSC, SMI, Power & Energie RAPL ; P-States, Voltage VID
• confection d’une SysGate pour la récupération périodique d'informations Kernel (RCU des tâches; usage RAM; création d'un gouverneur idle, policy cpufreq)
• traitements d'ordres User-Space par Kernel IOCTL
B/ Programmation des démons d’aggrégation et de contrôle
• réception des pages mémoire de collecte via mmap() et en Posix threads
• aggrégation des compteurs de cycles en indicateurs statistiques dont IPC création de boucles de stress benchmark CPU
• calcul en temps des fréquences Core, Uncore, Turbo et idle
• décodage des ressources hardware en autre DRAM, Bus QPI, Hyper-Transport
• découplage temporel et en double mémoires SHM des échanges producteur-consommateur, synchronisé atomiquement et par bascules flip-flop
• double ring de gestion des ordres, respectivements driver et démons, et simultanément au traitement des signaux UNIX
C/ Programmation IHM de monitoring
• bibliothèque de fenêtrage accélérée triple buffering (algorithme de jeux)
• contrôleur de la solution et interractions utilisateurs (via traitement Ring)
• rendu de l’ensemble des indicateurs statistiques et des informations Processeur
• fonctionnement en mode CLI et export des indicateurs en JSON
Environnement : Kernel Linux compatible 3.x et 4.x ; langage C et inline ASM; suite de compilation standard gcc, libc ; debugging gdb, valgrind ; versionning GI
Projet : Xfreq Conception d’une GUI de monitoring Processeur multi-cœurs
Programmation User-Space du Démon et de l'IHM sous X-Window
* collecte des compteurs du PMU est similaire à celle de CoreFreq mais se réalise via l'interface standard (msr.ko) par read/write de mot 64 bits
* décodage du SmBIOS, CPUID et MSR pour l'obtention d'informations hardware
* énumérations des données d'usage Kernel au travers des devices FS et IOCTL
* mode producteur-consommateur des threads serveurs et GUI via SHM
* conception de Widgets, boutons Event, décorations et graphiques 2D sur la base de la Xlib + technique de double buffering pour limiter le flickering
* du multi-threading est employé pour dissocier le rendu, les évènements Xlib, les échanges SHM avec le démon
Environnement : Posix threads Linux et FreeBSD ; langage C et inline ASM; compilation gcc, clang ; x-lib, libc ; debugging gdb, ddd, valgrind ; ide Code::Blocks
Projet: Raspberry-Pi
Étude du mini-computer ARM
* programmation de son assembleur ARM
* rendus OpenGL (coniques)
* distribution Linux de la charge de compilation ARM via distcc sur x86
Environnement : ArchLinux ARM ; langage C et inline ASM; suite de compilation standard gcc, libc;debugging gdb ; distcc ; OpenGL
Programmation de Kernel module, mise en œuvre :
• Création et spécification d'un framework ( drivers + CLI ) pour :
(1) Injection de données sur backend disk et réseaux en règles JSON
(2) Call-flow en temps réel et sortie JSON
(3) Driver de cryptographie autour du bitstream FPGA ;
(4) Pilote de sonde température via I2C FPGA ;
• Résolution du Kernel Android sur Xilinx ZCU102
Etude de portage Mesa-3D sous Android-Xilinx
Environnement : Xen; Linux ; langage C ; buildroot, gcc, gdb, GIT; GitLab; Vivado SDK; minicom
Programmation de Kernel module, mise en œuvre:
* Réalisation , spécification, de drivers pour la génération Hardware de nombres aléatoires
* Evolutions de la buildroot pour le portage du vidéo frame buffer et code Perl de la Toolchain
* Résolution du crash boot Kernel Android sur plateforme embedded & eMMC/NOR
* Intégration du kit embaqué Netflix
Environnement : Kernel Broadcom Linux ; langage C et C++; cross-compiling, buildroot, gcc, gdb, SVN, GIT; Bugzilla, Forge Sagemcom; BOLT boot loader
Environnement : Linux RHEL; CIARA, Supermicro; 10G SolarFlare, Mellanox; compilateur gcc ; libc ; deboggueur gdb ; vi; ssh
A/ Programmation MVC des vues métiers:
* composant profilage des utilisateurs et algorithmes de recherches multi-critères
* contrôleurs de rendu du fil des évènements et des notifications de présence
* contrôleurs messagerie privative et du tChat en 2 à 2 ou conférence
* contrôleur de rendu de la Map ainsi que de la localisation GPS des contacts
* contrôleurs de consultation, modification, suppression des assets utilisateurs (photos, droits d'accès)
* contrôleurs des in-app purchase et coupons de rechargement
B/ Développement du Backend en NodeJS et NoSQL
* le modèle relationnel entre utilisateurs (ami, enemi, invité)
* la conception des fonctions Backend-Database en API Cloud JS sur Parse
* spécifications du setup d'architecture serveur et réseau AWS
Environnement : Langage objet Swift UIKit, StoreKit, MapKit, CoreLocation, Foundation, MongoDB, JS, Nginx, Amazon EC2 Linux ; ide Xcode sous OS X
Chef de Projets IT ; Telecom & Web
(via ma nouvelle société: CYRIL INGENIERIE)
* SFR : projet de transformation des flux XML en JSON du CTI Genesys pour Canal+
* Orange : projet de scripting du vectoring des ACD AVAYA de NESPRESSO
* Orange : scrum-master de la refonte Web Entreprise pour EuropCar
* GDF-SUEZ : MOA projet de transformation des routages ACD AVAYA et nouvelle IHM agent routing
* La Banque Postale : MOA projet de couplage des ACD avec CTI et VoIP Genesys
Environnement : CTI Genesys ; ACD AVAYA ; Agile
Domaines Selfcare Web ; SI La Carte
* Rédactions d'Expressions de besoins et de la Stratégie de recette sur le nouveau portail Web de Rechargement La Carte
* Codage de traitements SQL pour la gestion de divers livrables de spécifications du produit La Carte
Environnement : Oracle SQL ; Websphere ; MS-Project; Visio
* Conception des applications vocales SVI: Auteur du "680 Arrêté de consommation", "636 fidélisation", "0.800.29.1000 code PUK" en langage C sur SVI MG/2 - Unix-DEC
* Spécifications de routages CTI et ACD des appels au service client par n° courts GSM (614) et longs Opérateur et programmation du vectoring des ACD Lucent
* Études de solutions de relâchement d'appels ACD, couplée aux switch GSM MSC Ericsson (surcharge de signalisation en users data USSD)
* Programmation en C pour Win32 et SVI MG/2 d'une IHM et d'un automate pondeuse d'appels pour tests en charge des routages SVI, ACD, CTI
Environnement : ACD Avaya Definity G3R; CTI Genesys; SVI MG2; langage C; Win32; TCP UDP; Voice Recording[Comguard KREUTLER; NICE Systems]; MS Visual-Studio
Programmation C/ASM de serveurs télécoms
* Programmation en C « from scratch » et rédaction des spécifications détaillées du Serveur Vocal Interactif Alcatel A4625
*Programmation de Serveurs Vocaux pour France Telecom (nouvelle numérotation à 10 chiffres) ; et du SVI de l’ACERP
*Couplage CSTA du PABX Alcatel 4400 et du serveur NOVELL TSAPI
*R&D aux USA pour le développement du middleware NaturalFax et de son protocole T30
Environnement : SDK OS/2 et Win32 ; Netware ; Unix; C ; Assembleur x86 ; NSDK ; signalisation MVIP, T30, E1 ; Protocoles TSAPI, CSTA; Alcatel 4400; Socket TCP & UDP ; AG Access ; Voice Recognition ; Text To Speech
* Evolutions du code C de la solution de stockage multimédia par H-coding
* Contribution aux algorithmes de traitement d'images.
Environnement : Unix AIX et SUN, langage C, Microsoft Win32
Embedded Software Developer
Contract type | Freelancers |
---|---|
Daily rate | 690$/day |
Experience | 21 years |
Location | France |
Embedded Software Developer
Contract type | Freelancers |
---|---|
Daily rate | 1105$/day |
Experience | 8 years |
Location | France |
Embedded Software Developer
Contract type | Freelancers |
---|---|
Daily rate | 555$/day |
Experience | 10 years |
Location | France |
Embedded Software Developer
Contract type | Freelancers |
---|---|
Daily rate | 760$/day |
Experience | 11 years |
Location | France |
Embedded Software Developer
Contract type | Freelancers |
---|---|
Daily rate | 250$/day |
Experience | 12 years |
Location | Brazil |
Embedded Software Developer
Contract type | Freelancers |
---|---|
Daily rate | 485$/day |
Experience | 22 years |
Location | Mexico |
Embedded Software Developer
Contract type | Freelancers |
---|---|
Daily rate | 345$/day |
Experience | 9 years |
Location | Poland |
Embedded Software Developer
Contract type | Freelancers |
---|---|
Daily rate | 690$/day |
Experience | 8 years |
Location | France |
Embedded Software Developer
Contract type | Freelancers |
---|---|
Daily rate | 320$/day |
Experience | 15 years |
Location | Romania |
Embedded Software Developer
Contract type | Freelancers |
---|---|
Daily rate | 765$/day |
Experience | 12 years |
Location | Moldova, Republic of |
Embedded Software Developer
Contract type | Freelancers |
---|---|
Daily rate | 610$/day |
Experience | 21 years |
Location | Romania |
Embedded Software Developer
Contract type | Freelancers |
---|---|
Daily rate | 690$/day |
Experience | 11 years |
Location | France |