Patents by Inventor Suresh Eswara Warrier

Suresh Eswara Warrier has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 8418152
    Abstract: An approach to profiling software programs that uses a small pinned buffer and a large unpinned histogram buffer is presented. When a process that is being profiled receives a time slice, the process' program counter is written to the small pinned buffer by a kernel routine. The small pinned buffer is configured to be large enough to store several program counters. When the small pinned buffer is full, or almost full, an internal profiling signal is sent by the kernel routine. When the process is resumed, any outstanding signals are processed before resuming the process. The profiling signal is handled by reading the program counters from the small pinned buffer, calculating a slot in the histogram buffer that corresponds to each of the program counters, incrementing the value in the corresponding histogram slots, and clearing the small pinned buffer so that it can be reused.
    Type: Grant
    Filed: March 15, 2008
    Date of Patent: April 9, 2013
    Assignee: International Business Machines Corporation
    Inventors: Dean Joseph Burdick, Suresh Eswara Warrier
  • Patent number: 8261243
    Abstract: A computer implemented method, a computer program product, and a data processing system trace information about current context and system state for either 32-bit or 64-bit applications. A 32-bit trace executable code and a 64-bit trace executable code are compiled for a trace script. A determination is then made as to whether an application process is a 32-bit process or a 64-bit process. Responsive to determining that the application process is the 32-bit process or the 64-bit process, an internal indicator is set to indicate the application process as either a 32-bit process or a 64-bit process. Subsequently, the internal indicator is identified as either indicating the 32-bit process or the 64-bit process. If the internal identifier indicates the application process is a 32-bit process, an instruction pointer is set to indicate the 32-bit trace executable code, and the 32-bit trace executable code is executed.
    Type: Grant
    Filed: August 12, 2008
    Date of Patent: September 4, 2012
    Assignee: International Business Machines Corporation
    Inventors: Avinash Srikrishna Chinchalkar, Balamurugan Ramajeyam, Muthulakshmi Pearl Srinivasan, Suresh Eswara Warrier
  • Patent number: 8032887
    Abstract: A data processing system allows processes to be checkpointed and restarted. The system saves the old process and thread identifications in a process table. When an application makes a system call passing the old process and/or thread identifications as parameters, the system performs a mapping algorithm to supply the system call with the new process and/or thread identifications. When a system call returns a new identification, the system performs a remapping algorithm to return the old identifications to the calling application program. When a group of process is restarted for which the process group leader was not checkpointed, the system creates a ghost process group leader.
    Type: Grant
    Filed: August 10, 2006
    Date of Patent: October 4, 2011
    Assignee: International Business Machines Corporation
    Inventors: Luke Matthew Browning, Kenneth Bernard Rozendal, Suresh Eswara Warrier
  • Patent number: 7797706
    Abstract: A method, apparatus, and computer instructions for executing a handler in a multi-threaded process handling a number of threads in a manner that avoids deadlocks. A value equal to the number of threads executing in the data processing system is set. The value is decremented each time a lock count for a thread within the number of threads is zero. A thread within the number of threads is suspended if the thread requests a lock and has a lock count of zero. A procedure, such as a handler, is executed in response to all of the threads within the number of threads having no locks.
    Type: Grant
    Filed: October 17, 2007
    Date of Patent: September 14, 2010
    Assignee: International Business Machines Corporation
    Inventors: Luke Matthew Browning, Suresh Eswara Warrier
  • Publication number: 20100042977
    Abstract: A computer implemented method, a computer program product, and a data processing system trace information about current context and system state for either 32-bit or 64-bit applications. A 32-bit trace executable code and a 64-bit trace executable code are compiled for a trace script. A determination is then made as to whether an application process is a 32-bit process or a 64-bit process. Responsive to determining that the application process is the 32-bit process or the 64-bit process, an internal indicator is set to indicate the application process as either a 32-bit process or a 64-bit process. Subsequently, the internal indicator is identified as either indicating the 32-bit process or the 64-bit process. If the internal identifier indicates the application process is a 32-bit process, an instruction pointer is set to indicate the 32-bit trace executable code, and the 32-bit trace executable code is executed.
    Type: Application
    Filed: August 12, 2008
    Publication date: February 18, 2010
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Avinash Srikrishna Chinchalkar, Balamurugan Ramajeyam, Muthulakshmi Pearl Srinivasan, Suresh Eswara Warrier
  • Patent number: 7653910
    Abstract: A method, apparatus, and computer instructions for executing a handler in a multi-threaded process handling a number of threads in a manner that avoids deadlocks. A value equal to the number of threads executing in the data processing system is set. The value is decremented each time a lock count for a thread within the number of threads is zero. A thread within the number of threads is suspended if the thread requests a lock and has a lock count of zero. A procedure, such as a handler, is executed in response to all of the threads within the number of threads having no locks.
    Type: Grant
    Filed: February 11, 2008
    Date of Patent: January 26, 2010
    Assignee: International Business Machines Corporation
    Inventors: Luke Matthew Browning, Suresh Eswara Warrier
  • Patent number: 7487347
    Abstract: A data processing system allows processes to be checkpointed and restarted. The system saves the old process and thread identifications in a process table. When an application makes a system cell passing the old process and/or thread identifications as parameters, the system performs a mapping algorithm to supply the system call with the new process and/or thread identifications. When a system call returns a new identification, the system performs a remapping algorithm to return the old identifications to the calling application program. When a group of process is restarted for which the process group leader was not checkpointed, the system creates a ghost process group leader.
    Type: Grant
    Filed: August 10, 2006
    Date of Patent: February 3, 2009
    Assignee: International Business Machines Corporation
    Inventors: Luke Matthew Browning, Kenneth Bernard Rozendal, Suresh Eswara Warrier
  • Patent number: 7458076
    Abstract: A method, apparatus, and computer program product are disclosed for a simultaneous multithreading (SMT) data processing system for modifying the processing of software threads that acquire a contentious software lock. The system includes a processor that is capable of concurrently executing multiple different threads on the processor. The processor is also capable of utilizing hardware thread priorities assigned to each thread the processor is processing by granting a greater, disparate amount of resources to the highest priority thread. A hardware priority is assigned to each one of the SMT threads. A contentious lock is identified. Ones of the multiple threads are identified that attempt to acquire the contentious lock. These threads are dynamically redirected to special code for handling contentious locks. The hardware priority of a thread acquiring a contentious lock is then boosted.
    Type: Grant
    Filed: August 5, 2004
    Date of Patent: November 25, 2008
    Assignee: International Business Machines Corporation
    Inventors: Randal Craig Swanberg, Suresh Eswara Warrier
  • Publication number: 20080168429
    Abstract: An approach to profiling software programs that uses a small pinned buffer and a large unpinned histogram buffer is presented. When a process that is being profiled receives a time slice, the process' program counter is written to the small pinned buffer by a kernel routine. The small pinned buffer is configured to be large enough to store several program counters. When the small pinned buffer is full, or almost full, an internal profiling signal is sent by the kernel routine. When the process is resumed, any outstanding signals are processed before resuming the process. The profiling signal is handled by reading the program counters from the small pinned buffer, calculating a slot in the histogram buffer that corresponds to each of the program counters, incrementing the value in the corresponding histogram slots, and clearing the small pinned buffer so that it can be reused.
    Type: Application
    Filed: March 15, 2008
    Publication date: July 10, 2008
    Inventors: Dean Joseph Burdick, Suresh Eswara Warrier
  • Publication number: 20080141255
    Abstract: A method, apparatus, and computer instructions for executing a handler in a multi-threaded process handling a number of threads in a manner that avoids deadlocks. A value equal to the number of threads executing in the data processing system is set. The value is decremented each time a lock count for a thread within the number of threads is zero. A thread within the number of threads is suspended if the thread requests a lock and has a lock count of zero. A procedure, such as a handler, is executed in response to all of the threads within the number of threads having no locks.
    Type: Application
    Filed: February 11, 2008
    Publication date: June 12, 2008
    Inventors: Luke Matthew Browning, Suresh Eswara Warrier
  • Publication number: 20080134199
    Abstract: A data processing system allows processes to be checkpointed and restarted. The system saves the old process and thread identifications in a process table. When an application makes a system cell passing the old process and/or thread identifications as parameters, the system performs a mapping algorithm to supply the system call with the new process and/or thread identifications. When a system call returns a new identification, the system performs a remapping algorithm to return the old identifications to the calling application program. When a group of process is restarted for which the process group leader was not checkpointed, the system creates a ghost process group leader.
    Type: Application
    Filed: August 10, 2006
    Publication date: June 5, 2008
    Inventors: Luke Matthew Browning, Kenneth Bernard Rozendal, Suresh Eswara Warrier
  • Patent number: 7380241
    Abstract: A method for profiling software programs uses a small pinned buffer and a large unpinned histogram buffer. When a process that is being profiled receives a time slice, the process' program counter is written to the small pinned buffer by a kernel routine. The small pinned buffer is configured to be large enough to store several program counters. When the small pinned buffer is full, or almost full, an internal profiling signal is sent by the kernel routine. When the process is resumed, any outstanding signals (including the profiling signal) are processed before resuming the process. The profiling signal is handled by reading the program counters from the small pinned buffer, calculating a slot in the histogram buffer that corresponds to each of the program counters, incrementing the value in the corresponding histogram slots, and clearing the small pinned buffer so that it can be reused.
    Type: Grant
    Filed: December 7, 2004
    Date of Patent: May 27, 2008
    Assignee: International Business Machines Corporation
    Inventors: Dean Joseph Burdick, Suresh Eswara Warrier
  • Publication number: 20080109827
    Abstract: A data processing system allows processes to be checkpointed and restarted. The system saves the old process and thread identifications in a process table. When an application makes a system call passing the old process and/or thread identifications as parameters, the system performs a mapping algorithm to supply the system call with the new process and/or thread identifications. When a system call returns a new identification, the system performs a remapping algorithm to return the old identifications to the calling application program. When a group of process is restarted for which the process group leader was not checkpointed, the system creates a ghost process group leader.
    Type: Application
    Filed: August 10, 2006
    Publication date: May 8, 2008
    Inventors: Luke Matthew Browning, Kenneth Bernard Rozendal, Suresh Eswara Warrier
  • Patent number: 7337444
    Abstract: A method, apparatus, and computer instructions for executing a handler in a multi-threaded process handling a number of threads in a manner that avoids deadlocks. A value equal to the number of threads executing in the data processing system is set. The value is decremented each time a lock count for a thread within the number of threads is zero. A thread within the number of threads is suspended if the thread requests a lock and has a lock count of zero. A procedure, such as a handler, is executed in response to all of the threads within the number of threads having no locks.
    Type: Grant
    Filed: January 9, 2003
    Date of Patent: February 26, 2008
    Assignee: International Business Machines Corporation
    Inventors: Luke Matthew Browning, Suresh Eswara Warrier
  • Patent number: 7117354
    Abstract: A data processing system allows processes to be checkpointed and restarted. The system saves the old process and thread identifications in a process table. When an application makes a system call passing the old process and/or thread identifications as parameters, the system performs a mapping algorithm to supply the system call with the new process and/or thread identifications. When a system call returns a new identification, the system performs a remapping algorithm to return the old identifications to the calling application program. When a group of process is restarted for which the process group leader was not checkpointed, the system creates a ghost process group leader.
    Type: Grant
    Filed: July 20, 2000
    Date of Patent: October 3, 2006
    Assignee: International Business Machines Corporation
    Inventors: Luke Matthew Browning, Kenneth Bernard Rozendal, Suresh Eswara Warrier
  • Patent number: 6981243
    Abstract: A method and apparatus allow a programmer to repeatedly debug a program from the same starting point. The entire process state of the process can be saved at any time in the course of a debugging session to a disk file, called the checkpoint file. Now registers or memory may be modified, if necessary, and the program may be brought back to the same starting point where the state had been previously saved by resuming from the checkpoint file. The method and apparatus allow the state of all the programs to be saved multiple times and resumed from any one of those states. The debugging of a problem is considerably facilitated by not having to start from scratch to debug the problem as the last saved state of the program can be used to start the debugging.
    Type: Grant
    Filed: July 20, 2000
    Date of Patent: December 27, 2005
    Assignee: International Business Machines Corporation
    Inventors: Luke Matthew Browning, Kenneth Bernard Rozendal, Suresh Eswara Warrier
  • Publication number: 20040139440
    Abstract: A method, apparatus, and computer instructions for executing a handler in a multi-threaded process handling a number of threads in a manner that avoids deadlocks. A value equal to the number of threads executing in the data processing system is set. The value is decremented each time a lock count for a thread within the number of threads is zero. A thread within the number of threads is suspended if the thread requests a lock and has a lock count of zero. A procedure, such as a handler, is executed in response to all of the threads within the number of threads having no locks.
    Type: Application
    Filed: January 9, 2003
    Publication date: July 15, 2004
    Applicant: International Business Machines Corporation
    Inventors: Luke Matthew Browning, Suresh Eswara Warrier