By: Andrey (andrey.semashev.delete@this.gmail.com), March 31, 2021 7:45 am
Room: Moderated Discussions
Foo_ (foo.delete@this.nomail.com) on March 31, 2021 5:58 am wrote:
> Andrey (andrey.semashev.delete@this.gmail.com) on March 31, 2021 5:27 am wrote:
> > Foo_ (foo.delete@this.nomail.com) on March 31, 2021 1:16 am wrote:
> > > Ganon (anon.delete@this.gmail.com) on March 30, 2021 5:22 pm wrote:
> > > >
> > > > Other than the some initial bugs and possible side channel issues
> > > > (which are not a relevant security threat in many contexts); has Intel
> > > > failed with HTM/TLE? Many commercial databases are making active use of it;
> > > > it greatly simplifies the writing of scalable concurrent data structures.
> > >
> > > Which "commercial databases" are making active use of it, and for which kind of benefit?
> > >
> > > Also, how would it "simplify the writing of scalable concurrent data structures" since you still
> > > need to write (and optimize) the non-HTM/TLE codepath for all CPUs that don't support it?
> >
> > You obviously have to write non-transactional path, and it will have its pitfalls, but the point
> > is that you could have better best-case and average performance with TSX. For example, where
> > you would traditionally lock the whole data structure, the transactional path could succeed
> > without locking and with multiple threads working on the data structure in parallel.
>
> Theoretically you "could" and "would". But what about concretely? Are there
> non-micro-benchmarks showcasing the improvements brought by TSX?
I didn't benchmark it but Google finds a few results:
http://pages.cs.wisc.edu/~rajwar/papers/SC13_TSX.pdf
http://natsys-lab.blogspot.com/2013/11/studying-intel-tsx-performance.html
https://www.anandtech.com/show/6290/making-sense-of-intel-haswell-transactional-synchronization-extensions/4
This paper is behind a paywall, but the abstract cites 1.41x and 1.31x improvements for HPC and network intensive applications:
https://dl.acm.org/doi/10.1145/2503210.2503232
> Andrey (andrey.semashev.delete@this.gmail.com) on March 31, 2021 5:27 am wrote:
> > Foo_ (foo.delete@this.nomail.com) on March 31, 2021 1:16 am wrote:
> > > Ganon (anon.delete@this.gmail.com) on March 30, 2021 5:22 pm wrote:
> > > >
> > > > Other than the some initial bugs and possible side channel issues
> > > > (which are not a relevant security threat in many contexts); has Intel
> > > > failed with HTM/TLE? Many commercial databases are making active use of it;
> > > > it greatly simplifies the writing of scalable concurrent data structures.
> > >
> > > Which "commercial databases" are making active use of it, and for which kind of benefit?
> > >
> > > Also, how would it "simplify the writing of scalable concurrent data structures" since you still
> > > need to write (and optimize) the non-HTM/TLE codepath for all CPUs that don't support it?
> >
> > You obviously have to write non-transactional path, and it will have its pitfalls, but the point
> > is that you could have better best-case and average performance with TSX. For example, where
> > you would traditionally lock the whole data structure, the transactional path could succeed
> > without locking and with multiple threads working on the data structure in parallel.
>
> Theoretically you "could" and "would". But what about concretely? Are there
> non-micro-benchmarks showcasing the improvements brought by TSX?
I didn't benchmark it but Google finds a few results:
http://pages.cs.wisc.edu/~rajwar/papers/SC13_TSX.pdf
http://natsys-lab.blogspot.com/2013/11/studying-intel-tsx-performance.html
https://www.anandtech.com/show/6290/making-sense-of-intel-haswell-transactional-synchronization-extensions/4
This paper is behind a paywall, but the abstract cites 1.41x and 1.31x improvements for HPC and network intensive applications:
https://dl.acm.org/doi/10.1145/2503210.2503232