[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[MIT-Scheme-devel] Symmetric MultiProcessing

From: Friar Puck
Subject: [MIT-Scheme-devel] Symmetric MultiProcessing
Date: Sun, 3 Jan 2016 14:04:45 -0700

Bless me, Yon Schemish, for I have Schemed.

It has been 14 months since my last confession and I now have a
not-entirely-unstable SMP branch.  Edwin seems to be working quite
well, and --processors 2 continues to get it done in ~60% of the time.
I have to turn the timer interrupts way up and hit Edwin just right to
make it stumble.

While I Wonder at Chaos's fiendish hold on my Scheme, I do not want to
delay certain other preparations for Symmetric MultiProcessing --
preparations that should do no harm on the uniprocessing master
branch (other than change some user-visible bindings).

I extended the thread events mechanism with subprocess status events.
Using them, I was able to replace without-interrupts with with-thread-
events-blocked in Edwin's event handling.  I also added GC thread
events so that notifications execute in a valid dynamic state even
when the GC occurs where there is no current thread.

The user-visible changes are:

* Removed subprocess-global-status-tick and subprocess-status-tick.

* Added register-subprocess-event and deregister-subprocess-event.

* Added register-gc-event, deregister-gc-event and registered-gc-event.

Your brother in Scheme,
Friar Puck

reply via email to

[Prev in Thread] Current Thread [Next in Thread]