Skip to Main content Skip to Navigation
Reports

FairThreads: mixing cooperative and preemptive threads in C

Frédéric Boussinot 1
1 MIMOSA - Migration and mobility : semantics and applications
CRISAM - Inria Sophia Antipolis - Méditerranée , Université de Provence - Aix-Marseille 1, MINES ParisTech - École nationale supérieure des mines de Paris
Abstract : FairThreads offers a very simple framework for concurrent and parallel programming. Basically, it defines schedulers which are synchronization servers, to which fair threads are linked. All threads linked to the same scheduler are executed in a cooperative way, at the same pace, and they can synchronize and communicate using broadcast events. Threads which are not linked to any scheduler are executed by the OS in a preemptive way, at their own pace. FairThreads defines automata to deal with small, short-lived tasks, which do not need the full power of native threads. Automata have lightweight implementation and are not subject to some limitations of native threads. The implementation in C is based on the pthreads library. Several fair schedulers, executed by distinct pthreads, can be used simultaneously in the same program. Using several schedulers and unlinked threads, programmers can take benefit of multiprocessors machines (basically, SMP architectures)
Document type :
Reports
Complete list of metadatas

Cited literature [2 references]  Display  Hide  Download

https://hal.inria.fr/inria-00071544
Contributor : Rapport de Recherche Inria <>
Submitted on : Tuesday, May 23, 2006 - 5:54:34 PM
Last modification on : Saturday, October 3, 2020 - 3:12:41 AM
Long-term archiving on: : Sunday, April 4, 2010 - 10:23:56 PM

Identifiers

  • HAL Id : inria-00071544, version 1

Citation

Frédéric Boussinot. FairThreads: mixing cooperative and preemptive threads in C. RR-5039, INRIA. 2003. ⟨inria-00071544⟩

Share

Metrics

Record views

245

Files downloads

1033