On 21-Jun-06, at 1:46 PM, Logan, Patrick D wrote:
Marc,
The recent Erlang release now supports SMP. (http://erlang.org/doc/doc-5.5/doc/highlights.html)
The doc says it runs a "process scheduler" per OS thread or per actual processor. (Not sure which it actually enforces.) I assume "process scheduler" amounts to "virtual machine" or enough of the VM to use thread-specific data.
Is a conversion of Gambit to something like this a really big or just a fairly big effort? 8^)
-Patrick
I estimate the amount of work to about one month of my time (full- time). That's a lot of work. I could probably get a first version working quickly, but with parallelism its the last few bugs that take 90% of the time. There are many critical sections in the code that would need real mutexes in an SMP version. Currently I take advantage of the fact that these mutexes are not needed on monoprocessors (this has implications for development time, i.e. I have to identify all the critical sections, but also in terms of run time, i.e. some operations will become slower in the SMP version unless some costly wizardry is used).
Currently SMP is not at the top of my TODO list. I want to get the module distribution system working first and improve the performance of code with no declarations (pure R5RS Scheme code).
Marc
Afficher les réponses par date
On 6/21/06, Marc Feeley feeley@iro.umontreal.ca wrote:
Currently SMP is not at the top of my TODO list. I want to get the module distribution system working first and improve the performance of code with no declarations (pure R5RS Scheme code).
Marc
The problem I always had with Gambit was the lack of a module system, It is nice to see work is being done on that. Where can I read some details about the module system??
(I particularly like the Scheme48 module system)