I found a "Squeak End" brief discussion of the topic 'native threads':
http://minnow.cc.gatech.edu/squeak/1235
Has anyone thought about this some more, or the more general topic of how to exploit multiprocessors, potentially very many of them?
...Tom M
I'm interested to learn something about that. Would that mean an embedded Squeak or a particular OS ?
Regards, Gary
----- Original Message ----- From: pp001600@mindspring.com To: squeak-dev@lists.squeakfoundation.org Sent: Wednesday, September 05, 2001 10:53 PM Subject: Exploiting multiprocessors
I found a "Squeak End" brief discussion of the topic 'native threads':
http://minnow.cc.gatech.edu/squeak/1235
Has anyone thought about this some more, or the more general topic of how
to exploit multiprocessors, potentially very many of them?
...Tom M
Gary McGovern wrote:
I'm interested to learn something about that. Would that mean an embedded Squeak or a particular OS ?
Regards, Gary
----- Original Message ----- From: pp001600@mindspring.com To: squeak-dev@lists.squeakfoundation.org Sent: Wednesday, September 05, 2001 10:53 PM Subject: Exploiting multiprocessors
I found a "Squeak End" brief discussion of the topic 'native threads':
http://minnow.cc.gatech.edu/squeak/1235
Has anyone thought about this some more, or the more general topic of how
to exploit multiprocessors, potentially very many of them?
Well, the multiprocessor bit would mean using an OS which supports multiple processors. (On Intel that means NT4/5 or Linux). I'm sure there's someone out there running Squeak on a dual (or more!) processor board. After you go beyond one board, it starts to get very tricky indeed. Different processes seem to respond to different kinds of parallel processing. ( /usr/doc/howto/en/Parallel-Processing-HOWTO.gz and /usr/doc/howto/en/Beowulf-HOWTO.gz for some ideas and references -- on SuSE, at least).
I know that Jecel and others have discussed (massively) parallel smalltalks on this very list.
Cheers
John (currently about to give up the ghost on trying to get Linux to use all its RAM and run on swap...guess that pre-emptive multi-tasking is just too clever for me to beat!)
On Mon, 10 Sep 2001, John Hinsley wrote:
John (currently about to give up the ghost on trying to get Linux to use all its RAM and run on swap...guess that pre-emptive multi-tasking is just too clever for me to beat!)
If I understand you correctly, you want your machine to act as if it has no RAM and only swap? You can't quite do this, but close. Some of the kernel obviously has to be memory resident(for instance the code that takes care of swapping!), but you can force the kernel to believe your machine has exactly as much ram as you say by giving this option on the LILO prompt, e.g.:
LILO: linux mem=1m
For one megabyte of memory, which is probably as little as you can get away with.
Do I understand your problem? Does this help? You could also try having a memory consumer process use the mlock(2) call to suck up all the RAM in the machine.
Matthew McNaughton wrote:
On Mon, 10 Sep 2001, John Hinsley wrote:
John (currently about to give up the ghost on trying to get Linux to use all its RAM and run on swap...guess that pre-emptive multi-tasking is just too clever for me to beat!)
If I understand you correctly, you want your machine to act as if it has no RAM and only swap? You can't quite do this, but close. Some of the kernel obviously has to be memory resident(for instance the code that takes care of swapping!), but you can force the kernel to believe your machine has exactly as much ram as you say by giving this option on the LILO prompt, e.g.:
LILO: linux mem=1m
For one megabyte of memory, which is probably as little as you can get away with.
Do I understand your problem? Does this help? You could also try having a memory consumer process use the mlock(2) call to suck up all the RAM in the machine.
Thanks Matthew, but it wasn't *really* a problem: what I was trying to do was to replicate a rather simple minded RAM/cache/swap model given in a textbook (saying, more or less, that once all the RAM is used up the 'puter will use swap). Without really cheating (apportioning a vast quantity of memory to Squeak, say) I couldn't get less than 2064Kb of free RAM, and less than 60,000Kb of swap. And swap was being used very early on, while there was plenty of RAM left. I even had 4 Squeaks running Jochen's slideshow simultaneously along with Netscape, Gimp and Star Office at one point, all on top of KDE. Strangely (or maybe not) Squeak seemed by far the least affected: Gimp and KDE were very obviously making big cache hits.
Looks like I need a better RAM/cache/swap model!
Cheers
John
-- Matthew McNaughton mcnaught@cs.ualberta.ca
Thanks Matthew, but it wasn't *really* a problem: what I was trying to do was to replicate a rather simple minded RAM/cache/swap model given in a textbook (saying, more or less, that once all the RAM is used up the 'puter will use swap). Without really cheating (apportioning a vast quantity of memory to Squeak, say) I couldn't get less than 2064Kb of free RAM, and less than 60,000Kb of swap. And swap was being used very early on, while there was plenty of RAM left. I even had 4 Squeaks running Jochen's slideshow simultaneously along with Netscape, Gimp and Star Office at one point, all on top of KDE. Strangely (or maybe not) Squeak seemed by far the least affected: Gimp and KDE were very obviously making big cache hits.
Looks like I need a better RAM/cache/swap model!
Hmm, I bet you'll notice if one of those Squeak's tries to do a full garbage collect, or any other full scan of memory. :) e.g., redefine a class and watch it wait.... Although, at least in the scanning case, the memory is used in sequence from beginning to end.
Anyway, that's certainly interesting that the amount of memory Squeak actively uses, is much less than the size of the image!
-Lex
squeak-dev@lists.squeakfoundation.org