Abstract: A method comprises determining an aggregate usage of CPU attributable to a given virtual machine (VM), wherein the aggregate usage of CPU attributable to the given VM includes a determined amount of CPU usage by a driver domain, such as by a network driver domain, that is attributable to the given VM. The method further comprises scheduling, by an aggregate proportional-share scheduler, CPU access to the given VM based at least in part on the determined aggregate usage of CPU attributable to the given VM.
Type:
Grant
Filed:
July 26, 2006
Date of Patent:
October 4, 2011
Assignee:
Hewlett-Packard Development Company, L.P.
Inventors:
Diwaker Gupta, Ludmila Cherkasova, Robert D. Gardner
Abstract: A computer readable medium storing executable instructions includes executable instructions to: receive a continuous stream of database transactions; form batches of database transactions from the continuous stream of database transactions; combine batches of database transactions with similar operations to form submission groups; identify dependencies between submission groups to designate priority submission groups; and apply priority submission groups to a database target substantially synchronously with the receipt of the continuous stream of database transactions.
Abstract: When requested by an application, a library unit provides a resource to the application, acquires an ID for identifying the application which has requested the resource, and stores a combination of a resource name of the provided resource and the application ID in a table. When an application is completed, the library unit receives an application ID of the completed application, detects a resource name corresponding to the received application ID in the table, and collects a resource specified by the resource name.
Abstract: A method for job selection and resource allocation of massively parallel processors, the method includes: providing to a constraint satisfaction problem solver multiple domains, variables, and constraints representative of a massively parallel processor, of queued job requests and of jobs being processed by the massively parallel processor, and generating, by the constraint satisfaction problem solver a result representative of multiple jobs to be executed, at least partially in parallel, by multiple resources of the massively parallel processor.
Type:
Grant
Filed:
January 22, 2007
Date of Patent:
September 27, 2011
Assignee:
International Business Machines Corporation
Abstract: An administrative authority for virtual machines can send one or more delegated policy settings to a virtual machine manager. The virtual machine manager can in turn send management instructions that include the one or more policy settings to one or more virtual machine hosts. As such, a user's request for a virtual machine at a virtual machine host can be granted or denied based on the delegated policy settings. The policy settings can be updated periodically, and can include additional information about starting, stopping, expiring, saving, or even deleting virtual machines by particular users, as well as users accessing from particular locations. In addition, an agent operating at the virtual machine host can monitor and report virtual machine activity, to ensure unauthorized virtual machines are quickly stopped and reviewed until authorized.
Type:
Grant
Filed:
April 14, 2006
Date of Patent:
September 6, 2011
Assignee:
Microsoft Corporation
Inventors:
Nelson Sampaio Araujo, Jr., Abhishek Dhasmana, Lloyd Gene Giberson, Angel Monterrubio, John Chad Parry, Eugene Polonsky, Kendra Yourtee, Brian Wahlert
Abstract: A system, apparatus and method to receive, schedule, and perform a task automatically on a multi-processor device are described herein. In various embodiments, the multi-processor device is a member of a home network environment.
Abstract: A containment mechanism provides for the grouping and isolation of multiple processes running on a single computer using a single instance of the operating system. A system is divided into one or more side-by-side and/or nested spaces enabling the partitioning and controlled sharing of resources by creating different views of hierarchical name spaces by creating a new branch of an existing global system name space or by linking the sub-root level nodes of a new hierarchy to a subset of nodes in an existing global system name space.
Type:
Grant
Filed:
December 12, 2005
Date of Patent:
August 9, 2011
Assignee:
Microsoft Corporation
Inventors:
Frederick J. Smith, Jeff L. Havens, Madhusudhan Talluri, Yousef A. Khalidi
Abstract: A computer implemented method, a data processing system, and computer usable program code for improving thread posting efficiency in a multiprocessor data processing system are provided. Aspects of the present invention first receive a set of threads from an application. The aspects of the present invention then group the set of threads with a plurality of processors based on a last execution of the set of threads on the plurality of processors to form a plurality of groups. The threads in each group in the plurality of groups are all last executed on a same processor. The aspects of the present invention then wake up the threads in the plurality of groups in any order.
Type:
Grant
Filed:
May 29, 2008
Date of Patent:
August 2, 2011
Assignee:
International Business Machines Corporation
Abstract: In regard to a scheduling method in a multithreading processor, a thread to be executed is dynamically selected from the threads allotted to the context units according to an operation state of the multithreading processor, and the number of threads to be executed simultaneously or the combination thereof is changed. Also, at the time of context switching, threads to be allotted to the context units are dynamically selected according to an operation state of the multithreading processor. As an example of a method for deciding the operation state, the decision is made by whether a set reference value is exceeded by the number of fetch stall times in a predetermined period on a thread-by-thread basis, number of missing cache times, memory access latency, IPC counter, or the like.
Abstract: A job scheduling technique that allows jobs to be launched as a result of messages which are not targeted specifically at the job, and for jobs to be interrelated in complex ways.
Type:
Grant
Filed:
October 10, 2005
Date of Patent:
May 24, 2011
Assignee:
Oracle International Corporation
Inventors:
Raghu Mani, Jacco Draaijer, Eric Voss, Ravi Ramkissoon
Abstract: In general, in one aspect, the invention relates to a method of establishing a queue-based lock including inserting a first qnode into a local queue, where the first qnode is associated with a first thread, splicing the local queue into the global queue, obtaining a lock for the first thread when the first qnode is at the head of the global queue, and executing a critical section of the first thread after obtaining the lock.
Type:
Grant
Filed:
June 2, 2006
Date of Patent:
May 17, 2011
Assignee:
Oracle America, Inc.
Inventors:
Daniel S. Nussbaum, Nir N. Shavit, Victor M. Luchangco
Abstract: A computing device has a virtual machine bus (VM bus) operable in a pipe mode where all incoming data written to the VM bus from a source is passed through to be read from the VM bus by a sink, and a plurality of instantiated virtual machines (VMs). Each VM hosts an instance of an operating system upon an application may be instantiated. Each VM includes a computing object for issuing a call to a component object of another VM, and a VM bus system object for receiving the call and communicating same to a VM bus system object of the another VM by way of the VM bus. The VM bus system object is also for receiving the call from the VM bus system object of the another VM by way of the VM bus and for communicating the received call to the computing object.
Type:
Grant
Filed:
February 23, 2006
Date of Patent:
May 10, 2011
Assignee:
Microsoft Corporation
Inventors:
Benjamin A. Leis, Jacob Oshins, Christopher Eck
Abstract: A method and apparatus for performing fair-share preemption in a distributed computing environment is disclosed. The invention allows the suspension of jobs in a preempt-able set and the transfer of their respective resources, e.g. either hardware or software resources, to jobs in a preempting set. These activities are performed, all while assuring fairness among jobs scheduled to be executed and optimizing the use of available resources. In a preferred embodiment, the preempt-able and the preempting sets may include jobs characterized by, for example, job priorities, job ownership, or combinations thereof.
Abstract: A process control system has a process state detection unit 10 that detects activation of a predetermined process in a computer and determines whether the process is a previously determined one of control-target processes, a comparison unit 30 that, if the process state detection unit 10 determines that the control-target process is activated, acquires the CPU usage rate of the entire system and compares the acquired CPU usage rate with a previously determined target value of the CPU usage rate of the entire system, and a process suspension control unit 40 that controls suspension and resumption of the control-target process based on the result of comparison by the comparison unit 30.
Abstract: A remote machine uses a process control unit to monitor a process for a Web browser program. When the process for the Web browser program starts to operate, an operating time therefor starts to be measured. When the operating time reaches a predetermined time, the process for the Web browser program is forcefully terminated. After that, unless the remote machine 2 is rebooted, that is, unless a RAM is cleared, the process for the Web browser program is forcefully terminated immediately after its start.
Abstract: Barrier synchronization between multiprocessors is performed at high speed while reducing overhead of parallel processing without adding any special hardware mechanism. A parallel computer synchronization method is provided to synchronize threads through barrier synchronization for parallel execution of plural threads on plural processor modules. The parallel computer has plural processor modules (P0 and P1) equipped with plural processor cores (cpu0 to cpu3). The processor cores are each assigned plural threads (Th0 to Th7) to execute multithread processing. The plural threads (Th0 to Th7) are set in hierarchical groups (Gr), and barrier synchronization is performed on each group separately.
Abstract: To assign a plurality of processes to a plurality of processors in a multi-processor computer system, a plurality of processes are attached to a memory segment shared between a plurality of processors. A spin cycle is initiated in the plurality of processes, where initiating the spin cycle causes a processor-intensive operation to be performed by each of the processes, and wherein performing the processor-intensive operation by the processes induces rescheduling to be performed. As part of the rescheduling, one or more of the processes are reassigned among the processors during the spin cycle.
Type:
Grant
Filed:
September 13, 2005
Date of Patent:
February 22, 2011
Assignee:
Hewlett-Packard Development Company, L.P.
Abstract: Disclosed is a computer program product, a method and a device to execute a native code thread in a virtual machine environment. The method includes, prior to executing the native code thread, storing a pointer pointing to a current top of a native stack; initiating generation of an interrupt; beginning execution of the native code thread; upon an occurrence of the interrupt, determining if the native code thread is still executing and, if it is; recording a current status of the native code thread; interrupting execution of the native code thread; and when returning to execute the interrupted native code thread, retrieving the stored state of the native code thread.
Abstract: A mechanism is provided for biasing placement of a software thread on a currently idle and dispatched processor. The operating system starts with the last logical processor on which the software thread ran and determines whether that processor is idle and dispatched and considers each logical processor until a currently dispatched and idle logical processor is found. If a currently dispatched and idle logical processor is not found, then the operating system biases placing the software thread on an idle logical processor.
Type:
Grant
Filed:
May 18, 2006
Date of Patent:
January 11, 2011
Assignee:
International Business Machines Corporation
Inventors:
Vaijayanthimala K. Anand, Dean J. Burdick, Bret R. Olszewski
Abstract: A method, system and program product are provided for facilitating scheduling of computer jobs of a computing environment having a plurality of resources. The method includes decoupling a job scheduling algorithm from responsibility for maintaining data structures for tracking recorded usage of the plurality of resources by computer jobs. The decoupling includes (i) providing resource space data structures separate from the job scheduling algorithm for recording usage of the plurality of resources by computer jobs; and (ii) providing operators for facilitating manipulation of values within the resource space data structures by the job scheduling algorithm and by one or more functions external to and independent of the job scheduling algorithm.
Type:
Grant
Filed:
December 15, 2005
Date of Patent:
January 4, 2011
Assignee:
International Business Machines Corporation