Path: utzoo!utgpu!watserv1!watmath!att!rutgers!cs.utexas.edu!samsung!sdd.hp.com!apollo!apollo.hp.com!mishkin From: mishkin@apollo.HP.COM (Nathaniel Mishkin) Newsgroups: comp.protocols.misc Subject: Re: RPC Technologies Message-ID: <1990Aug31.133311@apollo.HP.COM> Date: 31 Aug 90 17:33:00 GMT References: <1990Aug29.012657.1305@athena.mit.edu> Sender: root@apollo.HP.COM Reply-To: mishkin@apollo.HP.COM (Nathaniel Mishkin) Organization: Hewlett-Packard Company - Cooperative Object Computing Operation Lines: 29 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