🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: comp.protocols.misc
2 messages
2 total messages Started by Philip Earnhardt Wed, 29 Aug 1990 01:26
Re: RPC Technologies
#253
Author: Philip Earnhardt
Date: Wed, 29 Aug 1990 01:26
29 lines
1808 bytes
In article <1990Aug27.094625@apollo.HP.COM>, mishkin@apollo.HP.COM
(Nathaniel Mishkin) writes:

> The NCS 2.0 implementation is multi-threaded (hence it requires a
> threads package to be usable).  We found this the most natural and
> simple way to do the implementation.  I believe other
> implementations of the same network protocols could be constructed
> in a way that does not require a threads package.  (NCS 1.5, which
> is compatible with NCS 2.0, does not require a threads package.)

> If someone builds an NCS implementation that does NOT require a
> threads package, and the environment does not otherwise contain a
> threads package, application programmers will not be able to achieve
> concurrency.

Just to make sure I understand you clearly, let me re-state what
I think you've said:

    While current NCS2.0 implementations are multi-threaded via the
    POSIX PThreads package, there is no architectural restriction that
    all ports of NCS2.0 must either use PThreads for their
    implementation or even that all ports use multiple threads.

Finally, are the multiple threads of a NCS2.0 implementation cooperative -- do
current implementations need a preemptive multi-threading package?

Phil Earnhardt          Netwise, Inc.  2477 55th St.  Boulder, CO 80301
Phone:303-442-8280      UUCP: onecom!wldrdg!pae
My opinions do not reflect any official position of Netwise.
Re: RPC Technologies
#256
Author: Nathaniel Mishkin
Date: Fri, 31 Aug 1990 17:33
29 lines
1967 bytes
In article <1990Aug29.012657.1305@athena.mit.edu>, pae@athena.mit.edu (Philip Earnhardt) writes:
>Just to make sure I understand you clearly, let me re-state what
>I think you've said:
>
>    While current NCS2.0 implementations are multi-threaded via the
>    POSIX PThreads package, there is no architectural restriction that
>    all ports of NCS2.0 must either use PThreads for their
>    implementation or even that all ports use multiple threads.

Correct.

>Finally, are the multiple threads of a NCS2.0 implementation cooperative -- do
>current implementations need a preemptive multi-threading package?

Preemption is required if servers are going to have threads (including
threads running some client's call) that are not going to voluntarily
yield (or terminate) within a relatively short period of time, e.g.,
30 seconds.  This is because the server has a thread created by the NCS
implementation that listens for "ping" messages from the client (which
is trying to determine the server's liveness).  If this thread doesn't
get a chance to run for long enough, the client will think the server
has died.  (Note that the client automatically reduces the ping frequency
during the duration of a single call.)

--
                    -- Nat Mishkin
                       Cooperative Object Computing Operation
                       Hewlett-Packard Company
                       mishkin@apollo.hp.com
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads