Serveur d'impression

Calendrier Linaro Connect San Diego 2019 – Bien choisir son serveur d impression

Le 15 août 2019 - 31 minutes de lecture

Linaro a récemment publié le programme complet de Linaro Connect San Diego 2019 qui se déroulera du 23 au 27 septembre. Même si vous ne pouvez pas y assister, il est toujours intéressant de consulter le calendrier pour savoir quel travail intéressant est effectué sur Arm Linux, Zephyr OS, etc.

J'ai donc créé mon propre horaire virtuel avec certaines des sessions les plus pertinentes et les plus intéressantes de cet événement de cinq jours.Linaro Connect San Diego 2019

Lundi 23 septembre

  • 14h00 – 14h25 – SAN19-101 Thermiques thermiques: comment choisir le bon par Keerthy Jagadeesh, ingénieur logiciel, Texas Instruments

Avec des gigahertz plus élevés et des cœurs multiples dans un SoC, le besoin de gestion thermique pour les SoC à bras devient de plus en plus critique. Les régulateurs thermiques qui définissent la politique de gestion thermique jouent un rôle essentiel dans la sécurité thermique du dispositif. En choisissant celui qui convient, l'appareil fonctionne de manière optimale dans le budget thermique.

Dans cette présentation, Keerthy Jagadeesh, co-responsable de la maintenance de TI BANDGAP ET THERMAL DRIVER, explore le comportement des gouverneurs existants, tels que les gouverneurs step_wise, fair_share, bang_bang sur les SoC DRA7 basés sur A15. Les gouverneurs fonctionnent différemment en fonction du nombre de cœurs, des packs de SoC, du nœud de processus et des cas d'utilisation. Les résultats sur la famille de SoC DRA7 seront utilisés pour fournir des lignes de repère lors du choix d’un régulateur thermique particulier pour un SoC donné sur la base des paramètres susmentionnés.

  • 14h30 – 14h55 – SAN19-106 Quoi de neuf dans VIXL 2019? par Tat Wai Chong, ingénieur logiciel principal, Arm

VIXL est une bibliothèque de génération de code d'exécution ARMv8 qui contient trois composants:

    • Les assembleurs programmatiques génèrent du code A64, A32 ou T32 au moment de l'exécution.
    • Désassembleurs pouvant imprimer toutes les instructions émises par les assembleurs.
    • Le simulateur peut simuler n'importe quelle instruction émise par l'assembleur A64 sur
    • Plate-forme x86 et ARM. Il est configurable, par exemple, la longueur du vecteur pour SVE et prend en charge le traçage des registres pendant l'exécution.

Dans cet exposé, nous allons présenter:

    • Qu'est-ce que VIXL? Il est déjà déployé et considéré comme «mature», par exemple, il a été adopté par le compilateur Android ART pour ses backends ARM: AArch64 et AArch32.
    • Gestion et détection des fonctionnalités du processeur.
    • Nouvelle prise en charge des instructions Armv8.x, par exemple BTI, PAuth, etc.
    • Nouveau support SVE (Scalable Vector Extension).
  • 15h00 – 15h25 – SAN19-109 Projet Evolution de l'arborescence de périphériques par Bill Fletcher, ingénieur de terrain, Linaro

Device Tree (DT) est une technologie de base qui nous permet de construire des systèmes intégrés flexibles et adaptables. L’ingénierie de l’arbre de périphériques est en cours dans divers forums, mais un certain nombre de caractéristiques sont importantes pour l’écosystème, mais languissent en raison du manque de concentration ou de coordination.

Plusieurs sujets ont été identifiés comme caractéristiques critiques nécessitant un leadership et des efforts d'ingénierie. Il s'agit d'un projet de collaboration visant à mettre en œuvre des efforts d'ingénierie coordonnés dans les fonctionnalités identifiées.

La session présentera le projet et les sujets identifiés.

  • 15h30 – 15h55 – SAN19-114 Solution audio holistique pour les périphériques intégrés modernes par Patrick Lai, ingénieur senior chez Qualcomm

L'audio est omniprésent dans une large gamme de téléphones, tablettes, ordinateurs portables, haut-parleurs, écouteurs, appareils, routeurs, systèmes de télématique et autres appareils modernes.

Pour exploiter pleinement le potentiel des sous-systèmes audio dédiés sur les SoC et autres périphériques intégrés avec un investissement en ingénierie minimal, un cadre de traitement du signal ouvert, modulaire et extensible, avec des API uniformes associées, est proposé pour les applications audio hautes performances, sensibles au coût et économes en énergie.

Un framework extensible et modularisé offre la flexibilité, au sein de la même architecture et du même code, de prendre en charge un large éventail de fonctionnalités et capacités personnalisables sans sacrifier la capacité à évoluer vers des environnements de traitement plus performants et plus riches, mais également à réduire la taille, les ressources et les ressources. environnements sensibles aux coûts.

Cette présentation décrit les principes de conception clés de ce cadre de traitement de signal audio avancé, notamment les interfaces de programmation et le flux de travail de développement, à l’aide de SDK conviviaux pour les communautés open source, ainsi que de conception, de configuration et de réglage de cas d’utilisation.

  • 16h00 – 16h25 – SAN19-116 Mise à jour de sécurité du projet Zephyr par David Brown, ingénieur principal, Linaro

Cette présentation donnera un aperçu des travaux du sous-comité de la sécurité dans le cadre du projet Zephyr, y compris de l'état actuel de la sécurité dans le projet. Il couvrira ce qui se produit lorsqu'une vulnérabilité est signalée, ainsi que les efforts en cours autour de l'analyse statique.

  • 16h30 – 16h55 – SAN19-121 Services sécurisés à distance TF-M avec Zephyr par Karl Zhang, ingénieur logiciel principal, bras

Trusted Firmware M (TF-M) est une implémentation Open Source de PSA (Platform Security Architecture) pour les processeurs Arm Cortex M. TF-M fournit des services sécurisés à d'autres cœurs ou environnements d'exécution non sécurisés à l'aide des API PSA sur le cœur du profil M. Il inclut des services tels que le stockage sécurisé, les pistes d'audit de sécurité et la crypto, entre autres. Les API compatibles PSA-FF (PSA Firmware Framework) sont utilisées pour la communication inter-processus ou inter-processeur avec les services sécurisés.

Cette session examinera comment exécuter Zephyr sur un cœur non sécurisé, en appelant des services TF-M sur un cœur sécurisé TF-M. Un Cortex M33 double cœur sera utilisé, avec OpenAMP comme protocole IPC entre le cœur Zephyr et le cœur TF-M. Cette session examinera également les exigences PSA de niveau 1 pour la certification PSA, telles que l'utilisation d'un chargeur de démarrage sécurisé.

Mardi 24 septembre

  • 8h30 – 8h55 – SAN19-201 Amenez Kubernetes sur le noeud périphérique Arm64 avec K3 par Kevin Zhao, responsable technique, Linaro

De nos jours, tout le monde parle de Kubernetes. Il existe de nombreux scénarios d’atterrissage concernant l’exécution de Kubernetes et il est très facile de déployer des applications avec Kubernetes. Toutefois, en raison de la capacité limitée des ressources sur le nœud périphérique, le déploiement d'un cluster Kubernetes total sur le nœud périphérique entraînera des coûts de ressources énormes. Existe-t-il un moyen simple d’apporter Kubernetes au noeud périphérique avec moins de ressources?

L'utilisation de K3 sur les nœuds périphériques constitue une alternative essentielle. k3s est une distribution légère de Kubernetes avec une installation facile, la moitié de la mémoire et le tout dans un binaire, qui est évidemment conçu pour les périphériques Edge et IOT basés sur Arm64.

Pour faciliter la gestion de plusieurs clusters K3 de périphérie, nous exécutons également un cluster Kubernetes du côté du centre de données Arm64 en tant que «cluster racine» pour la gestion des méta-données et le provisioner de tous les clusters k3 exécutés sur les nœuds de périphérie.

Dans cette présentation, nous verrons comment exécuter k3s sur le nœud périphérique Arm64, ce que nous avons fait pour que le cluster Kubernetes s’exécute du côté du centre de données en tant que cluster racine pour gérer les différents clusters k3s des nœuds périphériques Arm64, ce qui est une bonne solution. architecture de référence pour l'exécution et la gestion des charges de travail dans une zone informatique périphérique.

  • 9h00 – 9h25 – SAN19-205 Boostez les applications JVM en utilisant un GPU par Dmitry Chuyko, ingénieur JVM

Aujourd'hui, JVM reste l'une des plateformes de programmation et d'exécution les plus populaires. Il existe différentes approches pour tirer parti de la puissance du GPU de la machine virtuelle Java, qui peuvent être utiles dans de nombreux cas spécifiques. Le matériel basé sur ARM apporte les avantages de la JVM à la pointe. Cette présentation démontrera différentes manières d’interopérabilité entre GPU et JVM. Nous évaluerons les API et les performances du code hybride Java-GPU. Pour la partie pratique de l’exposé, nous utiliserons Jetson Nano comme exemple d’équipement de pointe moderne, puissant mais abordable.

  • 11h00 – 11h50 – SAN19-210 Azure Sphere: intégration de la sécurité Linux dans 4 Mo de RAM par Ryan Fairfax, responsable technique principal, Microsoft

Azure Sphere est une solution permettant de créer des périphériques alimentés par un microcontrôleur et hautement sécurisés. Il inclut une version personnalisée du noyau Linux et s’adapte au système d’exploitation dans des conditions de mémoire extrêmement limitées. Dans cet exposé, nous aborderons les composants de sécurité du système, notamment un module de sécurité Linux personnalisé, des modifications et des extensions des composants du noyau existants, ainsi que des composants d'espace utilisateur constituant le cœur de la sécurité du système d'exploitation. En cours de route, nous aborderons les faux départs, les tentatives infructueuses et les défis que représentent l’utilisation des techniques de sécurité modernes et leur adaptation à des périphériques aux ressources limitées.

  • 11h30 – 11h55 – SAN19-211 ONNX & ONNX Runtime par Weixing Zhang, Microsoft, ingénieur logiciel principal

Microsoft et une communauté de partenaires ont créé ONNX en tant que norme ouverte pour la représentation de modèles d’apprentissage automatique. Les modèles de nombreux frameworks, notamment TensorFlow, PyTorch, SciKit-Learn, Keras, Chainer, MXNet et MATLAB peuvent être exportés ou convertis au format ONNX standard. Une fois que les modèles sont au format ONNX, ils peuvent être exécutés sur diverses plates-formes et périphériques.

ONNX Runtime est un moteur d'inférence hautes performances permettant de déployer des modèles ONNX en production. Il est optimisé pour le cloud et la périphérie et fonctionne sous Linux, Windows et Mac. Écrit en C ++, il comporte également des API C, Python et C #. ONNX Runtime prend en charge toutes les spécifications ONNX-ML et s’intègre également aux accélérateurs de différents matériels, tels que TensorRT sur les GPU NVidia.

ONNX Runtime est utilisé dans les services Microsoft à grande échelle tels que Bing, Office et Cognitive Services. Les gains de performances dépendent d'un certain nombre de facteurs, mais ces services de Microsoft ont enregistré un gain de performances moyen de 2x sur le processeur. ONNX Runtime est également utilisé dans Windows ML sur des centaines de millions de périphériques. Vous pouvez utiliser le runtime avec les services Azure Machine Learning. En utilisant ONNX Runtime, vous pouvez tirer parti des nombreuses optimisations, tests et améliorations en cours de production.

  • 12h00 – 12h25 – SAN19-215 Benchmarks AI et IoT par Mark Charlebois, directeur de l'ingénierie, Qualcomm Technologies Inc

Il existe plusieurs tests d'intelligence artificielle pour les serveurs et les serveurs et de nouveaux à l'horizon. Lesquels, parmi d’autres, s’appliquent aux cas d’utilisation IoT? Comment comparez-vous de manière significative les performances de l'intelligence artificielle sur la vaste gamme d'objets IoT HW avec des contraintes de coût, de mémoire, de puissance et thermiques très variables, ainsi que des compromis en termes de précision pour les modèles quantifiés par rapport aux modèles non quantifiés? Cette conférence traitera de ces sujets et de certaines des manières possibles de résoudre les problèmes.

  • 12h30 – 12h55 – SAN19-218 Déploiement du moteur d'inférence sur les MCU ou les processeurs d'application Markus Levy, directeur de ML Technologies, NXP Semiconductor

Cette session décrira comment appliquer Arm NN, CMSIS-NN et GLOW pour traduire les réseaux de neurones en moteurs d'inférence s'exécutant sur des MCU ou des processeurs d'application.

  • 14h00 – 14h25 – SAN19-219 La mise en amont des SoC ARM64 est plus simple qu’auparavant par
    Manivannan Sadhasivam, ingénieur d'applications, Linaro

Cette session a pour but de fournir une vue d’ensemble de la mise en amont des SoC ARM64 dans le noyau Linux.

  • 15h00 – 15h50 – SAN19-221 Gcc sous le capot Siddhesh Poyarekar, responsable technique, Linaro

Cette session est un tutoriel pour débutant qui explore sous le capot du compilateur gcc. Au cours de ce processus, nous examinons quelques méthodes utiles permettant aux développeurs de comprendre comment gcc transforme leur code en code machine cible.

  • 16h00 – 16h50 – SAN19-222 API de boîte aux lettres de noyau Linux – 101 par Jassi Brar, ingénieur principal, Linaro

Présentation introductive sur le concept de boîte aux lettres, certains cas d'utilisation courants et les fonctionnalités et limitations de l'API de boîte aux lettres dans le noyau Linux.

  • 17h00 – 17h50 – SAN19-223 Utilisation de Perf et de son ami eBPF sur la plate-forme Arm par Leo Yan, ingénieur logiciel, Linaro

Perf a rejoint un nombre croissant d'outils capables de servir d'interface utilisateur vers eBPF. Non seulement cela, mais il peut également reprendre son rôle historique en tant que meilleure interface du sous-système de surveillance des performances de Linux pour établir le profil des programmes eBPF installés par lui-même ou par tout autre serveur frontal eBPF.

Cette session présentera principalement les mises à jour du dernier support pour Arm CoreSight et eBPF, ainsi que la procédure d’armement de CoreSight pour le profilage de programmes eBPF.

Cette session sera divisée en deux parties principales; la première partie se concentrera sur les mises à jour pour le suivi Arm CoreSight, comprend des exemples de drapeaux et des performances d'intégration pour la prise en charge des tests. Dans la partie inférieure, nous discuterons de l'utilisation de eBPF avec l'outil perf: perf utilise le programme eBPF pour le suivi des appels système; perf présente le programme eBPF en utilisant les événements généraux de l’UGP et l’événement Arm CoreSight.

Cette session sera terminée dans les 25 minutes. Dans la session de piratage CoreSight, nous nous concentrerons sur des questions et des démonstrations comme complément à la présentation.

Mercredi 25 septembre

  • 11h00 – 11h25 – SAN19-305 La transformation de la conception de produits électroniques de Gordon Kruberg, Dream, Design, Deliver

M. Kruberg examinera et prévoira l’impact futur des logiciels modulaires sur l’écosystème d’Arm, la conception électronique dans le cloud et la fabrication de produits électroniques de la prochaine génération.

  • 12h00 – 12h25 – SAN19-307 Contrôle robotique des bras avec Qualcomm RB3 Sahaj Sarup, ingénieur d'application, Linaro

Discussion et présentation autour du «Projet de bras robotique» du projet WIP en utilisant le kit robotique RB3 de Qualcomm.

Les sujets suivants seront abordés:

    • Servocommande
    • Reconnaissance d'objets à l'aide d'OpenCV
    • Contrôle vocal de base
  • 12h30 – 12h55 – SAN19-311 TVM – Une pile de compilateurs Deep Learning de bout en bout par Animesh Jain, scientifique appliquée, AWS

AWS est un fournisseur de services cloud de premier plan dont l'objectif est de fournir la meilleure expérience client. ARM occupe une place unique dans l’ensemble de l’écosystème – sur les serveurs comme sur les périphériques. Dans cet exposé, je vais expliquer comment AWS Sagemaker Neo accélère l'apprentissage en profondeur sur les instances EC2 ARM A1 et les périphériques de pointe basés sur ARM afin d'améliorer l'expérience client. AWS Sagemaker Neo utilise TVM, une pile de compilateurs d'apprentissage approfondi et open source de bout en bout.

  • 14h00 – 14h50 – SAN19-312 Arm Everywhere: démonstration d'une infrastructure Arm Cloud, Edge et IoT par David Tischler, fondateur, miniNodes

Au cours des six derniers mois, il a beaucoup été question de ramener les charges de travail du Cloud et de les déplacer vers Edge, de se rapprocher des utilisateurs finaux ou des points de terminaison IoT, et d'améliorer l'expérience de fourniture de services. Bien qu'il y ait eu de nombreux articles, diapositives, titres et conversations à ce sujet, personne n'a encore démontré une implémentation complète de bout en bout, basée sur Arm. miniNodes est en train de créer une démonstration complète de serveurs Cloud connectés, de serveurs Edge et de périphériques IoT, fonctionnant entièrement sur Arm. Les données environnementales seront capturées par les points finaux IoT exécutant Arm Mbed, provisionnés via Arm Pelion, qui alimenteront les serveurs Edge en données, qui se connecteront à un serveur Ampere eMAG hébergé par Packet.com.

Plus précisément, les points de terminaison IoT collectent des lectures environnementales telles que la température, l’humidité, la qualité de l’air, les particules et la détection de la foudre d’une série de Raspberry Pi distribuées dans le monde entier.

Les serveurs de périphérie 96Boards régionaux collectent les données des points de terminaison IoT dans la zone qui leur est affectée et les conditionnent pour les expédier au serveur cloud.

Un serveur Ampere Cloud hébergé par Packet effectue les activités de traitement de données volumineuses et exécute Grafana Dashboard pour la visualisation des données IoT entrant dans le système.

L'ensemble des systèmes sera géré de manière centralisée et les nœuds IoT permettent de fournir des services via des conteneurs poussés vers les périphériques, quel que soit leur emplacement, grâce à l'application Pelion.

  • 15h00 – 15h25 – SAN19-313 Utilisation de superpositions Python pour expérimenter des réseaux de neurones par Bryan Fletcher, directeur marketing technique, Avnet

Python Productivity for Zynq, ou PYNQ, permet de présenter des circuits logiques programmables sous forme de bibliothèques de matériel appelées «overlays». Ces superpositions sont analogues aux bibliothèques de logiciels. Un ingénieur logiciel peut sélectionner la superposition qui correspond le mieux à son application. La superposition est accessible via une interface de programmation d'application (API). En utilisant les superpositions de communautés existantes, ce cours examinera comment expérimenter des réseaux de neurones en utilisant PYNQ sur Ultra96.

  • 16h00 – 16h50 – SAN19-314 Développer avec PetaLinux pour la carte Ultra96 par Tom Curran, Avnet, ingénieur technique principal en marketing

Ce cours décrira le développement Linux à l'aide des outils Xilinx PetaLinux pour la carte Ultra96. Une attention particulière sera accordée aux enseignements tirés de l'intégration et du débogage des pilotes de périphériques.

Jeudi 26 septembre

  • 8h30 – 8h55 – SAN19-403 Amélioration de la taille du code dans le GTTC par Peter Smith, ingénieur principal, Arm

Pour de nombreux projets utilisant des périphériques limités en ressources, l'optimisation pour la plus petite taille de code est souvent plus importante que l'optimisation pour les performances les plus élevées. L'équipe du TCWG souhaiterait partager ses progrès et ses résultats sur plusieurs projets liés à la taille du code. Ceux-ci inclus:

    • Comparaison de la taille de code de clang et de gcc pour les programmes bare metal sur les périphériques de profil M.
    • Ajout du support de bras au contour de la machine LLVM.
    • Ajout de l'élimination de la fonction virtuelle C ++ à Clang.
    • Construire zephyr avec GCC LTO (Link Time Optimization).

La présentation donnera un bref résumé de la façon dont les compilateurs clang et gcc se comparent en ce qui concerne la taille du code, ainsi qu'une description des améliorations que vous pourrez espérer dans les futures versions des compilateurs.

  • 9h00 – 9h25 – SAN19-406 Bibliothèque d'exécution sécurisée sur un périphérique IoT par Ken Liu, ingénieur en logiciel chez Arm

Bien que le certificat PSA implique des niveaux d'isolation supérieurs à 1, la bibliothèque d'exécution existante pour la partition sécurisée manque de sécurité et contient ses propres données privées, ce qui empêche la partition sécurisée d'appeler ces API en raison d'une fuite d'informations potentielle.

Une nouvelle bibliothèque d'exécution doit être disponible pour les partitions sécurisées et prendre en compte la sécurité dès le début de la conception. La conception ne doit pas dépasser les exigences d'isolation énumérées dans les spécifications de PSA Firmware Framework. Cette bibliothèque d'exécution doit également pouvoir être partagée pour toutes les partitions sécurisées afin de sauvegarder le stockage sur un périphérique IoT, et elle doit être en lecture seule pour éviter toute modification. Et la partie la plus importante, aucune donnée privée ne peut exister à l’intérieur de la bibliothèque d’exécution.

Cette nouvelle bibliothèque d'exécution éviterait l'isolation de la sécurité des concepteurs de partitions sécurisées, qui rendent l'environnement de développement unifié pour les développeurs de partitions sécurisées. Et enregistrez la taille du logiciel IoT puisque cette bibliothèque est partagée.

  • 11h00 – 11h25 – SAN19-408 Améliorations des performances dans les chaînes d'outils C / C ++ Open Source pour Arm par James Greenhalgh, ingénieur principal, Arm

L’optimisation des performances est à la base des progrès importants réalisés dans l’efficacité des systèmes basés sur Arm, les chaînes d’outils C et C ++ étant au cœur de la technologie de génération de code pour l’architecture Arm. Au cours de cette session, je donnerai un aperçu du travail de l'équipe de performance du compilateur C / C ++ à Arm, et discuterai de nos récents succès et de nos priorités pour l'année à venir.

  • 11h30 – 11h55 – SAN19-413 Clés de confiance basées sur TEE sous Linux par Sumit Garg, ingénieur logiciel, Linaro

La protection de la confidentialité des clés est essentielle pour de nombreux cas d'utilisation de la sécurité du noyau, tels que le chiffrement de disque, le chiffrement de fichier et la protection de l'intégrité des métadonnées de fichier. Les clés approuvées et chiffrées fournissent un mécanisme permettant d’exporter des clés dans l’espace utilisateur afin de les stocker sous forme de blob chiffré et de les recharger ultérieurement sur le trousseau de clés Linux sans que l’espace utilisateur ne connaisse la clé de chiffrement. La mise en œuvre existante de clés de confiance reposait sur un périphérique TPM, mais que se passe-t-il si vous travaillez sur un système sans un?

Cette session présentera une implémentation de clés de confiance reposant sur une application de confiance beaucoup plus simple exécutée dans un environnement d'exécution de confiance (TEE) pour sceller et annuler la fermeture des clés de confiance à l'aide d'une clé matérielle unique fournie par le TEE.

  • 12h00 – 12h25 – SAN19-416 Transformer les flux de travail des développeurs du noyau avec CI / CD par le major Hayden, ingénieur logiciel principal, Red Hat

26 millions de lignes de code. 750 000 commits. 61 000 fichiers. "L'intégration et le déploiement continus du noyau Linux sont impossibles", ont-ils déclaré. Nous pensons que c’est tout à fait à notre portée.

Le projet d’intégration continue du noyau (CKI) veut modifier fondamentalement le flux de travail du développeur du noyau en ajoutant une intégration continue et un déploiement continu (CI / CD). Dans cet exposé, le public se lancera dans une aventure de triomphe et de tragédie à travers les expériences d'une petite équipe de Red Hat.

Le Major Hayden, ingénieur logiciel principal chez Red Hat, expliquera comment les noyaux sont construits et testés dans l'infrastructure CKI et quels tests sont déjà en place aujourd'hui. Il approfondira ses connaissances sur les composants d'infrastructure (notamment Gitlab, Jenkins et les conteneurs) et sur les optimisations permettant de tester rapidement le noyau Linux. Les membres du public apprendront également comment ils peuvent s’impliquer dans le projet.

  • 12h30 – 12h55 – SAN19-419 Pourquoi utiliser la stratégie de planification SCHED_IDLE CFS par Viresh Kumar, ingénieur, Linaro

Le planificateur CFS a plusieurs stratégies, dont SCHED_IDLE. En raison des récentes optimisations incluses dans le planificateur autour de l’inactivité du programme, cette stratégie est devenue une stratégie intéressante et doit être utilisée par les utilisateurs à l’avenir.

  • 14h00 – 14h50 – SAN19-421 Formation: gestion de l'alimentation des périphériques en veille par Ulf Hansson, ingénieur principal du noyau, Linaro

Les plates-formes à bras prennent souvent en charge une gestion de l'alimentation sophistiquée, pour permettre par exemple aux pièces inutilisées d'un système en cours de fonctionnement de fonctionner à des niveaux de puissance faibles, ce qui empêche toute vidange d'énergie.

Cependant, déployer une prise en charge optimisée de la gestion de l’énergie dans un pilote du noyau Linux peut s'avérer une tâche plutôt compliquée, en particulier en ce qui concerne la gestion de l’inactivité. Quelques cadres sont là pour vous aider et ils sont fournis avec les fonctions de rappel correspondantes, qui peuvent être attribuées par périphérique. Le développeur de pilotes a besoin d'une connaissance détaillée de ces frameworks, en particulier lorsque l'objectif est d'obtenir le meilleur comportement possible en matière d'efficacité énergétique.

Dans cette session, nous examinons les concepts de suspension au niveau du système et les états de faible consommation correspondants, tels que suspendre pour mettre en veille, suspendre pour rester inactif et suspendre sur disque.

En outre, pour une gestion de l'alimentation plus fine par périphérique, certaines pratiques recommandées expliquent comment déployer la prise en charge des domaines PM et PM d'exécution (en particulier du domaine PM générique).

  • 15h00 – 15h50 – SAN19-423 Astuces Git par Viresh Kumar, ingénieur, Linaro

Partagez les astuces de Git qui peuvent rendre le travail avec Git plus efficace

  • 16h00 – 16h50 – SAN19-424 Suivi d'événements et Pstore avec une pincée de débogage dynamique par Sai Prakash Ranjan, ingénieur noyau chez Qualcomm

Le suivi des événements est l’une des puissantes fonctionnalités de débogage disponibles dans le noyau Linux dans le cadre de Ftrace. Pstore ou Persistent Storage, d’autre part, est une aubaine pour trouver la cause du dernier souffle du noyau, comme l’a dit quelqu'un à juste titre, et elle est largement utilisée dans les environnements de production. Lorsque ces deux fonctionnalités sont combinées avec un pincement de débogage dynamique, nous formons une recette complète pour les problèmes de débogage dans le noyau Linux.

Cette présentation traite de l'intégration du traçage d'événements avec pstore pour identifier et résoudre les problèmes en analysant les derniers événements avant que le noyau ne se soit dit au revoir. De plus, nous ajoutons un support de débogage dynamique pour filtrer les journaux indésirables et limiter la trace à des fichiers ou répertoires spécifiques, ce qui permet de réduire les problèmes liés à des sous-systèmes spécifiques. Ftrace ne prend actuellement pas en charge cette tâche.

Vendredi 27 septembre

  • 8h30 – 8h55 – SAN19-501 WPEWebKit, le port WebKit pour les plates-formes intégrées par Philippe Normand, ingénieur multimédia et associé chez Igalia

WPEWebKit est une variante WebKit (également appelée port) spécialement conçue pour
plates-formes intégrées et cas d'utilisation. Pendant cet entretien, je présenterais l’architecture de WPEWebKit en mettant l’accent sur son backend multimédia basé sur GStreamer et sur la prise en charge du support des spécifications MSE (Media Source), EME (Encrypted Media) et MediaCapabilities. Je voudrais également présenter une étude de cas sur la manière d'intégrer avec succès WPEWebKit sur les plates-formes i.MX6 et i.MX8M au conteneur d'applications Web de référence autonome Cog ou dans des applications Qt5 existantes, à l'aide du plugin WPEQt QML.

  • 9h00 – 9h25 – SAN19-508 Projet Open Source de micrologiciel piloté par la communauté Jammy Zhou Directeur des solutions, Linaro

Nous avons connu un développement open source très réussi pour le système d'exploitation Linux. Mais dans le domaine des microprogrammes, la plupart des développements sont réalisés par certaines grandes organisations sans la participation de la communauté.

Le développement open source piloté par les applications crée un écosystème de logiciels qui peut adopter divers composants matériels, y compris différentes architectures, et permettre aux fournisseurs de faire preuve de déférence et de créer des résultats tangibles. Les microprogrammes Open Source et les interfaces de microprogrammes standard sont essentiels pour permettre la mise en œuvre de matériel différent pour le même écosystème. Dans cette sécession, nous verrons comment rejoindre et contribuer à un projet de micrologiciel open source géré par Linaro.

Les principes clés de ce projet sont les suivants:

    • Micrologiciel système général non spécifiquement destiné au téléphone, au client, au serveur ou au cloud.
    • Interface universelle prenant en charge plusieurs systèmes d'exploitation, y compris Linux et Windows
    • Adaptatif à divers types de silicium, en particulier le silicone fourni par les sociétés membres
    • Encourager la technologie ouverte et la mise en œuvre rapide des normes
    • Nouveau modèle de licence TianoCore ou similaire
    • Libération stable à long terme au lieu du produit
  • 11h00 – 11h25 – SAN19-510 Chromium OS est-il favorable aux appareils IOT? par Khasim Syed Mohammed, ingénieur principal pour Android, Linaro Ltd

Chromium OS est l’une des dernières distributions de logiciels open source maintenues par Google depuis près de 10 ans et qui ont fait leur chemin dans les segments IOT.

Au cours de cette session, nous examinerons les composants clés de Chromium OS qui peuvent nous aider à surmonter les défis logiciels posés par la construction de périphériques IOT de nouvelle génération.

    • Le système d'exploitation Chromium est initialement conçu pour les ordinateurs portables, les ordinateurs de bureau et les boîtiers autonomes / tout-en-un. Les composants logiciels bien intégrés tels que les navigateurs, les réseaux, la sécurité, les options de démarrage et la gestion des fenêtres peuvent être exploités tels quels pour les périphériques IOT. Nous passons en revue quelques-uns de ces composants pour savoir s'ils répondent aux exigences IOT.
    • Le système d'exploitation Chromium étant basé sur Linux, le système d'exploitation prend en charge plusieurs SOC et pilotes de périphérique les plus récents pour différents contrôleurs. Nous devrions discuter pour savoir si Chrome OS a pris en compte les dernières tendances en matière d’OS Linux en matière de gestion de l’énergie, de sécurité, de cadres de pilotes de périphériques mis à niveau, etc.
    • En général, les périphériques IOT sont sans tête ou moins centrés sur l'interface utilisateur. Nous explorons ensuite si le système d'exploitation Chrome peut être facilement configuré pour démarrer sur une unité sans tête.
    • Comprendre les exigences système, les besoins en mémoire et l'utilisation de l'alimentation sont quelques facteurs clés à prendre en compte si le système d'exploitation correspond au budget disponible pour l'équipement final.
    • Le nouvel ensemble de périphériques IOT est désormais pré-intégré avec des algorithmes d'intelligence artificielle pour aider l'utilisateur final à mieux comprendre l'environnement, la prise de décision indécise, etc. Les périphériques sont également auto-apprenants avec des algorithmes ML. Il est important de savoir si Chromium OS dispose de structures permettant de télécharger des algorithmes AI / ML ou des microprogrammes au moment de l’exécution sur des DSP ou des SOC.

Les sujets abordés dans cette session devraient nous aider à déterminer rapidement si le chrome os est favorable aux appareils IOT ou si nous avions amené un éléphant dans la salle.

  • 11h30 – 11h55 – SAN19-514 Optimisations du compilateur Graal sur AArch64 par XGXiaohong Gong (Arm Technology China)

Graal est un compilateur dynamique qui s’intègre à la machine virtuelle HotSpot et convertit le bytecode Java en code machine natif au moment de l’exécution. Cela peut être un remplacement du compilateur C2 dans Hotspot avec l'avantage de base que Graal est écrit en Java plutôt qu'en C ++, ce qui le rend probablement plus sûr et plus facile à maintenir et à étendre. En outre, le compilateur Graal met l’accent sur les hautes performances, ce qui en fait une partie importante de ce qui rend Java aussi rapide qu’il est.

Actuellement, Graal a ajouté de nombreux mécanismes d'optimisation tels que les optimisations spéculatives, l'inline, l'analyse d'échappement partielle, la réduction des snippets, etc. Néanmoins, comparé au compilateur C2, Graal perd encore certaines optimisations et de nouvelles fonctionnalités d'OpenJDK, en particulier pour AArch64. Ses performances pourraient être meilleures.

Cette présentation explore l'état de l'optimisation du graal sur AArch64, ainsi que les données de performance de certains tests de performance. L'accent est mis sur les récents changements et l'amélioration du port AArch64 auxquels Arm contribue. Certaines des œuvres futures pourraient également être introduites.


Ce sera tout pour mon horaire virtuel. Il y aura également des sessions principales au cours des cinq jours d’événement. Le vendredi après-midi sera réservé aux démonstrations. Vous trouverez le programme complet ici.

Si vous n’êtes pas employé du membre, vous pouvez toujours assister à Linaro Connect. Les frais d'un jour sont de 750 $, tandis que ceux d'une carte de 5 jours sont de 2 500 $. Vous pouvez vous inscrire en ligne.

Commentaires

Laisser un commentaire

Votre commentaire sera révisé par les administrateurs si besoin.