Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reimplement distributed::barrier on top of existing collectives infrastructure #5984

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

hkaiser
Copy link
Member

@hkaiser hkaiser commented Aug 21, 2022

This is meant to fix possible communication tearing during HPX startup

@StellarBot
Copy link

Performance test report

HPX Performance

Comparison

BENCHMARKFORK_JOIN_EXECUTORPARALLEL_EXECUTORSCHEDULER_EXECUTOR
For Each(=)(=)(=)

Info

PropertyBeforeAfter
HPX Commitd5655f8d940dfd
HPX Datetime2022-05-31T12:57:29+00:002022-08-25T21:27:29+00:00
Hostnamenid01193nid00268
Clusternamedaintdaint
Datetime2022-05-31T15:13:01.357969+02:002022-08-25T23:41:38.526676+02:00
Compiler/apps/daint/SSL/HPX/packages/llvm-11.0.0/bin/clang++ 11.0.0/apps/daint/SSL/HPX/packages/llvm-11.0.0/bin/clang++ 11.0.0
Envfile

Comparison

BENCHMARKNO-EXECUTOR
Future Overhead - Create Thread Hierarchical - Latch-

Info

PropertyBeforeAfter
HPX Commitd5655f8d940dfd
HPX Datetime2022-05-31T12:57:29+00:002022-08-25T21:27:29+00:00
Hostnamenid01193nid00268
Clusternamedaintdaint
Datetime2022-05-31T15:13:18.026239+02:002022-08-25T23:41:55.393358+02:00
Compiler/apps/daint/SSL/HPX/packages/llvm-11.0.0/bin/clang++ 11.0.0/apps/daint/SSL/HPX/packages/llvm-11.0.0/bin/clang++ 11.0.0
Envfile

Comparison

BENCHMARKFORK_JOIN_EXECUTOR_DEFAULT_FORK_JOIN_POLICY_ALLOCATORPARALLEL_EXECUTOR_DEFAULT_PARALLEL_POLICY_ALLOCATORSCHEDULER_EXECUTOR_DEFAULT_SCHEDULER_EXECUTOR_ALLOCATOR
Stream Benchmark - Add(=)(=)(=)
Stream Benchmark - Scale(=)(=)(=)
Stream Benchmark - Triad(=)(=)(=)
Stream Benchmark - Copy(=)=(=)

Info

PropertyBeforeAfter
HPX Commit71d8dbed940dfd
HPX Datetime2021-11-10T19:14:21+00:002022-08-25T21:27:29+00:00
Hostnamenid00120nid00268
Clusternamedaintdaint
Datetime2021-11-10T20:28:18.266961+01:002022-08-25T23:42:10.521650+02:00
Compiler/apps/daint/SSL/HPX/packages/llvm-11.0.0/bin/clang++ 11.0.0/apps/daint/SSL/HPX/packages/llvm-11.0.0/bin/clang++ 11.0.0
Envfile

Explanation of Symbols

SymbolMEANING
=No performance change (confidence interval within ±1%)
(=)Probably no performance change (confidence interval within ±2%)
(+)/(-)Very small performance improvement/degradation (≤1%)
+/-Small performance improvement/degradation (≤5%)
++/--Large performance improvement/degradation (≤10%)
+++/---Very large performance improvement/degradation (>10%)
?Probably no change, but quite large uncertainty (confidence interval with ±5%)
??Unclear result, very large uncertainty (±10%)
???Something unexpected…

@hkaiser hkaiser force-pushed the distributed_barrier branch 2 times, most recently from 03a3fde to ebb11d8 Compare August 26, 2022 15:38
@StellarBot
Copy link

Performance test report

HPX Performance

Comparison

BENCHMARKFORK_JOIN_EXECUTORPARALLEL_EXECUTORSCHEDULER_EXECUTOR
For Each(=)(=)(=)

Info

PropertyBeforeAfter
HPX Commitd5655f8f8b00b2
HPX Datetime2022-05-31T12:57:29+00:002022-08-26T15:38:24+00:00
Compiler/apps/daint/SSL/HPX/packages/llvm-11.0.0/bin/clang++ 11.0.0/apps/daint/SSL/HPX/packages/llvm-11.0.0/bin/clang++ 11.0.0
Hostnamenid01193nid00882
Datetime2022-05-31T15:13:01.357969+02:002022-08-26T18:38:36.577329+02:00
Envfile
Clusternamedaintdaint

Comparison

BENCHMARKNO-EXECUTOR
Future Overhead - Create Thread Hierarchical - Latch(=)

Info

PropertyBeforeAfter
HPX Commitd5655f8f8b00b2
HPX Datetime2022-05-31T12:57:29+00:002022-08-26T15:38:24+00:00
Compiler/apps/daint/SSL/HPX/packages/llvm-11.0.0/bin/clang++ 11.0.0/apps/daint/SSL/HPX/packages/llvm-11.0.0/bin/clang++ 11.0.0
Hostnamenid01193nid00882
Datetime2022-05-31T15:13:18.026239+02:002022-08-26T18:38:53.668262+02:00
Envfile
Clusternamedaintdaint

Comparison

BENCHMARKFORK_JOIN_EXECUTOR_DEFAULT_FORK_JOIN_POLICY_ALLOCATORPARALLEL_EXECUTOR_DEFAULT_PARALLEL_POLICY_ALLOCATORSCHEDULER_EXECUTOR_DEFAULT_SCHEDULER_EXECUTOR_ALLOCATOR
Stream Benchmark - Add(=)-(=)
Stream Benchmark - Scale(=)(=)(=)
Stream Benchmark - Triad(=)-(=)
Stream Benchmark - Copy(=)(=)(=)

Info

PropertyBeforeAfter
HPX Commit71d8dbef8b00b2
HPX Datetime2021-11-10T19:14:21+00:002022-08-26T15:38:24+00:00
Compiler/apps/daint/SSL/HPX/packages/llvm-11.0.0/bin/clang++ 11.0.0/apps/daint/SSL/HPX/packages/llvm-11.0.0/bin/clang++ 11.0.0
Hostnamenid00120nid00882
Datetime2021-11-10T20:28:18.266961+01:002022-08-26T18:39:09.081288+02:00
Envfile
Clusternamedaintdaint

Explanation of Symbols

SymbolMEANING
=No performance change (confidence interval within ±1%)
(=)Probably no performance change (confidence interval within ±2%)
(+)/(-)Very small performance improvement/degradation (≤1%)
+/-Small performance improvement/degradation (≤5%)
++/--Large performance improvement/degradation (≤10%)
+++/---Very large performance improvement/degradation (>10%)
?Probably no change, but quite large uncertainty (confidence interval with ±5%)
??Unclear result, very large uncertainty (±10%)
???Something unexpected…

@hkaiser hkaiser force-pushed the distributed_barrier branch from ebb11d8 to bad6d0d Compare August 26, 2022 17:14
@hkaiser hkaiser force-pushed the distributed_barrier branch from 86de18f to d6d0a34 Compare August 29, 2022 16:13
@hkaiser hkaiser removed this from the 1.9.0 milestone Jan 31, 2023
@hkaiser hkaiser marked this pull request as draft January 31, 2023 21:47
@hkaiser hkaiser force-pushed the distributed_barrier branch 2 times, most recently from 2a7512b to eab6e7e Compare May 18, 2023 19:51
@StellarBot
Copy link

Performance test report

HPX Performance

Comparison

BENCHMARKFORK_JOIN_EXECUTORPARALLEL_EXECUTORSCHEDULER_EXECUTOR
For Each(=)??-

Info

PropertyBeforeAfter
HPX Datetime2023-05-10T12:07:53+00:002023-05-18T19:51:32+00:00
HPX Commitdcb5415bee1c35
Clusternamerostamrostam
Envfile
Compiler/opt/apps/llvm/13.0.1/bin/clang++ 13.0.1/opt/apps/llvm/13.0.1/bin/clang++ 13.0.1
Hostnamemedusa08.rostam.cct.lsu.edumedusa08.rostam.cct.lsu.edu
Datetime2023-05-10T14:50:18.616050-05:002023-05-18T15:00:08.235784-05:00

Comparison

BENCHMARKNO-EXECUTOR
Future Overhead - Create Thread Hierarchical - Latch=

Info

PropertyBeforeAfter
HPX Datetime2023-05-10T12:07:53+00:002023-05-18T19:51:32+00:00
HPX Commitdcb5415bee1c35
Clusternamerostamrostam
Envfile
Compiler/opt/apps/llvm/13.0.1/bin/clang++ 13.0.1/opt/apps/llvm/13.0.1/bin/clang++ 13.0.1
Hostnamemedusa08.rostam.cct.lsu.edumedusa08.rostam.cct.lsu.edu
Datetime2023-05-10T14:52:35.047119-05:002023-05-18T15:02:24.629280-05:00

Comparison

BENCHMARKFORK_JOIN_EXECUTOR_DEFAULT_FORK_JOIN_POLICY_ALLOCATORPARALLEL_EXECUTOR_DEFAULT_PARALLEL_POLICY_ALLOCATORSCHEDULER_EXECUTOR_DEFAULT_SCHEDULER_EXECUTOR_ALLOCATOR
Stream Benchmark - Add(=)(=)(=)
Stream Benchmark - Scale=(=)(=)
Stream Benchmark - Triad(=)=(=)
Stream Benchmark - Copy(=)=(=)

Info

PropertyBeforeAfter
HPX Datetime2023-05-10T12:07:53+00:002023-05-18T19:51:32+00:00
HPX Commitdcb5415bee1c35
Clusternamerostamrostam
Envfile
Compiler/opt/apps/llvm/13.0.1/bin/clang++ 13.0.1/opt/apps/llvm/13.0.1/bin/clang++ 13.0.1
Hostnamemedusa08.rostam.cct.lsu.edumedusa08.rostam.cct.lsu.edu
Datetime2023-05-10T14:52:52.237641-05:002023-05-18T15:02:42.030433-05:00

Explanation of Symbols

SymbolMEANING
=No performance change (confidence interval within ±1%)
(=)Probably no performance change (confidence interval within ±2%)
(+)/(-)Very small performance improvement/degradation (≤1%)
+/-Small performance improvement/degradation (≤5%)
++/--Large performance improvement/degradation (≤10%)
+++/---Very large performance improvement/degradation (>10%)
?Probably no change, but quite large uncertainty (confidence interval with ±5%)
??Unclear result, very large uncertainty (±10%)
???Something unexpected…

@hkaiser hkaiser force-pushed the distributed_barrier branch 3 times, most recently from 5f0527b to e459d7f Compare May 18, 2023 22:17
@StellarBot
Copy link

Performance test report

HPX Performance

Comparison

BENCHMARKFORK_JOIN_EXECUTORPARALLEL_EXECUTORSCHEDULER_EXECUTOR
For Each(=)??-

Info

PropertyBeforeAfter
HPX Commitdcb5415218b8d5
HPX Datetime2023-05-10T12:07:53+00:002023-05-18T22:17:27+00:00
Datetime2023-05-10T14:50:18.616050-05:002023-05-18T17:25:16.021821-05:00
Compiler/opt/apps/llvm/13.0.1/bin/clang++ 13.0.1/opt/apps/llvm/13.0.1/bin/clang++ 13.0.1
Envfile
Clusternamerostamrostam
Hostnamemedusa08.rostam.cct.lsu.edumedusa08.rostam.cct.lsu.edu

Comparison

BENCHMARKNO-EXECUTOR
Future Overhead - Create Thread Hierarchical - Latch=

Info

PropertyBeforeAfter
HPX Commitdcb5415218b8d5
HPX Datetime2023-05-10T12:07:53+00:002023-05-18T22:17:27+00:00
Datetime2023-05-10T14:52:35.047119-05:002023-05-18T17:27:32.765879-05:00
Compiler/opt/apps/llvm/13.0.1/bin/clang++ 13.0.1/opt/apps/llvm/13.0.1/bin/clang++ 13.0.1
Envfile
Clusternamerostamrostam
Hostnamemedusa08.rostam.cct.lsu.edumedusa08.rostam.cct.lsu.edu

Comparison

BENCHMARKFORK_JOIN_EXECUTOR_DEFAULT_FORK_JOIN_POLICY_ALLOCATORPARALLEL_EXECUTOR_DEFAULT_PARALLEL_POLICY_ALLOCATORSCHEDULER_EXECUTOR_DEFAULT_SCHEDULER_EXECUTOR_ALLOCATOR
Stream Benchmark - Add(=)(=)=
Stream Benchmark - Scale(=)==
Stream Benchmark - Triad(=)=(=)
Stream Benchmark - Copy(=)=(=)

Info

PropertyBeforeAfter
HPX Commitdcb5415218b8d5
HPX Datetime2023-05-10T12:07:53+00:002023-05-18T22:17:27+00:00
Datetime2023-05-10T14:52:52.237641-05:002023-05-18T17:27:50.049308-05:00
Compiler/opt/apps/llvm/13.0.1/bin/clang++ 13.0.1/opt/apps/llvm/13.0.1/bin/clang++ 13.0.1
Envfile
Clusternamerostamrostam
Hostnamemedusa08.rostam.cct.lsu.edumedusa08.rostam.cct.lsu.edu

Explanation of Symbols

SymbolMEANING
=No performance change (confidence interval within ±1%)
(=)Probably no performance change (confidence interval within ±2%)
(+)/(-)Very small performance improvement/degradation (≤1%)
+/-Small performance improvement/degradation (≤5%)
++/--Large performance improvement/degradation (≤10%)
+++/---Very large performance improvement/degradation (>10%)
?Probably no change, but quite large uncertainty (confidence interval with ±5%)
??Unclear result, very large uncertainty (±10%)
???Something unexpected…

@hkaiser hkaiser force-pushed the distributed_barrier branch 5 times, most recently from 0fe8232 to 41c883e Compare May 20, 2023 15:49
- adding support for extra data in client_base shared state
- flyby: more cleanup
@hkaiser hkaiser force-pushed the distributed_barrier branch from 41c883e to 7361ac2 Compare May 20, 2023 16:01
@StellarBot
Copy link

Performance test report

HPX Performance

Comparison

BENCHMARKFORK_JOIN_EXECUTORPARALLEL_EXECUTORSCHEDULER_EXECUTOR
For Each(=)??-

Info

PropertyBeforeAfter
HPX Commitdcb5415cc64076
HPX Datetime2023-05-10T12:07:53+00:002023-05-20T16:01:16+00:00
Hostnamemedusa08.rostam.cct.lsu.edumedusa08.rostam.cct.lsu.edu
Clusternamerostamrostam
Compiler/opt/apps/llvm/13.0.1/bin/clang++ 13.0.1/opt/apps/llvm/13.0.1/bin/clang++ 13.0.1
Envfile
Datetime2023-05-10T14:50:18.616050-05:002023-05-20T11:38:53.375791-05:00

Comparison

BENCHMARKNO-EXECUTOR
Future Overhead - Create Thread Hierarchical - Latch=

Info

PropertyBeforeAfter
HPX Commitdcb5415cc64076
HPX Datetime2023-05-10T12:07:53+00:002023-05-20T16:01:16+00:00
Hostnamemedusa08.rostam.cct.lsu.edumedusa08.rostam.cct.lsu.edu
Clusternamerostamrostam
Compiler/opt/apps/llvm/13.0.1/bin/clang++ 13.0.1/opt/apps/llvm/13.0.1/bin/clang++ 13.0.1
Envfile
Datetime2023-05-10T14:52:35.047119-05:002023-05-20T11:41:07.551477-05:00

Comparison

BENCHMARKFORK_JOIN_EXECUTOR_DEFAULT_FORK_JOIN_POLICY_ALLOCATORPARALLEL_EXECUTOR_DEFAULT_PARALLEL_POLICY_ALLOCATORSCHEDULER_EXECUTOR_DEFAULT_SCHEDULER_EXECUTOR_ALLOCATOR
Stream Benchmark - Add(=)=(=)
Stream Benchmark - Scale(=)==
Stream Benchmark - Triad(=)(=)(=)
Stream Benchmark - Copy==(=)

Info

PropertyBeforeAfter
HPX Commitdcb5415cc64076
HPX Datetime2023-05-10T12:07:53+00:002023-05-20T16:01:16+00:00
Hostnamemedusa08.rostam.cct.lsu.edumedusa08.rostam.cct.lsu.edu
Clusternamerostamrostam
Compiler/opt/apps/llvm/13.0.1/bin/clang++ 13.0.1/opt/apps/llvm/13.0.1/bin/clang++ 13.0.1
Envfile
Datetime2023-05-10T14:52:52.237641-05:002023-05-20T11:41:25.147119-05:00

Explanation of Symbols

SymbolMEANING
=No performance change (confidence interval within ±1%)
(=)Probably no performance change (confidence interval within ±2%)
(+)/(-)Very small performance improvement/degradation (≤1%)
+/-Small performance improvement/degradation (≤5%)
++/--Large performance improvement/degradation (≤10%)
+++/---Very large performance improvement/degradation (>10%)
?Probably no change, but quite large uncertainty (confidence interval with ±5%)
??Unclear result, very large uncertainty (±10%)
???Something unexpected…

@hkaiser hkaiser marked this pull request as ready for review May 22, 2023 14:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants