home *** CD-ROM | disk | FTP | other *** search
- From: <jsh@usenix.org>
-
-
- An Update on UNIX*-Related Standards Activities
-
- June, 1990
-
- USENIX Standards Watchdog Committee
-
- Jeffrey S. Haemer, Report Editor
-
- IEEE 1003.14: Multiprocessing
-
- Bill Cox <bill@attunix.att.com> reports on the April 23-27 meeting in
- Salt Lake City, UT: The POSIX Multiprocessing Study Group had its
- first official meeting as P1003.14 in Utah, where the SEC approved its
- Project Authorization Request (PAR) for a Multiprocessing Execution
- Environment Profile. Multiprocessing systems have become cost-
- effective means for providing computing power, but with the advantages
- have some specific concerns that need to be addressed at the interface
- level. The goal of this work is to try to make POSIX safe for
- multiprocessing; a secondary goal is to try to make POSIX hospitable
- for multiprocessing. POSIX working groups do not necessarily share
- the concerns of the implementors and users of multiprocessing systems.
-
- Bob Knighten (Encore) is the Chair, Bill Cox (AT&T UNIX Software
- Operation) is Secretary, and Dave Plauger (Alliant) is the Technical
- Editor. Officers must have a commitment of support from their
- employers, to ensure that they can attend working group meetings and
- devote necessary time to the purposes of the working group. 16 people
- attended the group meetings.
-
- People interested in .4A (threads) have tended to be interested in .14
- and vice versa. Many .14 members that have been meeting with
- P1003.4/.4A see substantial problems with pthreads in a multiprocessor
- environment, and I know at least eight people working on .4A that want
- to come work in .14.
-
- The working group designated one official liaison to .4A, who was
- joined by two other tentative volunteers. We will also establish
- liaisons with .1, .6, .7, .8, .10, and .12.
-
- During the week, we spent time in three areas.
-
- 1. We clarified the group's work items, and started work on the
- most important, the Application Environment Profile. (An AEP
- may specify relevant portions of other POSIX working groups'
- work, make choices where options are permitted, and specify
- behavior that a [draft] standard may have left undefined or
- unspecified.)
-
- __________
-
- * UNIX is a registered trademark of AT&T in the U.S. and other
- countries.
-
- June, 1990 Standards Update IEEE 1003.14: Multiprocessing
-
-
- - 2 -
-
- 2. We discussed current conventional wisdom on multiprocessing.
- The discussions centered around presentations by BBN, Cray,
- Encore, AT&T USO, and Alliant on lessons they've learned.
-
- 3. We created two small groups.
-
- The first began work on high-level requirements placed on
- pthreads by multiprocessing. Attendees included Rick Greer
- (Interactive), Mary Weeks (Sun), and Bill Cox (AT&T USO).
-
- Here are some requirements we feel strongly about:
-
- + A library implementation of ``user-level threads'' is
- vitally important. User-level threads often must be
- multiplexed onto kernel-supported
- objects/processes/threads, largely for performance reasons.
- These kernel-supported objects, etc, are sometimes called
- ``virtual processors,'' because they support an abstraction
- closer to that of a physical processor, with
- interrupts/signals, and a significant amount of state.
-
- + The formal memory model of P1003.4/D9 section 13.1 must
- apply to .4A. This model defines the semantics of memory
- interaction that should be preserved in a multithreaded or
- multiprocessing environment.
-
- + Global threads scheduling makes little sense in a
- multiprocessor, though such scheduling could be useful as a
- hint (Like C's register declarations if you don't have
- enough registers.) Global policy is difficult to implement
- in a multiplexed thread environment.
-
- + use of attribute structures for mutual exclusion variables
- (in particular, for scheduling hints)
-
- + Locks shouldn't be opaque, and programmers should be able
- to statically initialize them. The latter is important so
- that locks can be part of data structures, and not require
- time-consuming dynamic allocation and initialization.
-
- + There must be only one set of libraries. There are
- performance reasons to have single-threaded libraries,
- i.e., libraries that are not thread-aware, for a
- uniprocessor or single-threaded applications. The group
- believes that the cost of maintaining such libraries is
- sufficiently high that a non-reentrant library or set of
- libraries should not be required.
-
- June, 1990 Standards Update IEEE 1003.14: Multiprocessing
-
-
- - 3 -
-
- The other group began work on the AEP itself.
-
- Members of this small group, and their responsibilities,
- included
-
- + Dave Plauger (Alliant) - skeleton for the document,
-
- + Frank Lawlor (IBM) - checkpoint restart, review, and
- liaison with .10 and .7,
-
- + James Gibson (BBN) - review and liason with .2,
-
- + Bob Knighten (Encore) - review and liason with .4, and
-
- + Tom Weaver (IBM) - review and liason with .1 and .6.
-
- This group identified several areas of concern:
-
- + microtasking models
-
- + checkpoint, snapshots, and core dump format/synchronization
-
- + a general programming model
-
- + dividing the ``reading list'' (other P1003 standards and
- drafts)
-
- + determining focus (are we dealing with portability for
- application writers, users, and/or administrators?)
-
- + standardizing system services
-
- A sketch of the planned document includes:
-
- + reference to TIMS
-
- + multithreaded applications (.4A)
-
- + HLL parallel applications (PCF FORTRAN, parallel C)
-
- + IPC
-
- June, 1990 Standards Update IEEE 1003.14: Multiprocessing
-
- Volume-Number: Volume 20, Number 44
-
-