| Commit message (Collapse) | Author | Age |
| | |
|
| |
|
|
|
|
|
| |
Use proper rounding when converting blocking terms to avoid rounding
issues. This could cause some (very rare) off-by-one bugs when
incorrectly truncating an objective result very close to the next
largest integer.
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
This can reveal bugs in constraints that accidentally include Ti.
|
| |
|
|
|
| |
Add a bridge to the GLPK library. Availability is auto-discovered by
the build system. Most of the code is solver-agnostic.
|
| |
|
|
|
|
| |
Interestingly, this shows that generating huge LPs is not necessarily
any faster than creating and solving many small LPs. Further
investigation required.
|
| |
|
|
|
|
|
|
| |
This patch introduces the capability to generate
one huge LP for an entire task set, instead of
generating many smaller LPs (one for each task).
It's not clear yet that this is actually any faster.
|
| |
|
|
|
| |
These files implement the generation and evaluation of linear programs
that bound maximum s-aware pi-blocking under the DPCP and the DFLP.
|
| |
|
|
|
|
|
|
| |
Hashmaps will be needed by the LP code.
Additionally, add definitions for hash maps with uint64_t keys.
This is only relevant for legacy C++ libs as used on Mac OS X.
On Linux, we use the newer C++ '11 STL implementation.
|
| |
|
|
|
|
|
|
| |
The priority ceilings under the MPCP are defined in a way
such that one processor has a slightly lower ceiling.
This doesn't really affect the outcome much, but this patch
changes the analysis to be exactly as defined for the sake
of accuracy.
|
| |
|
|
|
|
| |
This will be used by the new LP-based MPCP analysis.
Also, report local blocking to Python and add a clarifying comment.
|
| |
|
|
|
|
| |
To make response times monotonically increasing, it is beneficial
to have some estimate even if the response_time assumption has
been violated.
|
| |
|
|
| |
gcs' with equal priority ceiling cannot be preempted.
|
| |
|
|
|
| |
The LP-based analysis of the DPCP can reuse this, so make it
available globally.
|
| |
|
|
| |
Part of refactoring sharedres.cpp.
|
| |
|
|
| |
The bound should not reflect requests executed by agents that can be preempted.
|
| |
|
|
| |
Part of refactoring sharedres.cpp.
|
| |
|
|
| |
Part of refactoring sharedres.cpp.
|
| |
|
|
| |
Part of refactoring sharedres.cpp.
|
| |
|
|
| |
Part of refactoring sharedres.cpp.
|
| |
|
|
| |
Part of refactoring sharedres.cpp.
|
| |
|
|
| |
Part of refactoring sharedres.cpp.
|
| |
|
|
| |
Part of refactoring sharedres.cpp.
|
| |
|
|
| |
Part of refactoring sharedres.cpp.
|
| |
|
|
| |
Part of refactoring sharedres.cpp.
|
|
|
Part of refactoring sharedres.cpp.
|