Disintermediated Active Communication
Disintermediated active communication (DAC) is a new paradigm of communication in which a sending thread actively engages a receiving thread when sending it a message via shared memory. DAC is different than existing approaches that use passive communication through shared-memory - based on intermit...
Gespeichert in:
Veröffentlicht in: | IEEE computer architecture letters 2006-02, Vol.5 (2), p.15-15 |
---|---|
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 | 15 |
---|---|
container_issue | 2 |
container_start_page | 15 |
container_title | IEEE computer architecture letters |
container_volume | 5 |
creator | Bracy, A. Doshi, K. Jacobson, Q. |
description | Disintermediated active communication (DAC) is a new paradigm of communication in which a sending thread actively engages a receiving thread when sending it a message via shared memory. DAC is different than existing approaches that use passive communication through shared-memory - based on intermittently checking for messages - or that use preemptive communication but must rely on intermediaries such as the operating system or dedicated interrupt channels. An implementation of DAC builds on existing cache coherency support and exploits light-weight user-level interrupts. Inter-thread communication occurs via monitored memory locations where the receiver thread responds to invalidations of monitored addresses with a light-weight user-level software-defined handler. Address monitoring is supported by cache line user-bits, or CLUbits. CLUbits reside in the cache next to the coherence state, are private per thread, and maintain user-defined per-cache-line state. A light weight software library can demultiplex asynchronous notifications and handle exceptional cases. In DAC-based programs threads coordinate with one another by explicit signaling and implicit resource monitoring. With the simple and direct communication primitives of DAC, multi-threaded workloads synchronize at a finer granularity and more efficiently utilize the hardware of upcoming multi-core designs. This paper introduces DAC, presents several signaling models for DAC-based programs, and describes a simple memory-based framework that supports DAC by leveraging existing cache-coherency models. Our framework is general enough to support uses beyond DAC |
doi_str_mv | 10.1109/L-CA.2006.15 |
format | Article |
fullrecord | <record><control><sourceid>proquest_RIE</sourceid><recordid>TN_cdi_proquest_miscellaneous_889383354</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><ieee_id>4069172</ieee_id><sourcerecordid>889383354</sourcerecordid><originalsourceid>FETCH-LOGICAL-c229t-c25adbdfc2dc400a80e40400cef6c750cd595748ae7980d8a4091e8ab3fcfe443</originalsourceid><addsrcrecordid>eNpd0E1LxDAQBuAgCq6rN29eFkG82HXSfDQ5lvoJBS96DtlkClm27Zq0gv9-u6zswcvMe3gYhpeQawpLSkE_1llVLnMAuaTihMyoEDKTIPnpMQt5Ti5SWgNwyRSfkbunkEI3YGzRBzugX5RuCD-4qPq2Hbvg7BD67pKcNXaT8Opvz8nXy_Nn9ZbVH6_vVVlnLs_1ME1h_co3LveOA1gFyGEKDhvpCgHOCy0KriwWWoFXloOmqOyKNa5Bztmc3B_ubmP_PWIaTBuSw83GdtiPySilmWJM7OXtP7nux9hNzxklRQ6iAD2hhwNysU8pYmO2MbQ2_hoKZt-YqU1Vmn1jhoqJ3xx4QMQj5SA1LXK2A6ifZaM</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype><pqid>865205709</pqid></control><display><type>article</type><title>Disintermediated Active Communication</title><source>IEEE Electronic Library (IEL)</source><creator>Bracy, A. ; Doshi, K. ; Jacobson, Q.</creator><creatorcontrib>Bracy, A. ; Doshi, K. ; Jacobson, Q.</creatorcontrib><description>Disintermediated active communication (DAC) is a new paradigm of communication in which a sending thread actively engages a receiving thread when sending it a message via shared memory. DAC is different than existing approaches that use passive communication through shared-memory - based on intermittently checking for messages - or that use preemptive communication but must rely on intermediaries such as the operating system or dedicated interrupt channels. An implementation of DAC builds on existing cache coherency support and exploits light-weight user-level interrupts. Inter-thread communication occurs via monitored memory locations where the receiver thread responds to invalidations of monitored addresses with a light-weight user-level software-defined handler. Address monitoring is supported by cache line user-bits, or CLUbits. CLUbits reside in the cache next to the coherence state, are private per thread, and maintain user-defined per-cache-line state. A light weight software library can demultiplex asynchronous notifications and handle exceptional cases. In DAC-based programs threads coordinate with one another by explicit signaling and implicit resource monitoring. With the simple and direct communication primitives of DAC, multi-threaded workloads synchronize at a finer granularity and more efficiently utilize the hardware of upcoming multi-core designs. This paper introduces DAC, presents several signaling models for DAC-based programs, and describes a simple memory-based framework that supports DAC by leveraging existing cache-coherency models. Our framework is general enough to support uses beyond DAC</description><identifier>ISSN: 1556-6056</identifier><identifier>EISSN: 1556-6064</identifier><identifier>DOI: 10.1109/L-CA.2006.15</identifier><identifier>CODEN: ICALC3</identifier><language>eng</language><publisher>New York: IEEE</publisher><subject>Coherence ; Communication systems ; Computer aided instruction ; Concurrent computing ; Construction ; Hardware ; High performance computing ; Interrupts ; Mathematical models ; Messages ; Monitoring ; Operating systems ; Processor scheduling ; Programming profession ; Receiving ; Software libraries</subject><ispartof>IEEE computer architecture letters, 2006-02, Vol.5 (2), p.15-15</ispartof><rights>Copyright The Institute of Electrical and Electronics Engineers, Inc. (IEEE) 2006</rights><lds50>peer_reviewed</lds50><woscitedreferencessubscribed>false</woscitedreferencessubscribed><citedby>FETCH-LOGICAL-c229t-c25adbdfc2dc400a80e40400cef6c750cd595748ae7980d8a4091e8ab3fcfe443</citedby><cites>FETCH-LOGICAL-c229t-c25adbdfc2dc400a80e40400cef6c750cd595748ae7980d8a4091e8ab3fcfe443</cites></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><linktohtml>$$Uhttps://ieeexplore.ieee.org/document/4069172$$EHTML$$P50$$Gieee$$H</linktohtml><link.rule.ids>314,780,784,796,27922,27923,54756</link.rule.ids><linktorsrc>$$Uhttps://ieeexplore.ieee.org/document/4069172$$EView_record_in_IEEE$$FView_record_in_$$GIEEE</linktorsrc></links><search><creatorcontrib>Bracy, A.</creatorcontrib><creatorcontrib>Doshi, K.</creatorcontrib><creatorcontrib>Jacobson, Q.</creatorcontrib><title>Disintermediated Active Communication</title><title>IEEE computer architecture letters</title><addtitle>LCA</addtitle><description>Disintermediated active communication (DAC) is a new paradigm of communication in which a sending thread actively engages a receiving thread when sending it a message via shared memory. DAC is different than existing approaches that use passive communication through shared-memory - based on intermittently checking for messages - or that use preemptive communication but must rely on intermediaries such as the operating system or dedicated interrupt channels. An implementation of DAC builds on existing cache coherency support and exploits light-weight user-level interrupts. Inter-thread communication occurs via monitored memory locations where the receiver thread responds to invalidations of monitored addresses with a light-weight user-level software-defined handler. Address monitoring is supported by cache line user-bits, or CLUbits. CLUbits reside in the cache next to the coherence state, are private per thread, and maintain user-defined per-cache-line state. A light weight software library can demultiplex asynchronous notifications and handle exceptional cases. In DAC-based programs threads coordinate with one another by explicit signaling and implicit resource monitoring. With the simple and direct communication primitives of DAC, multi-threaded workloads synchronize at a finer granularity and more efficiently utilize the hardware of upcoming multi-core designs. This paper introduces DAC, presents several signaling models for DAC-based programs, and describes a simple memory-based framework that supports DAC by leveraging existing cache-coherency models. Our framework is general enough to support uses beyond DAC</description><subject>Coherence</subject><subject>Communication systems</subject><subject>Computer aided instruction</subject><subject>Concurrent computing</subject><subject>Construction</subject><subject>Hardware</subject><subject>High performance computing</subject><subject>Interrupts</subject><subject>Mathematical models</subject><subject>Messages</subject><subject>Monitoring</subject><subject>Operating systems</subject><subject>Processor scheduling</subject><subject>Programming profession</subject><subject>Receiving</subject><subject>Software libraries</subject><issn>1556-6056</issn><issn>1556-6064</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2006</creationdate><recordtype>article</recordtype><sourceid>RIE</sourceid><recordid>eNpd0E1LxDAQBuAgCq6rN29eFkG82HXSfDQ5lvoJBS96DtlkClm27Zq0gv9-u6zswcvMe3gYhpeQawpLSkE_1llVLnMAuaTihMyoEDKTIPnpMQt5Ti5SWgNwyRSfkbunkEI3YGzRBzugX5RuCD-4qPq2Hbvg7BD67pKcNXaT8Opvz8nXy_Nn9ZbVH6_vVVlnLs_1ME1h_co3LveOA1gFyGEKDhvpCgHOCy0KriwWWoFXloOmqOyKNa5Bztmc3B_ubmP_PWIaTBuSw83GdtiPySilmWJM7OXtP7nux9hNzxklRQ6iAD2hhwNysU8pYmO2MbQ2_hoKZt-YqU1Vmn1jhoqJ3xx4QMQj5SA1LXK2A6ifZaM</recordid><startdate>200602</startdate><enddate>200602</enddate><creator>Bracy, A.</creator><creator>Doshi, K.</creator><creator>Jacobson, Q.</creator><general>IEEE</general><general>The Institute of Electrical and Electronics Engineers, Inc. (IEEE)</general><scope>97E</scope><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>200602</creationdate><title>Disintermediated Active Communication</title><author>Bracy, A. ; Doshi, K. ; Jacobson, Q.</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c229t-c25adbdfc2dc400a80e40400cef6c750cd595748ae7980d8a4091e8ab3fcfe443</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2006</creationdate><topic>Coherence</topic><topic>Communication systems</topic><topic>Computer aided instruction</topic><topic>Concurrent computing</topic><topic>Construction</topic><topic>Hardware</topic><topic>High performance computing</topic><topic>Interrupts</topic><topic>Mathematical models</topic><topic>Messages</topic><topic>Monitoring</topic><topic>Operating systems</topic><topic>Processor scheduling</topic><topic>Programming profession</topic><topic>Receiving</topic><topic>Software libraries</topic><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>Bracy, A.</creatorcontrib><creatorcontrib>Doshi, K.</creatorcontrib><creatorcontrib>Jacobson, Q.</creatorcontrib><collection>IEEE All-Society Periodicals Package (ASPP) 2005-present</collection><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 computer architecture letters</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext_linktorsrc</fulltext></delivery><addata><au>Bracy, A.</au><au>Doshi, K.</au><au>Jacobson, Q.</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>Disintermediated Active Communication</atitle><jtitle>IEEE computer architecture letters</jtitle><stitle>LCA</stitle><date>2006-02</date><risdate>2006</risdate><volume>5</volume><issue>2</issue><spage>15</spage><epage>15</epage><pages>15-15</pages><issn>1556-6056</issn><eissn>1556-6064</eissn><coden>ICALC3</coden><abstract>Disintermediated active communication (DAC) is a new paradigm of communication in which a sending thread actively engages a receiving thread when sending it a message via shared memory. DAC is different than existing approaches that use passive communication through shared-memory - based on intermittently checking for messages - or that use preemptive communication but must rely on intermediaries such as the operating system or dedicated interrupt channels. An implementation of DAC builds on existing cache coherency support and exploits light-weight user-level interrupts. Inter-thread communication occurs via monitored memory locations where the receiver thread responds to invalidations of monitored addresses with a light-weight user-level software-defined handler. Address monitoring is supported by cache line user-bits, or CLUbits. CLUbits reside in the cache next to the coherence state, are private per thread, and maintain user-defined per-cache-line state. A light weight software library can demultiplex asynchronous notifications and handle exceptional cases. In DAC-based programs threads coordinate with one another by explicit signaling and implicit resource monitoring. With the simple and direct communication primitives of DAC, multi-threaded workloads synchronize at a finer granularity and more efficiently utilize the hardware of upcoming multi-core designs. This paper introduces DAC, presents several signaling models for DAC-based programs, and describes a simple memory-based framework that supports DAC by leveraging existing cache-coherency models. Our framework is general enough to support uses beyond DAC</abstract><cop>New York</cop><pub>IEEE</pub><doi>10.1109/L-CA.2006.15</doi><tpages>1</tpages></addata></record> |
fulltext | fulltext_linktorsrc |
identifier | ISSN: 1556-6056 |
ispartof | IEEE computer architecture letters, 2006-02, Vol.5 (2), p.15-15 |
issn | 1556-6056 1556-6064 |
language | eng |
recordid | cdi_proquest_miscellaneous_889383354 |
source | IEEE Electronic Library (IEL) |
subjects | Coherence Communication systems Computer aided instruction Concurrent computing Construction Hardware High performance computing Interrupts Mathematical models Messages Monitoring Operating systems Processor scheduling Programming profession Receiving Software libraries |
title | Disintermediated Active Communication |
url | https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-01-13T18%3A12%3A31IST&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=Disintermediated%20Active%20Communication&rft.jtitle=IEEE%20computer%20architecture%20letters&rft.au=Bracy,%20A.&rft.date=2006-02&rft.volume=5&rft.issue=2&rft.spage=15&rft.epage=15&rft.pages=15-15&rft.issn=1556-6056&rft.eissn=1556-6064&rft.coden=ICALC3&rft_id=info:doi/10.1109/L-CA.2006.15&rft_dat=%3Cproquest_RIE%3E889383354%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=865205709&rft_id=info:pmid/&rft_ieee_id=4069172&rfr_iscdi=true |