摘要:
The present invention provides predictable scheduling of programs using a repeating precomputed schedule. In a preferred embodiment, a scheduler accesses an activity scheduling graph. The activity scheduling graph is comprised of nodes each representing a recurring execution interval, and has one root, one or more leaves, and at least one path from the root to each leaf. Each node is on at least one path from the root to a leaf, and the number of times the execution interval represented by each node occurs during the traversal of the graph is equal to the number of paths from the root to a leaf that the node is on. Each node has associated with it an execution interval length, and is adapted to being dedicated to executing the threads of a single activity. The scheduler first selects a current node within the accessed scheduling graph. When the processor becomes available to execute threads, the scheduler advances from the current node to a new current node in accordance with a root-to-leaf traversal of the scheduling graph. After advancing to the new current node, the scheduler executes one or more threads of the activity to which the new current node is dedicated for the execution interval length associated with the new current node. In a further preferred embodiment, the scheduler allocates specific iterations through specific nodes to satisfy the constraints submitted by threads.
摘要:
The present invention provides predictable scheduling of programs using a repeating precomputed schedule. In a preferred embodiment, a scheduler accesses an activity scheduling graph. The activity scheduling graph is comprised of nodes each representing a recurring execution interval, and has one root, one or more leaves, and at least one path from the root to each leaf. Each node is on at least one path from the root to a leaf, and the number of times the execution interval represented by each node occurs during the traversal of the graph is equal to the number of paths from the root to a leaf that the node is on. Each node has associated with it an execution interval length, and is adapted to being dedicated to executing the threads of a single activity. The scheduler first selects a current node within the accessed scheduling graph. When the processor becomes available to execute threads, the scheduler advances from the current node to a new current node in accordance with a root-to-leaf traversal of the scheduling graph. After advancing to the new current node, the scheduler executes one or more threads of the activity to which the new current node is dedicated for the execution interval length associated with the new current node. In a further preferred embodiment, the scheduler allocates specific iterations through specific nodes to satisfy the constraints submitted by threads.
摘要:
The present invention provides predictable scheduling of programs using a repeating precomputed schedule. In a preferred embodiment, a scheduler accesses an activity scheduling graph. The activity scheduling graph is comprised of nodes each representing a recurring execution interval, and has one root, one or more leaves, and at least one path from the root to each leaf. Each node is on at least one path from the root to a leaf, and the number of times the execution interval represented by each node occurs during the traversal of the graph is equal to the number of paths from the root to a leaf that the node is on. Each node has associated with it an execution interval length, and is adapted to being dedicated to executing the threads of a single activity. The scheduler first selects a current node within the accessed scheduling graph. When the processor becomes available to execute threads, the scheduler advances from the current node to a new current node in accordance with a root-to-leaf traversal of the scheduling graph. After advancing to the new current node, the scheduler executes one or more threads of the activity to which the new current node is dedicated for the execution interval length associated with the new current node. In a further preferred embodiment, the scheduler allocates specific iterations through specific nodes to satisfy the constraints submitted by threads.
摘要:
The present invention provides predictable scheduling of programs using a repeating precomputed schedule. In a preferred embodiment, a scheduler accesses an activity scheduling graph. The activity scheduling graph is comprised of nodes each representing a recurring execution interval, and has one root, one or more leaves, and at least one path from the root to each leaf. Each node is on at least one path from the root to a leaf, and the number of times the execution interval represented by each node occurs during the traversal of the graph is equal to the number of paths from the root to a leaf that the node is on. Each node has associated with it an execution interval length, and is adapted to being dedicated to executing the threads of a single activity. The scheduler first selects a current node within the accessed scheduling graph. When the processor becomes available to execute threads, the scheduler advances from the current node to a new current node in accordance with a root-to-leaf traversal of the scheduling graph. After advancing to the new current node, the scheduler executes one or more threads of the activity to which the new current node is dedicated for the execution interval length associated with the new current node. In a further preferred embodiment, the scheduler allocates specific iterations through specific nodes to satisfy the constraints submitted by threads.
摘要:
A technique for tracking a state of one or more input/output (I/O) channels associated with an application, by the application itself, comprises the steps of: (i) storing, by an operating system kernel, one or more selected elements of the state of at least a portion of the one or more I/O channels associated with the application in a memory which is shared by the application and the operating system kernel, when the one or more elements are available to the operating system kernel; (ii) acquiring, by the application, at least a portion of the stored elements through one or more memory read operations of the shared memory; and (iii) assessing, by the application, one or more of the acquired elements to determine the state of the one or more I/O channels corresponding thereto. In this manner, a need for context switching to track the state of the one or more I/O channels is thereby eliminated.
摘要:
A method and system for managing electric power consumption by elements of a distributed computing system comprises: determining one or more system metrics that relate to electric power usage as consumed by elements of a configured distributed environment; determining a system value in response to the one or more system metrics, the value determined according to one or more value criteria; and, while in-progress applications are being run in the computing environment, evaluating one or more potential changes in the distributed computing environment and determining an alternate system value based on the changes; and, re-configuring elements of the distributed computing environment dynamically while the computing environment is operating, in accordance with a determined alternate system value. The re-configuring elements step is in accordance with a potential change operative to alter electric power consumption.
摘要:
A computer program product includes instructions for causing a processor to: alert a client of the configuration of said computer program product; use a memory space for buffering the network application data destined for the client; release the network application data to the client, based on at least one occurrence of a specified condition that promotes energy savings; and purposely delay at least some of said data with an amount of time greater than zero to promote energy savings.
摘要:
In a network including a proxy server located between a wireless access point and an origin server; and a client module detecting the availability of the proxy server; a method for conserving power in the client module includes: configuring a wireless interface to promote energy savings when using a proxy server; buffering data destined for the wireless client unit at the proxy server; and releasing the data to the client module responsive to the occurrence of at least one specified condition that promotes energy savings.
摘要:
An information processing system comprises first and second levels of a storage hierarchy, wherein accessing information in the first level consumes more energy than accessing information in the second level; and a processor for writing information to the second level of storage based on energy-conserving criteria. The energy-conserving criteria comprise a set of heuristics, including system state information and user preferences.
摘要:
A method (and system) for managing a distributed-memory parallel application running on multiple servers, includes dynamically moving a plurality of executable program components, where each of the plurality of executable program components are running on one of a plurality of virtual machines, using migration of the virtual machines between physical servers. The load balancing is operated based on a workload of each of the virtual machines and servers, where a virtual machine, or a plurality of virtual machines, are transferred to balance the workload between each of the servers.