[Q] SDNC, some thoughts
Alan Kay
Alan.Kay at disney.com
Mon Oct 9 12:44:32 UTC 2000
For a classic approach to these problems, check out Gerry Popek's
"LOCUS OS", MIT Press, ca. early to mid 80s. This was/is(?) a really
comprehensive and beautiful distributed UNIX over multiple platforms
with process migration and load balancing, etc.
Cheers,
Alan
-----
At 11:44 AM +0200 10/9/00, Johan Fabry wrote:
>Jeff Szuhay wrote:
>
>> It occurred to me yesterday that as Squeak gets closer
>> to being fully pluggable, some other issues arise:
>>
>> 1) imagine multiple VMs running each with their
>> own image. How then would/could they communicate?
>
>Having multiple VM's talk to each other is a subject which hals been
>discussed at some length in a previous thread, so I suggest you have a
>look at the 'IPC and SRP' messages in, for example, the egroups archive
>(http://www.egroups.com/messagesearch/squeak?query=IPC%20and%20SRP).
>
>Saves us some typing ;-)
>
>> 2) imagine then these multiple VMs running/communicating
>> but not necessarily on the same computer... distributed Squeak.
>
>Having some sort of distributed Squeak is one of the things I am toying
>with. A prerequisite here is some sort of higher-level interaction
>mechanism between different VM's (higher-level than simple socket
>communication) <plug> For example, you could try Remote Message Passing
>(http://prog.vub.ac.be/poolmembers/johanfabry/RMP.zip) </plug>
>
>But, you should keep in mind that the transition from multiple VM's on 1
>machine to multiple VM's on multiple machines adds the important factor
>of partial failures of the system. (A big problem in distributed
>systems!) For example: What do we do if one of the machines in the
>distributed system crashes?
>
>> 3) imagine one VM running but with multiple images running
>> concurrently, or even remotely. The Squeak VM along the l ines
>> of a server app to multiple images.
>
>Having one VM running different images could be more efficient than
>multiple VM's, each running one image, but I doubt it would be worthwile
>to spend the energy on implementing this. Would it not be nicer to spend
>this energy on optimising the VM? This way everbody gains from it.
>
>> 4) imagen then multiple systems each with their own Squeak VM
>> servers intercommunicating so that you have a real network OS.
>> The SDNC: Squeak Distributed Network Computering.
>> Multiple images being processed on multiple systems each inter-
>> communicating... possibly even transparent process sharing or
>> load balancing through automatic process migration from VM to
>> VM.
>>
>> The last scenario seems to me to be the preferred one since it
>> appears to me to be most efficient of system resources and would
>> allow multiple minimal images to be executed, either on the same
>> machine or remotely.
>
>You're touching on mobile agents here, where every agent (for sake of
>this discussion, let us define it as an object with its own thread) can
>migrate itself (the object's state and its thread) to another machine
>whenever it sees fit.
>
>The easiest way for the programmer to program these is the so-called
>'strong mobility': at any point of the agent's execution, the execution
>can be paused, the agent moved, and the execution unpaused (at the other
>host).
>
>To implement this, you must be able to reify both the object's state,
>and its execution stack. Luckily, the Smalltalk debugger does just that,
>so at least we know it is possible ... now we only need to adapt it.
>
>An interesting problem here is deciding *when* to migrate an agent, and
>*where* to migrate it to.
>
>Now imagine how you would write software for such a system ...
>
><plug>Anyway, all of this (and more) is what a number of people at the
>Programming Technology lab are thinking about/working on ...
>(http://prog.vub.ac.be/poolresearch/CBorg/index.htm)</plug>
>
>> This also implies, to my little mind, that this would drive the VM
>> further into the OS as one of its core services. I'm not to sure that
>> tight VM integration with the kernel OS is either feasible or even
>> possible on a wide scale.
>
>Not really, IMHO, you can still keep the VM as a separate 'layer' on top
>of the OS.
>
>--
>"You are more than the sum Johan Fabry - Johan.Fabry at vub.ac.be
> of what you consume. Vrije Universiteit Brussel
> Desire is not an occupation." Programming Technology Lab, Room 10F709
> -- KMFDM Pleinlaan 2, 1050 Brussels, Belgium
More information about the Squeak-dev
mailing list
|