Skip to content

Commit bf6fba5

Browse files
mhoemmenRuyman
authored andcommitted
d0796r1: Fix "Background Research..." section
In d0796r1, fix grammar and wording in "Background Research: State of the Art" section.
1 parent 63099f2 commit bf6fba5

File tree

1 file changed

+13
-13
lines changed

1 file changed

+13
-13
lines changed

affinity/cpp-20/d0796r1.md

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@
44

55
**Audience: SG1, SG14**
66

7-
**Authors: Gordon Brown, Ruyman Reyes, Michael Wong, H. Carter Edwards, Thomas Rodgers**
7+
**Authors: Gordon Brown, Ruyman Reyes, Michael Wong, H. Carter Edwards, Thomas Rodgers, Mark Hoemmen**
88

9-
**Contributors: Patrice Roy, Jeff Hammond, Mark Hoemmen**
9+
**Contributors: Patrice Roy, Jeff Hammond**
1010

11-
**Emails: gordon@codeplay.com, ruyman@codeplay.com, michael@codeplay.com, hcedwar@sandia.gov, rodgert@twrodgers.com**
11+
**Emails: gordon@codeplay.com, ruyman@codeplay.com, michael@codeplay.com, hcedwar@sandia.gov, rodgert@twrodgers.com, mhoemme@sandia.gov**
1212

1313
**Reply to: michael@codeplay.com**
1414

@@ -61,7 +61,7 @@ The affinity interface we propose should help computers achieve a much higher fr
6161
6262
# Background Research: State of the Art
6363
64-
The problem of effectively partitioning a system’s topology is one which has been so for some time, and there are a range of third party libraries / standards which provides APIs to solve the problem. In order to standardise this process for C++ we must carefully look at all of these approaches and identify which we wish to adopt. Below is a list of the libraries and standards which this proposal will draw from:
64+
The problem of effectively partitioning a system’s topology has existed for some time, and there are a range of third-party libraries and standards which provide APIs to solve the problem. In order to standardize this process for C++, we must carefully look at all of these approaches and identify which we wish to adopt. Below is a list of the libraries and standards from which this proposal will draw:
6565
6666
* [Portable Hardware Locality][hwloc]
6767
* [SYCL 1.2][sycl-1-2-1]
@@ -81,22 +81,22 @@ The problem of effectively partitioning a system’s topology is one which has b
8181
* [HPX][hpx]
8282
* [MADNESS][madness]
8383
84-
Libraries such as the Portable Hardware Locality (hwloc) [9] provide a low level of hardware abstraction and offer a solution for the portability problem by supporting many platforms and operating systems. This and similar approaches may provide detailed hardware information in a tree-like structure. However, even some current systems cannot be represented correctly by a tree, where the number of hops between two sockets vary between socket pairs [14].
84+
Libraries such as the Portable Hardware Locality (hwloc) library [9] provide a low level of hardware abstraction, and offer a solution for the portability problem by supporting many platforms and operating systems. This and similar approaches use a tree structure to represent details of CPUs and the memory system. However, even some current systems cannot be represented correctly by a tree, if the number of hops between two sockets varies between socket pairs [14].
8585
86-
Some systems will provide additional user control through explicit binding of threads to processors through environment variables consumed by various compilers, system commands (e.g. Linux: taskset, numactl; Windows: start /affinity), or system calls for example Solaris has `pbind()`, Linux has `sched_setaffinity()` and Windows has `SetThreadAffinityMask()`.
86+
Some systems give additional user control through explicit binding of threads to processors through environment variables consumed by various compilers, system commands, or system calls. Examples of system commands include Linux's `taskset` and `numactl`, and Windows' `start /affinity`. System call examples include Solaris' `pbind()`, Linux's `sched_setaffinity()`, and Windows' `SetThreadAffinityMask()`.
8787
8888
## Problem Space
8989
90-
In this paper we describe the problem space of affinity for C++, the various challenges which need to be addressed in defining a partitioning and affinity interface for C++ and some suggested solutions:
90+
In this paper we describe the problem space of affinity for C++, the various challenges which need to be addressed in defining a partitioning and affinity interface for C++, and some suggested solutions. These include:
9191
92-
* How to represent, identify and navigate the topology of execution resources available within a heterogeneous or distributed system.
93-
* How to query and measure the relative affininty between different execution resources within a system.
94-
* How to bind execution and allocation particular execution resource(s).
95-
* What kind of and level of interface(s) should be provided by C++ for affinity.
92+
* How to represent, identify and navigate the topology of execution resources available within a heterogeneous or distributed system
93+
* How to query and measure the relative affinity between different execution resources within a system
94+
* How to bind execution and allocation to particular execution resource(s)
95+
* What kind of and level of interface(s) should be provided by C++ for affinity
9696
97-
Wherever possible, we also evaluate how an affinity based solution could be scaled to support both distributed and heterogeneous systems.
97+
Wherever possible, we also evaluate how an affinity-based solution could be scaled to support both distributed and heterogeneous systems.
9898
99-
There are some additional challenges which we have been investigating but are not yet ready to be included in this paper and will be presented in a future paper:
99+
Here are additional challenges which we have been investigating but are not yet ready to be included in this paper, and which will be presented in a future paper:
100100
101101
* Migrating data from memory allocated in one partition to another
102102
* Defining memory placement algorithms or policies

0 commit comments

Comments
 (0)