Recently Gambit has seen a few noteworthy changes…
As a necessary step on the path to a SMP Gambit, the garbage collector is being parallelized so that multiple OS threads can participate in the garbage collection. The GC is still stop the world (i.e. the main program stops while the GC is working), but because the work is done in parallel the pause time can be expected to be less. An experiment with a 7M heap on a 2.6 GHz i7, gives a GC time of 4 milliseconds when a single thread is used and 1 millisecond when 4 threads are used. The linear speedup in this experiment is encouraging… it remains to be tested in a wide variety of situations to see if speedups are this good in general. The parallel GC isn’t enabled by default and it requires a special setup to be run. I will inform the ML as soon as a generally usable version is available, probably in the next few weeks.
Another noteworthy news is that the new GCC version 6.1.0 does a very good job compiling C code generated by gsc. The test4 (which tests the performance of the interpreter) runs about 20% faster than with GCC version 5. Compilation time is also improved… a “make -j8” takes 33 seconds with GCC 6.1.0 and 41 seconds with GCC 5. To install GCC 6.1.0 run the script misc/install-gnu-gcc .
Finally, some of you may have noticed over the last week that Gambit wasn’t buildable from a “git clone” of the github repo. This is related to a bootstrapping problem. Since this is not the first time this has happened, I have changed the build procedure so that the latest release of Gambit (i.e. the commit with the most recent version tag, such as v4.8.5) is built first before doing the “make from-scratch”. The commands are now:
git clone https://github.com/feeley/gambit.git cd gambit ./configure make -j4 latest-release ./configure --enable-single-host make -j4 from-scratch make check sudo make install
So please update your habits accordingly.
Marc
Afficher les réponses par date
On 05/02/2016 12:30 PM, Marc Feeley wrote:
Recently Gambit has seen a few noteworthy changes…
As a necessary step on the path to a SMP Gambit, the garbage collector is being parallelized so that multiple OS threads can participate in the garbage collection. The GC is still stop the world (i.e. the main program stops while the GC is working), but because the work is done in parallel the pause time can be expected to be less. An experiment with a 7M heap on a 2.6 GHz i7, gives a GC time of 4 milliseconds when a single thread is used and 1 millisecond when 4 threads are used. The linear speedup in this experiment is encouraging… it remains to be tested in a wide variety of situations to see if speedups are this good in general. The parallel GC isn’t enabled by default and it requires a special setup to be run. I will inform the ML as soon as a generally usable version is available, probably in the next few weeks.
Sounds good. I have a few 20-core/40-thread machines just rarin' to go.
Brad
Your machines will be useful for testing the SMP Gambit out. I’m also looking into a Knights Landing 72 core machine for testing scalability.
Marc
On May 7, 2016, at 12:47 PM, Bradley Lucier lucier@math.purdue.edu wrote:
On 05/02/2016 12:30 PM, Marc Feeley wrote:
Recently Gambit has seen a few noteworthy changes…
As a necessary step on the path to a SMP Gambit, the garbage collector is being parallelized so that multiple OS threads can participate in the garbage collection. The GC is still stop the world (i.e. the main program stops while the GC is working), but because the work is done in parallel the pause time can be expected to be less. An experiment with a 7M heap on a 2.6 GHz i7, gives a GC time of 4 milliseconds when a single thread is used and 1 millisecond when 4 threads are used. The linear speedup in this experiment is encouraging… it remains to be tested in a wide variety of situations to see if speedups are this good in general. The parallel GC isn’t enabled by default and it requires a special setup to be run. I will inform the ML as soon as a generally usable version is available, probably in the next few weeks.
Sounds good. I have a few 20-core/40-thread machines just rarin' to go.
Brad _______________________________________________ Gambit-list mailing list Gambit-list@iro.umontreal.ca https://webmail.iro.umontreal.ca/mailman/listinfo/gambit-list