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

Adding example of a simple master/slave distributed application #6137

Merged
merged 1 commit into from Jan 16, 2023

Conversation

hkaiser
Copy link
Member

@hkaiser hkaiser commented Jan 13, 2023

The purpose of this example is to demonstrate how HPX actions can be used to build a simple master-slave application. The master (locality 0) assigns work to the slaves (all other localities). Note that if this application is run on one locality only it uses the same locality for the master and the slave functionalities.

The slaves receive a message that encodes how many sub-tasks of a certain type they should spawn locally.

@StellarBot
Copy link

Performance test report

HPX Performance

Comparison

BENCHMARKFORK_JOIN_EXECUTORPARALLEL_EXECUTORSCHEDULER_EXECUTOR
For Each(=)+(=)

Info

PropertyBeforeAfter
HPX Commitd5655f85841457
HPX Datetime2022-05-31T12:57:29+00:002023-01-13T12:55:02+00:00
Datetime2022-05-31T15:13:01.357969+02:002023-01-13T14:07:46.731764+01: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
Clusternamedaintdaint
Hostnamenid01193nid00456

Comparison

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

Info

PropertyBeforeAfter
HPX Commitd5655f85841457
HPX Datetime2022-05-31T12:57:29+00:002023-01-13T12:55:02+00:00
Datetime2022-05-31T15:13:18.026239+02:002023-01-13T14:08:02.815739+01: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
Clusternamedaintdaint
Hostnamenid01193nid00456

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 Commit71d8dbe5841457
HPX Datetime2021-11-10T19:14:21+00:002023-01-13T12:55:02+00:00
Datetime2021-11-10T20:28:18.266961+01:002023-01-13T14:08:17.840304+01: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
Clusternamedaintdaint
Hostnamenid00120nid00456

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…

@StellarBot
Copy link

Performance test report

HPX Performance

Comparison

BENCHMARKFORK_JOIN_EXECUTORPARALLEL_EXECUTORSCHEDULER_EXECUTOR
For Each(=)==

Info

PropertyBeforeAfter
HPX Datetime2023-01-12T23:07:58+00:002023-01-14T14:45:35+00:00
HPX Commiteb604d58222fd5
Datetime2023-01-13T04:10:15.951027-06:002023-01-14T08:54:45.704820-06:00
Hostnamemedusa08.rostam.cct.lsu.edumedusa08.rostam.cct.lsu.edu
Envfile
Clusternamerostamrostam
Compiler/opt/apps/llvm/13.0.1/bin/clang++ 13.0.1/opt/apps/llvm/13.0.1/bin/clang++ 13.0.1

Comparison

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

Info

PropertyBeforeAfter
HPX Datetime2023-01-12T23:07:58+00:002023-01-14T14:45:35+00:00
HPX Commiteb604d58222fd5
Datetime2023-01-13T04:10:31.068958-06:002023-01-14T08:55:00.868620-06:00
Hostnamemedusa08.rostam.cct.lsu.edumedusa08.rostam.cct.lsu.edu
Envfile
Clusternamerostamrostam
Compiler/opt/apps/llvm/13.0.1/bin/clang++ 13.0.1/opt/apps/llvm/13.0.1/bin/clang++ 13.0.1

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-01-12T23:07:58+00:002023-01-14T14:45:35+00:00
HPX Commiteb604d58222fd5
Datetime2023-01-13T04:10:46.398919-06:002023-01-14T08:55:16.048748-06:00
Hostnamemedusa08.rostam.cct.lsu.edumedusa08.rostam.cct.lsu.edu
Envfile
Clusternamerostamrostam
Compiler/opt/apps/llvm/13.0.1/bin/clang++ 13.0.1/opt/apps/llvm/13.0.1/bin/clang++ 13.0.1

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
Copy link
Member Author

hkaiser commented Jan 16, 2023

bors merge

@bors
Copy link

bors bot commented Jan 16, 2023

Build succeeded:

  • Bors

@bors bors bot merged commit 346a1df into master Jan 16, 2023
@bors bors bot deleted the master_slave_example branch January 16, 2023 20:58
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.

None yet

2 participants