Some students of the Google Summer of Code are required to make a weekly report describing their activities. As far as I know, I’m not, but I think it’s a good idea in general, to comunicate to my mentor and other interested folks what I’ve been doing. So I’ll start to do them here.

My project is Implementing the Immix Garbage Collector Algorithm on GHC.

Last week I was most of the time involved in my school activities, so I didn’t have much time to work on the project. I went to the bureaucratic services of my university to get a Proof of Enrollment in English, print/sign/scanned the Foreign Certification Form and sent them to Google on Friday afternoon. I asked them to confirm the receival, which they didn’t. I’m planning to ask again for a confirmal today in the afternoon, if I still get no reply.

I also tried to build the current version of GHC, from the darcs repository. I was getting an error with my old (and updated) repository, so I donwnloaded a new one and could build nicely. Then I noticed that with make distclean I could also build with my older one, so I just removed the new. I downloaded the nofib benchmark suite and made an initial benchmark.

While I was reading the documentation of the build process of GHC, I noticed a bug, and submitted a patch to the cvs-ghc mailing list. The patch was applied, with some changes.

This week I plan to focus more on the project, and spend the weekly 36 hours working on it. I’m planning to start reading the Immix Technical Report to see if there’s anything new there with regard to the article. After that I’ll read the wiki documentation on the GHC current GC, together with the GHC source code. I’ll also experiment with Criterion.

While I was writing this post I noticed that the GC benchmark in nofib is failing:

==nofib== fibheaps: time to run fibheaps follows... /usr/bin/time ../../runstdtest/runstdtest ./fibheaps -o1 fibheaps.stdout -o1 fibheaps.stdout -ghc-timing 300000; /usr/bin/time ../../runstdtest/runstdtest ./fibheaps -o1 fibheaps.stdout -o1 fibheaps.stdout -ghc-timing 300000; /usr/bin/time ../../runstdtest/runstdtest ./fibheaps -o1 fibheaps.stdout -o1 fibheaps.stdout -ghc-timing 300000; /usr/bin/time ../../runstdtest/runstdtest ./fibheaps -o1 fibheaps.stdout -o1 fibheaps.stdout -ghc-timing 300000; /usr/bin/time ../../runstdtest/runstdtest ./fibheaps -o1 fibheaps.stdout -o1 fibheaps.stdout -ghc-timing 300000; Command exited with non-zero status 2 0.72user 0.05system 0:00.77elapsed 99%CPU (0avgtext+0avgdata 277664maxresident)k 0inputs+32outputs (0major+17695minor)pagefaults 0swaps ././fibheaps 300000 < /dev/null **** expected exit status 0 not seen ; got 2 ././fibheaps 300000 < /dev/null expected stderr not matched by reality --- /tmp/no_stderr3559 2010-05-17 07:35:09.000000000 -0300 +++ /tmp/runtest3559.2 2010-05-17 07:35:10.000000000 -0300 @@ -0,0 +1,2 @@ +Stack space overflow: current size 8388608 bytes. +Use `+RTS -Ksize -RTS' to increase it. Command exited with non-zero status 1 0.72user 0.06system 0:00.85elapsed 92%CPU (0avgtext+0avgdata 277664maxresident)k 368inputs+48outputs (1major+22085minor)pagefaults 0swaps Command exited with non-zero status 2 0.71user 0.04system 0:00.78elapsed 97%CPU (0avgtext+0avgdata 277664maxresident)k 0inputs+32outputs (0major+17694minor)pagefaults 0swaps ././fibheaps 300000 < /dev/null **** expected exit status 0 not seen ; got 2 ././fibheaps 300000 < /dev/null expected stderr not matched by reality --- /tmp/no_stderr3578 2010-05-17 07:35:10.000000000 -0300 +++ /tmp/runtest3578.2 2010-05-17 07:35:11.000000000 -0300 @@ -0,0 +1,2 @@ +Stack space overflow: current size 8388608 bytes. +Use `+RTS -Ksize -RTS' to increase it. Command exited with non-zero status 1 0.72user 0.06system 0:00.80elapsed 98%CPU (0avgtext+0avgdata 277664maxresident)k 0inputs+48outputs (0major+22093minor)pagefaults 0swaps Command exited with non-zero status 2 0.72user 0.06system 0:00.80elapsed 98%CPU (0avgtext+0avgdata 277680maxresident)k 0inputs+32outputs (0major+17696minor)pagefaults 0swaps ././fibheaps 300000 < /dev/null **** expected exit status 0 not seen ; got 2 ././fibheaps 300000 < /dev/null expected stderr not matched by reality --- /tmp/no_stderr3597 2010-05-17 07:35:11.000000000 -0300 +++ /tmp/runtest3597.2 2010-05-17 07:35:12.000000000 -0300 @@ -0,0 +1,2 @@ +Stack space overflow: current size 8388608 bytes. +Use `+RTS -Ksize -RTS' to increase it. Command exited with non-zero status 1 0.72user 0.07system 0:00.83elapsed 96%CPU (0avgtext+0avgdata 277680maxresident)k 0inputs+48outputs (0major+22095minor)pagefaults 0swaps Command exited with non-zero status 2 0.68user 0.08system 0:00.78elapsed 97%CPU (0avgtext+0avgdata 277680maxresident)k 0inputs+32outputs (0major+17695minor)pagefaults 0swaps ././fibheaps 300000 < /dev/null **** expected exit status 0 not seen ; got 2 ././fibheaps 300000 < /dev/null expected stderr not matched by reality --- /tmp/no_stderr3616 2010-05-17 07:35:12.000000000 -0300 +++ /tmp/runtest3616.2 2010-05-17 07:35:12.000000000 -0300 @@ -0,0 +1,2 @@ +Stack space overflow: current size 8388608 bytes. +Use `+RTS -Ksize -RTS' to increase it. Command exited with non-zero status 1 0.70user 0.09system 0:00.80elapsed 98%CPU (0avgtext+0avgdata 277680maxresident)k 0inputs+48outputs (0major+22089minor)pagefaults 0swaps Command exited with non-zero status 2 0.71user 0.06system 0:00.93elapsed 82%CPU (0avgtext+0avgdata 277680maxresident)k 0inputs+32outputs (0major+17695minor)pagefaults 0swaps ././fibheaps 300000 < /dev/null **** expected exit status 0 not seen ; got 2 ././fibheaps 300000 < /dev/null expected stderr not matched by reality --- /tmp/no_stderr3635 2010-05-17 07:35:12.000000000 -0300 +++ /tmp/runtest3635.2 2010-05-17 07:35:13.000000000 -0300 @@ -0,0 +1,2 @@ +Stack space overflow: current size 8388608 bytes. +Use `+RTS -Ksize -RTS' to increase it. Command exited with non-zero status 1 0.73user 0.06system 0:00.95elapsed 83%CPU (0avgtext+0avgdata 277680maxresident)k 0inputs+48outputs (0major+22089minor)pagefaults 0swaps make[1]: ** [runtests] Erro 1 Failed making all in fibheaps: 1 make: ** [all] Erro 1

Erro is error in Portuguese. I’ll investigate on that.

Share this: Twitter

Facebook

Curtir isso: Curtir Carregando... Relacionado