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
P0443 A Unified Executors Proposal for C++ #102
Comments
Discussed in joint LEWG / SG1 session in San Diego: http://wiki.edg.com/bin/view/Wg21sandiego2018/P0443R9 .
|
P0443R10 A Unified Executors Proposal for C++ (Jared Hoberock, Michael Garland, Chris Kohlhoff, Chris Mysen, H. Carter Edwards, Gordon Brown, Daisy Hollman) |
SG1 poll: |
P0443R11 A Unified Executors Proposal for C++ (Jared Hoberock, Michael Garland, Chris Kohlhoff, Chris Mysen, Carter Edwards, Gordon Brown, Daisy Hollman, Lee Howes, Kirk Shoop, Eric Niebler) |
We adopt the design of P0443R11 for ship vehicle TBD (i.e. new papers should We recommend the design of P0443R11 for C++23. |
P0443R12 A Unified Executors Proposal for C++ (Jared Hoberock, Michael Garland, Chris Kohlhoff, Chris Mysen, Carter Edwards, Gordon Brown, Daisy Hollman, Lee Howes, Kirk Shoop, Lewis Baker, Eric Niebler) |
Discussed in Prague We approve of the design and want to review details and wording in Varna. |
Expecting wording ready for review in Varna. |
P0443R13 A Unified Executors Proposal for C++ (Jared Hoberock, Michael Garland, Chris Kohlhoff, Chris Mysen, Carter Edwards, Gordon Brown, Daisy Hollman, Lee Howes, Kirk Shoop, Lewis Baker, Eric Niebler) |
P0443R14 A Unified Executors Proposal for C++ (Jared Hoberock, Michael Garland, Chris Kohlhoff, Chris Mysen, H. Carter Edwards, Gordon Brown, David Hollman) |
2020 Summary Library Evolution Review2020-06-29 and 2020-07-07 Library Evolution ReviewChair: Nevin Liber and Fabio Fracassi Champion: Gašper Ažman Minute Taker: Ben Craig 2020-07-07 Library Evolution Minutes - D2203R0 Executors Review Report: Customization Points Chair: Fabio Fracassi Champion: Ryan McDougall Minute Taker: Ben Craig SummaryWe reviewed D2022R0 Sender/Receiver Review Report and D2203R0 Customization Point Report POLL: We want to make the selection of Executor <-> Scheduler interoperation adapters more explicit and not provide implicit defaults (esp. setting terminate as the error channel when calling the execute cpo). Given the history of the consensus of R0443 this would need a paper.
SA: The poll was taken without the primary dissenter Attendance: 27 # of Authors: 8 OutcomeThis and the previous session were mostly informational, to identify open questions and make sure that we properly understand the programming model that we are integrating with Executors and Sender/Receivers. One outcome is that we need lots of additional documentation and examples to make informed decisions, since the programming model (and the domain) is complex. Also to evaluate the proposed concepts we need to understand the algorithms in P1897 or P1898. Most open issues we discovered seem to be at the seams and interactions between the two models Sender/Receiver and Executors, especially in the way that errors and cancelations are propagated between the two models. 2020-07-21 Library Evolution Review2020-07-21 Library Evolution Minutes - P2207R0 Executors Review Report: Executor Concept Chair: Nevin Liber Champion: Guy Davidson Minute Taker: Ben Craig OutcomeThe executors proposal needs to collect the history behind the decisions and put it in one place. It is impossible to do a design review w/o the knowledge of how we got here. Executor type traits: do we want traits bundled into a few large-ish classes that users specialize, or do we want many small-ish classes instead? As this applies to more than just executors, authors and participants want guidance from LEWG. No one has yet volunteered to write such a paper. Shape concept: We shouldn't have it yet, as it isn't generic (size_t), we don't have algorithms that use it. Swapping executors (exceptions, thread safety, etc.): it turns out they currently are not required to be assignable, so not swappable, but that may just be an oversight. Authors will revisit this. Namespace 2020-07-27 and 2020-08-04 Library Evolution Review2020-07-27 and 2020-08-04 Library Evolution Minutes - P2183R0 Executors Review Report: Properties Chair: Ben Craig and Billy Baker Champion: David Olsen Minute Taker: Inbal Levi SummaryThe following poll was taken regarding RTTI overhead from any_executor<P...>::target_type (section 5.6 of P2183 Executor Review: Properties). POLL: We should remove any_executor<P...>::target_typ.
Attendance: 28 # of Authors: 2 Author Position: neutral OutcomeWe had consensus for removing target_type from any_executor to eliminate RTTI-related overhead. This removal is consistent with recent decisions to not include target/target_type in any_invocable (see the discussion of P0288 any_invocable from San Diego 2018). P1322 Networking TS enhancement presents a case for using target_type. The authors of P0433R13 are encouraged to explore the properties approach shown in P2183 as well as other alternatives such as the unchecked any_cast possibility raised during the presentation of P2183. 2020-08-18 Library Evolution Review2020-08-18 Library Evolution Minutes - P2205R0 Executors Review Report: Polymorphic Executor Chair: Fabio Fracassi Champion: Inbal Levi Minute Taker: Ben Craig 2020-08-24 Library Evolution Review2020-08-24 Library Evolution Minutes - P2206R0 Executors Review Report: Thread Pool Chair: Nevin Liber Champion: Ruslan Arutyunyan Minute Taker: Ben Craig |
2020 Fall Library Evolution Review Summary and 2020 Fall Poll Preparation2020-09-21 Library Evolution Minutes - Review Summary and 2020 Fall Poll Preparation Chair: Bryce Adelstein Lelbach Minute Taker: Ben Craig and Inbal Levi |
2020 Fall Final Pre Poll Discussion2020-10-22 Library Evolution Telecon Minutes - Final Pre 2020 Fall Polls Discussion Chair: Bryce Adelstein Lelbach Minute Taker: Ben Craig Start Ruslan's Presentation: 2020-10-22 13:03 Pacific End Ruslan's Presentation, Start Review of Executors Polls: 13:19 These polls will not be reworded unless there are grave errors; the poll wording has been circulating for two weeks, and we don't want to make last minute changes. "Remove" polls (2 and 3): These things require effort to review and to specify, and aren't necessarily fundamental. I want to determine how strongly we feel about keeping them in the core proposal. End Review of Executors Polls: 13:55 SUMMARY: A brief presentation was given by on the relationship of schedulers and executors in P0443 by Ruslan Arutyunyan. A discussion of possible ways of unifying schedulers and executors followed. Ultimately, this discussion was tabled after it was pointed out that this had been attempted for years in SG1 and that we would need a well-thought concrete proposal to have a productive discussion on this. We then reviewed the executor polls intended for the 2020 Fall Library Evolution polling period. No major issues or concerns with the polls were identified. OUTCOME: We will commence 2020 Fall Library Evolution polling as planned. |
2020 Fall Library Evolution PollsP2262: 2020 Fall Library Evolution Poll Outcomes POLL 0: Remove implicit adaptation from P0443R14 (Executors) by applying P2235R0 to P0443R14, which will make
Outcome: Unanimous consensus in favor. POLL 1: Use one class for each individual trait instead of combined traits classes (
Outcome: No consensus. POLL 2: Remove
Outcome: Weak consensus in favor. POLL 3: Remove
Outcome: Consensus in favor. POLL 4: Remove
Outcome: Consensus in favor. POLL 5: P0443R14 (Executors) is sufficiently mature that we should aim to ship it in C++23.
Outcome: Weak consensus in favor. OutcomeRevise P0443R14 (Executors) as follows and return to Library Evolution for further review:
We will continue on our planned course of aiming to ship P0443R14 (Executors) in C++23, but a notable minority in Library Evolution are not convinced that P0443R14 (Executors) is sufficiently mature. Library Evolution wants to see more field experience with P0443R14 (Executors). P0443R14 (Executors) authors and advocates should take note of this. Focus on demonstrating field experience through implementations and usage, improving introductory material, minimizing the scope, resolving outstanding minor open issues, and developing wording to increase Library Evolution confidence in the maturity of P0443R14 (Executors). We encourage a separate follow-on proposal exploring individual traits versus combined traits classes in general, using P0443R14 (Executors) as an example to gauge impact. |
Closing as we are preceding with P2300, as per the discussion at the 2021-08-03 Library Evolution telecon. |
P0443R9 A Unified Executors Proposal for C++ (Jared Hoberock, Michael Garland, Chris Kohlhoff, Chris Mysen, H. Carter Edwards, Gordon Brown)
The text was updated successfully, but these errors were encountered: