Hi Johan,

As Carter mentioned I am working on speeding up GHC's STM implementation using TSX.  I can certainly give you some pointers on how the STM implementation works and on using TSX.  I'm quite busy at the moment but feel free to ask me any questions.  I think some of the difficulty in a project like this is coming up with good benchmarks.  In a large amount of the real world use of GHC's STM, the STM part is not used heavily enough to be the bottleneck in performance.  Benchmarks that would show improvements are largely uses of STM that are different from the typical use.

Ryan


On Mon, Nov 25, 2013 at 11:35 AM, Carter Schonwald <carter.schonwald@gmail.com> wrote:
I believe Ryan Yates is actively working on at least some part of this problem, worth asking him .   Likewise, any successful experimentation will depend on some level of comfort with ghc hackig.  


On Monday, November 25, 2013, Alexander Kjeldaas wrote:
I remember Simon Marlow mentoined that there should be a lot of low hanging fruit in the STM implementation when I started looking at optimization opportunities in the MVar implementation.

The STM implementation could probably be optimized even if you don't win with the TSX implementation, so the probability of success with your thesis could be quite high.

http://www.haskell.org/pipermail/ghc-devs/2013-February/000496.html

Alexander

On Mon, Nov 25, 2013 at 11:40 AM, Johan Astborg <joastbg@gmail.com> wrote:
Dear Haskellers,

I found Haskell and became enlightened for the first time in many years. I choose to continue on this path, and choose Haskell for my master thesis. I got some nice ideas from people on the #haskell channel . Altogether, I have elaborated a topic:

"Evaluating Intel TSX in a MVCC based STM implementation for Haskell"

The idea is to investigate whether the "new" Intel TSX can bring any value in terms of performance and saftey when implemented in a MVCC based STM to be used in the Haskell runtime system (GHC). The MVCC based STM using TSX will be evaluated and compared to the existing implementation, compiled with the two settings STM_CG_LOCK and STM_FG_LOCKS respectively. 

The biggest challange still, is to convince Lund University, LTH, to accept my own master thesis project. I have to present a detailed synopsis about the project, for them to choose an examinator and supervisor. As they put it, the examinator "must have time" and it's up to that person to decide whether or not this project can be reality.

Feedback on any of these is highly appreciated:

1) Ideas and thoughts about this topic
2) Anyone interested in supervising (mainly formal) the project outside of LTH

Thanks,
Johan Astborg

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe



_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe