[squeak-dev] Prepare for Thousands of Cores --- oh my Chip -
it's full of cores!
James Foster
Smalltalk at JGFoster.net
Mon Jul 7 13:45:05 UTC 2008
Hi Peter,
I'd be curious to hear your analysis of the GemStone/S approach where
you can have as many OS processes as you want (well, up to 10,000),
and they all share the same object space (image), but synchronize only
on programmer-defined transaction boundaries. I believe that one large
installation has a 256 CPU machine on which they run a couple thousand
concurrent OS processes. The GS/S architecture has been in commercial
development/deployment for a couple decades.
James
On Jul 6, 2008, at 8:45 PM, Peter William Lount wrote:
> [snip]
>
> I do really like the N (small, medium, large) images in memory at
> the same time model as it's excellent for things like web
> application serving and many other applications.
>
> However, fixing the number of native threads to one per image simply
> limits solutions by forcing a developer/user to split their program
> across multiple images just so they can run multiple native threads
> to take advantage of their hardware. I think it not a good thing to
> impose that upon developers or users, in part because it will often
> impose a solution refactoring and in part because it only works for
> a subset of problems that can be easily partitioned across images. A
> refactoring might be worthwhile but may be cost prohibitive. Also
> moving all the objects around between images (in one memory space or
> across memory spaces) involves other problems just as complex as any
> multi-threading issues solved. So all you've done it punt the ball
> aways down the field but it's still there... lurking... ready to
> strike...
>
> [snip]
>
> If the Smalltalk/Squeak/Commercial community doesn't want to move
> forward to take maximal general purpose advantage of the multi-core
> cpus that would be a big disappointment indeed. The other languages
> will leave Smalltalk in their dust. That is what clients are telling
> me and I happen to agree with them.
>
> I ask the Squeak Smalltalk (and Commerical Smalltalk) virtual
> machine developers and communities to please reconsider the general
> purpose many native threads per image solution for the next versions
> of your virtual machines.
>
> I think it's best to let each developer-user choose how many native
> threads per image and how many images are loaded and which images
> are loaded. After all it's their program. Isn't our job as language
> and systems designers to provide them with the tools that they need
> to build the systems that they want to build? I think so. What do
> you think?
>
> All the best,
>
> Peter William Lount
> [ | peter at smalltalk dot org ]
>
More information about the Squeak-dev
mailing list
|