摘要:
The present invention provides a method, system, and computer program product for improving scheduling of tasks in systems that accumulate execution time. An upper bound is computed on the amount of additional time each schedulable task in the system may continue to execute after exceeding its predetermined cost, without adversely affecting overall operation of the system (that is, ensuring that the continued execution will not cause invocations of subsequent tasks to fail to meet their execution deadlines). By allowing tasks to run longer, the potential that the task will successfully end is increased, thereby yielding a more efficient overall system. In the preferred embodiment, the extensions are iteratively computed as a fixed percentage of the cost of each task until reaching an amount of time where the system is no longer feasible. The extension values resulting from the iteration before the cost-extended system becomes infeasible are then used at run-time when a particular task encounters an overrun condition. This technique is advantageous in systems where execution of non-schedulable entities (such as occurrence of hardware interrupts) occurs during execution of one or more of the scheduled tasks.
摘要:
The present invention provides a method, system, and computer program product for encoding (and subsequently decoding) a sequence of periodic byte values that have a vertical correlation (e.g. so that they can be more efficiently stored and/or electronically transmitted for use in a real-time system or resource-constrained system). Redundant values are omitted through use of marker bytes and bits masks which indicate when a set of values is unchanged and which of the set have changed, respectively. In this manner, the resources required for transmitting, processing, and/or storing the values is reduced. In some systems, the reduction may enable shortening the periodic interval length, such that values of a finer granularity can be processed. An example scenario in which the present invention may be used advantageously is for transmitting periodic input data to a robot controller, in order to control movement of the robot.
摘要:
Memory pool management may be provided by allocating storage blocks and handles in different parts of a larger memory pool. Two variable size sub-pools may be provided within the memory pool: a storage block sub-pool and a handle sub-pool. Each sub-pool has a variable size and may be allowed to grow until their combined size reaches the size of the memory pool. Both sub-pools may be allowed to grow into the same unused memory space. When a memory request is received from a program, the storage block sub-pool and handle sub-pool may be enlarged to accommodate the request. A storage block and a handle may be allocated to the program from the storage block and handle sub-pools, respectively.
摘要:
A method, system, and computer program product for sharing memory resources between several JVM processes. According to the present invention, Java software applications are loaded into a JVM in a manner suited for real-time server applications. When a JVM process is run, memory areas are created. For the initial JVM process, a heap memory area is assigned, and two separate class memory areas are created. One class memory area is reserved for the application class information, while a separate class memory area is created to hold the system class designations. The system class memory area can be shared by any subsequent JVM processes.