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...
| Autores: | , , , , , , , |
|---|---|
| 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 |