René's URL Explorer Experiment


Title: To Pin or Not to Pin: Asserting the Scalability of QEMU Parallel Implementation - Archive ouverte HAL

Open Graph Title: To Pin or Not to Pin: Asserting the Scalability of QEMU Parallel Implementation

Description:

Due to its speed in cross-executing sequential code, dynamic binary translation is the unchallenged technology for full system-level simulation. Among the translators, QEMU has become the de facto solution.  It introduced parallel host execution of the target cores a few years ago for the ARM instruction set architecture and this support is now also available, among others, for RISCV.  Given the popularity of these instruction sets in multi and many-core systems, assessing the scalability of their parallel implementation makes sense.  In this paper, we use a subset of the PARSEC benchmark to measure the execution time of QEMU's parallel implementation, to which we added the ability to pin a target processor to a host core or hardware thread.  We report the results of a wealth of experiments we performed on a 16-core/32-thread x86-64 SMP machine.  They show that the support of parallelism in QEMU scales well, and that, somewhat counter intuitively, pinning does not improve   performance.

Open Graph Description:

Due to its speed in cross-executing sequential code, dynamic binary translation is the unchallenged technology for full system-level simulation. Among the translators, QEMU has become the de facto solution.  It introduced parallel host execution of the target cores a few years ago for the ARM instruction set architecture and this support is now also available, among others, for RISCV.  Given the popularity of these instruction sets in multi and many-core systems, assessing the scalability of their parallel implementation makes sense.  In this paper, we use a subset of the PARSEC benchmark to measure the execution time of QEMU's parallel implementation, to which we added the ability to pin a target processor to a host core or hardware thread.  We report the results of a wealth of experiments we performed on a 16-core/32-thread x86-64 SMP machine.  They show that the support of parallelism in QEMU scales well, and that, somewhat counter intuitively, pinning does not improve   performance.

Keywords:

Opengraph URL: https://hal.science/hal-03417343/document

direct link

Domain: hal.archives-ouvertes.fr

citation_languageen
DC.languageen
DC.typeproceedings
og:typeproceedings
citation_titleTo Pin or Not to Pin: Asserting the Scalability of QEMU Parallel Implementation
DC.titleTo Pin or Not to Pin: Asserting the Scalability of QEMU Parallel Implementation
DC.identifierhttps://hal.science/hal-03417343/document
citation_authorFrédéric Pétrot
citation_author_institutionSystem Level Synthesis
DC.creatorFrédéric Pétrot
citation_author_hal_idfrederic-petrot
citation_abstract

Due to its speed in cross-executing sequential code, dynamic binary translation is the unchallenged technology for full system-level simulation. Among the translators, QEMU has become the de facto solution.  It introduced parallel host execution of the target cores a few years ago for the ARM instruction set architecture and this support is now also available, among others, for RISCV.  Given the popularity of these instruction sets in multi and many-core systems, assessing the scalability of their parallel implementation makes sense.  In this paper, we use a subset of the PARSEC benchmark to measure the execution time of QEMU's parallel implementation, to which we added the ability to pin a target processor to a host core or hardware thread.  We report the results of a wealth of experiments we performed on a 16-core/32-thread x86-64 SMP machine.  They show that the support of parallelism in QEMU scales well, and that, somewhat counter intuitively, pinning does not improve   performance.

DC.description

Due to its speed in cross-executing sequential code, dynamic binary translation is the unchallenged technology for full system-level simulation. Among the translators, QEMU has become the de facto solution.  It introduced parallel host execution of the target cores a few years ago for the ARM instruction set architecture and this support is now also available, among others, for RISCV.  Given the popularity of these instruction sets in multi and many-core systems, assessing the scalability of their parallel implementation makes sense.  In this paper, we use a subset of the PARSEC benchmark to measure the execution time of QEMU's parallel implementation, to which we added the ability to pin a target processor to a host core or hardware thread.  We report the results of a wealth of experiments we performed on a 16-core/32-thread x86-64 SMP machine.  They show that the support of parallelism in QEMU scales well, and that, somewhat counter intuitively, pinning does not improve   performance.

citation_keywordsparallel simulation;dynamic binary translation;discrete event simulation;performance evaluation
DC.subjectparallel simulation;dynamic binary translation;discrete event simulation;performance evaluation
citation_pdf_urlhttps://hal.science/hal-03417343/document
citation_online_date2021/12/01
citation_publication_date2021/09/01
DC.date2021/09/01
DC.issued2021/09/01
citation_firstpage238-245
citation_conference_title24th Euromicro Conference on Digital System Design (Euromicro DSD/SEAA 2021)
DC.relation.ispartof24th Euromicro Conference on Digital System Design (Euromicro DSD/SEAA 2021)
DC.publisherIEEE
citation_doi10.1109/DSD53832.2021.00045
citation_funding_sourcecitation_funder=Agence Nationale de la Recherche; citation_funder_id=10.13039/501100001665; citation_grant_number=ANR-18-CE25-0017;
msapplication-TileColor#000092
theme-color#ffffff

Links:

Recherchehttps://hal.archives-ouvertes.fr/hal-03417343#searchHeaderNG
Accéder directement au contenuhttps://hal.archives-ouvertes.fr/hal-03417343#skip-link
Pied de pagehttps://hal.archives-ouvertes.fr/hal-03417343#footer
https://hal.science
Documentation https://about.hal.science
HAL science ouverte https://hal.archives-ouvertes.fr/
Titresjavascript:void(0);
Sous-titrejavascript:void(0);
Titre de l'ouvragejavascript:void(0);
Titre du volume (Série)javascript:void(0);
Champ de recherche par défaut (multicritères) + texte intégral des PDFjavascript:void(0);
Résuméjavascript:void(0);
Texte intégral indexé des documents PDFjavascript:void(0);
Mots-clésjavascript:void(0);
Type de documentjavascript:void(0);
Sous-type de documentjavascript:void(0);
Tous les identifiants du documentjavascript:void(0);
Identifiant HAL du dépôtjavascript:void(0);
Langue du document (texte)javascript:void(0);
Pays (Texte)javascript:void(0);
Villejavascript:void(0);
À paraître (true ou false)javascript:void(0);
Auteur (multicritères)javascript:void(0);
Auteur : Nom completjavascript:void(0);
Auteur : Nom de famillejavascript:void(0);
Auteur : Prénomjavascript:void(0);
Auteur : Complément de nom, deuxième prénomjavascript:void(0);
Auteur : Organisme payeurjavascript:void(0);
Auteur : IdHal (chaîne de caractères)javascript:void(0);
Auteur : Fonctionjavascript:void(0);
Auteur : personID (entier)javascript:void(0);
Auteur : Identifiant de l'organisme payeurjavascript:void(0);
Auteur : Identifiant de la structurejavascript:void(0);
Directeur de thèsejavascript:void(0);
Éditeurjavascript:void(0);
Éditeur scientifiquejavascript:void(0);
Éditeur de la sériejavascript:void(0);
Structure (multicritères)javascript:void(0);
Structure : Acronymejavascript:void(0);
Structure : Nomjavascript:void(0);
Structure : Codejavascript:void(0);
Structure : Paysjavascript:void(0);
Structure : Typejavascript:void(0);
Structure : État dans le référentieljavascript:void(0);
Structure : Identifiant HAL de la structurejavascript:void(0);
Structure/équipe de recherche : Paysjavascript:void(0);
Structure/regroupement d'équipes : Paysjavascript:void(0);
Structure/laboratoire : Paysjavascript:void(0);
Structure/regroupement de laboratoires : Paysjavascript:void(0);
Structure/institution : Paysjavascript:void(0);
Structure/regroupement d'institutions : Paysjavascript:void(0);
Champ de recherche par défaut (multicritères)javascript:void(0);
javascript:void(0);
Revues (multicritères)javascript:void(0);
Revue : Éditeurjavascript:void(0);
Revue : Titre abrégéjavascript:void(0);
Revue : Titrejavascript:void(0);
Revue : Identifiant internejavascript:void(0);
Revue : Date de début de publicationjavascript:void(0);
Revue : ISSN électroniquejavascript:void(0);
Revue : ISSNjavascript:void(0);
Revue : Éditeurjavascript:void(0);
Revue : Couleur dans SHERPA/RoMEOjavascript:void(0);
Revue : État dans le référentieljavascript:void(0);
javascript:void(0);
Colloque (multicritères)javascript:void(0);
Colloque : Titrejavascript:void(0);
Colloque : Organisateurjavascript:void(0);
Colloque : date de début (Année)javascript:void(0);
Colloque : date de fin (Année)javascript:void(0);
Conférence invitée (oui/non)javascript:void(0);
javascript:void(0);
Projets ANR (multicritères)javascript:void(0);
Projet ANR : Acronymejavascript:void(0);
Projet ANR : Acronyme du programmejavascript:void(0);
Projet ANR : Code décision (référence)javascript:void(0);
Projet ANR : Nomjavascript:void(0);
Projet ANR : Identifiant internejavascript:void(0);
Projet ANR : État dans le référentieljavascript:void(0);
Projet ANSES: Acronymejavascript:void(0);
Projet ANSES: Code decision (reference)javascript:void(0);
Projet ANSES: Nomjavascript:void(0);
Projet ADEME: Acronymejavascript:void(0);
Projet ADEME: Code decision (reference)javascript:void(0);
Projet ADEME: Nomjavascript:void(0);
javascript:void(0);
Projets européens (multicritères)javascript:void(0);
Projet européen : Acronymejavascript:void(0);
Projet européen : Identifiant de l'appel à projetjavascript:void(0);
Projet européen : Référencejavascript:void(0);
Projet européen : Nomjavascript:void(0);
Projet européen : Date de finjavascript:void(0);
Projet européen : Financementjavascript:void(0);
Projet européen : Date de débutjavascript:void(0);
Projet européen : État dans le référentieljavascript:void(0);
Projet européen : Identifiant internejavascript:void(0);
javascript:void(0);
Date de production : annéejavascript:void(0);
Date de mise en ligne : annéejavascript:void(0);
Date de publication : annéejavascript:void(0);
Date d'écriture : annéejavascript:void(0);
Date de modification du dépôt : annéejavascript:void(0);
Date de dépôt : annéejavascript:void(0);
Date de publication électronique : annéejavascript:void(0);
javascript:void(0);
Collection HAL (multicritères)javascript:void(0);
Collection HAL : catégoriejavascript:void(0);
Collection HAL : Codejavascript:void(0);
Collection HAL : Nomjavascript:void(0);
Collection HAL : Identifiant internejavascript:void(0);
javascript:void(0);
Identifiant interne du contributeur/déposantjavascript:void(0);
Nom complet du contributeur/déposantjavascript:void(0);
javascript:void(0);
Domainesjavascript:void(0);
Domaine primairejavascript:void(0);
Domaine racinejavascript:void(0);
Sous-domaine niveau 1javascript:void(0);
Sous-domaine niveau 2javascript:void(0);
Sous-domaine niveau 3javascript:void(0);
javascript:void(0);
Statut du documentjavascript:void(0);
Version du documentjavascript:void(0);
Type de dépôtjavascript:void(0);
Type de documentjavascript:void(0);
ISBNjavascript:void(0);
Numéro - référencejavascript:void(0);
Identifiant DOIjavascript:void(0);
javascript:void(0);
Classificationjavascript:void(0);
Audiencejavascript:void(0);
Vulgarisationjavascript:void(0);
Comité de lecture - texte (oui ou non)javascript:void(0);
Actes de colloquejavascript:void(0);
Référence internejavascript:void(0);
Financementjavascript:void(0);
javascript:void(0);
Infrastructure de recherche : multicritèresjavascript:void(0);
Infrastructure de recherche : Nomjavascript:void(0);
Infrastructure de recherche : identifiantjavascript:void(0);
Infrastructure de recherche : Acronymejavascript:void(0);
Infrastructure de recherche : DOIjavascript:void(0);
Déposer https://hal.archives-ouvertes.fr/submit/index
M. Badarouxhttps://hal.archives-ouvertes.fr/search/index/q/*/authFullName_s/M.+Badaroux
TIMA-SLS - System Level Synthesishttps://hal.archives-ouvertes.fr/search/index/q/*/structId_i/1043045
Saverio Miroddihttps://hal.archives-ouvertes.fr/search/index/q/*/authFullName_s/Saverio+Miroddi
Ticketsolvehttps://hal.archives-ouvertes.fr/search/index/q/*/structId_i/1080020
Frédéric Pétrothttps://hal.archives-ouvertes.fr/search/index/q/*/authIdHal_s/frederic-petrot
frederic-petrothttps://hal.archives-ouvertes.fr/search/index/q/*/authIdHal_s/frederic-petrot
0000-0003-0624-7373https://orcid.org/0000-0003-0624-7373
108969223https://www.idref.fr/108969223
TIMA-SLS - System Level Synthesishttps://hal.archives-ouvertes.fr/search/index/q/*/structId_i/1043045
parallel simulationhttps://hal.archives-ouvertes.fr/search/index/q/*/keyword_t/parallel%20simulation
dynamic binary translationhttps://hal.archives-ouvertes.fr/search/index/q/*/keyword_t/dynamic%20binary%20translation
discrete event simulationhttps://hal.archives-ouvertes.fr/search/index/q/*/keyword_t/discrete%20event%20simulation
performance evaluationhttps://hal.archives-ouvertes.fr/search/index/q/*/keyword_t/performance%20evaluation
Modélisation et simulationhttps://hal.archives-ouvertes.fr/search/index/q/*/level1_domain_s/info.info-mo
Télécharger le fichier https://hal.science/hal-03417343v1/file/qemu-riscv-parsec.pdf
CC BY-NC 4.0 - Attribution - Utilisation non commercialehttps://creativecommons.org/licenses/by-nc/4.0/
Connectez-vous pour contacter le contributeurjavascript:void(0);
Télécharger pour visualiser https://hal.science/hal-03417343v1/document
version 1https://hal.science/hal-03417343v1
CC BY-NC 4.0 - Attribution - Utilisation non commercialehttps://creativecommons.org/licenses/by-nc/4.0/
10.1109/DSD53832.2021.00045 https://dx.doi.org/10.1109/DSD53832.2021.00045
⟨10.1109/DSD53832.2021.00045⟩https://dx.doi.org/10.1109/DSD53832.2021.00045
⟨hal-03417343⟩https://hal.science/hal-03417343v1
BibTeXhttps://hal.science/hal-03417343v1/bibtex
XML-TEIhttps://hal.science/hal-03417343v1/tei
Dublin Corehttps://hal.science/hal-03417343v1/dc
DC Termshttps://hal.science/hal-03417343v1/dcterms
EndNotehttps://hal.science/hal-03417343v1/endnote
DataCitehttps://hal.science/hal-03417343v1/datacite
UGAhttps://hal.archives-ouvertes.fr/UGA
CNRShttps://hal.archives-ouvertes.fr/CNRS
TIMAhttps://hal.archives-ouvertes.fr/TIMA
TDS-MACShttps://hal.archives-ouvertes.fr/TDS-MACS
MIAIhttps://hal.archives-ouvertes.fr/MIAI
ANRhttps://hal.archives-ouvertes.fr/ANR
ANR-IAhttps://hal.archives-ouvertes.fr/ANR-IA
https://www.addtoany.com/share
https://www.enseignementsup-recherche.gouv.fr/
https://www.cnrs.fr/
https://www.inria.fr/
https://www.inrae.fr/
Supporthttps://doc.archives-ouvertes.fr/support
https://doi.org/10.34894/VQ1DJA
Documentation https://doc.archives-ouvertes.fr/
Formation https://learning.hal.science/
FAQ https://doc.archives-ouvertes.fr/faq
API https://api.archives-ouvertes.fr/docs
OAI-PMH https://api.archives-ouvertes.fr/docs/oai
AuréHAL https://aurehal.archives-ouvertes.fr
Hal Monitor https://monitor.hal.science/
À propos https://about.hal.science
Données personnelles https://about.hal.science/privacy-policy
Mentions légales https://about.hal.science/legal-notice/
Accessibilité https://about.hal.science/web-accessibility/
Conformité RGAA https://about.hal.science/RGAA-compliance/
Je publie, quels sont mes droits ? https://www.ouvrirlascience.fr/je-publie-quels-sont-mes-droits/
Loi pour une République numérique https://www.ouvrirlascience.fr/guide-application-loi-republique-numerique-article-30-ecrits-scientifiques-version-courte/
Stratégie de non-cession des droits https://www.ouvrirlascience.fr/mettre-en-oeuvre-la-strategie-de-non-cession-des-droits-sur-les-publications-scientifiques/
Mir@bel https://reseau-mirabel.info/
Jisc - Open Policy Finder https://openpolicyfinder.jisc.ac.uk/
Portails institutionnels https://hal.science/browse/portal
HALhttps://hal.science
HAL SHShttps://shs.hal.science
HAL Thèseshttps://theses.hal.science
MédiHALhttps://media.hal.science
CCSD https://www.ccsd.cnrs.fr/
Episciences https://www.episciences.org/
Sciencesconf https://www.sciencesconf.org/

Viewport: width=device-width, initial-scale=1, shrink-to-fit=no


URLs of crawlers that visited me.