home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Usenet 1994 January
/
usenetsourcesnewsgroupsinfomagicjanuary1994.iso
/
sources
/
std_unix
/
v20
/
repdir
/
1003.14
< prev
next >
Wrap
Internet Message Format
|
1990-08-02
|
7KB
From uucp@tic.com Sat Jun 23 14:44:47 1990
Received: from cs.utexas.edu by uunet.uu.net (5.61/1.14) with SMTP
id AA19242; Sat, 23 Jun 90 14:44:47 -0400
Posted-Date: 23 Jun 90 12:28:11 GMT
Received: by cs.utexas.edu (5.64/1.63)
id AA17482; Sat, 23 Jun 90 10:02:16 -0500
Received: by longway.tic.com (4.22/tic.1.2)
id AA24922; Sat, 23 Jun 90 09:26:07 cdt
From: <jsh@usenix.org>
Newsgroups: comp.std.unix
Subject: Standards Update, IEEE 1003.14: Multiprocessing
Message-Id: <381@usenix.ORG>
Sender: std-unix@usenix.ORG
Reply-To: std-unix@uunet.uu.net
Date: 23 Jun 90 12:28:11 GMT
Apparently-To: std-unix-archive@uunet.uu.net
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