aboutsummaryrefslogtreecommitdiffstats
path: root/schedcat
Commit message (Collapse)AuthorAge
* Add support for arbitrary GEL locking prioritiesJeremy Erickson2013-11-25
|
* Fix bug in locking overhead code that used task set in place of its cardinalityJeremy Erickson2013-11-25
|
* Replace pp with prio_pt in Python code, to match C++ codeJeremy Erickson2013-11-25
|
* Implement LP-based OMIP blocking analysisBjoern Brandenburg2013-07-12
|
* Bugfix: de-duplicate definition of assign_ids_by_periodAlexander Wieder2013-05-01
| | | | | | The Python taskmodel implementation, TaskSystem, has multiple definitions of assign_ids_by_period(), where one of them actually assigns IDs by deadline. This patch renames the method accordingly.
* blocking bounds: return C++ results object to callerBjoern Brandenburg2013-02-12
| | | | This is useful for testing.
* Add LP-based blocking analysis for FMLP+Bjoern Brandenburg2013-02-12
|
* Add LP-based blocking analysis for MPCPBjoern Brandenburg2013-02-12
|
* Allow clients to use the original DPCP blocking termsBjoern Brandenburg2013-02-12
| | | | | That is, using periods instead of response-time bounds, as is the case in the published DPCP analysis.
* Make C++ and Python LP-based blocking bounds available in bounds.pyBjoern Brandenburg2013-02-12
| | | | | Use the faster C++ version if available, unless the caller specifically requested the Python implementation.
* Add Python implementation of DPCP/DFLP constraint generationBjoern Brandenburg2013-02-12
| | | | | | This patch adds the main LP generation for the construction of LPs that yield safe upper bounds of maximum s-aware pi-blocking when the objective function is maximized.
* Add Python linear programming supportBjoern Brandenburg2013-02-12
| | | | | | | This patch adds the utility class LinearProgram, which implements a simple representation of linear programs. Solving with CPLEX is available as well, subject to the availability of the CPLEX Python API.
* Add convenience iterators to TaskSystemBjoern Brandenburg2013-02-12
| | | | | | | - .without() skips certain tasks during iteration (useful for T_i != T_j constraints). - .with_higher_priority_than() skips all tasks with a larger ID. - .with_lower_priority_than() skips all tasks with a smaller ID.
* Do not overwrite Task.jitter in FP overhead accountingBjoern Brandenburg2013-02-12
| | | | | If the parameter already exists, then it should be inflated, not overwritten.
* Fix typo in schedcat/sched/__init__.py:get_native_taskset()Bjoern Brandenburg2013-02-12
| | | | | If there is no priority point set for a Task, the GEL work triggered an AttributeError due to a typo.
* Improvements to the GEL Piecewise Linear module: support for arbitrary GEL ↵Jeremy Erickson2013-02-04
| | | | schedulers in native code and easy max lateness computation.
* Use utilization cap instead of number of CPUs where applicableJeremy Erickson2012-12-27
|
* GFRL supportJeremy Erickson2012-12-27
| | | | (Bjoern: removed trailing whitespace and commented out code)
* Improve integration of Emberson et al. generatorBjoern Brandenburg2012-11-28
| | | | | | | | | | - allow arbitrary period ranges - don't generate periods of length 0 in case of period_min=1 and logunif periods - allow scaling of generated parameters - avoid rounding; instead optionally use parameter quantisation - optionally decouple period granularity from period_min (The patch also normalises non-standard whitespace usage.)
* avoid division by zero if period/deadline is shrunk to zeroBjoern Brandenburg2012-11-28
| | | | | With very short periods, the floor operation might result in a period of 0. This could crash quantize_params().
* Fix JLFP preemption-centric interrupt accountingBjoern Brandenburg2012-11-27
| | | | | | | | | | This patch fixes two bugs in the implementation of preemption-centric interrupt accounting. 1) When using dedicated interrupt-accounting, it there is a charged of oheads.release(n) required to model the delay due to the execution of the job's own release ISR. This bug was reported by Jeremy Erickson. 2) The definition of C_pre includes a divisor of 1.0 - utick - urel, which was missing. As a result, the impact of IRQ-related delays was somewhat underestimated.
* Add QPA EDF uniprocessor testBjoern Brandenburg2012-11-27
| | | | Based on Zhang and Burns (2009), "Schedulability Analysis for Real-Time Systems with EDF Scheduling", IEEE Transactions on Computers, Vol 58, No 9.
* TaskSystem.copy() should make deep copiesBjoern Brandenburg2012-11-24
| | | | | | Otherwise, the resource model will not be copied correctly, which can lead to wrong results if parameters are inflated to account for overheads.
* Add Emberson et al. (WATERS 2010) task set generatorAlexander Wieder2012-11-24
| | | | | Integrate task set generator by Paul Emberson, Roger Stafford, Robert Davis, presented at WATERS 2010 workshop.
* Added arbitrary-precision arithmetic to native moduleJeremy Erickson2012-10-29
|
* Initial GEL Piecewise Linear implementationJeremy Erickson2012-09-25
|
* Add missing import to edf/rta.pyBryan Ward2012-04-16
|
* Add OMLP k-exclusion blocking boundsBjoern Brandenburg2012-02-20
|
* Add convenience wrapper to find_connected_components()Bjoern Brandenburg2012-02-20
|
* Add function to partition task set into connected componentsBjoern Brandenburg2012-02-20
|
* Add any_fit and almost_worst_fit binpacking heuristics.Bjoern Brandenburg2012-02-13
| | | | | almost_worst_fit: like worst_fit, but uses second-to-worst bin. any_fit: try each of the implemented heuristics and see if one works.
* Import refactored schedcat codebaseBjoern Brandenburg2012-02-02
Based on the code available at http://www.cs.unc.edu/~bbb/diss, this is a cleaned-up version of schedcat intended to serve as the basis for all further development. Notable improvements: more unit tests and a cleaner module structure.