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...
Gespeichert in:
Veröffentlicht in: | IEEE MICRO 2004-11, Vol.24 (6), p.74-82 |
---|---|
Hauptverfasser: | , , , , , , , , , |
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 & 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 & 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 |