Path: utzoo!utgpu!cunews!bnrgate!brchh104!brchs1!bnr.ca!rice.edu!sun-spots-request From: mishkin@apollo.HP.COM (Nathaniel Mishkin) Newsgroups: comp.sys.sun Subject: Re: RPC Technologies Keywords: No Digest Subjects in Unmoderated Mode Message-ID: <3190@brchh104.bnr.ca> Date: 4 Jun 91 18:40:00 GMT Sender: news@brchh104.bnr.ca Organization: Sunspots, Psuedo-Unmoderated Lines: 104 Approved: sun-spots@rice.edu X-Original-Date: Mon, 13 Aug 1990 15:11:00 GMT In article <1990Aug9.180750.5568@athena.mit.edu>, pae@athena.mit.edu (Philip Earnhardt) writes: |> In <4bc8788d.20b6d@apollo.HP.COM> mishkin@apollo.HP.COM (Nathaniel Mishkin) |> writes: |> >At worst. If the demand appeared to exist, I suppose we could document |> >the interface between the authentication module and the rest of NCS. |> >This would allow people to write authentication modules without having |> >the source to NCS. |> |> I'd rather not beat a dead horse, but ... Me neither. |> this would then allow customization by application developers ... |> clearly a limited form of customization (as the 'RPC protocol' would |> presumably be left intact). I think the word "limited" is key. |> Which leaves open the question of what other sections of NCS may need |> to be 'customized' by the end user. I do not believe that you would |> claim that you have thought of all possible applications of NCS and |> therefore you could not have included all things that the users may |> find neccesary. For this reason, Netwise-style customizations, while |> not allowing all possible customizations, certainly allows the users |> a great deal more flexibility in building their applications. I won't deny that customization gives programmers more options. We obviously have philosophically different opinions about whether increasing the programmer's options in this way is ultimately a good thing, i.e., whether it yields a system that makes it easier to write and maintain correct distributed applications or whether it would be better to learn (admittedly, over time) what the programmer's real needs are an address them in a coherent way in future versions of the product. |> >>But again, you folks are constraining the choices of your customers. |> > |> >As does the C compiler writer who chooses to make his compiler save |> >registers on ALL procedure calls, not just on those generated by a |> >compiler targeted for a particular hardware architecture. |> |> This is a very odd defense. To defend constraining your customers |> by pointing the finger at other folks who have done so in the past |> is ludicrous. I guess I don't see why it's an odd defense. I'm not pointing my finger at any one else. I thought I was making a humorous analogy. I guess I mixed up my complaints about Netwise's lack of (what we call) "transport transparency" (i.e., ensuring constant call semantics regardless of what transport you happen to be running RPC over) with my complaints about customization. The analogy was that building a system that sometimes yields one call semantics and sometimes another (depending on what transport the application was running over) was like having a C compiler sometimes preserve registers (that contains useful values) across calls and sometimes not (depending on what hardware architecture the C compiler was targetted for), yielding different program behavior. I'll try to re-draw the analogy to apply to customization. If someone said to a C compiler writer: "Hey look, I know what I'm doing and I don't want you to save registers when I make this call; give me a way of telling the compiler to not save registers", I think people would argue that that kind of customization is a bad idea. |> And if one of your customers chooses to use NCS/TCP, what will declaring |> a procedure as idempotent do for them? Specifically what optimizations |> will be applied? I'm aware of none that can be applied. Is this a problem? The programmer states an invariant fact about his procedure. Seems appropriate. The underlying system may or may not be able to take advantage of this fact. |> >We've been over this again and again. People don't want "CL and CO RPC". |> >They want RPC. They want to make certain performance tradeoffs made |> >available to them. NCS addresses this desire in an appropriate way. |> |> I am not sure how you can make such a sweeping generalization. Is |> this the result of some HP marketing survey or do you believe that |> just by saying it, you can make it true? The day marketing can get me correct answers to questions like this will be a happy one for me, believe me. Unfortunately, my experience has been that it's hard or impossible to answer these questions by survey. Sometimes one just applies one's own engineering sense and more limited interactions with application builders. All I know is that it has always been my impression (reinforced, BTW, by things that marketing people tell me) that there's a large body of programmers to whom "network programming" is a daunting prospect. I have always taken the RPC model as a way to help those programmers by hiding the network from them -- to relieve them from having to understand things that you and I understand only too well. I am trying to develop a system where, as the system evolves, programmers have to know less and less about the network. In service of this goal, I try to make it the case that the system doesn't require me to talk about "CL vs. CO" in describing the system to its users. -- Nat Mishkin Cooperative Object Computing Operation Hewlett-Packard Company mishkin@apollo.hp.com -- Nat Mishkin Cooperative Object Computing Operation Hewlett-Packard Company mishkin@apollo.hp.com