Scheduler-conscious synchronization

Efficient synchronization is important for achieving good performance in parallel programs, especially on large-scale multiprocessors. Most synchronization algorithms have been designed to run on a dedicated machine, with one application process per processor, and can suffer serious performance degr...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:ACM transactions on computer systems 1997-02, Vol.15 (1), p.3-40
Hauptverfasser: KONTOTHANASSIS, L. I, WISNIEWSKI, R. W, SCOTT, M. L
Format: Artikel
Sprache:eng
Schlagworte:
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
container_end_page 40
container_issue 1
container_start_page 3
container_title ACM transactions on computer systems
container_volume 15
creator KONTOTHANASSIS, L. I
WISNIEWSKI, R. W
SCOTT, M. L
description Efficient synchronization is important for achieving good performance in parallel programs, especially on large-scale multiprocessors. Most synchronization algorithms have been designed to run on a dedicated machine, with one application process per processor, and can suffer serious performance degradation in the presence of multiprogramming. Problems arise when running processes block or, worse, busy-wait for action on the part of a process that the scheduler has chosen not to run. We show that these problems are particularly severe for scalable synchronization algorithms based on distributed data structures. We then describe and evaluate a set of algorithms that perform well in the presence of multiprogramming while maintaining good performance on dedicated machines. We consider both large and small machines, with a particular focus on scalability, and examine mutual-exclusion locks, reader-writer locks, and barriers. Our algorithms vary in the degree of support required from the kernel scheduler. We find that while it is possible to avoid pathological performance problems using previously proposed kernel mechanisms, a modest additional widening of the kernel/user interface can make scheduler-conscious synchronization algorithms significantly simpler and faster, with performance on dedicated machines comparable to that of scheduler-oblivious algorithms.
doi_str_mv 10.1145/244764.244765
format Article
fullrecord <record><control><sourceid>proquest_cross</sourceid><recordid>TN_cdi_proquest_miscellaneous_29025353</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>27328244</sourcerecordid><originalsourceid>FETCH-LOGICAL-c365t-634b1cd0350da1f5542bb8ef8796900bacdfba8c4f3a99f99ae5a7d6316a5423</originalsourceid><addsrcrecordid>eNqFkE1LAzEURYMoOFaX7gXFXWqSl4_JUopVoeDC7oc3mYSOTDM1mS7qr3d0iltXFx7nXh6HkGvO5pxL9SCkNFrOf0OdkIIrZagBgFNSMAOSCmb4ObnI-YMxNt5FQW7f3cY3-84n6vqYXdvv800-RLdJfWy_cGj7eEnOAnbZXx1zRtbLp_Xiha7enl8XjyvqQKuBapA1dw0DxRrkQSkp6rr0oTRWW8ZqdE2osXQyAFobrEWv0DQauMaRhRm5n2Z3qf_c-zxU2zY733UY_fhVJSwTChT8DxoQ5WhhBOkEutTnnHyodqndYjpUnFU_yqpJ2RRq5O-Ow5gddiFhdG3-KwkNBqyAby1_afg</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype><pqid>27328244</pqid></control><display><type>article</type><title>Scheduler-conscious synchronization</title><source>ACM Digital Library Complete</source><creator>KONTOTHANASSIS, L. I ; WISNIEWSKI, R. W ; SCOTT, M. L</creator><creatorcontrib>KONTOTHANASSIS, L. I ; WISNIEWSKI, R. W ; SCOTT, M. L</creatorcontrib><description>Efficient synchronization is important for achieving good performance in parallel programs, especially on large-scale multiprocessors. Most synchronization algorithms have been designed to run on a dedicated machine, with one application process per processor, and can suffer serious performance degradation in the presence of multiprogramming. Problems arise when running processes block or, worse, busy-wait for action on the part of a process that the scheduler has chosen not to run. We show that these problems are particularly severe for scalable synchronization algorithms based on distributed data structures. We then describe and evaluate a set of algorithms that perform well in the presence of multiprogramming while maintaining good performance on dedicated machines. We consider both large and small machines, with a particular focus on scalability, and examine mutual-exclusion locks, reader-writer locks, and barriers. Our algorithms vary in the degree of support required from the kernel scheduler. We find that while it is possible to avoid pathological performance problems using previously proposed kernel mechanisms, a modest additional widening of the kernel/user interface can make scheduler-conscious synchronization algorithms significantly simpler and faster, with performance on dedicated machines comparable to that of scheduler-oblivious algorithms.</description><identifier>ISSN: 0734-2071</identifier><identifier>EISSN: 1557-7333</identifier><identifier>DOI: 10.1145/244764.244765</identifier><identifier>CODEN: ACSYEC</identifier><language>eng</language><publisher>New York, NY: Association for Computing Machinery</publisher><subject>Applied sciences ; Computer science; control theory; systems ; Exact sciences and technology ; Programming theory ; Theoretical computing</subject><ispartof>ACM transactions on computer systems, 1997-02, Vol.15 (1), p.3-40</ispartof><rights>1997 INIST-CNRS</rights><lds50>peer_reviewed</lds50><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed><citedby>FETCH-LOGICAL-c365t-634b1cd0350da1f5542bb8ef8796900bacdfba8c4f3a99f99ae5a7d6316a5423</citedby><cites>FETCH-LOGICAL-c365t-634b1cd0350da1f5542bb8ef8796900bacdfba8c4f3a99f99ae5a7d6316a5423</cites></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><link.rule.ids>314,777,781,27905,27906</link.rule.ids><backlink>$$Uhttp://pascal-francis.inist.fr/vibad/index.php?action=getRecordDetail&amp;idt=2637392$$DView record in Pascal Francis$$Hfree_for_read</backlink></links><search><creatorcontrib>KONTOTHANASSIS, L. I</creatorcontrib><creatorcontrib>WISNIEWSKI, R. W</creatorcontrib><creatorcontrib>SCOTT, M. L</creatorcontrib><title>Scheduler-conscious synchronization</title><title>ACM transactions on computer systems</title><description>Efficient synchronization is important for achieving good performance in parallel programs, especially on large-scale multiprocessors. Most synchronization algorithms have been designed to run on a dedicated machine, with one application process per processor, and can suffer serious performance degradation in the presence of multiprogramming. Problems arise when running processes block or, worse, busy-wait for action on the part of a process that the scheduler has chosen not to run. We show that these problems are particularly severe for scalable synchronization algorithms based on distributed data structures. We then describe and evaluate a set of algorithms that perform well in the presence of multiprogramming while maintaining good performance on dedicated machines. We consider both large and small machines, with a particular focus on scalability, and examine mutual-exclusion locks, reader-writer locks, and barriers. Our algorithms vary in the degree of support required from the kernel scheduler. We find that while it is possible to avoid pathological performance problems using previously proposed kernel mechanisms, a modest additional widening of the kernel/user interface can make scheduler-conscious synchronization algorithms significantly simpler and faster, with performance on dedicated machines comparable to that of scheduler-oblivious algorithms.</description><subject>Applied sciences</subject><subject>Computer science; control theory; systems</subject><subject>Exact sciences and technology</subject><subject>Programming theory</subject><subject>Theoretical computing</subject><issn>0734-2071</issn><issn>1557-7333</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>1997</creationdate><recordtype>article</recordtype><recordid>eNqFkE1LAzEURYMoOFaX7gXFXWqSl4_JUopVoeDC7oc3mYSOTDM1mS7qr3d0iltXFx7nXh6HkGvO5pxL9SCkNFrOf0OdkIIrZagBgFNSMAOSCmb4ObnI-YMxNt5FQW7f3cY3-84n6vqYXdvv800-RLdJfWy_cGj7eEnOAnbZXx1zRtbLp_Xiha7enl8XjyvqQKuBapA1dw0DxRrkQSkp6rr0oTRWW8ZqdE2osXQyAFobrEWv0DQauMaRhRm5n2Z3qf_c-zxU2zY733UY_fhVJSwTChT8DxoQ5WhhBOkEutTnnHyodqndYjpUnFU_yqpJ2RRq5O-Ow5gddiFhdG3-KwkNBqyAby1_afg</recordid><startdate>19970201</startdate><enddate>19970201</enddate><creator>KONTOTHANASSIS, L. I</creator><creator>WISNIEWSKI, R. W</creator><creator>SCOTT, M. L</creator><general>Association for Computing Machinery</general><scope>IQODW</scope><scope>AAYXX</scope><scope>CITATION</scope><scope>7SC</scope><scope>8FD</scope><scope>JQ2</scope><scope>L7M</scope><scope>L~C</scope><scope>L~D</scope></search><sort><creationdate>19970201</creationdate><title>Scheduler-conscious synchronization</title><author>KONTOTHANASSIS, L. I ; WISNIEWSKI, R. W ; SCOTT, M. L</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c365t-634b1cd0350da1f5542bb8ef8796900bacdfba8c4f3a99f99ae5a7d6316a5423</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>1997</creationdate><topic>Applied sciences</topic><topic>Computer science; control theory; systems</topic><topic>Exact sciences and technology</topic><topic>Programming theory</topic><topic>Theoretical computing</topic><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>KONTOTHANASSIS, L. I</creatorcontrib><creatorcontrib>WISNIEWSKI, R. W</creatorcontrib><creatorcontrib>SCOTT, M. L</creatorcontrib><collection>Pascal-Francis</collection><collection>CrossRef</collection><collection>Computer and Information Systems 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><jtitle>ACM transactions on computer systems</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>KONTOTHANASSIS, L. I</au><au>WISNIEWSKI, R. W</au><au>SCOTT, M. L</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>Scheduler-conscious synchronization</atitle><jtitle>ACM transactions on computer systems</jtitle><date>1997-02-01</date><risdate>1997</risdate><volume>15</volume><issue>1</issue><spage>3</spage><epage>40</epage><pages>3-40</pages><issn>0734-2071</issn><eissn>1557-7333</eissn><coden>ACSYEC</coden><abstract>Efficient synchronization is important for achieving good performance in parallel programs, especially on large-scale multiprocessors. Most synchronization algorithms have been designed to run on a dedicated machine, with one application process per processor, and can suffer serious performance degradation in the presence of multiprogramming. Problems arise when running processes block or, worse, busy-wait for action on the part of a process that the scheduler has chosen not to run. We show that these problems are particularly severe for scalable synchronization algorithms based on distributed data structures. We then describe and evaluate a set of algorithms that perform well in the presence of multiprogramming while maintaining good performance on dedicated machines. We consider both large and small machines, with a particular focus on scalability, and examine mutual-exclusion locks, reader-writer locks, and barriers. Our algorithms vary in the degree of support required from the kernel scheduler. We find that while it is possible to avoid pathological performance problems using previously proposed kernel mechanisms, a modest additional widening of the kernel/user interface can make scheduler-conscious synchronization algorithms significantly simpler and faster, with performance on dedicated machines comparable to that of scheduler-oblivious algorithms.</abstract><cop>New York, NY</cop><pub>Association for Computing Machinery</pub><doi>10.1145/244764.244765</doi><tpages>38</tpages><oa>free_for_read</oa></addata></record>
fulltext fulltext
identifier ISSN: 0734-2071
ispartof ACM transactions on computer systems, 1997-02, Vol.15 (1), p.3-40
issn 0734-2071
1557-7333
language eng
recordid cdi_proquest_miscellaneous_29025353
source ACM Digital Library Complete
subjects Applied sciences
Computer science
control theory
systems
Exact sciences and technology
Programming theory
Theoretical computing
title Scheduler-conscious synchronization
url https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-01-17T21%3A32%3A22IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-proquest_cross&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=Scheduler-conscious%20synchronization&rft.jtitle=ACM%20transactions%20on%20computer%20systems&rft.au=KONTOTHANASSIS,%20L.%20I&rft.date=1997-02-01&rft.volume=15&rft.issue=1&rft.spage=3&rft.epage=40&rft.pages=3-40&rft.issn=0734-2071&rft.eissn=1557-7333&rft.coden=ACSYEC&rft_id=info:doi/10.1145/244764.244765&rft_dat=%3Cproquest_cross%3E27328244%3C/proquest_cross%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_pqid=27328244&rft_id=info:pmid/&rfr_iscdi=true