Helper threads via virtual multithreading

Memory latency dominates the performance of many applications on modern processors, despite advances in caches and prefetching techniques. Numerous prefetching techniques, both in hardware and software, try to alleviate the memory bottleneck. One such technique, known as helper threading improves si...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:IEEE MICRO 2004-11, Vol.24 (6), p.74-82
Hauptverfasser: Wang, P.H., Collins, J.D., Dongkeun Kim, Greene, B., Kai-Ming Chan, Yunus, A.B., Sych, T., Moore, S.F., Shen, J.P., Wang, Hong
Format: Artikel
Sprache:eng
Schlagworte:
Online-Zugang:Volltext bestellen
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
container_end_page 82
container_issue 6
container_start_page 74
container_title IEEE MICRO
container_volume 24
creator Wang, P.H.
Collins, J.D.
Dongkeun Kim
Greene, B.
Kai-Ming Chan
Yunus, A.B.
Sych, T.
Moore, S.F.
Shen, J.P.
Wang, Hong
description Memory latency dominates the performance of many applications on modern processors, despite advances in caches and prefetching techniques. Numerous prefetching techniques, both in hardware and software, try to alleviate the memory bottleneck. One such technique, known as helper threading improves single-thread performance on a simultaneous multithreaded architecture (SMT), which shares processor resources, including caches, among logical threads. It uses otherwise idle hardware thread contexts to execute speculative threads on behalf of the main thread. Helper threading accelerates a program by exploiting a processor's multithreading capability to run assist threads. Based on the helper threading usage model, virtual multithreading (VMT), a form of switch-on-event user-level multithreading, can improve performance for real-world workloads with a wall-clock speedup of 5.0 to 38.5%.
doi_str_mv 10.1109/MM.2004.75
format Article
fullrecord <record><control><sourceid>proquest_RIE</sourceid><recordid>TN_cdi_ieee_primary_1388160</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><ieee_id>1388160</ieee_id><sourcerecordid>780244701</sourcerecordid><originalsourceid>FETCH-LOGICAL-c378t-17ada09c9c5400daac7069c6545bd47025379636971fa7f5fc5366df24ec96cd3</originalsourceid><addsrcrecordid>eNp90EtLw0AQAOBFFKzVi1cvxYOokDr7nOxRilqhwYuel3Wz0ZSkqbuJ4L93SwTBg4dhDvMxL0JOKcwpBX1TFHMGIOYo98iEao6ZoILvkwkwZBlFzg7JUYxrAJAM8gm5Wvpm68Osfw_elnH2WdsUoR9sM2uHpq_HQr15OyYHlW2iP_nJU_Jyf_e8WGarp4fHxe0qcxzzPs2wpQXttJMCoLTWISjtlBTytRQITHLUiiuNtLJYycpJrlRZMeGdVq7kU3Ix9t2G7mPwsTdtHZ1vGrvx3RANy1EDMJHg5b-QUq64yBnu6Pkfuu6GsElnGJqWQUqlSuh6RC50MQZfmW2oWxu-DAWz-64pCrP7rkGZ8NmIa-_9L-R5ThXwb507csA</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype><pqid>196371156</pqid></control><display><type>article</type><title>Helper threads via virtual multithreading</title><source>IEEE Electronic Library (IEL)</source><creator>Wang, P.H. ; Collins, J.D. ; Dongkeun Kim ; Greene, B. ; Kai-Ming Chan ; Yunus, A.B. ; Sych, T. ; Moore, S.F. ; Shen, J.P. ; Wang, Hong</creator><creatorcontrib>Wang, P.H. ; Collins, J.D. ; Dongkeun Kim ; Greene, B. ; Kai-Ming Chan ; Yunus, A.B. ; Sych, T. ; Moore, S.F. ; Shen, J.P. ; Wang, Hong</creatorcontrib><description>Memory latency dominates the performance of many applications on modern processors, despite advances in caches and prefetching techniques. Numerous prefetching techniques, both in hardware and software, try to alleviate the memory bottleneck. One such technique, known as helper threading improves single-thread performance on a simultaneous multithreaded architecture (SMT), which shares processor resources, including caches, among logical threads. It uses otherwise idle hardware thread contexts to execute speculative threads on behalf of the main thread. Helper threading accelerates a program by exploiting a processor's multithreading capability to run assist threads. Based on the helper threading usage model, virtual multithreading (VMT), a form of switch-on-event user-level multithreading, can improve performance for real-world workloads with a wall-clock speedup of 5.0 to 38.5%.</description><identifier>ISSN: 0272-1732</identifier><identifier>EISSN: 1937-4143</identifier><identifier>DOI: 10.1109/MM.2004.75</identifier><identifier>CODEN: IEMIDZ</identifier><language>eng</language><publisher>Los Alamitos: IEEE</publisher><subject>Application software ; Architecture ; Clocks ; Computer architecture ; Computer programs ; Computer science ; Delay ; Hardware ; Microprocessors ; Multithreading ; Performance enhancement ; Prefetching ; Processors ; Prototypes ; Software ; Surface-mount technology ; Workload</subject><ispartof>IEEE MICRO, 2004-11, Vol.24 (6), p.74-82</ispartof><rights>Copyright Institute of Electrical and Electronics Engineers, Inc. (IEEE) Nov/Dec 2004</rights><lds50>peer_reviewed</lds50><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed><citedby>FETCH-LOGICAL-c378t-17ada09c9c5400daac7069c6545bd47025379636971fa7f5fc5366df24ec96cd3</citedby><cites>FETCH-LOGICAL-c378t-17ada09c9c5400daac7069c6545bd47025379636971fa7f5fc5366df24ec96cd3</cites></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><linktohtml>$$Uhttps://ieeexplore.ieee.org/document/1388160$$EHTML$$P50$$Gieee$$H</linktohtml><link.rule.ids>314,776,780,792,27901,27902,54733</link.rule.ids><linktorsrc>$$Uhttps://ieeexplore.ieee.org/document/1388160$$EView_record_in_IEEE$$FView_record_in_$$GIEEE</linktorsrc></links><search><creatorcontrib>Wang, P.H.</creatorcontrib><creatorcontrib>Collins, J.D.</creatorcontrib><creatorcontrib>Dongkeun Kim</creatorcontrib><creatorcontrib>Greene, B.</creatorcontrib><creatorcontrib>Kai-Ming Chan</creatorcontrib><creatorcontrib>Yunus, A.B.</creatorcontrib><creatorcontrib>Sych, T.</creatorcontrib><creatorcontrib>Moore, S.F.</creatorcontrib><creatorcontrib>Shen, J.P.</creatorcontrib><creatorcontrib>Wang, Hong</creatorcontrib><title>Helper threads via virtual multithreading</title><title>IEEE MICRO</title><addtitle>MM</addtitle><description>Memory latency dominates the performance of many applications on modern processors, despite advances in caches and prefetching techniques. Numerous prefetching techniques, both in hardware and software, try to alleviate the memory bottleneck. One such technique, known as helper threading improves single-thread performance on a simultaneous multithreaded architecture (SMT), which shares processor resources, including caches, among logical threads. It uses otherwise idle hardware thread contexts to execute speculative threads on behalf of the main thread. Helper threading accelerates a program by exploiting a processor's multithreading capability to run assist threads. Based on the helper threading usage model, virtual multithreading (VMT), a form of switch-on-event user-level multithreading, can improve performance for real-world workloads with a wall-clock speedup of 5.0 to 38.5%.</description><subject>Application software</subject><subject>Architecture</subject><subject>Clocks</subject><subject>Computer architecture</subject><subject>Computer programs</subject><subject>Computer science</subject><subject>Delay</subject><subject>Hardware</subject><subject>Microprocessors</subject><subject>Multithreading</subject><subject>Performance enhancement</subject><subject>Prefetching</subject><subject>Processors</subject><subject>Prototypes</subject><subject>Software</subject><subject>Surface-mount technology</subject><subject>Workload</subject><issn>0272-1732</issn><issn>1937-4143</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2004</creationdate><recordtype>article</recordtype><sourceid>RIE</sourceid><recordid>eNp90EtLw0AQAOBFFKzVi1cvxYOokDr7nOxRilqhwYuel3Wz0ZSkqbuJ4L93SwTBg4dhDvMxL0JOKcwpBX1TFHMGIOYo98iEao6ZoILvkwkwZBlFzg7JUYxrAJAM8gm5Wvpm68Osfw_elnH2WdsUoR9sM2uHpq_HQr15OyYHlW2iP_nJU_Jyf_e8WGarp4fHxe0qcxzzPs2wpQXttJMCoLTWISjtlBTytRQITHLUiiuNtLJYycpJrlRZMeGdVq7kU3Ix9t2G7mPwsTdtHZ1vGrvx3RANy1EDMJHg5b-QUq64yBnu6Pkfuu6GsElnGJqWQUqlSuh6RC50MQZfmW2oWxu-DAWz-64pCrP7rkGZ8NmIa-_9L-R5ThXwb507csA</recordid><startdate>20041101</startdate><enddate>20041101</enddate><creator>Wang, P.H.</creator><creator>Collins, J.D.</creator><creator>Dongkeun Kim</creator><creator>Greene, B.</creator><creator>Kai-Ming Chan</creator><creator>Yunus, A.B.</creator><creator>Sych, T.</creator><creator>Moore, S.F.</creator><creator>Shen, J.P.</creator><creator>Wang, Hong</creator><general>IEEE</general><general>The Institute of Electrical and Electronics Engineers, Inc. (IEEE)</general><scope>RIA</scope><scope>RIE</scope><scope>AAYXX</scope><scope>CITATION</scope><scope>7SC</scope><scope>7SP</scope><scope>8FD</scope><scope>JQ2</scope><scope>L7M</scope><scope>L~C</scope><scope>L~D</scope><scope>F28</scope><scope>FR3</scope></search><sort><creationdate>20041101</creationdate><title>Helper threads via virtual multithreading</title><author>Wang, P.H. ; Collins, J.D. ; Dongkeun Kim ; Greene, B. ; Kai-Ming Chan ; Yunus, A.B. ; Sych, T. ; Moore, S.F. ; Shen, J.P. ; Wang, Hong</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c378t-17ada09c9c5400daac7069c6545bd47025379636971fa7f5fc5366df24ec96cd3</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2004</creationdate><topic>Application software</topic><topic>Architecture</topic><topic>Clocks</topic><topic>Computer architecture</topic><topic>Computer programs</topic><topic>Computer science</topic><topic>Delay</topic><topic>Hardware</topic><topic>Microprocessors</topic><topic>Multithreading</topic><topic>Performance enhancement</topic><topic>Prefetching</topic><topic>Processors</topic><topic>Prototypes</topic><topic>Software</topic><topic>Surface-mount technology</topic><topic>Workload</topic><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>Wang, P.H.</creatorcontrib><creatorcontrib>Collins, J.D.</creatorcontrib><creatorcontrib>Dongkeun Kim</creatorcontrib><creatorcontrib>Greene, B.</creatorcontrib><creatorcontrib>Kai-Ming Chan</creatorcontrib><creatorcontrib>Yunus, A.B.</creatorcontrib><creatorcontrib>Sych, T.</creatorcontrib><creatorcontrib>Moore, S.F.</creatorcontrib><creatorcontrib>Shen, J.P.</creatorcontrib><creatorcontrib>Wang, Hong</creatorcontrib><collection>IEEE All-Society Periodicals Package (ASPP) 1998-Present</collection><collection>IEEE Electronic Library (IEL)</collection><collection>CrossRef</collection><collection>Computer and Information Systems Abstracts</collection><collection>Electronics &amp; Communications Abstracts</collection><collection>Technology Research Database</collection><collection>ProQuest Computer Science Collection</collection><collection>Advanced Technologies Database with Aerospace</collection><collection>Computer and Information Systems Abstracts – Academic</collection><collection>Computer and Information Systems Abstracts Professional</collection><collection>ANTE: Abstracts in New Technology &amp; Engineering</collection><collection>Engineering Research Database</collection><jtitle>IEEE MICRO</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext_linktorsrc</fulltext></delivery><addata><au>Wang, P.H.</au><au>Collins, J.D.</au><au>Dongkeun Kim</au><au>Greene, B.</au><au>Kai-Ming Chan</au><au>Yunus, A.B.</au><au>Sych, T.</au><au>Moore, S.F.</au><au>Shen, J.P.</au><au>Wang, Hong</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>Helper threads via virtual multithreading</atitle><jtitle>IEEE MICRO</jtitle><stitle>MM</stitle><date>2004-11-01</date><risdate>2004</risdate><volume>24</volume><issue>6</issue><spage>74</spage><epage>82</epage><pages>74-82</pages><issn>0272-1732</issn><eissn>1937-4143</eissn><coden>IEMIDZ</coden><abstract>Memory latency dominates the performance of many applications on modern processors, despite advances in caches and prefetching techniques. Numerous prefetching techniques, both in hardware and software, try to alleviate the memory bottleneck. One such technique, known as helper threading improves single-thread performance on a simultaneous multithreaded architecture (SMT), which shares processor resources, including caches, among logical threads. It uses otherwise idle hardware thread contexts to execute speculative threads on behalf of the main thread. Helper threading accelerates a program by exploiting a processor's multithreading capability to run assist threads. Based on the helper threading usage model, virtual multithreading (VMT), a form of switch-on-event user-level multithreading, can improve performance for real-world workloads with a wall-clock speedup of 5.0 to 38.5%.</abstract><cop>Los Alamitos</cop><pub>IEEE</pub><doi>10.1109/MM.2004.75</doi><tpages>9</tpages><oa>free_for_read</oa></addata></record>
fulltext fulltext_linktorsrc
identifier ISSN: 0272-1732
ispartof IEEE MICRO, 2004-11, Vol.24 (6), p.74-82
issn 0272-1732
1937-4143
language eng
recordid cdi_ieee_primary_1388160
source IEEE Electronic Library (IEL)
subjects Application software
Architecture
Clocks
Computer architecture
Computer programs
Computer science
Delay
Hardware
Microprocessors
Multithreading
Performance enhancement
Prefetching
Processors
Prototypes
Software
Surface-mount technology
Workload
title Helper threads via virtual multithreading
url https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-01-31T13%3A46%3A10IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-proquest_RIE&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=Helper%20threads%20via%20virtual%20multithreading&rft.jtitle=IEEE%20MICRO&rft.au=Wang,%20P.H.&rft.date=2004-11-01&rft.volume=24&rft.issue=6&rft.spage=74&rft.epage=82&rft.pages=74-82&rft.issn=0272-1732&rft.eissn=1937-4143&rft.coden=IEMIDZ&rft_id=info:doi/10.1109/MM.2004.75&rft_dat=%3Cproquest_RIE%3E780244701%3C/proquest_RIE%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_pqid=196371156&rft_id=info:pmid/&rft_ieee_id=1388160&rfr_iscdi=true