Modélisation des interfaces matériel/logiciel



Documents pareils
Hardware dependant Software design

Une méthode de conception de systèmes sur puce

Thème 3 Conception et vérification d architectures de systèmes sur puce

A. Elmrabti. To cite this version: HAL Id: tel

Architecture distribuée

Chapitre 1 : Introduction aux méthodologies de conception et de vérification pour SE

RTDS G3. Emmanuel Gaudin

VMware vsphere 5 Préparation à la certification VMware Certified Professional 5 Data Center Virtualization (VCP5-DCV) - Examen VCP510

<Insert Picture Here> Solaris pour la base de donnés Oracle

LES APPROCHES CONCRÈTES POUR LE DÉPLOIEMENT D INFRASTRUCTURES CLOUD AVEC HDS & VMWARE

EXALOGIC ELASTIC CLOUD MANAGEMENT

4. Outils pour la synchronisation F. Boyer, Laboratoire Lig

Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction

Eléments de spécification des systèmes temps réel Pierre-Yves Duval (cppm)

Profil UML pour TLM: contribution à la formalisation et à l automatisation du flot de conception et vérification des systèmes-sur-puce.

Le Ro le Hyper V Troisie me Partie Haute disponibilite des machines virtuelles

Vulgarisation Java EE Java EE, c est quoi?

INF6500 : Structures des ordinateurs. Sylvain Martel - INF6500 1

Concept de machine virtuelle

11 Février 2014 Paris nidays.fr. ni.com

VMware ESX/ESXi. 1. Les composants d ESX. VMware ESX4 est le cœur de l infrastructure vsphere 4.

Potentiels de la technologie FPGA dans la conception des systèmes. Avantages des FPGAs pour la conception de systèmes optimisés

Introduction aux Machines Virtuelles avec VMKit

WSM la solution complète de provisionnement de bureaux virtuels

Génération de code binaire pour application multimedia : une approche au vol

Exécutif temps réel Pierre-Yves Duval (cppm)

Cours 13. RAID et SAN. 2004, Marc-André Léger

Informatique pour scientifiques hiver Plan général Systèmes d exploitation

Windows Server Chapitre 1: Découvrir Windows Server 2008

Grid Technology. ActiveMQ pour le grand collisionneur de hadrons (LHC) Lionel Cons Grid Technology Group Information Technology Department

La technologie Java Card TM

Systèmes Répartis. Pr. Slimane Bah, ing. PhD. Ecole Mohammadia d Ingénieurs. G. Informatique. Semaine Slimane.bah@emi.ac.ma

PLATE-FORME DE CLOUD COMPUTING SLAPOS. Intégration d applications

Software Engineering and Middleware A Roadmap

Projet gestion d'objets dupliqués

Plan. École Supérieure d Économie Électronique. Plan. Chap 9: Composants et systèmes de sécurité. Rhouma Rhouma. 21 Juillet 2014

Module : Virtualisation à l aide du rôle Hyper-V

1 Mesure de la performance d un système temps réel : la gigue

Atelier : Virtualisation avec Xen

Les systèmes embarqués Introduction. Richard Grisel Professeur des Universités Université de Rouen Nacer Abouchi Professeur ESCPE Lyon

2 - VMWARE SERVER.doc

L INFORMATIQUE SOUS FORME DE SERVICE POUR VOTRE ENTREPRISE. Farid BENREJDAL Senior Systems Engineer VMware

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr

Initiation au HPC - Généralités

Catalogue des stages Ercom 2013

Chapitre 2 : Abstraction et Virtualisation

Informatique industrielle A Systèmes temps-réel J.F.Peyre. Partie I : Introduction

Mise en place d un projet VDI

Une réelle solution HA Continuité en toute situation!

Le Network File System de Sun (NFS)

Edito. Optimisation de la gestion d une Infrastructure Virtuelle. Questions / Réponses Amosdec Q Numéro 7

Modélisation de la Reconfiguration Dynamique appliquée à un décodeur LDPC Non Binaire

Détection d'intrusions en environnement haute performance

Présentation d HyperV

Présentation Alfresco

GenDbg : un débogueur générique. Didier Eymery Jean-Marie Borello Jean-Marie Fraygefond Odile Eymery Philippe Bion

Synchro et Threads Java TM

Retour d expérience RATP. Intégrer le test de performance au cœur du processus de développement agile. Challenges, techniques, résultats.

Base de l'informatique. Généralité et Architecture Le système d'exploitation Les logiciels Le réseau et l'extérieur (WEB)

Mettre en oeuvre Cisco Data Center Unified Fabric

Le modèle client-serveur

Perspectives pour l entreprise. Desktop Cloud. JC Devos IBM IT Architect jdevos@fr.ibm.com IBM Corporation

La Virtualisation Windows chez CASINO. Philippe CROUZY Responsable Infrastructure Equipes Systèmes -Stockage

WEB15 IBM Software for Business Process Management. un offre complète et modulaire. Alain DARMON consultant avant-vente BPM

Virtualisation sous Linux L'age de raison. Daniel Veillard

Diagrammes de Package, de déploiement et de composants UML

Consolidation. Grid Infrastructure avec la 11gR2

Info0604 Programmation multi-threadée. Cours 5. Programmation multi-threadée en Java

FORMATION. Linux-HA et les systèmes de Cluster

Tutoriel: Création d'un Web service en C++ avec WebContentC++Framework

Systèmes d exploitation

Les avantages de la virtualisation sont multiples. On peut citer:

IRL : Simulation distribuée pour les systèmes embarqués

La plate forme VMware vsphere 4 utilise la puissance de la virtualisation pour transformer les infrastructures de Datacenters en Cloud Computing.

Architecture et Extensions d ArcGIS Server

Le Ro le Hyper V Premie re Partie Configuration et Prise en main du gestionnaire Hyper-V

Table des matières 1. Introduction. 1. Avant-propos Remerciements Chapitre 1 Virtualisation de serveurs

Integrated Modular Avionic

Virtualisation des Serveurs et du Poste de Travail

Le stockage. 1. Architecture de stockage disponible. a. Stockage local ou centralisé. b. Différences entre les architectures

Vérifier la qualité de vos applications logicielle de manière continue

-1 - Postes de travail graphiques

Rapport de certification

Table des matières. A - Introduction 13. B - Qu'est-ce que la virtualisation? 13

Préparation à la certification LPIC-1 "Junior Level Linux Certification"

Temps Réel. Jérôme Pouiller Septembre 2011

..seulement 5% des serveurs x86 sont virtualisés!

La Continuité d Activité

CommandCenter Secure Gateway

4. Outils pour la synchronisation F. Boyer, Laboratoire Sardes

Système de Stockage Sécurisé et Distribué

Chapitre 7. Le Protocole SNMP 7.1 INTRODUCTION COMPOSANTES POUR L UTILISATION FONCTIONNEMENT LE PAQUET SNMPV1...

Processus! programme. DIMA, Systèmes Centralisés (Ph. Mauran) " Processus = suite d'actions = suite d'états obtenus = trace

Guide de poche. Get Wyse. Go Far. * Bienvenue dans le Cloud Client Computing de Wyse. En savoir plus. * Avec Wyse, vous irez loin.

Prototype de canal caché dans le DNS

Naissance d'un REPTAR

Machines virtuelles Cours 1 : Introduction

GCOS 7 sur microprocesseur standard Diane Daniel POIRSON 14 octobre 2004 Matériels 64 / DPS 7 / DPS 7000 Architecture & Evolution - Daniel POIRSON 1

Intervenants. Thomas d'erceville Project Manager. Christian NGUYEN Practice Manager IT Quality

Transcription:

Modélisation des interfaces matériel/logiciel Présenté par Frédéric Pétrot Patrice Gerin Alexandre Chureau Hao Shen Aimen Bouchhima Ahmed Jerraya 1/28 TIMA Laboratory SLS Group 46 Avenue Félix VIALLET 38031 Grenoble Cedex France

Définition : Interface Matériel/Logiciel pour les MPSoC 2/28 MPSoC composé de: Nœuds Matériels Nœuds Logiciels Réseau de communication Nœud Logiciel : Sous système CPU spécifique GPP, DSP, ASIP I/O, architecture mémoire Architecture logicielle en couche Code applicatif haut niveau. Hardware Dependent Software (HDS) Interfaces HW/SW pour la conception des SOC Abstraire le HDS et le matériel spécifique Fournir une API logicielle applicative Disponible à différents niveaux d abstraction Hardware node Interface Software node Interface Communication Network Operating System CPU bridge Multi-Thread application SW interface Specific I/O HW/SW HAL Interface MEM Model Network interface DMA Hardware Co-processor HW PROTOCOL

Interfaces Matériel/Logiciel classiques Modèles d abstraction : le grand écart Software Sub-System Software Thread 1 System Level Functional specification Software Thread 2 Fully implicit HW/SW Interface Hardware Partition ning Software Sub-System Software Thread 1 GAP Software Thread 1 Abstract HW/SW Interface Hardware Software design Hardware/Software Early HW/SW integration discontinuity Binary SW Appli OS HAL Integration ISS IT Ctrl Fully explicit HW/SW Interface MEM FIFO HW Virtual Prototype ISA/RTL 3/28 Hardware design Correction cycle

Interface Matériel/Logiciel abstraite État de l art Modélisation des interfaces Matériel/Logiciel Approches logicielles: matériel complètement implicite Validation de l OS sans interaction avec le matériel Pas d estimation de performances précise Approches matérielles : Logiciel binaire Debug de l OS fastidieux Temps de simulation exagérément long Méthodes de conception au niveau système Modèle d architecture fixe Application/architecture restreinte (TTL, DSOC,...) Besoins : Modèle d interface Matériel/Logiciel permettant le debug de l OS tôt et l estimation de performance précise 4/28

Sommaire Introduction Modélisation des interfaces Matériel/Logiciel Transaction Accurate Level Modèles exécutables en SystemC Expérimentations Perspectives 5/28

Sommaire Introduction Modélisation des interfaces Matériel/Logiciel Transaction Accurate Level Modèles exécutables en SystemC Expérimentations Perspectives 6/28

Modélisation de l interface au niveau «Transaction Accurate» Abstraire La couche logicielle HAL Détails du sous système CPU Interface Logicielle : API HAL Context switch Spin lock IO Read/Write Interface Matériel: protocole VCI, AMBA, Interface matérielle spécifique (FIFO) Operating System bridge Multi-Thread application HAL HAL API Network interface Hardware Specific I/O HW/SW Interface CPU MEM DMA At Transaction Accurate Level Hardware Co-processor HW PROTOCOL 7/28

Modélisation de l interface au niveau «Transaction Accurate» 8/28 Execution Unit : modélisation du parallélisme au niveau processeur Access Unit : modélisation des communication dans le sous système CPU Data Unit : encapsulation des périphériques Synchronization Unit : modélisation du mécanisme de gestion et de contrôle d interruptions Cet ensemble d éléments implémente l adaptation entre l interface logicielle et matérielle Execution Unit bridge HAL_API Multi-Thread application Operating System Access Unit Device HAL HAL API Network interface Specific I/O HW/SW Interface CPU MEM DMA At Transaction Accurate Level Device Hardware Co-processor Data Unit HW PROTOCOL HW PROTOCOL Hardware Synchro Unit

Software Sub-System Services pour l adaptation d interfaces Matériel/Logiciel Software Thread 1 Software Thread 2 Les interfaces matérielle et logicielle sont modélisées par un ensemble de services (fournis/requis) Adaptation d interface par composants Éléments logiciels Éléments matériels Éléments Hybrides SW Hyb HW 9/28 Hardware

Implémentation de l interface SW interface Concept d élément d interface Les éléments requièrent et/ou fournissent des services Un service représente une fonctionnalité S1 S3 Une interface Matériel/Logiciel consiste en un assemblage d élément logiciels, hybrides et matériels Process S1 Approche déjà utilisée en modélisation logicielle et matérielle Process Process 10/28 HW interface

Sommaire Introduction Modélisation des interfaces Matériel/Logiciel Transaction Accurate Level Modèles exécutables en SystemC Expérimentations Personnels 11/28

Services logiciels en SystemC Mécanisme des «sc_interface» en SystemC Équivalence entre objets SystemC et concept de service sc_interface sc_export sc_port sc_module Service Service fournis Service requis Élément Module 1 Module 2 sc_port sc_export 12/28 Process fct Appel de fonction Implémentation

Élément logiciels LOCK SEM class LOCK : public sc_interface { virtual int lock() = 0; }; 13/28 UNLOCK lock Mutex unlock Seulement des méthodes C++ exportées pour implémenter des services logiciels Pas de SC_THREAD, SC_CTHREAD ou SC_METHOD Pas de wait() SystemC SC_MODULE(Mutex), public LOCK, public UNLOCK { sc_export<lock> plock; sc_export<unlock> punlock; sc_port<sem> psem; int lock(){...}; int unlock(){...}; SC_CTOR(Mutex) : plock("plock"), punlock("punlock"), psem("psem") { plock(*this); punlock(*this); } };

Élément matériel Service matériel Les services sont implémentés par les SC_THREAD et accessible à travers les ports SystemC Pas de méthode C++ exportés Implémentation SystemC Standard S1 S2 Process Process S3 14/28

Éléments Hybrides Combine éléments logiciels et matériels : Méthodes C++ exportées pour l implémentation des services logiciels Thread(s) SystemC pour l implémentation des services matériels Appels à la fonction wait() pour introduire le temps dans le modèle S1 S1 Process S3 S2 15/28

Éléments hybrides et modèle d exécution logiciel Les éléments hybrides sont les éléments clé pour modéliser l exécution séquentielle du logiciel Utilisés pour implémenter l unité d exécution(cpu) Un thread SystemC représente un processeur Ce thread implémente les initialisations bas niveau Un appel au service logiciel OS_INIT fourni par l application permet de «booter» l OS Tout le logiciel est alors exécuté séquentiellement Software Application (Appli + OS + COM) Le temps d exécution du logiciel est introduit par annotation de l application Des appels au service consume modélisent le temps consommé par le software dans le contexte du processeur CONSUME OS_INIT hw_thread 16/28 EXEC_UNIT

Détails : simulation logicielle L élément EXEC_UNIT modélise les initialisations bas niveau et boote l OS L OS et l application sont exécutés séquentiellement Des appels à CONSUME permettent à SystemC de gérer la simulation concurrente du matériel Des appels a CONSUME peuvent se faire à partir des élément du modèle TA afin d augmenter la précision Simulation start EXEC_UNIT OS Appli 17/28

Sommaire Introduction Modélisation des interfaces Matériel/Logiciel Transaction Accurate Level Modèles exécutables en SystemC Expérimentations Perspectives 18/28

Application Motion JPEG : Modèle au niveau Système 6 tâches logicielles et 2 matérielles Modèle d exécution synchronisé par les communications SOFTWARE VLD IQ ZZ DEMUX LIBU IDCT 19/28 Vitesse de simulation élevée Validation fonctionnelle simple Pas de détails sur l OS Pas de détails sur les communications TRAFFIC GENERATOR HARDWARE Communication channel VIDEO OUT thread

Application Motion JPEG : Modèle Prototype Virtuel 20/28 Les tâches logicielles sont exécutées sur un OS POSIX : MUTEK Le binaire est interprété par le simulateur du processeur cible Le reste du système est au niveau RTL Communications détaillées Précision des performances Validation fastidieuse du système d exploitation Simulation très lente Binary SW Appli Mutek OS HAL ISS MEM HAL API TG IT Ctrl HW/SW Interface At Transaction VCI Cross bar Accurate Level FIFO HW PROTOCOL VIDEO

Simulation de l application 3 simulations Utilisation du même code logiciel pour les 3 niveaux Utilisation du même code de l OS au niveau TA et VP MJpeg Appli POSIX API Host OS (LINUX) MJpeg Appli POSIX API MUTEK OS HAL API T.A. Model MJpeg Appli POSIX API MUTEK OS HAL API HAL (sparc) ISS + Sub-System POSIX API SW view of HW HW PROTOCOL Hardware HW PROTOCOL Hardware 21/28 System Level 0.017s/image (No CPU) Transaction Accurate 1.2s/image (2 Execution Unit) Virtual Prototype 235s/image (2 Sparc ISS)

Application Motion JPEG : Modèle Transaction Accurate 22/28 Éléments logiciels CONTEXT INTERRUPT Éléments matériels VCI FIFO Éléments hybrides CROSSBAR VCI WRAPPER EXEC_UNIT HAL API SPIN SPIN LOCK UNLOCK MEM HW PROTOCOL CXT INIT SWITCH CONTEXT XBAR DIAGNOSTIC CONSUME VCI_WRAPPER FIFO OS INIT HS_READ REQ ACK DATA SMP THIS COUNT EXEC_UNIT IO_ACCESS READ WRITE REQ ACK DATA IT MASK UNMASK INTERRUPT IT_CTRL HS_WRITE

Résultats de simulation au niveau Transaction Accurate Traces de simulation plus détaillées qu au niveau Système Debug de l OS (synchronisations, comportement temporel, debugger standard) gain en vitesse de 200 par rapport au niveau prototype virtuel pour cette implémentation blocking communication 23/28

Modification du modèle de l interface Matériel/Logiciel Ajout d un élément DMA Hybride Modification de l application pour l utilisation du DMA Paralléliser communications et traitement HAL API SPIN SPIN LOCK UNLOCK MEM CXT INIT SWITCH CONTEXT XBAR DIAGNOSTIC CONSUME VCI_WRAPPER OS INIT SMP THIS COUNT EXEC_UNIT DMA IO_ACCESS READ WRITE IT MASK UNMASK INTERRUPT IT_CTRL FIFO 24/28 HW PROTOCOL HS_READ REQ ACK DATA REQ ACK DATA HS_WRITE

Modification du modèle de l interface Matériel/Logiciel La simulation permet de valider les communication DMA et de vérifier l effet sur l exécution des threads de l application. 25/28

Sommaire Introduction Modélisation des interfaces Matériel/Logiciel Transaction Accurate Level Modèles exécutables en SystemC Expérimentations Perspectives 26/28

Perspectives Appliquer l approche proposée à d autres niveaux d abstraction : Architecture Virtuelle, permettant d abstraire le Système d Exploitation et les communication spécifiques Automatiser la conception des interface Matériel/Logiciel pour permettre : L exploration d architecture. Le raffinement Operating System bridge Multi-Thread application SW interface Network interface Hardware Specific I/O HW/SW interface HAL Interface At Virtual HW/SW Interface CPU Architecture MEM DMA At Transaction Level Accurate Level HW interface Hardware Co-processor 27/28

Résumé Modèle exécutable de l interface Matériel/Logiciel Résultats : Intégration du matériel et du logiciel anticipé Simulation rapide et précise de l'application Motion-JPEG Modèle exécutable dans un environnement standard (SystemC) Bénéfices : Validation du Système d exploitation Estimation de performance 28/28

Merci Questions? 29/28