Re: VM images and working in the VM image

stephane ducasse <[email protected]> Sun, 13 May 2007 12:25:02 +0200
Newsgroups gmane.comp.lang.smalltalk.strongtalk
Message-ID <[email protected]>
>
> (*) No argument on the dynamic nature of the image vs. the static  
> nature of
> the Java app server (though, in theory, the app server doesn't need  
> to go
> down just to change code, either--all that is handled through  
> ClassLoaders
> in the JVM, which are far more dynamic than you might expect). This  
> may be
> more complicated than what we can approach in this email, but...  
> When you
> change the shape of objects in memory, though, how does the ST  
> image handle
> that?

Have a look in the code. Each time you add an instance variable to a  
class, its instances
are migrated. The system is based on that. All the time.....all the  
time. This is a living system.
BTW CLOS is doing exactly the same.

> Do existing objects receive the change? And what happens if methods
> are invoked in the middle of the reload?

you have to pay attention. IN VW you have a transaction mechanism, in  
gemstone objects
are transient (but I never programmed with it).
>
> (BTW, you and I, I think we've had this discussion on the  
> usefulness of the
> ST image before, over blogs--I'm not arguing against the idea, just  
> trying
> to understand it better.)

ask the seasiders. They debug their image with their clients running  
the app
for certain bugs,

> (*) How do you persist those changes to the image so that if the  
> machine
> crashes, the image doesn't lose all those changes? Do you  
> periodically have
> to flush the image to disk? And is that transactional somehow?

You can version to your external file systems/package without problem.

> (*) Hopefully you'll also allow me to assert that running a blog  
> engine
> isn't exactly the high-scale requirement environment that some of  
> the Java
> (and .NET) app servers are asked to handle. :-)

Well...... running JPMorgan bank data or AMD 64 bit production or 20%  
of the world container
shipping flow should be enough!


> What I'd *really* love,
> though, in order to move this particular point out of the realm of the
> abstract, is to know *exactly* what the runtime footprint of your "app
> server image" takes up, so as to hopefully compare/contrast it  
> against the
> runtime footprint of a Java app server stack. (I'd much rather  
> argue facts
> than assertions, and numbers against "belief".)
>
> Heck, for that matter, I'm not trying to "argue" at all. Just  
> learn. :-)

So take VW7.5 and give a try, you can try Dolphin (this is also  
excellent on PC).
Squeak is wilder :)

>
> Ted Neward
> Java, .NET, XML Services
> Consulting, Teaching, Speaking, Writing
> http://www.tedneward.com
>
>> -----Original Message-----
>> From: [email protected] [mailto:strongtalk-
>> [email protected]] On Behalf Of James Robertson
>> Sent: Saturday, May 12, 2007 7:19 PM
>> To: [email protected]
>> Subject: RE: VM images and working in the VM image
>>
>>
>> Oh?  My blog: http://www.cincomsmalltalk.com/blog
>>
>> runs on an image, as do all the others hosted there:
>>
>> http://www.cincomsmalltalk.com/userblogs
>>
>> Any arbitrary application server for Java you pick is going to chew
>> resources as well; claiming that the image is some kind of resource
>> hog is just silly.  Running a Smalltalk image w/o the GUI is fairly
>> easy to do (at least using the flavor I use) - and having the
>> compiler present allows me to add patches (including ones that change
>> the shape of objects in memory) as the image runs - I don't have to
>> play the "take it down, update, bring it up" game.
>>
>> To build my runtime I start with a base image, and start with a
>> command line like this:
>>
>> visual baseImage.im -filein startupScript.st - nogui
>>
>> Where startupScript.st has Smalltalk code that loads in the
>> components I need to run, and configures the system for runtime.
>>
>>> Case in point: ST's notion of the IDE-in-the-image is pretty lame  
>>> when
>>> looking to deploy an image within a "headless" environment. Is there
>> another
>>> approach when trying to build a server? Surely when running  
>>> Seaside, for
>>> example, I don't want or need the overhead of the IDE hanging  
>>> around....
>> It
>>> might be useful in certain scenarios, but most of the time, it's  
>>> just
>> going
>>> to be useless overhead....
>>>
>>> I recognize that it's probably impossible to summarize the ST  
>>> philosophy
>>> down into a single email of reasonable proportions, and of course  
>>> it's up
>> to
>>> Richard to go read more about the ST philosophy if he wants to  
>>> "get" ST
>> in
>>> any reasonable sense. But it's not too much to ask, I don't  
>>> think, to
>> answer
>>> in single-sentence form the specific issues being raised--plus,  
>>> that way,
>>> it's in the archives for others to discover later when they come  
>>> to ST
>> with
>>> their own questions.
>>>
>>> Ted Neward
>>> Java, .NET, XML Services
>>> Consulting, Teaching, Speaking, Writing
>>> http://www.tedneward.com
>>>
>>>> -----Original Message-----
>>>> From: [email protected] [mailto:strongtalk-
>>>> [email protected]] On Behalf Of tim Rowledge
>>>> Sent: Saturday, May 12, 2007 2:50 PM
>>>> To: [email protected]
>>>> Subject: Re: VM images and working in the VM image
>>>>
>>>>
>>>>
>>>> On 12-May-07, at 2:24 PM, Richard wrote:
>>>>
>>>>>
>>>>> Coming from a background of C++, Ruby and Java I'm used the idea
>> that
>>>>> you program in an IDE and then you output a Jar
>>>> That imply isn't the way Smalltalk works Richard. It sounds as  
>>>> if you
>>>> would gain a lot by reading up on how Smalltalk works and how it is
>>>> very different to old ways of doing things.
>>>>
>>>> Try  Smalltalk Central (http://www.smalltalk-central.com/
>>>> showDocument.ssp?section=Articles&name=Documentation), http://
>>>> www.iam.unibe.ch/~ducasse/FreeBooks.html etc.
>>>>
>>>> Basically we just don't do dead code. As one wag put it "source  
>>>> code
>>>> in files? How quaint."
>>>>
>>>>
>>>> tim
>>>> --
>>>> tim Rowledge; [email protected]; http://www.rowledge.org/tim
>>>> There can never be a computer language in which you cannot write a
>>>> bad program.
>>>>
>>>>
>>>>
>>>>>
>>>> No virus found in this incoming message.
>>>> Checked by AVG Free Edition.
>>>> Version: 7.5.467 / Virus Database: 269.6.8/800 - Release Date:
>> 5/11/2007
>>>> 7:34 PM
>>>>
>>>
>>> No virus found in this outgoing message.
>>> Checked by AVG Free Edition.
>>> Version: 7.5.467 / Virus Database: 269.6.8/800 - Release Date:  
>>> 5/11/2007
>>> 7:34 PM
>>>
>>>
>>>
>>>
>> <Talk Small and Carry a Big Class Library>
>> James Robertson, Product Manager, Cincom Smalltalk
>> http://www.cincomsmalltalk.com/blog/blogView
>>
>>
>>>
>> No virus found in this incoming message.
>> Checked by AVG Free Edition.
>> Version: 7.5.467 / Virus Database: 269.6.8/800 - Release Date:  
>> 5/11/2007
>> 7:34 PM
>>
>
> No virus found in this outgoing message.
> Checked by AVG Free Edition.
> Version: 7.5.467 / Virus Database: 269.6.8/800 - Release Date:  
> 5/11/2007
> 7:34 PM
>
>
>
> >


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Strongtalk-general" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [email protected]
For more options, visit this group at http://groups.google.com/group/strongtalk-general?hl=en
-~----------~----~----~----~------~----~------~--~---