2008/7/2 Eliot Miranda <[hidden email]>:
> > > On Wed, Jul 2, 2008 at 3:32 AM, Igor Stasenko <[hidden email]> wrote: >> >> 2008/7/2 John M McIntosh <[hidden email]>: >> >> [ big snip.... ] >> >> Few thoughts, about how VM could determine what process(es) is memory >> hungry to kill them w/o mercy, leaving rest intact and avoid dying: >> >> add 'memory policy' slot to Process instance, which can tell VM, is >> given process can be killed w/o damaging most critical parts of image. > > There is no need for this to be in the VM. Instead the process that runs > once the LowSpaceSemaphore is signalled should be of a very high priority > (probably above finalization but below timing priority). It then enumerates > the runnable processes (processes waiting on semaphores are resumably not > the ones chewing up memory). It then suspends any processes on the runnable > queues that meet certain criteria. > Well, its more flexible but less stable approach. You need to be sure, that there is someone who still listening for this semaphore, and where is guarantees that process which waits on this semaphore will care to clean anything? Of course, in same way, there is no guarantees that process with memory policy == 0 will not eat up all available space :) So, you are right, we can put decision point into image rather in VM. > Something that *could* be in the VM is accounting of how much space a > process consumes. Add a slot to each process known to the VM called e.g. > slotsAllocated. The VM computes the slots allocated between context > switches. This is cheap to compute because it can compute how much space > was allocated since the last garbage collection or process switch simply by > subtracting the allocation pointer at the end of the previous GC or process > switch from the current allocation pointer. The slots allocated since the > last process switch is added to the slot in the old process and the slots > allocated count zeroed on each context switch. We then have an accurate > measure of how much space each process has allocated. > > Wen the low space process runs it simply examines the runnable processes, > checking their space allocation. It can either maintain a per-process > allocation rate by computing the amount allocated since the last low space > signal, or it can zero the per-process allocation count at each low space > signal. > > This is much more flexible and less arbitrary than having the VM do it. > > Similarly a VM that does context-to-stack mapping should be able to cheaply > maintain a stack size count per process since it only has to increase or > decrease the current process's stack size on each stack page > overfow/underflow and context switch. Traversing a stack page's frames to > get an accurate count of the number of "contexts" on each page is pretty > quick (just a walk of the frame pointer->caller frame pointer chain). > Getting an approximation by dividing the used portion of a stack page by > the minimum frame size is even quicker. > > You could then provide the image with either an accurate stack depth, or a > good approximation thereof. That gives the low space process an easy job to > identify a potentially infinitely recursive process. > > In general it is good design to put mechanism in the VM and keep policy up > in the image. > This is what i wanted to avoid: let developer decide what process(es) should stay and what can die instead of stupid machine :) Killing processes based on measuring how much space it allocates is bad practice, because you really don't have any clues why given process allocated so much space and where its used/involved, and is it safe to kill such process or not. A 'memory policy' i described is much better approach for solving such problems. By finding process with highest possible memory policy slot value and killing it, not the process which consuming memory a lot. So, the developers can control in order of preference, what can be killed in case of problem, and what should stay at any circumstances. Collecting a memory allocation statistics per running process is useful (for measuring hard limits in running system, for example), but not in situation when you reached memory space limits. Because it can't give answer what process should be killed, because process which allocated most of memory is just process which allocated most of memory. This is not means that something wrong with it. Some other process could covertly sit near, allocating few bytes between each GC cycle , step by step increasing allocated memory with useless stuff, and after weeks of stable work you will reach low memory issue. And in such situation, killing process which allocated most in between full GCs will buy you nothing. Thats why i think that counting on memory usage is bad criteria for making decision on what to kill or not. -- Best regards, Igor Stasenko AKA sig. |
2008/7/2 Igor Stasenko <[hidden email]>:
Oh, and i forgot to add: - signaling a low space semaphore awakes process which kindly asking user to stop play stupid and do something before it will be too late. A 'memory policy' scheme , which i described before is exactly for the cases, when its too late to let the user decide what to do. Its when you have only two choices left: kill something, or kill VM. -- Best regards, Igor Stasenko AKA sig. |
In reply to this post by Igor Stasenko
> I don't share your point here. A name is quite relevant to computing: > if we going to talk with computers then to understand each other we > need something in common - a language. Small language, which we can > understand both and talk on it :) > > And that's the most why i like smalltalk - it is small. It is > inherently easy to learn and talk on it. Maybe there other language(s) > which would make programmer's life as easy as smalltalk does. But i > didn't met them yet in my life. That's all true, but it also indicates to me that you're not familiar with the original meaning of the word "smalltalk" in English. :) It has strongly negative baggage. -C -- Craig Latta improvisational musical informaticist www.netjam.org Smalltalkers do: [:it | All with: Class, (And love: it)] |
On Thu, Jul 3, 2008 at 12:50 PM, Craig Latta <[hidden email]> wrote:
It does? First time I heard; I always thought it was an important social skill: http://howto.lifehack.org/wiki/Small_Talk Gulik. -- http://people.squeakfoundation.org/person/mikevdg http://gulik.pbwiki.com/ |
In reply to this post by ccrraaiigg
2008/7/3 Craig Latta <[hidden email]>:
> >> I don't share your point here. A name is quite relevant to computing: >> if we going to talk with computers then to understand each other we >> need something in common - a language. Small language, which we can >> understand both and talk on it :) >> >> And that's the most why i like smalltalk - it is small. It is >> inherently easy to learn and talk on it. Maybe there other language(s) >> which would make programmer's life as easy as smalltalk does. But i >> didn't met them yet in my life. > > That's all true, but it also indicates to me that you're not familiar > with the original meaning of the word "smalltalk" in English. :) It has > strongly negative baggage. > Heh, yes, i'm not native english speaker. :) -- Best regards, Igor Stasenko AKA sig. |
In reply to this post by Michael van der Gulik-2
Am 03.07.2008 um 03:14 schrieb Michael van der Gulik: > On Thu, Jul 3, 2008 at 12:50 PM, Craig Latta <[hidden email]> wrote: > > > I don't share your point here. A name is quite relevant to > computing: > > if we going to talk with computers then to understand each other we > > need something in common - a language. Small language, which we can > > understand both and talk on it :) > > > > And that's the most why i like smalltalk - it is small. It is > > inherently easy to learn and talk on it. Maybe there other > language(s) > > which would make programmer's life as easy as smalltalk does. But i > > didn't met them yet in my life. > > That's all true, but it also indicates to me that you're not > familiar with the original meaning of the word "smalltalk" in > English. :) It has strongly negative baggage. > > > It does? First time I heard; I always thought it was an important > social skill: http://howto.lifehack.org/wiki/Small_Talk Hehe - but it's the very definition of geeks/nerds to lack "social skills", they have a hard time doing small talk, they feel chatting about irrelevant things is a waste of time. Hence the word has a negative taste in these circles. And the percentage of them among computer professional is higher than average. Even amongst Squeakers the percentage of people lovingly decorating their images, cuddling it with updates and patches over years is dwindling. The "real programmers" who just load packages to get work done in "throw-away" images are in the majority now. - Bert - |
In reply to this post by ccrraaiigg
On Wed, Jul 2, 2008 at 4:01 AM, Craig Latta <[hidden email]> wrote:
> It seemed to me that Igor was looking for a name that would evoke > "multi-headedness", and "Hydra" certainly does that. I don't think it falls > into the same category as names like "Zeus" or "Thor", which I assume were > symptomatic of power fantasies with no further meaning. It's the lack of > meaning that I see as the problem, I think the mythic quality is otherwise > irrelevant. > While were at it, though... http://en.wikipedia.org/wiki/Briareos_Hecatonchires http://en.wikipedia.org/wiki/Hecatonchires but it's long :-) > >> Smalltalk comes from Alan Kay's distaste for the kinds of names people >> were using for programming languages in the 60's & 70's, names like >> Zeus and Thor. Hence Smalltalk. > > I think "Smalltalk" was a terrible choice. Pretty much everyone to whom > I've mentioned it thinks it's too long, and it immediately makes them think > of annoying obligatory chit-chat, something they hate (as either speaker or > listener). > > And how unfortunately ironic would it be to act with such deference to > an authority figure expressing his distaste for authority figures? :) I > don't think we should treat Alan Kay like a god, either... > > Oh, and Cog is a great name. :) > > > -C > > -- > Craig Latta > improvisational musical informaticist > www.netjam.org > Smalltalkers do: [:it | All with: Class, (And love: it)] > > > -- Damien Pollet type less, do more [ | ] http://people.untyped.org/damien.pollet |
In reply to this post by ccrraaiigg
...
> > which would make programmer's life as easy as smalltalk does. But i > > didn't met them yet in my life. > > That's all true, but it also indicates to me that you're not > familiar with the original meaning of the word "smalltalk" in > English. > :) It has strongly negative baggage. > > > -C > > -- > Craig Latta For a name of any valuable public thing (as languages and technologies) same care as making a trademark or brand should be taken. Not less. Once that is understood and accepted there are some known guidelines to create a name. People don't think backwards by default, so unless you are "selling" negative experiences one should NEVER use negative evocation. By the way evocation is not the only technique for names. Here you have a nice reading from (another) Igor that should expand your mindset on this regard: http://www.igorinternational.com/process/naming-guide-product-company-names.php Have a smart synaptic activity and found something positive and brilliant. Don’t accommodate yourself on less than that, all the best, Sebastian |
In reply to this post by Bert Freudenberg
On Jul 3, 2008, at 3:39 AM, Bert Freudenberg wrote: > > Am 03.07.2008 um 03:14 schrieb Michael van der Gulik: > >> On Thu, Jul 3, 2008 at 12:50 PM, Craig Latta <[hidden email]> >> wrote: >> >> > I don't share your point here. A name is quite relevant to >> computing: >> > if we going to talk with computers then to understand each other we >> > need something in common - a language. Small language, which we can >> > understand both and talk on it :) >> > >> > And that's the most why i like smalltalk - it is small. It is >> > inherently easy to learn and talk on it. Maybe there other >> language(s) >> > which would make programmer's life as easy as smalltalk does. But i >> > didn't met them yet in my life. >> >> That's all true, but it also indicates to me that you're not >> familiar with the original meaning of the word "smalltalk" in >> English. :) It has strongly negative baggage. >> >> >> It does? First time I heard; I always thought it was an important >> social skill: http://howto.lifehack.org/wiki/Small_Talk > > Hehe - but it's the very definition of geeks/nerds to lack "social > skills", they have a hard time doing small talk, they feel chatting > about irrelevant things is a waste of time. Hence the word has a > negative taste in these circles. And the percentage of them among > computer professional is higher than average. > > Even amongst Squeakers the percentage of people lovingly decorating > their images, cuddling it with updates and patches over years is > dwindling. The "real programmers" who just load packages to get work > done in "throw-away" images are in the majority now. That's an interesting observation; I hadn't thought of it. I've definitely moved into the "real programmers" camp; I used to have an image that was basically a multimedia concept-map (http://en.wikipedia.org/wiki/Concept_map ). Today I have a very slightly customized image that I clone throwaway copies from. A big part of the problem was my inability to migrate my content into a newer Squeak version. (as an aside, I still have hopes that Sophie could step into that role for me, but it currently feels too heavyweight... it's more suited for "real multimedia authoring" than for supporting cognitive processes in real-time) I wonder if there is any causal link between the trend toward throwaway images, and the larger societal trend toward more disposable objects in general (thinking of the free inkjet printers used as a loss-leader for expensive ink sales... ugh!) Cheers, Josh > > > - Bert - > > > |
In reply to this post by Bert Freudenberg
> Hehe - but it's the very definition of geeks/nerds to lack "social > skills", they have a hard time doing small talk, they feel chatting > about irrelevant things is a waste of time. Hence the word has a > negative taste in these circles. And the percentage of them among > computer professional is higher than average. Heh, that may also be true, but I wasn't talking about those people. :) And I'm not saying that striking up a conversation with people about superficial things isn't an important skill, I'm saying that most people, geeks or otherwise, find it annoying and would prefer to engage in meaningful discussion. Surely the geeks here can find plenty of URLs to support this. :) But apparently we disagree, probably best to leave it there. :) I've spoken my peace: "Smalltalk" is an awful name. -C -- Craig Latta improvisational musical informaticist www.netjam.org Smalltalkers do: [:it | All with: Class, (And love: it)] |
Am 03.07.2008 um 20:32 schrieb Craig Latta: > > > Hehe - but it's the very definition of geeks/nerds to lack "social > > skills", they have a hard time doing small talk, they feel chatting > > about irrelevant things is a waste of time. Hence the word has a > > negative taste in these circles. And the percentage of them among > > computer professional is higher than average. > > Heh, that may also be true, but I wasn't talking about those > people. :) And I'm not saying that striking up a conversation with > people about superficial things isn't an important skill, I'm saying > that most people, geeks or otherwise, find it annoying and would > prefer to engage in meaningful discussion. Surely the geeks here can > find plenty of URLs to support this. :) > > But apparently we disagree, probably best to leave it there. :) > I've spoken my peace: "Smalltalk" is an awful name. How does "Squeak" stack up then? *ducks and runs* - Bert - |
On 3-Jul-08, at 11:46 AM, Bert Freudenberg wrote: > > How does "Squeak" stack up then? > > *ducks and runs* That would be 'Qwak' :-) tim -- tim Rowledge; [hidden email]; http://www.rowledge.org/tim Quality assurance: A way to ensure you never deliver shoddy goods accidentally. |
On Thu, Jul 3, 2008 at 2:54 PM, tim Rowledge <[hidden email]> wrote:
Tim - u really, really missed your calling - quit your day job and go do standup NOW!
|
In reply to this post by timrowledge
tim Rowledge wrote:
> > On 3-Jul-08, at 11:46 AM, Bert Freudenberg wrote: >> >> How does "Squeak" stack up then? >> >> *ducks and runs* > That would be 'Qwak' :-) It's spelled "Qwaq", goddamnit! ;-) - A. |
In reply to this post by Joshua Gargus-2
Joshua Gargus a écrit :
> > That's an interesting observation; I hadn't thought of it. I've > definitely moved into the "real programmers" camp; I used to have an > image that was basically a multimedia concept-map > (http://en.wikipedia.org/wiki/Concept_map). Today I have a very > slightly customized image that I clone throwaway copies from. A big > part of the problem was my inability to migrate my content into a newer > Squeak version. > > (as an aside, I still have hopes that Sophie could step into that role > for me, but it currently feels too heavyweight... it's more suited for > "real multimedia authoring" than for supporting cognitive processes in > real-time) > > I wonder if there is any causal link between the trend toward throwaway > images, and the larger societal trend toward more disposable objects in > general (thinking of the free inkjet printers used as a loss-leader for > expensive ink sales... ugh!) > > Cheers, > Josh > Ah yes, the cloning model is very limited. Who diddn't ever dream of a sexual reproduction of images. Wouldn't the children of Croquet and Sophie be viable? Nicolas |
In reply to this post by Igor Stasenko
> -----Original Message----- > From: [hidden email] [mailto:squeak-dev- > [hidden email]] On Behalf Of Igor Stasenko > Sent: Tuesday, July 01, 2008 9:26 PM > To: The general-purpose Squeak developers list > Subject: Re: [squeak-dev] The Primitive: I am not a number- I am a named prim!- SqueakPeople article > > 2008/7/2 Eliot Miranda <[hidden email]>: > > My own OT: > > > > BTW, did you see my comment about renaming Hydra? I think "String" is a > > much better name. Strings are composed of threads. Smalltalk comes from > > Alan Kay's distaste for the kinds of names people were using for programming > > languages in the 60's & 70's, names like Zeus and Thor. Hence Smalltalk. > > Hydra is another mythic name. Cog is a small element in a larger whole > > (and a cool advert by Honda). Anyway, think it over... > > > > Naming things is not my best talent. :) A name "Hydra" is not really > my idea (originally it came from Andreas colleague afaik). > I can say that i like it: Hydra has many heads. But if you find it too > pretentious, hmm. A "String" is directly opposite to it.. Its too > plain boring & gray :) Well, how about "Tapestry". It is made of threads and is not boring. > There can be many criteria how to pick a name: ones care that name > should sell itself, others want to put meaning in it (to conform > idea). I personally prefer names which simply sound good. :) Terry =========================================================== Terry Raymond Crafted Smalltalk 80 Lazywood Ln. Tiverton, RI 02878 (401) 624-4517 [hidden email] <http://www.craftedsmalltalk.com> =========================================================== |
Quoting Terry Raymond <[hidden email]>:
> Well, how about "Tapestry". It is made of threads and is not > boring. Wow, that hits the spot. (And we already have warp, but not weft :-) ) A tapestry is a colourful weaving together of treads to make a whole and often to tell a story, epic or otherwise. It has purpose, into the future, and is often a product of many people. Plus, different parts of it are made by different teams. That suggests: Quilt These are made up of separate pieces of cloth (packages, classes?), sometimes many copies of identical pieces, sometimes not, assembled into a larger whole. The pieces are sewn together, but often there is an addition layer (thread) of sewing that winds its way through all of the pieces. Each quilt has an overall design. Further, each piece of cloth may be a separate design, can be new or old, or can be a part of a previous creation. Each piece of cloth is made up of threads woven together. So, let's make our bed, and lie in it ;-) David |
Free forum by Nabble | Edit this page |