Skip to content

Need x86_64 hardware transactional memory benchmarks #8

@mtak-

Description

@mtak-

To create heuristics for determining when HTM is likely to speed up a transaction, benchmarks are necessary.

If anyone reading this has a few free moments, and a CPU that supports transactional memory (some haswell processors, or later), I would be grateful if you would help out.

Need your cpuinfo.

linux

$ cat /proc/cpuinfo
... output here ...

macos, use system profiler

Hardware Overview:

  Model Name:	MacBook Pro
  Model Identifier:	MacBookPro13,3
  Processor Name:	Intel Core i7
  Processor Speed:	2.9 GHz
  Number of Processors:	1
  Total Number of Cores:	4
  L2 Cache (per Core):	256 KB
  L3 Cache:	8 MB

In the swym-htm project, there's a x.py script that can be run to create benchmarks.
Path: swym/swym-htm/x.py

My output

$ ./x.py bench
test bench_abort  ... bench:  49,516,424 ns/iter (+/- 2,894,024)
test bench_tx0000 ... bench:  12,223,724 ns/iter (+/- 832,878)
test bench_tx0001 ... bench:  12,501,338 ns/iter (+/- 1,302,260)
test bench_tx0002 ... bench:  12,575,727 ns/iter (+/- 1,187,649)
test bench_tx0004 ... bench:  12,615,560 ns/iter (+/- 1,315,751)
test bench_tx0008 ... bench:  12,570,609 ns/iter (+/- 1,079,593)
test bench_tx0016 ... bench:  12,489,782 ns/iter (+/- 1,333,362)
test bench_tx0024 ... bench:  20,527,809 ns/iter (+/- 2,620,641)
test bench_tx0032 ... bench:  21,912,395 ns/iter (+/- 2,646,718)
test bench_tx0040 ... bench:  22,725,125 ns/iter (+/- 2,352,237)
test bench_tx0048 ... bench:  23,449,303 ns/iter (+/- 2,910,261)
test bench_tx0056 ... bench:  24,562,059 ns/iter (+/- 2,760,177)
test bench_tx0064 ... bench:  14,486,932 ns/iter (+/- 767,444)
test bench_tx0072 ... bench:  14,776,765 ns/iter (+/- 1,522,511)
test bench_tx0080 ... bench:  15,262,921 ns/iter (+/- 1,356,767)
test bench_tx0112 ... bench:  17,002,269 ns/iter (+/- 1,317,870)
test bench_tx0120 ... bench:  17,277,812 ns/iter (+/- 1,579,734)
test bench_tx0128 ... bench:  17,917,132 ns/iter (+/- 2,082,900)
test bench_tx0256 ... bench:  26,625,425 ns/iter (+/- 1,667,125)

Additionally, running test with nocapture will give a feel for the capacity of your cpu

$ ./x.py test capacity --release -- --nocapture
Capacity: 30016

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions