All of lore.kernel.org
 help / color / mirror / Atom feed
From: Yubin Ruan <ablacktshirt@gmail.com>
To: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
Cc: perfbook@vger.kernel.org
Subject: STM implementation
Date: Mon, 15 Jan 2018 22:28:33 +0800	[thread overview]
Message-ID: <20180115142809.GA28308@HP> (raw)

Hi Paul,

I writing to ask about implementation of STM (software transactional memory).

I just finish section 17 of the perfbook, but that doesn't say much about
implementations of transactional memory, especially STM. Basically I
understand the common implementation of HTM (hardware transactional memory)
and have experience using it (thanks to the meltdown paper[1] and the original
HTM paper[2] and some other materials[3]). But I cannot find useful materials
on the topic of STM implementation. I read through the original STM paper[4],
but found it a bit cryptographic (hard to understand). Based on the materials
I read so far, STM can be implemented using lock-free algorithms or simply
locking. Alternatively, it can also be implemented using techniques similar to
those in the database world (write-ahead logging, i.e., journaling). But I
guess a robust and efficient implementation will require more to handle issues
such as I/O ? Can you provide some hints on this topic?

I am still investigating and will really appreciate any comments.

        Yubin

[1]: https://meltdownattack.com/meltdown.pdf
    (The meltdown paper)

[2]: http://cs.brown.edu/~mph/HerlihyM93/herlihy93transactional.pdf
    (Transactional Memory: Architectural Support for Lock-Free Data Structures)

[3]: https://www.scss.tcd.ie/~jones/CS4021/transactional%20memory.pdf
    (A lecture note on Intel TSX, which also talk about implementation of HTM)

[4]: https://pdfs.semanticscholar.org/846e/87f6c8b9d8909d678b5c668cfe46cf40a348.pdf
    (Software Transactional Memory)


             reply	other threads:[~2018-01-15 14:28 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-01-15 14:28 Yubin Ruan [this message]
2018-01-15 15:50 ` STM implementation Paul E. McKenney

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180115142809.GA28308@HP \
    --to=ablacktshirt@gmail.com \
    --cc=paulmck@linux.vnet.ibm.com \
    --cc=perfbook@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.