-
Notifications
You must be signed in to change notification settings - Fork 41
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
Enable Fluxion resource graph elasticity #989
Commits on Aug 20, 2023
-
planner: refactor planner to class
Problem: resizing the Boost resource graph calls sched_data and infra_data ctors and dtors which calls for planner to be changed from a struct to a class. Refactor the data structure into a class with constructors, a destructor, and assignment overload. Refactor direct struct member access to public class setters and getters, and public member functions. Add private utility member functions and data members. Maintain C client compatibility by wrapping planner in a struct. Add .hpp file to maintain C API compatibility while enabling C++ features. Add a c_interface.cpp to provide the external C functionality.
Configuration menu - View commit details
-
Copy full SHA for 9db8120 - Browse repository at this point
Copy the full SHA 9db8120View commit details -
planner: update planner interface
Problem: the current interface structure facilitates C clients, but does not present a separate C++ interface. Separate the C and C++ interface to enable different clients and facilitate future planner extension. Update the Fluxion build paths as well.
Configuration menu - View commit details
-
Copy full SHA for 54456e2 - Browse repository at this point
Copy the full SHA 54456e2View commit details -
planner: refactor planner_multi to class
Problem: resizing the Boost resource graph calls sched_data and infra_data ctors and dtors which calls for planner_multi to be changed from a struct to a class. Refactor the data structure into a class with constructors, a destructor, and assignment overload. Refactor direct struct member access to public class setters and getters, and public member functions. Add private data members. Maintain C client compatibility by wrapping planner_multi in a struct. Add .hpp file to maintain C API compatibility while enabling C++ features. Add a C interface for separation of C and C++ clients and future extensibility.
Configuration menu - View commit details
-
Copy full SHA for c0bd09c - Browse repository at this point
Copy the full SHA c0bd09cView commit details -
planner: update planner_multi interface
Problem: the current interface structure facilitates C clients, but does not present a separate C++ interface. Separate the C and C++ interface to enable different clients and facilitate future planner_multi extension. Update the Fluxion build paths as well.
Configuration menu - View commit details
-
Copy full SHA for 74951c1 - Browse repository at this point
Copy the full SHA 74951c1View commit details -
planner: mt tree rb_node_base_t should be class
Problem: compilers variously generate warnings or errors to indicate that rb_node_base_t is a class not a struct. Correct the typo.
Configuration menu - View commit details
-
Copy full SHA for 99ba027 - Browse repository at this point
Copy the full SHA 99ba027View commit details -
planner: modify mintime_tree functions
Problem: restructuring planner as a requires some utility member functions to be const. Update the MT RBTree functions to provide const overloads. Add clear function to address memory leak from an uncleared tree upon planner destruction.
Configuration menu - View commit details
-
Copy full SHA for c948220 - Browse repository at this point
Copy the full SHA c948220View commit details -
planner: modify sched_point_tree functions
Problem: restructuring planner as a requires some utility member functions to be const. While copying or assigning planners, accessing elements of an empty tree during the first iteration results in undefined behavior. Update the scheduled point RBTree functions to provide const overloads. Add empty function to allow checking for an empty tree before iterating through the nodes while copying or assigning planners.
Configuration menu - View commit details
-
Copy full SHA for 793a8cb - Browse repository at this point
Copy the full SHA 793a8cbView commit details -
schema: add sched_data ctor, dtor, assn oload
Problem: Boost vecS container resizing upon resource addition calls the destructor and constructor for the property maps (pool_infra_t and schedule_t) associated with each graph vertex. Provide the constructor, destructor, and assignment overload for schedule_t.
Configuration menu - View commit details
-
Copy full SHA for 9da5e0f - Browse repository at this point
Copy the full SHA 9da5e0fView commit details -
schema: add infra_data ctor, dtor, and assn oload
Problem: Boost vecS container resizing upon resource addition calls the destructor and constructor for the property maps (pool_infra_t and schedule_t) associated with each graph vertex. Provide the constructor, destructor, and assignment overload for pool_infra_t.
Configuration menu - View commit details
-
Copy full SHA for 06567d2 - Browse repository at this point
Copy the full SHA 06567d2View commit details -
schema: initialize epoch in ephemeral header
Problem: the epoch value is uninitialized in ephemeral_t, which causes comparisons to be performed on the uninitialized member variable. Initialize m_epoch to 0.
Configuration menu - View commit details
-
Copy full SHA for 31bc90d - Browse repository at this point
Copy the full SHA 31bc90dView commit details -
modules: fix comparison warning
Problem: comparing a uint64_t with int64_t results in a compile time warning. Since in this case the comparison just checks if the uint64_t `remapped_id` is greater than int64_t max value, static cast first.
Configuration menu - View commit details
-
Copy full SHA for 0c9f4cc - Browse repository at this point
Copy the full SHA 0c9f4ccView commit details -
resource-query: promote attach to production
Problem: without ctors, dtors, and assignment overloads for planner and planner_multi, Boost vecS resizing called the schedule_t and pool_infra_t which could not deep copy the structs. As a result, the resizing caused all allocations and reservations to be destroyed. A check in resource-query ensured resource graph mutation could not be performed via `attach` on a resource graph with allocations or reservations. Remove this restriction.
Configuration menu - View commit details
-
Copy full SHA for 200b0cf - Browse repository at this point
Copy the full SHA 200b0cfView commit details -
planner: add planner comparison for testsuite
Problem: testsuite tests will need to compare planners via the `==` operator to check if copying, destruction, and assignment works as needed. Add the required member checks and C interface functions.
Configuration menu - View commit details
-
Copy full SHA for 1d47302 - Browse repository at this point
Copy the full SHA 1d47302View commit details -
planner: add planner_multi comparison
Problem: testsuite tests will need to compare planner_multis via the `==` operator to check if copying, destruction, and assignment works as needed. Add the required member checks and C interface functions.
Configuration menu - View commit details
-
Copy full SHA for a481bb0 - Browse repository at this point
Copy the full SHA a481bb0View commit details -
schema: add schedule_t comparison for testsuite
Problem: testsuite tests will need to compare schedule_t via the `==` operator to check if copying, destruction, and assignment works as needed. Add the required checks.
Configuration menu - View commit details
-
Copy full SHA for 40edab3 - Browse repository at this point
Copy the full SHA 40edab3View commit details -
schema: add pool_infra_t comparison for testsuite
Problem: testsuite tests will need to compare pool_infra_t via the `==` operator to check if copying, destruction, and assignment works as needed. Add the required member checks.
Configuration menu - View commit details
-
Copy full SHA for 3e8685c - Browse repository at this point
Copy the full SHA 3e8685cView commit details -
testsuite: add ctors and overload tests
Problem: the testsuite needs to test if copying, destroying, and assigning planners works as desired. Namely, calling the copy constructor should deep copy planners, and assignment should ensure the two planner's states are independent but the same initially. Mutation of a copy should not affect the source object. Destruction should not affect the source object. Add low-level checks for planner behavior.
Configuration menu - View commit details
-
Copy full SHA for 06ab800 - Browse repository at this point
Copy the full SHA 06ab800View commit details -
testsuite: add ctors, oload tests: planner_multi
Problem: the testsuite needs to test if copying, destroying, and assigning planner_multis works as desired. Namely, calling the copy constructor should deep copy planner_multis, and assignment should ensure the two planner_multis' states are independent but the same initially. Mutation of a copy should not affect the source object. Destruction should not affect the source object. Add low-level checks for planner_multis behavior.
Configuration menu - View commit details
-
Copy full SHA for 0cc4499 - Browse repository at this point
Copy the full SHA 0cc4499View commit details -
testsuite: add ctors and oload tests, schedule_t
Add unit tests to ensure the copy constructor, assignment overload, and equality overload function as needed.
Configuration menu - View commit details
-
Copy full SHA for 10177f7 - Browse repository at this point
Copy the full SHA 10177f7View commit details -
testsuite: add ctors, oload tests: pool_infra_t
Add unit tests to ensure the copy constructor, assignment overload, and equality overload for pool_infra_t function as needed.
Configuration menu - View commit details
-
Copy full SHA for 5e6d99d - Browse repository at this point
Copy the full SHA 5e6d99dView commit details -
resource: update gitignore for schema tests
Add the schema tests to gitignore to ensure undesired files in the directory are not tracked by git.
Configuration menu - View commit details
-
Copy full SHA for 63a4316 - Browse repository at this point
Copy the full SHA 63a4316View commit details -
testsuite: update tests for planner correctness
Add tests for attaching a new subgraph to an instantiated resource graph and ensure the allocations and reservations are not affected. Test that the match policy selects appropriate resources from the newly added subgraph.
Configuration menu - View commit details
-
Copy full SHA for b5c3f5d - Browse repository at this point
Copy the full SHA b5c3f5dView commit details -
testsuite: fix spelling in schema test functions
Problem: schema_test01 and schema_test02 have misspellings of "constructors" and "assignment." Fix the spelling.
Configuration menu - View commit details
-
Copy full SHA for fb51b19 - Browse repository at this point
Copy the full SHA fb51b19View commit details
Commits on Aug 21, 2023
-
resource: Add suppression directives for Boost and Ygg
Problem: with GCC, Yggdrasil and Boost libraries generate compilation errors related to missing template keywords and maybe uninitialized values, respectively. Suppression flags for GCC are unrecognized by Clang and produce compilation errors. Add conditional diagnostic pragmas to suppress the errors for GCC but not Clang.
Configuration menu - View commit details
-
Copy full SHA for 8761d50 - Browse repository at this point
Copy the full SHA 8761d50View commit details
Commits on Aug 22, 2023
-
update mergify config to match core
I missed some mergify requirements when transferring this, or maybe updated them after.
Configuration menu - View commit details
-
Copy full SHA for 3903ac3 - Browse repository at this point
Copy the full SHA 3903ac3View commit details