GNU Pth---The GNU Portable Threads Manual

... A wide range of fiber implementations is available: in Microsoft Windows [36], the Boost.Fiber C++ library [28], the GNU pth package [14] 3 , a custom implementations in OmpSs [13], Qthreads [61], as well as the more recent Argobots [51]. The POSIX makecontext set of functions can be used to implement fibers [30]. ...
Asynchronous programming models (APM) are gaining more and more traction, allowing applications to expose the available concurrency to a runtime system tasked with coordinating the execution. While MPI has long provided support for multi-threaded communication and non-blocking operations, it falls short of adequately supporting APMs as correctly and efficiently handling MPI communication in different models is still a challenge. Meanwhile, new low-level implementations of light-weight, cooperatively scheduled execution contexts (fibers, aka user-level threads (ULT)) are meant to serve as a basis for higher-level APMs and their integration in MPI implementations has been proposed as a replacement for traditional POSIX thread support to alleviate these challenges. In this paper, we first establish a taxonomy in an attempt to clearly distinguish different concepts in the parallel software stack. We argue that the proposed tight integration of fiber implementations with MPI is neither warranted nor beneficial and instead is detrimental to the goal of MPI being a portable communication abstraction. We propose MPI Continuations as an extension to the MPI standard to provide callback-based notifications on completed operations, leading to a clear separation of concerns by providing a loose coupling mechanism between MPI and APMs. We show that this interface is flexible and interacts well with different APMs, namely OpenMP detached tasks, OmpSs-2, and Argobots.
... One is written using NPTL, the native thread library used in Linux version 2.6. Two are written using standard user-space thread libraries, called respectively Pth [6] and ST [9]. ...
Full-text available
We compare a set of web servers on a simple synthetic workload. We show that, on this particular bench-mark, event-driven code is as fast or faster than the fastest implementations using thread libraries.
... • GNU Portable Threads [Eng01] is another user-level thread library aiming for completeness and portability. Version 1.4.1 of this library was benchmarked, with the pth_spawn operation averaging 80.4µs. ...
Abstract This thesis presents the design and implementation,of a new thread model for the Mungi operating system. Threads (or processes) form an essential part of any system, and for high performance the thread primitives provided must be lightweight. However, this is not the only consideration: the components of a thread model, especially the programming interface and access control mechanisms, must also conform to the general design philosophy of the operating system. In addressing these requirements, a thread model was designed for Mungi which represents
ResearchGate has not been able to resolve any references for this publication.