Mitosis: A speculative multithreaded processor based on pre-computation slices

This paper presents the Mitosis framework, which is a combined hardware-software approach to speculative multithreading, even in the presence of frequent dependences among threads. Speculative multithreading increases single-threaded application performance by exploiting thread-level parallelism spe...

ver descrição completa

Detalhes bibliográficos
Autores: Madriles Gimeno, Carles, García Quiñones, Carlos, Sánchez, Jesús, Marcuello, Pedro, González Colás, Antonio María|||0000-0002-0009-0996, Tullsen, Dean, Wang, Hong, Shen, John P.
Formato: artículo
Fecha de publicación:2008
País:España
Recursos:Universitat Politècnica de Catalunya (UPC)
Repositorio:UPCommons. Portal del coneixement obert de la UPC
Idioma:inglés
OAI Identifier:oai:upcommons.upc.edu:2117/100454
Acesso em linha:https://hdl.handle.net/2117/100454
https://dx.doi.org/10.1109/TPDS.2007.70797
Access Level:acceso abierto
Palavra-chave:Compilers (Computer programs)
Cache memory
Speculative thread-level parallelism
Precomputation slices
Thread partitioning
Multicore architecture
Compiladors (Programes d'ordinador)
Memòria cau
Àrees temàtiques de la UPC::Informàtica::Arquitectura de computadors
id ES_104bd9ee536dc85adf68d3e00a785cc2
oai_identifier_str oai:upcommons.upc.edu:2117/100454
network_acronym_str ES
network_name_str España
repository_id_str
spelling Mitosis: A speculative multithreaded processor based on pre-computation slicesMadriles Gimeno, CarlesGarcía Quiñones, CarlosSánchez, JesúsMarcuello, PedroGonzález Colás, Antonio María|||0000-0002-0009-0996Tullsen, DeanWang, HongShen, John P.Compilers (Computer programs)Cache memorySpeculative thread-level parallelismPrecomputation slicesThread partitioningMulticore architectureCompiladors (Programes d'ordinador)Memòria cauÀrees temàtiques de la UPC::Informàtica::Arquitectura de computadorsThis paper presents the Mitosis framework, which is a combined hardware-software approach to speculative multithreading, even in the presence of frequent dependences among threads. Speculative multithreading increases single-threaded application performance by exploiting thread-level parallelism speculatively, that is, executing code in parallel, even when the compiler or runtime system cannot guarantee that the parallelism exists. The proposed approach is based on predicting/computing thread input values via software through a piece of code that is added at the beginning of each thread (the precomputation slice). A precomputation slice is expected to compute the correct thread input values most of the time but not necessarily always. This allows aggressive optimization techniques to be applied to the slice to make it very short. This paper focuses on the microarchitecture that supports this execution model. The primary novelty of the microarchitecture is the hardware support for the execution and validation of precomputation slices. Additionally, this paper presents new architectures for the register file and the cache memory in order to support multiple versions of each variable and allow for efficient rollback in case of misspeculation. We show that the proposed microarchitecture, together with the compiler support, achieves an average speedup of 2.2 for applications that conventional nonspeculative approaches are not able to parallelize at all.Peer Reviewed20082008-07-0120172017-02-01journal articlehttp://purl.org/coar/resource_type/c_6501VoRhttp://purl.org/coar/version/c_970fb48d4fbd8a85info:eu-repo/semantics/articleapplication/pdfhttps://hdl.handle.net/2117/100454https://dx.doi.org/10.1109/TPDS.2007.70797reponame:UPCommons. Portal del coneixement obert de la UPCinstname:Universitat Politècnica de Catalunya (UPC)Inglésengopen accesshttp://purl.org/coar/access_right/c_abf2info:eu-repo/semantics/openAccessoai:upcommons.upc.edu:2117/1004542026-05-27T15:37:01Z
dc.title.none.fl_str_mv Mitosis: A speculative multithreaded processor based on pre-computation slices
title Mitosis: A speculative multithreaded processor based on pre-computation slices
spellingShingle Mitosis: A speculative multithreaded processor based on pre-computation slices
Madriles Gimeno, Carles
Compilers (Computer programs)
Cache memory
Speculative thread-level parallelism
Precomputation slices
Thread partitioning
Multicore architecture
Compiladors (Programes d'ordinador)
Memòria cau
Àrees temàtiques de la UPC::Informàtica::Arquitectura de computadors
title_short Mitosis: A speculative multithreaded processor based on pre-computation slices
title_full Mitosis: A speculative multithreaded processor based on pre-computation slices
title_fullStr Mitosis: A speculative multithreaded processor based on pre-computation slices
title_full_unstemmed Mitosis: A speculative multithreaded processor based on pre-computation slices
title_sort Mitosis: A speculative multithreaded processor based on pre-computation slices
dc.creator.none.fl_str_mv Madriles Gimeno, Carles
García Quiñones, Carlos
Sánchez, Jesús
Marcuello, Pedro
González Colás, Antonio María|||0000-0002-0009-0996
Tullsen, Dean
Wang, Hong
Shen, John P.
author Madriles Gimeno, Carles
author_facet Madriles Gimeno, Carles
García Quiñones, Carlos
Sánchez, Jesús
Marcuello, Pedro
González Colás, Antonio María|||0000-0002-0009-0996
Tullsen, Dean
Wang, Hong
Shen, John P.
author_role author
author2 García Quiñones, Carlos
Sánchez, Jesús
Marcuello, Pedro
González Colás, Antonio María|||0000-0002-0009-0996
Tullsen, Dean
Wang, Hong
Shen, John P.
author2_role author
author
author
author
author
author
author
dc.subject.none.fl_str_mv Compilers (Computer programs)
Cache memory
Speculative thread-level parallelism
Precomputation slices
Thread partitioning
Multicore architecture
Compiladors (Programes d'ordinador)
Memòria cau
Àrees temàtiques de la UPC::Informàtica::Arquitectura de computadors
topic Compilers (Computer programs)
Cache memory
Speculative thread-level parallelism
Precomputation slices
Thread partitioning
Multicore architecture
Compiladors (Programes d'ordinador)
Memòria cau
Àrees temàtiques de la UPC::Informàtica::Arquitectura de computadors
description This paper presents the Mitosis framework, which is a combined hardware-software approach to speculative multithreading, even in the presence of frequent dependences among threads. Speculative multithreading increases single-threaded application performance by exploiting thread-level parallelism speculatively, that is, executing code in parallel, even when the compiler or runtime system cannot guarantee that the parallelism exists. The proposed approach is based on predicting/computing thread input values via software through a piece of code that is added at the beginning of each thread (the precomputation slice). A precomputation slice is expected to compute the correct thread input values most of the time but not necessarily always. This allows aggressive optimization techniques to be applied to the slice to make it very short. This paper focuses on the microarchitecture that supports this execution model. The primary novelty of the microarchitecture is the hardware support for the execution and validation of precomputation slices. Additionally, this paper presents new architectures for the register file and the cache memory in order to support multiple versions of each variable and allow for efficient rollback in case of misspeculation. We show that the proposed microarchitecture, together with the compiler support, achieves an average speedup of 2.2 for applications that conventional nonspeculative approaches are not able to parallelize at all.
publishDate 2008
dc.date.none.fl_str_mv 2008
2008-07-01
2017
2017-02-01
dc.type.none.fl_str_mv journal article
http://purl.org/coar/resource_type/c_6501
VoR
http://purl.org/coar/version/c_970fb48d4fbd8a85
dc.type.openaire.fl_str_mv info:eu-repo/semantics/article
format article
dc.identifier.none.fl_str_mv https://hdl.handle.net/2117/100454
https://dx.doi.org/10.1109/TPDS.2007.70797
url https://hdl.handle.net/2117/100454
https://dx.doi.org/10.1109/TPDS.2007.70797
dc.language.none.fl_str_mv Inglés
eng
language_invalid_str_mv Inglés
language eng
dc.rights.none.fl_str_mv open access
http://purl.org/coar/access_right/c_abf2
dc.rights.openaire.fl_str_mv info:eu-repo/semantics/openAccess
rights_invalid_str_mv open access
http://purl.org/coar/access_right/c_abf2
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:UPCommons. Portal del coneixement obert de la UPC
instname:Universitat Politècnica de Catalunya (UPC)
instname_str Universitat Politècnica de Catalunya (UPC)
reponame_str UPCommons. Portal del coneixement obert de la UPC
collection UPCommons. Portal del coneixement obert de la UPC
repository.name.fl_str_mv
repository.mail.fl_str_mv
_version_ 1869403501822476288
score 15,300724