| IEEE Standards Project P1003.4a, "Threads Extension for Portable Operating Systems". Draft 6. The Institute of Electrical and Electronics Engineers, February 1992. |
....the progress of other operations. Likewise, preemptive multithreading is crucial to minimize the dispatch latency of realtime systems [14] Problem: In many ORBs, the concurrency architecture is programmed directly using the OS platform s multi threading API, such as the POSIX Pthreads API [22]. However, there are several drawbacks to this approach: # Non portable: Threading APIs tend to be very platform specific. Even industry standards such as POSIX Pthreads are not available on many widely used OS platforms, including Win32, VxWorks, and pSoS. Not only is there no direct mapping ....
IEEE, Threads Extension for Portable Operating Systems (Draft 10), February 1996.
....use of RMS MLF to support imprecise computations [30] Rationale: The design leverages the semantics of individual scheduling strategies. The pattern allows individual strategies to be composed in a way that respects the semantics of individual strategies, but rationalizes the combined effect. 5 Distributed Scheduling Patterns All of the patterns in this section address distributed real time systems where the application has tasks with real time constraints that span operating systems and or endsystems (subsystems) that have possibly different scheduling policies, and the designers must ....
....enforcement and analysis of real time requirements across the entire system, the service level patterns of this section are needed to provide a uniform application of the choices of policies and parameters provided by the local OS s and endsystems. This section is organized as follows. Section 5.1 presents a Distributed Scheduling Service Pattern, which may be applied, in implementing several of the other patterns: Distributed Scheduling (Section 5.2) Distributed Resource Consistency Control (Section 5.3) Global To Local Priority Mapping (Section 5.4) and Global Overload Management ....
[Article contains additional citation context not shown here]
IEEE, Threads Extension for Portable Operating Systems (Draft 10), February 1996.
....Access to such critical regions [40] must be synchronized with semaphores [40] guaranteeing mutual exclusion. Application programs usually use thread libraries associated with the operating system to achieve multi threaded functionality. POSIX has defined a standard interface for thread libraries [24]. The implementation of the clump specific strategies in this thesis uses the Linux threads library that conforms to the POSIX standard. The threads library associated with the operating system controls the scheduling of the application threads onto the available processors. The application ....
IEEE. Threads Extension for Portable Operating Systems (Draft 10), Feb. 1996. (POSIX1003.1c Linux implementation developed by Xavier Leroy).
....and 15 faster for double type. 7. Performance evaluation on SMP multiprocessors. We implemented the bit reversal methods on two SMP multiprocessors: the Sun E 450 and the HP 9000 V2200. The parallel bit reversal program on an SMP with M processors is described using POSIX thread primitives [10] as follows: bit reversal(id) my start = id (N M) my end = id 1) N M) for i = 1, N Y[i ] X[i] The bit reversal operations are evenly distributed among M processors. 7.1. Performance comparisons on the Sun E 450. The Sun E 450 is a 1998 4 processor SMP product. Each of the 4 nodes is ....
IEEE, POSIX P1003.4a: Threads Extension for Portable Operating Systems, IEEE Press, Piscataway, NJ, 1994.
.... the form of syntactic extensions (e.g. the cobegin coend construct in Concurrent Pascal [14] or the parallel constructs in the proposed ANSI X3H5 standard [18] directives (e.g. HPF [15] OpenMP [20] or library calls (e.g. start( run( wait( in Java [13] and similar calls in pthreads [16]) In this paper, we assume that the source primitives in the parallel program have already been translated to the parallel program graph (PPG) representation [23, 24] and focus our attention of performing compiler analysis and optimization on PPGs. The memory consistency model assumed for ....
IEEE. Thread Extensions for Portable Operating Systems (Draft 6), February 1992. P1003.4a/6.
....survey of main memory database techniques, see [GMS92] which follows our object oriented real time database model of Section 2. The RT SORAC system is implemented on the Lynx real time operating system [GL91] which is compliant with the proposed POSIX 1003.4a real time operating system standard [IEE90]. We have extended Lynx s POSIX 1003.4 (limited) real time scheduling capabilities to provide dynamic earliest deadline first scheduling of transactions and method invocations [Sen93] Our concurrency control technique is provided by an active manager for each object in the database. Transactions ....
IEEE P1003.4 Working Group. Threads extension for portable operating systems. draft, 1990.
....full benefit of prefetching, we need to be able to both fetch data asynchronously (so the application can continue after issuing the prefetch) and take advantage of any available parallelism in the disk subsystem. The run time layer accomplishes these requirements by creating a number of pthreads [11] that make the actual calls to the PagingDirected PM and wait for the prefetches to complete. When a prefetch request inserted by the compiler is intercepted by the run time layer, the bitvector is checked to see if a prefetch is really needed. If so, the request is placed on a work queue and one ....
IEEE. Threads Extension for Portable Operating Systems (Draft 7), Feb. 1992.
....is beginning to shed light on the problem of producing an Ada binding for the POSIX Threads Extension. 1 Introduction The POSIX Ada Real Time (PART) project 2 is seeking to accelerate development of standard Ada language bindings for the POSIX Realtime Extension [8] and Threads Extension [9] (Pthreads) An important objective of this project is to identify and resolve interactions between the Ada task model and Pthreads that might affect the Ada language implementation or the application program. In order to expose such interactions, and to provide an empirical basis for development ....
....between threads of control. It is difficult to see how disaster can be avoided unless these mechanisms are layered or the implementation of one has considerable knowledge of the other[6] The rationale of Draft 6 of Pthreads indicates that it is intended to support the implementation of Ada tasks [9]. The principal problem with a Pthreads based Ada RTS is overhead. The Pthreads interface is not specifically designed for Ada, nor can a Pthreads based Ada RTS take advantage of specific machine features as an Ada only RTS can. This can lead to loss of efficiency. If Pthreads are supported in the ....
[Article contains additional citation context not shown here]
IEEE. Threads Extension for Portable Operating Systems (Draft 6), February 1992. P1003.4a/D6.
....are received by the OS, the thread performing select (2) reads one from the queue and (3) hands it off to a server endpoint for processing. Problem: In many ORBs, the concurrency architecture is programmed directly using the OS platform s multi threading API, such as the POSIX threads API [39]. However, there are several drawbacks to this approach: # Non portable: Threading APIs are highly platformspecific. Even IEEE standards, such as POSIX threads [39] 11 are not available on many widely used OS platforms, including Win32, VxWorks, and pSoS. Not only is there no direct syntactic ....
....ORBs, the concurrency architecture is programmed directly using the OS platform s multi threading API, such as the POSIX threads API [39] However, there are several drawbacks to this approach: # Non portable: Threading APIs are highly platformspecific. Even IEEE standards, such as POSIX threads [39], 11 are not available on many widely used OS platforms, including Win32, VxWorks, and pSoS. Not only is there no direct syntactic mapping between APIs, but there is no clear mapping of semantics either. For instance, POSIX threads support deferred thread cancellation, whereas Win32 threads do ....
IEEE, Threads Extension for Portable Operating Systems (Draft 10), February 1996.
....switches, one thread suspend, and one thread resume. 2. The time to suspend and resume a low priority thread that does nothing. There is no context switching. This time is subtracted from the one described above, and the result is divided by two to yield the context switch time. POSIX pthreads [29] do not support a suspend resume thread interface. Therefore, the Suspend Resume test is not applicable to OS platforms, such as LynxOS and Linux, that only support POSIX threads. The second context switching metric is the Yield test. It runs two threads at the same priority. Each thread ....
IEEE, Threads Extension for Portable Operating Systems (Draft 10), February 1996.
....the POSIX Pthreads Thread Specific Storage API The following code shows how thread specific storage can be implemented when TS Objects are stored internally to each thread using a fixed sized array of keys. This example is adapted from a publically available implementation [3] of POSIX Pthreads [4]. The thread state structure shown below contains the state of a thread: struct thread state The thread specific error number. int errno ; Thread specific data values. void key [ POSIX THREAD KEYS MAX] Other thread state. In addition to errno and the array of ....
IEEE, Threads Extension for Portable Operating Systems (Draft 10), February 1996.
....modules, which simplifies debugging and testing of new kernel modules and protocol implementations. Compliant to open system standards: Solaris supports the POSIX 1003.1c [28] real time programming application programming interfaces (APIs) as well as other standard POSIX APIs for multi threading [29] and communications. Tool support: There are many software tools and libraries [15] available to develop multi threaded distributed, real time applications on Solaris. Availability: Solaris is widely used in research and industry. Kernel source: Sun licenses the source code to Solaris, which ....
IEEE, Threads Extension for Portable Operating Systems (Draft 10), February 1996.
....20, 46] to support fine grain parallelism, multithreading, and language interoperability. In light of their increasing use, the IEEE committee for Portable Operating System Interfaces for Computer Environments (POSIX) has adopted a standard interface for lightweight threads within a Unix process [25], and numerous thread libraries have been designed and implemented for workstations and shared memory multiprocessors [1, 6, 17, 27, 33, 42] Despite their popularity and utility in shared memory systems, lightweight thread packages designed for distributed memory systems have received little ....
IEEE. Threads Extension for Portable Operating Systems (Draft 7), February 1992.
....machines. Runtime Support The other aspect of portability is pSather s runtime of which the threads and remote operations appear to be the most system dependent. To ensure portability, one approach is for pSather to implement its user level threads using a common standard (e.g. POSIX threads [143, 179]) and to use the common message library (e.g. PVM [28] for it runtime messages. 282 However a POSIX thread may still be too expensive (e.g. to implement remote calls) And our prototype suggests that a light weight, low latency active message package is more suitable than message libraries such ....
IEEE. Threads Extension for Portable Operating Systems (Draft 6), February 1992. P1003.4a/D6.
....to Flag will be through memory, rather than through registers. 10 Known Uses # The Doubled Checked Locking pattern is a special case of a very widely used pattern in the Sequent Dynix PTX operating system. # The Double Checked Locking Pattern can be used to implement POSIX once variables [7]. # The Double Checked Locking pattern is used extensively throughout the ACE object oriented network programming toolkit [6] # Andrew Birrell describes the use of the DoubleChecked Locking optimization in [2] Birrell refers to the first check of Flag as a lock hint. 11 Related Patterns ....
IEEE, Threads Extension for Portable Operating Systems (Draft 10), February 1996. 6
....for both parallel and sequential machines by providing a level of concurrency within a kernel level process. The language independent layer of the OPUS runtime system is based on Chant. Chant provides both a standardized interface for thread operations (as specified by the POSIX thread standard [25]) and communication among threads using either point to point primitives (such as those defined in the MPI standard [23] or remote service requests. Chant also supports data parallel groups of threads (called ropes) for executing collective operations, such as broadcast and reductions. A ....
IEEE. Threads Extension for Portable Operating Systems (Draft 7), February 1992.
....to Chant. Please refer to [5] for a more detailed description of Chant and the issues faced in supporting distributed threads. The POSIX committee has recently established a standard for the interface and functionality of lightweight threads within an operating system process, called pthreads [7]. Since threads are defined within the context of a process, they share a single address space, and communication among threads is only Chant Point to point Communication Remote Service Request Handling Remote Thread Operations Ropes (Structured Threads) Chant System Interface (MPI, ....
IEEE. Threads Extension for Portable Operating Systems (Draft 7), February 1992.
....in it. Likewise, when a supplier handler thread attempts to enqueue a message into a full queue, the queue s put method must release the monitor lock and spend itself until the queue is no longer full, i.e. when a consumer handler removes a message from it. A pair of POSIX condition variables [4] can be used to implement the message queue s not empty and not full monitor conditions. The structure of the Monitor Object pattern is illustrated in the following UML class diagram: Monitor Object synchronized method 1( synchronized method m( monitor lock monotor condition 1 . ....
....resume other threads whose synchronized methods are suspended. A monitor lock can be implemented using a mutex. A mutex makes collaborating threads wait while the thread holding the mutex executes code in a critical section. Monitor conditions can be implemented using condition variables [4]. Unlike a mutex, a condition variable is used by a thread to make itself wait until an arbitrarily complex condition expression involving shared data attains a particular state. A condition variable is always used in conjunction with a mutex, which the client thread must acquire before evaluating ....
IEEE, Threads Extension for Portable Operating Systems (Draft 10), February 1996.
....products is becoming available on the system. One of these is the X Window System, which our software currently uses for displaying images. Parallelism on the KSR1 is controlled by using pthreads, which are lightweight processes. The KSR1 pthread interface is based on the IEEE POSIX draft standard [POSIX]. A group of pthreads forms a task which shares a single virtual address space, unlike processes which only share data through explicit system calls. Thus pthreads trade data security for low overheads. Although fairly cheap to create, pthreads are generally best used with fairly coarse grained ....
IEEE POSIX Draft Standard, Threads Extension for Portable Operating Systems, (P1003.4a).
....performance. Section 3 discusses the basic characteristics of threads and some of the variations in the thread models. Section 4 derives the equations to calculate the minimum task size and minimum hideable latency. Parameters for these calculations were collected for POSIX compatible (Pthreads) IEEE 95] user and kernel level threading environments on Linux. The kernellevel thread package, LinuxThreads 0.6 [Leroy 98] and the user level thread library PMPthreads 1.8.7 [PMPthreads 98] are discussed in section 5. Timing measurements were made with the assistance of the high resolution time stamp ....
....to perform two thread switch operations cannot be hidden with useful work from another thread. Thus, the necessary condition for it to be profitable to hide latency is: t l 2t c 5. Pthreads Pthreads [Mueller 93] or POSIX threads, represent the thread extensions of the IEEE POSIX standard [IEEE 95] for portable operating systems. The standard specifies that the threads support a priority driven thread model with preemptive scheduling policies, mutual exclusion, synchronized waiting, and signal handling. Pthreads can be implemented at the user level, e.g. Patched MIT Pthreads ....
IEEE, Threads Extension for Portable Operating System (Draft 10), POSIX 1003.1c/D10, June 1995. 7
....C language. It is based on considerable experience, including C threads [2] Mach threads[16, 17] and Brown University threads [3] Several commercial operating systems support multithreaded processes, including the Lynx[4] Sun[12, 14] and Chorus[1] operating systems. The POSIX 1003.4a project[8] represents an attempt to achieve some degree of application portability for C programs, across operating systems that support threads. This is an extension of the POSIX application program interface, which generally follows the UNIX process model. Threads are considered a real time extension to ....
IEEE Portable Applications Standards Committee, P1003.4a: Threads Extension for Portable Operating Systems (Draft 8), IEEE (Oct 1993).
No context found.
IEEE Standards Project P1003.4a, "Threads Extension for Portable Operating Systems". Draft 6. The Institute of Electrical and Electronics Engineers, February 1992.
No context found.
IEEE P1003.4a/D4 draft standard, Threads Extension for Portable Operating Systems, IEEE, New York, NY, USA, 10 August 1990, pp. 69--70.
No context found.
IEEE, Threads Extension for Portable Operating Systems (Draft 6), February 1992.
No context found.
IEEE. Threads Extension for Portable Operating Systems. unapproved draft, Aug. 1990.
First 50 documents Next 50
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC