Patent application number | Description | Published |
20080307187 | ARRANGEMENTS FOR MEMORY ALLOCATION - In one embodiment a method is disclosed for allocating memory for a processor unit in a group of processing units. The method can include receiving a memory allocation request where the request can indicate a number of binary segments to be stored. The method can determine if the number indicates a nonstandard allocation, and locate an unallocated memory address based on a multiple of the number if the number indicates a nonstandard allocation. The method can also include locating an unallocated memory address from a pool of memory addresses, where the pool of addresses includes the integer multiples of the binary segments and excludes addresses that are two times the number of binary segments such that the address can be utilized to determine the allocation. | 12-11-2008 |
20080320487 | SCHEDULING TASKS ACROSS MULTIPLE PROCESSOR UNITS OF DIFFERING CAPACITY - A mechanism is provided for scheduling tasks across multiple processor units of differing capacity. In a multiple processor unit system with processor units of disparate speeds, it is advantageous to have the most processing-intensive tasks run on the processor units with the highest capacity. All tasks are initially scheduled on the lowest capacity processor units. Because processor units with higher capacity are more likely to have idle time, these higher capacity processor units may pull one or more tasks onto themselves from the same or lower capacity processor units. A processor unit will attempt to pull tasks that utilize a larger percentage of the timeslice. When a higher capacity processor unit is overloaded or near capacity, the higher capacity processor unit may push tasks to processor units with the same or lower capacity. A processor unit will attempt to push tasks that utilize a smaller percentage of the timeslice. | 12-25-2008 |
20090037911 | ASSIGNING TASKS TO PROCESSORS IN HETEROGENEOUS MULTIPROCESSORS - Methods and arrangements of assigning tasks to processors are discussed. Embodiments include transformations, code, state machines or other logic to detect an attempt to execute an instruction of a task on a processor not supporting the instruction (non-supporting processor). The method may involve selecting a processor supporting the instruction (supporting physical processor). In many embodiments, the method may include storing data about the attempt to execute the instruction and, based upon the data, making another assignment of the task to a physical processor supporting the instruction. In some embodiments, the method may include representing the instruction set of a virtual processor as the union of the instruction sets of the physical processors comprising the virtual processor and assigning a task to the virtual processor based upon the representing. | 02-05-2009 |
20090164765 | Determining Thermal Characteristics Of Instruction Sets - Methods, apparatus, and products for determining thermal characteristics of instruction sets comprising one or more computer program instructions executed by a computer processor are disclosed that include tracking, in a performance counter, a number of classes of instructions run during execution of a plurality of instruction sets; identifying, for each instruction set, from the performance counter, a number of each class of instructions run during execution of the instruction set; and ranking the instruction sets in dependence upon the number of each class of instructions run during execution of each instruction set and a profile of thermal characteristics of classes of instructions. | 06-25-2009 |
20090254893 | COMPILER OPTIMIZED FUNCTION VARIANTS FOR USE WHEN RETURN CODES ARE IGNORED - A mechanism and functionality are provided for generating and using compiler optimized function variants. These variants may be used, for example, in situations where return values of functions called by code are not thereafter used by the code calling the functions. In particular, for a function called by computer code, at least two variants for the function may be generated. A function call, for calling the function, within original computer code may be analyzed to determine which variant of the at least two variants to use for the function call. The function call may be modified in the original computer code, to generate modified computer code, based on results of the analysis identifying which variant of the at least two variants to use for the function call. | 10-08-2009 |
20090313390 | RESOURCE SHARING EXPANSION CARD - An expansion card is provided that allows resources allocated to the expansion card to be shared with a different card. The expansion card comprises a coupling device that couples the expansion card to a data processing system. The expansion card also includes an identifier data structure that when queried by the data processing system, identifies the expansion card as a resource sharing expansion card. The data processing system reallocates one or more resources allocated to the expansion card to a different card coupled to the data processing system. | 12-17-2009 |
20100011360 | Lock Windows for Reducing Contention - Methods and arrangements to assign locks to threads are discussed. Embodiments include transformations, code, state machines or other logic to assign locks to threads. Embodiments may include setting a window of time at the end of a time slice of a thread. The embodiment may also involve prohibiting the thread from acquiring a lock during the window of time, based upon determining that the thread is within the window of time and determining that the thread does not hold any locks. Other embodiments include an apparatus to assign locks to threads and a computer program product to assign locks to threads. | 01-14-2010 |
20100043005 | SYSTEM RESOURCE MANAGEMENT MODERATOR PROTOCOL - A method, system, and computer program product for managing system resources within a data processing system. A resource management moderator (RMM) utility assigns a priority to each application within a group of management applications, facilitated by a RMM protocol. When a request for control of a particular resource is received, the RMM utility compares the priority of the requesting application with the priority of the controlling application. Control of the resource is ultimately given to the management application with the greater priority. If the resource is not under control of an application, control of the resource may be automatically granted to the requester. Additionally, the RMM utility provides support for legacy applications via a “manager of managers” application. The RMM utility registers the “manager of managers” application with the protocol and enables interactions (to reconfigure and enable legacy applications) between the “manager of managers” application and legacy applications. | 02-18-2010 |
20100217949 | Dynamic Logical Partition Management For NUMA Machines And Clusters - A partitioned NUMA machine is managed to dynamically transform its partition layout state based on NUMA considerations. The NUMA machine includes two or more NUMA nodes that are operatively interconnected by one or more internodal communication links. Each node includes one or more CPUs and associated memory circuitry. Two or more logical partitions each comprise at a CPU and memory circuit allocation on at least one NUMA node. Each partition respectively runs at least one associated data processing application. The partitions are dynamically managed at runtime to transform the distributed data processing machine from a first partition layout state to a second partition layout state that is optimized for the data processing applications according to whether a given partition will most efficiently execute within a single NUMA node or by spanning across a node boundary. The optimization is based on access latency and bandwidth in the NUMA machine. | 08-26-2010 |
20110276954 | SIMULTANEOUS COMPILER BINARY OPTIMIZATIONS - The present invention provides a method to optimize object code files produced by a compiler for several different types of target processors. The compiler divides the source code to be compiled into several functional modules. Given a specified set of target processors, each functional module is compiled resulting in a target object version for each target processor. Then, for each functional module, a merging process is performed wherein identical target object versions or target object versions with similar contents are merged by deleting the identical or similar versions. After this merging process, a composite object code file is formed containing all of the non-deleted target object versions of the function modules. | 11-10-2011 |
20110302372 | SMT/ECO MODE BASED ON CACHE MISS RATE - A computer implemented method for managing an execution mode for a parallel processor is provided. A monitor identifies a first efficiency rate for a first contested resource of the parallel processor operating in a first operating mode. Responsive to identifying the first efficiency rate for the first contested resource, the monitor identifies whether the first efficiency rate for the contested resource of the parallel processor operating in the first operating mode exceeds a threshold. Responsive to identifying that the efficiency rate for the contested resource exceeds the threshold, an operation of the parallel processor is changed to a second operating mode. | 12-08-2011 |
20120137062 | LEVERAGING COALESCED MEMORY - Embodiments of the invention relate to efficiently processing read transactions in a shared file system having multiple virtual machines. Each virtual machine in the file system has access to disk storage and local disk cache. At the same time, each virtual machine in the file system has access to remote disk cache of a remote virtual machine. For each read transaction, the local and/or remote disk cache employed for data blocks to support the transaction. Disk storage is employed to support the transaction in the event that the data blocks are not available in the local and/or remote disk cache. | 05-31-2012 |
20120216030 | SMT/ECO MODE BASED ON CACHE MISS RATE - A computer implemented method for managing an execution mode for a parallel processor is provided. A monitor identifies a first efficiency rate for a first contested resource of the parallel processor operating in a first operating mode. Responsive to identifying the first efficiency rate for the first contested resource, the monitor identifies whether the first efficiency rate for the contested resource of the parallel processor operating in the first operating mode exceeds a threshold. Responsive to identifying that the efficiency rate for the contested resource exceeds the threshold, an operation of the parallel processor is changed to a second operating mode. | 08-23-2012 |
20120271978 | Resource Sharing Expansion Card - An expansion card is provided that allows resources allocated to the expansion card to be shared with a different card. The expansion card comprises a coupling device that couples the expansion card to a data processing system. The expansion card also includes an identifier data structure that when queried by the data processing system, identifies the expansion card as a resource sharing expansion card. The data processing system reallocates one or more resources allocated to the expansion card to a different card coupled to the data processing system. | 10-25-2012 |
20130007322 | Hardware Enabled Lock Mediation - A tangible storage medium and data processing system build a runtime environment of a system. A profile manager receives a service request containing a profile identifier. The profile identifier specifies a required version of at least one software component. The profile manager identifies a complete installation of the software component, and at least one delta file. The profile manager dynamically constructs a classpath for the required version by preferentially utilizing files from the at least one delta file followed by files from the complete installation. The runtime environment is then built utilizing the classpath. | 01-03-2013 |
20130007323 | Hardware Enabled Lock Mediation - A computer implemented method for control access to a contested resource. When a lock acquisition request is received from a virtual machine, the partition management firmware determines whether the lock acquisition request is received within a preemption period of a time slice allocated to the virtual machine. If the lock acquisition request is received within the preemption period, the partition management firmware ends the time slice early, and performs a context switch. | 01-03-2013 |
20130097354 | PROTECTING MEMORY OF A VIRTUAL GUEST - The method for protecting memory of a virtual guest includes initializing a virtual guest on a host computing system. The host computing system includes a virtual machine manager that manages operation of the virtual guest. The virtual guest includes a distinct operating environment executing in a virtual operation platform provided by the virtual machine manager. The method includes receiving an allocation of run-time memory for the virtual guest, the allocation of run-time memory comprising a portion of run-time memory of the host computing system. The method includes setting, by the virtual guest, at least a portion of the allocation of run-time memory to be inaccessible by the virtual machine manager. | 04-18-2013 |
20130097392 | PROTECTING MEMORY OF A VIRTUAL GUEST - An apparatus and system for protecting memory of a virtual guest includes initializing a virtual guest on a host computing system. The host computing system includes a virtual machine manager that manages operation of the virtual guest. The virtual guest includes a distinct operating environment executing in a virtual operation platform provided by the virtual machine manager. The method includes receiving an allocation of run-time memory for the virtual guest, the allocation of run-time memory comprising a portion of run-time memory of the host computing system. The method includes setting, by the virtual guest, at least a portion of the allocation of run-time memory to be inaccessible by the virtual machine manager. | 04-18-2013 |
20140006745 | COMPRESSED MEMORY PAGE SELECTION | 01-02-2014 |
20140007091 | Maintaining hardware resource bandwidth quality-of-service via hardware counter | 01-02-2014 |
20140007096 | Maintaining hardware resource bandwidth quality-of-service via hardware counter | 01-02-2014 |
20140244603 | Multi-Level Memory Compression - According to one embodiment of the present disclosure, an approach is provided in which a processor selects a page of data that is compressed by a first compression algorithm and stored in a memory block. The processor identifies a utilization amount of the compressed page of data and determines whether the utilization amount meets a utilization threshold. When the utilization amount fails to meet the utilization threshold, the processor uses a second compression algorithm to recompresses the page of data. | 08-28-2014 |
20140244962 | Multi-Level Memory Compression - According to one embodiment of the present disclosure, an approach is provided in which a processor selects a page of data that is compressed by a first compression algorithm and stored in a memory block. The processor identifies a utilization amount of the compressed page of data and determines whether the utilization amount meets a utilization threshold. When the utilization amount fails to meet the utilization threshold, the processor uses a second compression algorithm to recompresses the page of data. | 08-28-2014 |
20140279985 | Extending Platform Trust During Program Updates - An approach is provided in which a computer system generates a current hash value of a computer program in response to receiving a request to execute the computer program. Next, the computer system determines that the current hash value fails to match a reference hash value that was previously generated subsequent to installing the computer program on the computer system. Since the two hash values do not match each other, the computer system matches the current hash value to an updated hash value that was previously generated in response to modifying the computer program on the computer system. In turn, the computer system executes the computer program when the current hash value matches the updated hash value. | 09-18-2014 |
20140282946 | Controlled Password Modification Method - A method which controls modification of passwords. An end user designates, in advance, a universe of social media contacts such as friends on social media web sites such as Facebook and LinkedIn. Contacts so identified are used as a set of potential identity verifiers. In order to enable a reset or modification of an account password, a subset of the universe is required to assert that they have verified the identity of the user requesting to reset a password. Such verification can be accomplished by varying means by those to whom an inquiry has been directed. | 09-18-2014 |
20140282955 | Controlled Password Modification Method and Apparatus - Apparatus which control modification of passwords by implementing a procedure by which end user designates, in advance, a universe of social media contacts such as friends on social media web sites such as Facebook and LinkedIn. Contacts so identified are used as a set of potential identity verifiers. In order to enable a reset or modification of an account password, a subset of the universe is required to assert that they have verified the identity of the user requesting to reset a password. Such verification can be accomplished by varying means by those to whom an inquiry has been directed. The apparatus may be in the form of a computer system or a computer readable storage medium. | 09-18-2014 |