In the Komodo project a real-time Java system based on a multithreaded Java microcontroller has been developed. A main scheduling policy realized by hardware in the microcontroller core is a new scheme called guaranteed percentage (GP) scheduling. This scheme assigns each thread a guaranteed percentage of the processor power thus providing a strict isolation of the threads on the processor. To prevent processor overload in the dynamic Java environment, fast online feasibility tests are necessary before a new thread is allowed to enter the microcontroller. Starting with the well known processor demand analysis, a new test based on the periodic transformation of the processor workload is developed. This is a sufficient (but not necessary) scalable test, where the number of feasible thread sets found can be controlled by the costs. Furthermore, this test can be stopped if a given cost or time limit is reached. We additionally propose a modified version of this test, which further reduces the costs and allows an online hardware feasibility test with a polynomial complexity of O(n(n+1)/2). An evaluation shows that the tests proposed here are able to find more than 90% of the feasible thread sets and all nonfeasible thread sets with costs suitable for online testing.
Published in:
Object-Oriented Real-Time Dependable Systems, 2003. WORDS 2003 Fall. Proceedings. Ninth IEEE International Workshop on
Date of Conference: 1-3 Oct. 2003