Patent application number | Description | Published |
20080320217 | Executing I/O Requests For A Disk Drive - Executing I/O requests for a disk drive including receiving, by a device driver from a volume manager, a plurality of I/O requests; retrieving, from non-volatile memory by the device driver, information describing access times for storage locations on the disk drive; and executing, by the device driver, the I/O requests in a sequence, including identifying, in dependence upon the information describing access times for storage locations on the disk drive, the sequence for executing the I/O requests. | 12-25-2008 |
20080320266 | Allocating Disk Space On A Disk Drive - Allocating disk space on a disk drive, the disk drive controlled by a device driver and a volume manager, including receiving in the volume manager a request to allocate disk space for semi-sequential data access of structured data; retrieving, from non-volatile memory by the volume manager, information describing access times for storage locations on the disk drive; and allocating, by the volume manager in dependence upon the retrieved information, disk space for the structured data. | 12-25-2008 |
20090193188 | Optimizing Execution Of I/O Requests For A Disk Drive In A Computing System - Methods, apparatus, and products are disclosed for optimizing execution of Input/Output (‘I/O’) requests for a disk drive in a computing system that include: receiving I/O requests specifying disk blocks of the disk drive for access, each disk block specified by a disk drive head, a cylinder, and a sector of the disk drive; determining I/O sub-requests from the I/O requests, each I/O sub-request specifying a set of adjacent disk blocks along the same cylinder; determining execution sequences for performing the I/O sub-requests; calculating, for each execution sequence, a total estimated execution time for performing the I/O sub-requests according to that execution sequence; selecting one of the execution sequences for performing the I/O sub-requests in dependence upon the total estimated execution times for the execution sequences; and instructing a disk drive controller to perform the I/O requests by performing the I/O sub-requests according to the selected execution sequence. | 07-30-2009 |
20100146019 | AUTOMATED FILE RELOCATION - A computer-implemented method, system and computer program product for managing computer file storage is presented. In one embodiment the method includes receiving a file for storage. In response to determining that the file exceeds a pre-determined size, the file is stored in a pre-designated folder that is reserved for oversized files. | 06-10-2010 |
20100287352 | VIRTUAL MACHINE TOOL INTERFACE FOR TRACKING OBJECTS - Disclosed is a method and computer program product to track allocation of a plurality of objects in a heap. A data processing system, during an object allocation, prevents an object from being moved to another place in memory or being deleted. The data processing system prevents such activity concurrently with garbage collection on a second object not currently being allocated. The data processing system notifies a profiler of object information based on the object allocation via a callback function, wherein object information is a one-to-one mapping of the object address. The data processing system revives garbage collector processing of the object. | 11-11-2010 |
20100333071 | Time Based Context Sampling of Trace Data with Support for Multiple Virtual Machines - Mechanisms for time based context sampling of trace data with support for multiple virtual machines are provided. In response to the occurrence of an event, a plurality of sampling threads associated with a plurality of executing threads executing on processors of a data processing system are awakened. For each sampling thread, an execution state of a corresponding executing thread is determined with regard to one or more virtual machines of interest. For each sampling thread, based on the execution state of the corresponding executing thread, a determination is made whether to retrieve trace information from a virtual machine of interest associated with the corresponding executing thread. For each sampling thread, in response to a determination that trace information is to be retrieved from a virtual machine of interest associated with the corresponding executing thread, the trace information is retrieved from the virtual machine. | 12-30-2010 |
20110219185 | OPTIMIZING EXECUTION OF I/O REQUESTS FOR A DISK DRIVE IN A COMPUTING SYSTEM - An I/O Optimizer receives an I/O request specifying a plurality of disk blocks of the disk drive for access. A plurality of I/O sub-requests is determined from the I/O request, each I/O sub-request specifying a set of one or more adjacent disk blocks of the plurality of disk blocks along the same cylinder. A plurality of execution sequences for performing the plurality of I/O sub-requests is determined. For each of the plurality of execution sequences, a total estimated execution time for performing the I/O sub-requests according to the execution sequence is calculated. One of the plurality of execution sequences for performing the I/O sub-requests is selected based, at least in part, on the total estimated execution times for the plurality of execution sequences. A disk drive controller is instructed to perform the I/O sub-requests according to the selected execution sequence. | 09-08-2011 |
20110289361 | IDLE TRANSITIONS SAMPLING WITH EXECUTION CONTEXT - A process generates a sample based on an event. The process identifies, with a dispatch monitor, a next dispatched monitored thread that is dispatched by a current processor. The process sets a processor affinity of the next dispatched monitored thread such that the next dispatched monitored thread runs only on the current processor without being able to migrate to a different processor. The process also retrieves, with a sampled thread that runs on the current processor, a next dispatched monitored thread call stack after the processor affinity of the next dispatched monitored thread has been set to the processor. The process restores the processor affinity of the next dispatched monitored thread after the next dispatched monitored thread call stack has been obtained. | 11-24-2011 |
20110307640 | CALL STACK SAMPLING WITH LIGHTWEIGHT THREAD MIGRATION PREVENTION - A sample is generated based on an event. Further, an interrupt handler captures information for an interrupted thread on a current processor. In addition, an affinity of the interrupted thread is set such that the interrupted thread runs only on the current processor without being able to migrate to a different processor. A sampler thread that runs on the current processor retrieves a call stack associated with the interrupted thread after the affinity of the interrupted thread has been set to the current processor. The affinity of the interrupted thread is restored after the call stack has been retrieved. | 12-15-2011 |
20110320173 | SAMPLING WITH SAMPLE PACING - A plurality of samples is generated in a computer to profile and record a plurality of events associated with the computer. For each of the plurality of samples, a plurality of partial samples is accumulated prior to occurrence of each of the plurality of events. In addition, a processor may process a current sample of the plurality of samples in response to (i) a completion of a previous sample of the plurality of samples and (ii) a predetermined threshold quantity of partial samples being accumulated. Embodiments of the invention include methods, systems and computer program products. | 12-29-2011 |
20120143828 | AUTOMATED FILE RELOCATION - A processor-implemented method, system and/or computer program product for managing computer file storage is presented. A file, which is designated for storage, is received. Upon determining that the file exceeds a pre-determined size, the file is stored in a pre-designated folder that is reserved for oversized files. This pre-designated folder is protected such that any file stored within the pre-designated folder is prevented from being moved into archival storage. | 06-07-2012 |
20120167043 | Virtual Machine Tool Interface For Tracking Objects - Disclosed is a method to track allocation of a plurality of objects in a heap. A data processing system, during an object allocation, prevents an object from being moved to another place in memory or being deleted. The data processing system prevents such activity concurrently with garbage collection on a second object not currently being allocated. The data processing system notifies a profiler of object information based on the object allocation via a callback function, wherein object information is a one-to-one mapping of the object address. The data processing system revives garbage collector processing of the object. | 06-28-2012 |
20120180057 | Activity Recording System for a Concurrent Software Environment - An activity recording system for a concurrent software environment executing software threads in a computer system, the activity recording system comprising: a thread state indicator for recording an indication of a synchronization state of a software thread, the indication being associated with an identification of the software thread; a time profiler for polling values of a program counter for a processor of the computer system at regular intervals, the time profiler being adapted to identify and record one or more synchronization states of the software thread based on the polled program counter value and the recorded indication of state. | 07-12-2012 |
20120191893 | SCALABLE CALL STACK SAMPLING - An interrupt is generated based on an event. Further, a thread is selected for monitoring. In addition, an interrupt handler captures information for the monitored thread. An affinity of the monitored thread is set such that the monitored thread runs only on a current processor without being able to migrate to a different processor. A sampler thread that runs on the current processor retrieves a call stack associated with a monitored thread after the affinity of the monitored thread has been set to the current processor. | 07-26-2012 |