Scheduler activations: effective kernel support for the user-level management of parallelism
Threads are the vehicle for concurrency in many approaches to parallel programming. Threads separate the notion of a sequential execution stream from the other aspects of traditional UNIX-like processes, such as address spaces and I/O descriptors. The objective of this separation is to make the expr...
Gespeichert in:
Hauptverfasser: | , , , |
---|---|
Format: | Tagungsbericht |
Sprache: | eng |
Schlagworte: |
Software and its engineering
> Software organization and properties
> Contextual software domains
> Operating systems
> Memory management
> Allocation
> deallocation strategies
Software and its engineering
> Software organization and properties
> Contextual software domains
> Operating systems
> Process management
> Concurrency control
|
Online-Zugang: | Volltext |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
container_end_page | 109 |
---|---|
container_issue | |
container_start_page | 95 |
container_title | |
container_volume | |
creator | Anderson, Thomas E. Bershad, Brian N. Lazowska, Edward D. Levy, Henry M. |
description | Threads are the vehicle for concurrency in many approaches to parallel programming. Threads separate the notion of a sequential execution stream from the other aspects of traditional UNIX-like processes, such as address spaces and I/O descriptors. The objective of this separation is to make the expression and control of parallelism sufficiently cheap that the programmer or compiler can exploit even fine-grained parallelism with acceptable overhead.Threads can be supported either by the operating system kernel or by user-level library code in the application address space, but neither approach has been fully satisfactory. This paper addresses this dilemma. First, we argue that the performance of kernel threads is inherently worse than that of user-level threads, rather than this being an artifact of existing implementations; we thus argue that managing parallelism at the user level is essential to high-performance parallel computing. Next, we argue that the lack of system integration exhibited by user-level threads is a consequence of the lack of kernel support for user-level threads provided by contemporary multiprocessor operating systems; we thus argue that kernel threads or processes, as currently conceived, are the wrong abstraction on which to support user-level management of parallelism. Finally, we describe the design, implementation, and performance of a new kernel interface and user-level thread package that together provide the same functionality as kernel threads without compromising the performance and flexibility advantages of user-level management of parallelism. |
doi_str_mv | 10.1145/121132.121151 |
format | Conference Proceeding |
fullrecord | <record><control><sourceid>proquest_acm_b</sourceid><recordid>TN_cdi_proquest_miscellaneous_31551753</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>31551753</sourcerecordid><originalsourceid>FETCH-LOGICAL-a169t-87fcb72211758436299c1c661bcb970c425ef6e2f9694c8f65fa1002fc91ce6b3</originalsourceid><addsrcrecordid>eNqNjz1PwzAURS0BEqV07M7ERMp7_vaIKihIlRiA2bIftgikDcQJv59UQWJlOsvRvTqMLRFWiFJdI0cUfHWAwiN2BtYZh1IaccxmgFpUylk4ZYtS3gEAkYNVYsaWT_SWXocmdReB-vo79HW7L-fsJIempMUv5-zl7vZ5fV9tHzcP65ttFVC7vrImUzR8_DTKSqG5c4SkNUaKzgBJrlLWiWennSSbtcoBAXgmh5R0FHN2Oe1-du3XkErvd3Wh1DRhn9qheIFKjdviTwy087FtP4pH8IdyP5X7qXwUr_4l-tjVKYsf_mJUZA</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>conference_proceeding</recordtype><pqid>31551753</pqid></control><display><type>conference_proceeding</type><title>Scheduler activations: effective kernel support for the user-level management of parallelism</title><source>ACM Digital Library Complete</source><creator>Anderson, Thomas E. ; Bershad, Brian N. ; Lazowska, Edward D. ; Levy, Henry M.</creator><creatorcontrib>Anderson, Thomas E. ; Bershad, Brian N. ; Lazowska, Edward D. ; Levy, Henry M.</creatorcontrib><description>Threads are the vehicle for concurrency in many approaches to parallel programming. Threads separate the notion of a sequential execution stream from the other aspects of traditional UNIX-like processes, such as address spaces and I/O descriptors. The objective of this separation is to make the expression and control of parallelism sufficiently cheap that the programmer or compiler can exploit even fine-grained parallelism with acceptable overhead.Threads can be supported either by the operating system kernel or by user-level library code in the application address space, but neither approach has been fully satisfactory. This paper addresses this dilemma. First, we argue that the performance of kernel threads is inherently worse than that of user-level threads, rather than this being an artifact of existing implementations; we thus argue that managing parallelism at the user level is essential to high-performance parallel computing. Next, we argue that the lack of system integration exhibited by user-level threads is a consequence of the lack of kernel support for user-level threads provided by contemporary multiprocessor operating systems; we thus argue that kernel threads or processes, as currently conceived, are the wrong abstraction on which to support user-level management of parallelism. Finally, we describe the design, implementation, and performance of a new kernel interface and user-level thread package that together provide the same functionality as kernel threads without compromising the performance and flexibility advantages of user-level management of parallelism.</description><identifier>ISSN: 0163-5980</identifier><identifier>ISBN: 0897914473</identifier><identifier>ISBN: 9780897914475</identifier><identifier>DOI: 10.1145/121132.121151</identifier><language>eng</language><publisher>New York, NY, USA: ACM</publisher><subject>Software and its engineering -- Software organization and properties -- Contextual software domains -- Operating systems -- Memory management -- Allocation -- deallocation strategies ; Software and its engineering -- Software organization and properties -- Contextual software domains -- Operating systems -- Process management -- Concurrency control ; Software and its engineering -- Software organization and properties -- Contextual software domains -- Operating systems -- Process management -- Multiprocessing -- multiprogramming -- multitasking ; Software and its engineering -- Software organization and properties -- Contextual software domains -- Operating systems -- Process management -- Scheduling</subject><ispartof>Operating systems review, 1991, p.95-109</ispartof><rights>1991 ACM</rights><woscitedreferencessubscribed>false</woscitedreferencessubscribed></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><link.rule.ids>309,310,780,784,789,790,23930,23931,25140,27925</link.rule.ids></links><search><creatorcontrib>Anderson, Thomas E.</creatorcontrib><creatorcontrib>Bershad, Brian N.</creatorcontrib><creatorcontrib>Lazowska, Edward D.</creatorcontrib><creatorcontrib>Levy, Henry M.</creatorcontrib><title>Scheduler activations: effective kernel support for the user-level management of parallelism</title><title>Operating systems review</title><description>Threads are the vehicle for concurrency in many approaches to parallel programming. Threads separate the notion of a sequential execution stream from the other aspects of traditional UNIX-like processes, such as address spaces and I/O descriptors. The objective of this separation is to make the expression and control of parallelism sufficiently cheap that the programmer or compiler can exploit even fine-grained parallelism with acceptable overhead.Threads can be supported either by the operating system kernel or by user-level library code in the application address space, but neither approach has been fully satisfactory. This paper addresses this dilemma. First, we argue that the performance of kernel threads is inherently worse than that of user-level threads, rather than this being an artifact of existing implementations; we thus argue that managing parallelism at the user level is essential to high-performance parallel computing. Next, we argue that the lack of system integration exhibited by user-level threads is a consequence of the lack of kernel support for user-level threads provided by contemporary multiprocessor operating systems; we thus argue that kernel threads or processes, as currently conceived, are the wrong abstraction on which to support user-level management of parallelism. Finally, we describe the design, implementation, and performance of a new kernel interface and user-level thread package that together provide the same functionality as kernel threads without compromising the performance and flexibility advantages of user-level management of parallelism.</description><subject>Software and its engineering -- Software organization and properties -- Contextual software domains -- Operating systems -- Memory management -- Allocation -- deallocation strategies</subject><subject>Software and its engineering -- Software organization and properties -- Contextual software domains -- Operating systems -- Process management -- Concurrency control</subject><subject>Software and its engineering -- Software organization and properties -- Contextual software domains -- Operating systems -- Process management -- Multiprocessing -- multiprogramming -- multitasking</subject><subject>Software and its engineering -- Software organization and properties -- Contextual software domains -- Operating systems -- Process management -- Scheduling</subject><issn>0163-5980</issn><isbn>0897914473</isbn><isbn>9780897914475</isbn><fulltext>true</fulltext><rsrctype>conference_proceeding</rsrctype><creationdate>1991</creationdate><recordtype>conference_proceeding</recordtype><recordid>eNqNjz1PwzAURS0BEqV07M7ERMp7_vaIKihIlRiA2bIftgikDcQJv59UQWJlOsvRvTqMLRFWiFJdI0cUfHWAwiN2BtYZh1IaccxmgFpUylk4ZYtS3gEAkYNVYsaWT_SWXocmdReB-vo79HW7L-fsJIempMUv5-zl7vZ5fV9tHzcP65ttFVC7vrImUzR8_DTKSqG5c4SkNUaKzgBJrlLWiWennSSbtcoBAXgmh5R0FHN2Oe1-du3XkErvd3Wh1DRhn9qheIFKjdviTwy087FtP4pH8IdyP5X7qXwUr_4l-tjVKYsf_mJUZA</recordid><startdate>19910901</startdate><enddate>19910901</enddate><creator>Anderson, Thomas E.</creator><creator>Bershad, Brian N.</creator><creator>Lazowska, Edward D.</creator><creator>Levy, Henry M.</creator><general>ACM</general><scope>7SC</scope><scope>8FD</scope><scope>JQ2</scope><scope>L7M</scope><scope>L~C</scope><scope>L~D</scope></search><sort><creationdate>19910901</creationdate><title>Scheduler activations</title><author>Anderson, Thomas E. ; Bershad, Brian N. ; Lazowska, Edward D. ; Levy, Henry M.</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-a169t-87fcb72211758436299c1c661bcb970c425ef6e2f9694c8f65fa1002fc91ce6b3</frbrgroupid><rsrctype>conference_proceedings</rsrctype><prefilter>conference_proceedings</prefilter><language>eng</language><creationdate>1991</creationdate><topic>Software and its engineering -- Software organization and properties -- Contextual software domains -- Operating systems -- Memory management -- Allocation -- deallocation strategies</topic><topic>Software and its engineering -- Software organization and properties -- Contextual software domains -- Operating systems -- Process management -- Concurrency control</topic><topic>Software and its engineering -- Software organization and properties -- Contextual software domains -- Operating systems -- Process management -- Multiprocessing -- multiprogramming -- multitasking</topic><topic>Software and its engineering -- Software organization and properties -- Contextual software domains -- Operating systems -- Process management -- Scheduling</topic><toplevel>online_resources</toplevel><creatorcontrib>Anderson, Thomas E.</creatorcontrib><creatorcontrib>Bershad, Brian N.</creatorcontrib><creatorcontrib>Lazowska, Edward D.</creatorcontrib><creatorcontrib>Levy, Henry M.</creatorcontrib><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></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>Anderson, Thomas E.</au><au>Bershad, Brian N.</au><au>Lazowska, Edward D.</au><au>Levy, Henry M.</au><format>book</format><genre>proceeding</genre><ristype>CONF</ristype><atitle>Scheduler activations: effective kernel support for the user-level management of parallelism</atitle><btitle>Operating systems review</btitle><date>1991-09-01</date><risdate>1991</risdate><spage>95</spage><epage>109</epage><pages>95-109</pages><issn>0163-5980</issn><isbn>0897914473</isbn><isbn>9780897914475</isbn><abstract>Threads are the vehicle for concurrency in many approaches to parallel programming. Threads separate the notion of a sequential execution stream from the other aspects of traditional UNIX-like processes, such as address spaces and I/O descriptors. The objective of this separation is to make the expression and control of parallelism sufficiently cheap that the programmer or compiler can exploit even fine-grained parallelism with acceptable overhead.Threads can be supported either by the operating system kernel or by user-level library code in the application address space, but neither approach has been fully satisfactory. This paper addresses this dilemma. First, we argue that the performance of kernel threads is inherently worse than that of user-level threads, rather than this being an artifact of existing implementations; we thus argue that managing parallelism at the user level is essential to high-performance parallel computing. Next, we argue that the lack of system integration exhibited by user-level threads is a consequence of the lack of kernel support for user-level threads provided by contemporary multiprocessor operating systems; we thus argue that kernel threads or processes, as currently conceived, are the wrong abstraction on which to support user-level management of parallelism. Finally, we describe the design, implementation, and performance of a new kernel interface and user-level thread package that together provide the same functionality as kernel threads without compromising the performance and flexibility advantages of user-level management of parallelism.</abstract><cop>New York, NY, USA</cop><pub>ACM</pub><doi>10.1145/121132.121151</doi><tpages>15</tpages></addata></record> |
fulltext | fulltext |
identifier | ISSN: 0163-5980 |
ispartof | Operating systems review, 1991, p.95-109 |
issn | 0163-5980 |
language | eng |
recordid | cdi_proquest_miscellaneous_31551753 |
source | ACM Digital Library Complete |
subjects | Software and its engineering -- Software organization and properties -- Contextual software domains -- Operating systems -- Memory management -- Allocation -- deallocation strategies Software and its engineering -- Software organization and properties -- Contextual software domains -- Operating systems -- Process management -- Concurrency control Software and its engineering -- Software organization and properties -- Contextual software domains -- Operating systems -- Process management -- Multiprocessing -- multiprogramming -- multitasking Software and its engineering -- Software organization and properties -- Contextual software domains -- Operating systems -- Process management -- Scheduling |
title | Scheduler activations: effective kernel support for the user-level management of parallelism |
url | https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2024-12-29T19%3A11%3A07IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-proquest_acm_b&rft_val_fmt=info:ofi/fmt:kev:mtx:book&rft.genre=proceeding&rft.atitle=Scheduler%20activations:%20effective%20kernel%20support%20for%20the%20user-level%20management%20of%20parallelism&rft.btitle=Operating%20systems%20review&rft.au=Anderson,%20Thomas%20E.&rft.date=1991-09-01&rft.spage=95&rft.epage=109&rft.pages=95-109&rft.issn=0163-5980&rft.isbn=0897914473&rft.isbn_list=9780897914475&rft_id=info:doi/10.1145/121132.121151&rft_dat=%3Cproquest_acm_b%3E31551753%3C/proquest_acm_b%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_pqid=31551753&rft_id=info:pmid/&rfr_iscdi=true |