Skip to content

graph500par: add Domain.cpu_relax on failed CAS#3

Open
edwintorok wants to merge 1 commit into
ocaml-bench:masterfrom
edwintorok:domainrelax
Open

graph500par: add Domain.cpu_relax on failed CAS#3
edwintorok wants to merge 1 commit into
ocaml-bench:masterfrom
edwintorok:domainrelax

Conversation

@edwintorok

Copy link
Copy Markdown

This should probably use the Backoff module, but for now add at least one cpu_relax call to avoid spinning needlessly.
This improves both time elapsed and energy usage:

sudo perf stat -r 10 -e power/energy-pkg/ -- ./kernel1_run_multicore-runtime -ndomains 32 edges.data`

Before:

            318.40 Joules power/energy-pkg/                                                       ( +-  3.82% )

       6.388749432 +- 0.269389879 seconds time elapsed  ( +-  4.22% )

After:


       5.721849843 +- 0.313571388 seconds time elapsed  ( +-  5.48% )

I've run this on my own machine, would be interesting to see whether the improvement can also be confirmed on the machine that usually runs these benchmarks (monolith?)

This should probably use the `Backoff` module, but for now add at least
one cpu_relax call to avoid spinning needlessly.
This improves both time elapsed and energy usage:

```
sudo perf stat -r 10 -e power/energy-pkg/ -- ./kernel1_run_multicore-runtime -ndomains 32 edges.data`
```

Before:
```
            318.40 Joules power/energy-pkg/                                                       ( +-  3.82% )

       6.388749432 +- 0.269389879 seconds time elapsed  ( +-  4.22% )
```

After:
```            288.38 Joules power/energy-pkg/                                                       ( +-  5.13% )

       5.721849843 +- 0.313571388 seconds time elapsed  ( +-  5.48% )
```

Signed-off-by: Edwin Török <edwin@tarides.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant