Thread (computing): Difference between revisions

Content deleted Content added
Citation bot (talk | contribs)
Add: s2cid, isbn, pages, volume, series, authors 1-6. | Use this bot. Report bugs. | Suggested by Whoop whoop pull up | #UCB_webform 1101/3439
Fibers: USe {{cite conference}} for a conference paper.
Line 40:
===Fibers===
{{Main|Fiber (computer science)}}
[[Fiber (computer science)|Fibers]] are an even lighter unit of scheduling which are [[cooperative multitasking|cooperatively scheduled]]: a running fiber must explicitly "[[Yield (multithreading)|yield]]" to allow another fiber to run, which makes their implementation much easier than kernel or [[user threads]]. A fiber can be scheduled to run in any thread in the same process. This permits applications to gain performance improvements by managing scheduling themselves, instead of relying on the kernel scheduler (which may not be tuned for the application). Parallel programming environments such as [[OpenMP]] sometimes implement their tasks through fibers.<ref>{{Cite journalconference |date=September 2022 |title=Enhancing MPI+OpenMP Task Based Applications for Heterogeneous Architectures with GPU support |url=https://hal-cea.archives-ouvertes.fr/cea-03749364/file/2022_iwomp_omp-target.pdf |journalconference=18hIWOMP 2022: 18th International Workshop on OpenMP |book-title=OpenMP in a Modern World: From Multi-device Support to Meta Programming. |series=Lecture Notes in Computer Science |doi=10.1007/978-3-031-15922-0_1 |last1=Ferat |first1=Manuel |last2=Pereira |first2=Romain |last3=Roussel |first3=Adrien |last4=Carribault |first4=Patrick |last5=Steffenel |first5=Luiz-Angelo |last6=Gautier |first6=Thierry |volume=13527 |pages=3–16 |isbn=978-3-031-15921-3 |s2cid=251692327 }}</ref><ref>{{Cite journal |title=BOLT: Optimizing OpenMP Parallel Regions with User-Level Threads |journal=The 28th International Conference on Parallel Architectures and Compilation Techniques |url=https://www.mcs.anl.gov/~iwasaki/pdfs/papers/PACT2019_paper.pdf}}</ref> Closely related to fibers are [[coroutine]]s, with the distinction being that coroutines are a language-level construct, while fibers are a system-level construct.
 
===Threads vs processes===