
Hi all, For a while now I've been working on understanding GHC's STM implementation and I finally have something to share. I've written a commentary on the implementation which can be found here: http://fryguybob.github.io/STM-Commentary/ The source is here: https://github.com/fryguybob/STM-Commentary/ It still could use a bit of polish and I would love to hear about any missing details, confusion, or misunderstandings. My goal in writing this was to fill in the gap found here http://hackage.haskell.org/trac/ghc/wiki/Commentary/Rts/STM. I happy to have it live where it is most appropriate. If anyone has opinions on that, let me know. Any comments are welcome, it may be easiest to just comment on the source directly on Github, but I will, of course, take feedback in any form. Thanks, Ryan Yates

On Fri, May 17, 2013 at 04:05:39PM -0400, Ryan Yates wrote:
For a while now I've been working on understanding GHC's STM implementation and I finally have something to share. I've written a commentary on the implementation which can be found here:
Great!
My goal in writing this was to fill in the gap found here http://hackage.haskell.org/trac/ghc/wiki/Commentary/Rts/STM. I happy to have it live where it is most appropriate. If anyone has opinions on that, let me know.
Why not put it on http://hackage.haskell.org/trac/ghc/wiki/Commentary/Rts/STM ? If you sign up for an account on the trac then you should be able to edit that page. Thanks Ian -- Ian Lynagh, Haskell Consultant Well-Typed LLP, http://www.well-typed.com/

Excerpts from Ian Lynagh's message of Fri May 17 13:19:00 -0700 2013:
Why not put it on http://hackage.haskell.org/trac/ghc/wiki/Commentary/Rts/STM ? If you sign up for an account on the trac then you should be able to edit that page.
Agreed! Please put it on the wiki. Thanks, Edward

On Fri, May 17, 2013 at 4:19 PM, Ian Lynagh
Why not put it on http://hackage.haskell.org/trac/ghc/wiki/Commentary/Rts/STM ? If you sign up for an account on the trac then you should be able to edit that page.
Sure, I wanted to make sure that anyone who wanted had a chance to review it before it ends up somewhere official :D. Ryan

The wiki is 'official' but also very open -- everyone is happy with
info being put up there sonner than later and with mistakes.
On 17 May 2013 14:15, Ryan Yates
On Fri, May 17, 2013 at 4:19 PM, Ian Lynagh
wrote: Why not put it on http://hackage.haskell.org/trac/ghc/wiki/Commentary/Rts/STM ? If you sign up for an account on the trac then you should be able to edit that page.
Sure, I wanted to make sure that anyone who wanted had a chance to review it before it ends up somewhere official :D.
Ryan
_______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://www.haskell.org/mailman/listinfo/ghc-devs

Ryan Great stuff. What you have is almost certainly more accurate, complete, and up to date than anything else we have, so thank you. As others have said, putting it on the GHC wiki would be much the best place. Perhaps here: http://hackage.haskell.org/trac/ghc/wiki/Commentary/Rts/STM Simon Microsoft Research Limited (company number 03369488) is registered in England and Wales Registered office 21 Station Road, Cambridge, CB1 2FB From: ghc-devs-bounces@haskell.org [mailto:ghc-devs-bounces@haskell.org] On Behalf Of Ryan Yates Sent: 17 May 2013 21:06 To: ghc-devs@haskell.org Cc: Michael L. Scott Subject: STM Commentary Hi all, For a while now I've been working on understanding GHC's STM implementation and I finally have something to share. I've written a commentary on the implementation which can be found here: http://fryguybob.github.io/STM-Commentary/ The source is here: https://github.com/fryguybob/STM-Commentary/ It still could use a bit of polish and I would love to hear about any missing details, confusion, or misunderstandings. My goal in writing this was to fill in the gap found here http://hackage.haskell.org/trac/ghc/wiki/Commentary/Rts/STM. I happy to have it live where it is most appropriate. If anyone has opinions on that, let me know. Any comments are welcome, it may be easiest to just comment on the source directly on Github, but I will, of course, take feedback in any form. Thanks, Ryan Yates

Thanks! I'll work on getting it onto the wiki soon. My next step is to
apply hardware transactions to improve STM performance. For this I will
need to collect some meaningful STM benchmarks. If anyone has some
particular use cases or code where they would like to see improved STM
performance on I would love to know. There are several potential
improvements to the existing STM performance that I will also investigate
along the way.
Ryan
On Mon, May 20, 2013 at 10:04 AM, Simon Peyton-Jones
Ryan****
** **
Great stuff. What you have is almost certainly more accurate, complete, and up to date than anything else we have, so thank you. As others have said, putting it on the GHC wiki would be much the best place.****
** **
Perhaps here: http://hackage.haskell.org/trac/ghc/wiki/Commentary/Rts/STM* ***
** **
Simon****
* *
*Microsoft Research Limited (company number 03369488) is registered in England and Wales*
*Registered office 21 Station Road, Cambridge, CB1 2FB ***
** **
*From:* ghc-devs-bounces@haskell.org [mailto:ghc-devs-bounces@haskell.org] *On Behalf Of *Ryan Yates *Sent:* 17 May 2013 21:06 *To:* ghc-devs@haskell.org *Cc:* Michael L. Scott *Subject:* STM Commentary****
** **
Hi all,****
** **
For a while now I've been working on understanding GHC's STM implementation and I finally have something to share. I've written a commentary on the implementation which can be found here:****
** **
http://fryguybob.github.io/STM-Commentary/****
** **
The source is here:****
** **
https://github.com/fryguybob/STM-Commentary/****
** **
It still could use a bit of polish and I would love to hear about any missing details, confusion, or misunderstandings. My goal in writing this was to fill in the gap found here http://hackage.haskell.org/trac/ghc/wiki/Commentary/Rts/STM. I happy to have it live where it is most appropriate. If anyone has opinions on that, let me know.****
** **
Any comments are welcome, it may be easiest to just comment on the source directly on Github, but I will, of course, take feedback in any form.****
** **
Thanks,****
** **
Ryan Yates****
** **
** **

you have access to hardware for testing HTM? I thought haswell wasn't
publicly available yet...
On Mon, May 20, 2013 at 10:31 AM, Ryan Yates
Thanks! I'll work on getting it onto the wiki soon. My next step is to apply hardware transactions to improve STM performance. For this I will need to collect some meaningful STM benchmarks. If anyone has some particular use cases or code where they would like to see improved STM performance on I would love to know. There are several potential improvements to the existing STM performance that I will also investigate along the way.
Ryan
On Mon, May 20, 2013 at 10:04 AM, Simon Peyton-Jones < simonpj@microsoft.com> wrote:
Ryan****
** **
Great stuff. What you have is almost certainly more accurate, complete, and up to date than anything else we have, so thank you. As others have said, putting it on the GHC wiki would be much the best place.****
** **
Perhaps here: http://hackage.haskell.org/trac/ghc/wiki/Commentary/Rts/STM ****
** **
Simon****
* *
*Microsoft Research Limited (company number 03369488) is registered in England and Wales*
*Registered office 21 Station Road, Cambridge, CB1 2FB ***
** **
*From:* ghc-devs-bounces@haskell.org [mailto:ghc-devs-bounces@haskell.org] *On Behalf Of *Ryan Yates *Sent:* 17 May 2013 21:06 *To:* ghc-devs@haskell.org *Cc:* Michael L. Scott *Subject:* STM Commentary****
** **
Hi all,****
** **
For a while now I've been working on understanding GHC's STM implementation and I finally have something to share. I've written a commentary on the implementation which can be found here:****
** **
http://fryguybob.github.io/STM-Commentary/****
** **
The source is here:****
** **
https://github.com/fryguybob/STM-Commentary/****
** **
It still could use a bit of polish and I would love to hear about any missing details, confusion, or misunderstandings. My goal in writing this was to fill in the gap found here http://hackage.haskell.org/trac/ghc/wiki/Commentary/Rts/STM. I happy to have it live where it is most appropriate. If anyone has opinions on that, let me know.****
** **
Any comments are welcome, it may be easiest to just comment on the source directly on Github, but I will, of course, take feedback in any form.****
** **
Thanks,****
** **
Ryan Yates****
** **
** **
_______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://www.haskell.org/mailman/listinfo/ghc-devs

The document now lives on the wiki:
http://hackage.haskell.org/trac/ghc/wiki/Commentary/Rts/STM
Ryan
On Mon, May 20, 2013 at 10:04 AM, Simon Peyton-Jones
Ryan****
** **
Great stuff. What you have is almost certainly more accurate, complete, and up to date than anything else we have, so thank you. As others have said, putting it on the GHC wiki would be much the best place.****
** **
Perhaps here: http://hackage.haskell.org/trac/ghc/wiki/Commentary/Rts/STM* ***
** **
Simon****
* *
*Microsoft Research Limited (company number 03369488) is registered in England and Wales*
*Registered office 21 Station Road, Cambridge, CB1 2FB ***
** **
*From:* ghc-devs-bounces@haskell.org [mailto:ghc-devs-bounces@haskell.org] *On Behalf Of *Ryan Yates *Sent:* 17 May 2013 21:06 *To:* ghc-devs@haskell.org *Cc:* Michael L. Scott *Subject:* STM Commentary****
** **
Hi all,****
** **
For a while now I've been working on understanding GHC's STM implementation and I finally have something to share. I've written a commentary on the implementation which can be found here:****
** **
http://fryguybob.github.io/STM-Commentary/****
** **
The source is here:****
** **
https://github.com/fryguybob/STM-Commentary/****
** **
It still could use a bit of polish and I would love to hear about any missing details, confusion, or misunderstandings. My goal in writing this was to fill in the gap found here http://hackage.haskell.org/trac/ghc/wiki/Commentary/Rts/STM. I happy to have it live where it is most appropriate. If anyone has opinions on that, let me know.****
** **
Any comments are welcome, it may be easiest to just comment on the source directly on Github, but I will, of course, take feedback in any form.****
** **
Thanks,****
** **
Ryan Yates****
** **
** **
participants (7)
-
Bryan O'Sullivan
-
Carter Schonwald
-
David Terei
-
Edward Z. Yang
-
Ian Lynagh
-
Ryan Yates
-
Simon Peyton-Jones