aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAge
...
* Improvements to the GEL Piecewise Linear module: support for arbitrary GEL ↵Jeremy Erickson2013-02-04
| | | | schedulers in native code and easy max lateness computation.
* Inform about Python version during build processBjoern Brandenburg2013-01-15
|
* 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)
* Minor bug fixes in the QPA implementationBjoern Brandenburg2012-11-28
| | | | | | | 1) On Linux hosts, limits.h must be included explicitly. 2) Don't try to compute the busy interval if the task system is over-utilized.
* 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.
* Add bound_demand() to TaskSetBjoern Brandenburg2012-11-27
| | | | This corresponds to h(t) in Zhang and Burns (2009)'s QPA paper.
* 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.
* Don't limit parallelism during compilationBjoern Brandenburg2012-11-24
| | | | This is considerably faster on my machine.
* Do not disable assertions in non-debug buildsBjoern Brandenburg2012-11-24
| | | | It's better to crash with an assertation than to produce wrong results...
* Cleanup native/ MakefileBjoern Brandenburg2012-11-24
| | | | | | - Normalize line endings. - Introduce DEFS variable to allow user to specify definitions in .config. - Add -Werror to avoid accumulating warnings.
* Add support for clock_gettimeBjoern Brandenburg2012-11-24
| | | | | | Use the more accurate clock under Linux when available. getrusage() unfortunately only has a resolution of 1/HZ (i.e., one jiffie), which is too coarse-grained in many cases.
* Avoid compiler warnings about unused variablesBjoern Brandenburg2012-11-24
|
* Fix wrong #endif to silence compiler warningsBjoern Brandenburg2012-11-24
| | | | There should be no symbol after #endif.
* 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
|
* C++: move spinlock bounds to corresponding implementationsBjoern Brandenburg2012-05-17
| | | | Part of refactoring sharedres.cpp.
* C++: Properly consider priority ceilings in DPCP boundBjoern Brandenburg2012-05-17
| | | | The bound should not reflect requests executed by agents that can be preempted.
* C++: move shared RW locking defs into own fileBjoern Brandenburg2012-05-17
| | | | Part of refactoring sharedres.cpp.
* C++: Break out the task-fair RW locks codeBjoern Brandenburg2012-05-16
| | | | Part of refactoring sharedres.cpp.
* C++: Break out the phase-fair RW locks codeBjoern Brandenburg2012-05-16
| | | | Part of refactoring sharedres.cpp.
* C++: Break out the C-OMLP-KX codeBjoern Brandenburg2012-05-16
| | | | Part of refactoring sharedres.cpp.
* C++: Break out the C-OMLP code into own fileBjoern Brandenburg2012-05-16
| | | | Part of refactoring sharedres.cpp.
* C++: Break out the P-OMLP code into own fileBjoern Brandenburg2012-05-16
| | | | Part of refactoring sharedres.cpp.
* C++: Break out the G-OMLP and G-FMLP code into own fileBjoern Brandenburg2012-05-16
| | | | Part of refactoring sharedres.cpp.
* C++: Break out the FMLP+ code into own fileBjoern Brandenburg2012-05-16
| | | | Part of refactoring sharedres.cpp.
* Move MPPC++: Break out the MPCP code into own fileBjoern Brandenburg2012-05-16
| | | | Part of refactoring sharedres.cpp.
* C++: Break out the DPCP code into own fileBjoern Brandenburg2012-05-16
| | | | Part of refactoring sharedres.cpp.
* Update README to describe how to use blocking termsBjoern Brandenburg2012-04-16
| | | | Based on a patch by Bryan Ward (thanks!).
* Add missing import to edf/rta.pyBryan Ward2012-04-16
|
* Fix compilation with g++ 4.6.1Bryan Ward2012-04-16
| | | | | | The C++ code didn't build on my system (ubuntu 11.10, gcc 4.6.1) out of the box. Switching the order of some arguments to g++ solved the problem.
* Update documentationBjoern Brandenburg2012-04-12
| | | | | | | - Mention dependency on Swig. - Expand the discussion of how to compile the library under Mac OS X. - Give example .config file. - Explain how to add the library to the Python module search path.
* Add a short READMEv0Bjoern Brandenburg2012-04-11
|
* Rename time types used in C++ schedulablity analysisBjoern Brandenburg2012-04-11
| | | | | | integral_t == integral time units fractional_t == fractions of integral time units This is hopefully less of an eyesore than mpq_class and mpz_class.
* Suppress superfluous warningsBjoern Brandenburg2012-04-11
| | | | | | | | | | | | - There are many unused parameters. This is ok, so tell gcc to ignore them. - The code still uses the (well-working) class ext::hash_map<>, which will trigger deprecation warnings. Ignore this for now; the alternatives are only available in recent C++ standard libraries. - Disable warnings alltogether for Swig-generated code. Swig sometimes generates meaningless self-assignments and triggers strict aliasing and a bunch of other warnings. Let's just trust Swig that it knows what it is doing.
* Ignore subscript operator [] in Swig wrappersBjoern Brandenburg2012-04-11
| | | | | | The Python code does not require access, so just ignore these operators. This fixes a couple of Swig warnings.
* Provide virtual dummy destructor for classes with virtual methodsBjoern Brandenburg2012-04-11
| | | | | Not strictly needed in this case, but it's better to follow established safe-programming conventions. This fixes some warnings.
* Remove unneeded const constraintsBjoern Brandenburg2012-04-11
| | | | | There's no point in declaring pass-by-value return types to be constant. This fixes a warning under gcc 4.2.1.
* Switch from SConstruct to regular makefileBjoern Brandenburg2012-04-11
| | | | | | | Using SConstruct hasn't panned out. SConstruct introduces too much of its own boilerplate code and regular makefiles are understood by more people. Also, SConstruct needs to be installed separately, whereas GNU Make is available virtually anywhere.
* Bugfix: handle the case of zero slack in BaruahGedfBjoern Brandenburg2012-04-11
| | | | This could create a floating point exception (division by zero) in edge cases.
* Implement timeout in BaruahGEDFBjoern Brandenburg2012-04-11
| | | | | Give up after running for 5 seconds. This is almost never triggered, but once in a while this should help to catch a pseudo-polynomial excursion.
* 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.