A plan for 3.8/4.0... (insert drumroll here)
Alan Grimes
alangrimes at starpower.net
Mon Apr 5 17:51:01 UTC 2004
Chris Muller wrote:
>>The major improvment that I'm trying to work towards is SMP/SMT support.
>>Squeak today is strictly single threaded...
>>
>>
>Could this be done in a platform independent way? I'm no expert with
>concurrent thread programming, but my impression is that instances of Process
>in Smalltalk are copmletely identical across platforms because they're just
>internal objects, not OS threads. This is nice for portability, so OS-Thread
>support would be a different, *additional* thing available for use. Is that right?
>
>
It would be invisable to the user. It may require some relatively minor
changes to the image, I don't know.
The actual thread implementation will depend on the threading library
available on the platform.
Currently Squeak uses a Many:1 scheduler. It manages "many" processes
and schedules them onto one interpreter. I propose to implement a
Many:Many scheduler. There would be N interpreters for the number of
available computing elements. In addition to these there would be
"helper" threads that would be dedicated to IO tasks.
It is generally a bad idea to rely on the OS to be your primary
scheduler because it may not always be available and because it is
probably cleaner to implement scheduling within Squeak.
This will, ofcourse, require many improvments to the scheduler...
More information about the Squeak-dev
mailing list
|