I just got an introduction to erlang, this sounds kind of like that.
Lots of interesting concepts worthy of theft in that language. On Jan 21, 2006, at 10:56 AM, Colin Putney wrote: > > On Jan 21, 2006, at 12:28 AM, tim Rowledge wrote: > >>> This is interesting to me. Do you think it is feasable to take >>> out all of the process management from the VM and put it back in, >>> say, via a plugin? >> I think so. No need for the special objects array or Processor >> instance if the saved context oop is either explicitly saved in >> the image header or simply put somewhere by convention (like nil >> true and false used to be) which would be trivial with Craig's >> version of the tracer. You could start a copy of a VM for each >> process and terminate it when the process concludes. This VM would >> need no process handling stuff such as wakeHighestPriority but >> might need some semaphore stuff? >> Debugging might be fun. Coordinating threads would have the >> potential for getting to be as awful as java. On the other hand it >> wold be an interesting way of making completely separated cells of >> objects each running their own process and having to communicate >> only via proper interfaces instead of messing in a global object >> soup. All sorts of fun possibilities if one has the tim and funding > > Indeed. The end result would be message-passing concurrency, rather > than shared-state concurrency. Each VM instance would be a Vat/ > Island/Task and you'd have distant object references for sending > messages between them. VM instances could also be on a separate > thread, in a separate process or on a separate machine, depending > on what kind of performance characteristics you were looking for, > pretty much transparently. Beautiful. > |
In reply to this post by Colin Putney
On 22.01.2006 00:41, Colin Putney wrote:
> On Jan 21, 2006, at 5:38 PM, Andreas Raab wrote: > > >>I *really* need to work on my Occlumency skills ;-) > > > Well, publishing Islands was a pretty big tip-off. :-) Thank's for the pointer, I've found http://impara.de/pipermail/tweak/2005-February/000434.html from Andreas, which gives a good overview. Thereafter (I have not played with its code) Islands try to provide transparent access to objects in other islands: there are no code differences in sending messages to an object located (and created) in the current or any other Island. There are problems with Islands though, see http://heim.ifi.uio.no/~trygver/2005/babyuml/tweakComponents.pdf . > > I've been mulling this over from time to time as well. It occurred to > me that one of the big drawbacks to message passing concurrency is > that Islands are much heavier than Processes. That would be even more > true if they were based on native threads or OS processes. > > But, since we're talking about substantially modifying the VM, there > might be a way to avoid bloat. If we allowed class pointers to be > distant as well, we could have a system that created relatively small > Islands, starting with a single object. Islands would grow as new > objects were created inside them, > message arguments were passed by value, Also results for many cases! Far references to objects located at other hosts raise problems (that doesn't mean, that they are not wanted). > or CompiledMethods, Classes, literals and the like were pulled > into the Island spoon-style. This seems to me the main idea of Spoon: to start with a minimal image and to load what is needed for execution on demand. > > This kind of a system would require rethinking the way the > development environment works, system changes are managed etc, since > there isn't really a clearly-delimited "image" anymore. It would be > interesting to see what kind of system emerged from that. Combining Spoon with concepts (not the implementation AFAICS) from Islands as tools for tracking the states of the distributed systems and their connections (!) could be the next steps. This is much work though. Regards, Stephan PS: Croquet? > > Colin > > -- Stephan Rudlof ([hidden email]) "Genius doesn't work on an assembly line basis. You can't simply say, 'Today I will be brilliant.'" -- Kirk, "The Ultimate Computer", stardate 4731.3 |
In reply to this post by timrowledge
tim Rowledge wrote:
> All sorts of fun possibilities if one has the tim and funding > > tim So that just leaves the funding, then... |
On 23-Jan-06, at 4:55 AM, Tony Garnock-Jones wrote: > tim Rowledge wrote: >> All sorts of fun possibilities if one has the tim and funding >> >> tim > > So that just leaves the funding, then... > Exactly. <dr evil>One MILLION dollars!</dr evil>. Although if the US$ keeps collapsing as precipitously as it has been doing, I think I might prefer Euros. tim -- tim Rowledge; [hidden email]; http://www.rowledge.org/tim Strange OpCodes: D: Detonate |
In reply to this post by ccrraaiigg
Tim wrote:
> All sorts of > fun possibilities if one has the tim and funding Is that a typo or were you subliminally submitting your resume to Craig? ;) - the Chris |
On 23-Jan-06, at 9:57 AM, Chris Muller wrote: > Tim wrote: > >> All sorts of >> fun possibilities if one has the tim and funding > > Is that a typo Typo? No, just the simple truth. > or were you subliminally submitting > your resume to Craig? ;) Interesting thought. I've been Craig's boss, his colleague, maybe it's time he got off his bum and got funding so he can be my boss? Yeah, that's it! Step 1. think of cool project name (check) Step 2. hire well known person(s) Step 3. some tedious businessy stuff Step 4. IPO, retire, become long winded boring pundit. tim -- tim Rowledge; [hidden email]; http://www.rowledge.org/tim "E=Mc^5...nahhh...E=Mc^4...nahh...E=Mc^3...ah, the hell with it." |
Free forum by Nabble | Edit this page |