Patents by Inventor Balaram Sinharoy

Balaram Sinharoy 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).

  • Publication number: 20150293704
    Abstract: Embodiments relate to memory-area property storage including a data fetch width indicator. An aspect includes allocating a memory page in a main memory to an application that is executed by a processor of a computer. Another aspect includes determining the data fetch width indicator for the allocated memory page. Another aspect includes setting the data fetch width indicator in the at least one memory-area property storage in the allocated memory page. Another aspect includes, based on a cache miss in the cache memory corresponding to an address that is located in the allocated memory page: determining the data fetch width indicator in the memory-area property storage associated with the location of the address; and fetching an amount of data from the memory page based on the data fetch width indicator.
    Type: Application
    Filed: April 15, 2014
    Publication date: October 15, 2015
    Applicant: International Business Machines Corporation
    Inventors: Michael K. Gschwind, Jose E. Moreira, Balaram Sinharoy
  • Publication number: 20150293851
    Abstract: Embodiments relate to memory-area property storage including a data fetch width indicator. An aspect includes allocating a memory page in a main memory to an application that is executed by a processor of a computer. Another aspect includes determining the data fetch width indicator for the allocated memory page. Another aspect includes setting the data fetch width indicator in the at least one memory-area property storage in the allocated memory page. Another aspect includes, based on a cache miss in the cache memory corresponding to an address that is located in the allocated memory page: determining the data fetch width indicator in the memory-area property storage associated with the location of the address; and fetching an amount of data from the memory page based on the data fetch width indicator.
    Type: Application
    Filed: September 11, 2014
    Publication date: October 15, 2015
    Inventors: Michael K. Gschwind, Jose E. Moreira, Balaram Sinharoy
  • Publication number: 20150293855
    Abstract: Embodiments relate to a page table including a data fetch width indicator. An aspect includes allocating a memory page in a main memory to an application. Another aspect includes creating a page table entry corresponding to the memory page in the page table. Another aspect includes determining, by a data fetch width indicator determination logic, the data fetch width indicator for the memory page. Another aspect includes sending a notification of the data fetch width indicator from the data fetch width indicator determination logic to supervisory software. Another aspect includes setting the data fetch width indicator in the page table entry by the supervisory software based on the notification. Another aspect includes, based on a cache miss in the cache memory corresponding to an address that is located in the memory page, fetching an amount of data from the memory page based on the data fetch width indicator.
    Type: Application
    Filed: September 11, 2014
    Publication date: October 15, 2015
    Inventors: Michael K. Gschwind, Jose E. Moreira, Balaram Sinharoy
  • Publication number: 20150293703
    Abstract: Embodiments relate to a page table including a data fetch width indicator. An aspect includes allocating a memory page in a main memory to an application. Another aspect includes creating a page table entry corresponding to the memory page in the page table. Another aspect includes determining, by a data fetch width indicator determination logic, the data fetch width indicator for the memory page. Another aspect includes sending a notification of the data fetch width indicator from the data fetch width indicator determination logic to supervisory software. Another aspect includes setting the data fetch width indicator in the page table entry by the supervisory software based on the notification. Another aspect includes, based on a cache miss in the cache memory corresponding to an address that is located in the memory page, fetching an amount of data from the memory page based on the data fetch width indicator.
    Type: Application
    Filed: April 15, 2014
    Publication date: October 15, 2015
    Applicant: International Business Machines Corporation
    Inventors: Michael K. Gschwind, Jose E. Moreira, Balaram Sinharoy
  • Patent number: 9110885
    Abstract: A technique for performing cache injection includes monitoring addresses on a bus. Ownership of input/output data on the bus is acquired by a cache when an address on the bus (that is associated with the input/output data) corresponds to an address of a data block stored in the cache.
    Type: Grant
    Filed: September 18, 2008
    Date of Patent: August 18, 2015
    Assignee: International Business Machines Corporation
    Inventors: Lakshminarayana B. Arimilli, Ravi K. Arimilli, Balaram Sinharoy
  • Patent number: 9037837
    Abstract: Mechanisms are provided for offloading a workload from a main thread to an assist thread. The mechanisms receive, in a fetch unit of a processor of the data processing system, a branch-to-assist-thread instruction of a main thread. The branch-to-assist-thread instruction informs hardware of the processor to look for an already spawned idle thread to be used as an assist thread. Hardware implemented pervasive thread control logic determines if one or more already spawned idle threads are available for use as an assist thread. The hardware implemented pervasive thread control logic selects an idle thread from the one or more already spawned idle threads if it is determined that one or more already spawned idle threads are available for use as an assist thread, to thereby provide the assist thread. In addition, the hardware implemented pervasive thread control logic offloads a portion of a workload of the main thread to the assist thread.
    Type: Grant
    Filed: April 3, 2012
    Date of Patent: May 19, 2015
    Assignee: International Business Machines Corporation
    Inventors: Ronald P. Hall, Hung Q. Le, Raul E. Silvera, Balaram Sinharoy
  • Patent number: 9003417
    Abstract: Processor time accounting is enhanced by per-thread internal resource usage counter circuits that account for usage of processor core resources to the threads that use them. Relative resource use can be determined by detecting events such as instruction dispatches for multiple threads active within the processor, which may include idle threads that are still occupying processor resources. The values of the resource usage counters are used periodically to determine relative usage of the processor core by the multiple threads. If all of the events are for a single thread during a given period, the processor time is allocated to the single thread. If no events occur in the given period, then the processor time can be equally allocated among threads. If multiple threads are generating events, a fractional resource usage can be determined for each thread and the counters may be updated in accordance with their fractional usage.
    Type: Grant
    Filed: April 30, 2012
    Date of Patent: April 7, 2015
    Assignee: International Business Machines Corporation
    Inventors: William Joseph Armstrong, Michael Stephen Floyd, Ronald Nick Kalla, Larry Scott Leitner, Balaram Sinharoy
  • Publication number: 20150082009
    Abstract: A processing system and method includes a predecoder configured to identify instructions that are combinable to form a single executable internal instruction. Instruction storage is configured to merge instructions that are combinable. An instruction execution unit is configured to execute the single, executable internal instruction on a hardware wide datapath.
    Type: Application
    Filed: November 18, 2014
    Publication date: March 19, 2015
    Inventors: Michael Gschwind, Balaram Sinharoy
  • Patent number: 8949837
    Abstract: A data processing system includes a microprocessor having access to multiple levels of cache memories. The microprocessor executes a main thread compiled from a source code object. The system includes a processor for executing an assist thread also derived from the source code object. The assist thread includes memory reference instructions of the main thread and only those arithmetic instructions required to resolve the memory reference instructions. A scheduler configured to schedule the assist thread in conjunction with the corresponding execution thread is configured to execute the assist thread ahead of the execution thread by a determinable threshold such as the number of main processor cycles or the number of code instructions. The assist thread may execute in the main processor or in a dedicated assist processor that makes direct memory accesses to one of the lower level cache memory elements.
    Type: Grant
    Filed: March 29, 2012
    Date of Patent: February 3, 2015
    Assignee: International Business Machines Corporation
    Inventors: Patrick Joseph Bohrer, Orran Yaakov Krieger, Ramakrishnan Rajamony, Michael Rosenfield, Hazim Shafi, Balaram Sinharoy, Robert Brett Tremaine
  • Patent number: 8904151
    Abstract: A processing system and method includes a predecoder configured to identify instructions that are combinable. Instruction storage is configured to merge instructions that are combinable by replacing the combinable instructions with a wide data internal instruction for execution. An instruction execution unit is configured to execute the internal instruction on a wide datapath.
    Type: Grant
    Filed: May 2, 2006
    Date of Patent: December 2, 2014
    Assignee: International Business Machines Corporation
    Inventors: Michael Gschwind, Balaram Sinharoy
  • Patent number: 8806177
    Abstract: A method and system for prefetching in computer system are provided. The method in one aspect includes using a prefetch engine to perform prefetch instructions and to translate unmapped data. Misses to address translations during the prefetch are handled and resolved. The method also includes storing the resolved translations in a respective cache translation table. A system for prefetching in one aspect includes a prefetch engine operable to receive instructions to prefetch data from the main memory. The prefetch engine is also operable to search cache address translation for prefetch data and perform address mapping translation, if the prefetch data is unmapped. The prefetch engine is further operable to prefetch the data and store the address mapping in one or more cache memory, if the data is unmapped.
    Type: Grant
    Filed: July 7, 2006
    Date of Patent: August 12, 2014
    Assignee: International Business Machines Corporation
    Inventors: Orran Y. Krieger, Balaram Sinharoy, Robert B. Tremaine, Robert W. Wisniewski
  • Patent number: 8775778
    Abstract: A set of helper thread binaries is created from a set of main thread binaries. The helper thread monitors software or hardware ports for incoming data events. When the helper thread detects an incoming event, the helper thread asynchronously executes instructions that calculate incoming data needed by the main thread.
    Type: Grant
    Filed: February 1, 2008
    Date of Patent: July 8, 2014
    Assignee: International Business Machines Corporation
    Inventors: Ravi K. Arimilli, Juan C. Rubio, Balaram Sinharoy
  • Patent number: 8707016
    Abstract: A set of helper thread binaries is created to retrieve data used by a set of main thread binaries. The set of helper thread binaries and the set of main thread binaries are partitioned according to common instruction boundaries. As a first partition in the set of main thread binaries executes within a first core, a second partition in the set of helper thread binaries executes within a second core, thus “warming up” the cache in the second core. When the first partition of the main completes execution, a second partition of the main core moves to the second core, and executes using the warmed up cache in the second core.
    Type: Grant
    Filed: February 1, 2008
    Date of Patent: April 22, 2014
    Assignee: International Business Machines Corporation
    Inventors: Ravi K. Arimilli, Juan C. Rubio, Balaram Sinharoy
  • Patent number: 8612730
    Abstract: A method and data processing system for managing running of instructions in a program. A processor of the data processing system receives a monitoring instruction of a monitoring unit. The processor determines if at least one secondary thread of a set of secondary threads is available for use as an assist thread. The processor selects the at least one secondary thread from the set of secondary threads to become the assist thread in response to a determination that the at least one secondary thread of the set of secondary threads is available for use as an assist thread. The processor changes profiling of running of instructions in the program from the main thread to the assist thread.
    Type: Grant
    Filed: June 8, 2010
    Date of Patent: December 17, 2013
    Assignee: International Business Machines Corporation
    Inventors: Ronald P. Hall, Venkat Rajeev Indukuru, Alexander Erik Mericas, Balaram Sinharoy, Zhong Liang Wang
  • Patent number: 8601241
    Abstract: A clone set of General Purpose Registers (GPRs) is created to be used by a set of helper thread binaries, which is created from a set of main thread binaries. When the set of main thread binaries enters a wait state, the set of helper thread binaries uses the clone set of GPRs to continue using unused execution units within a processor core. The set of helper threads are thus able to warm up local cache memory with data that will be needed when execution of the set of main thread binaries resumes.
    Type: Grant
    Filed: February 1, 2008
    Date of Patent: December 3, 2013
    Assignee: International Business Machines Corporation
    Inventors: Ravi K. Arimilli, Juan C. Rubio, Balaram Sinharoy
  • Patent number: 8595443
    Abstract: A method of data processing in a processor includes maintaining a usage history indicating demand usage of prefetched data retrieved into cache memory. An amount of data to prefetch by a data prefetch request is selected based upon the usage history. The data prefetch request is transmitted to a memory hierarchy to prefetch the selected amount of data into cache memory.
    Type: Grant
    Filed: February 1, 2008
    Date of Patent: November 26, 2013
    Assignee: International Business Machines Corporation
    Inventors: Ravi K. Arimilli, Gheorghe C. Cascaval, Balaram Sinharoy, William E. Speight, Lixin Zhang
  • Publication number: 20130297879
    Abstract: A computer cache memory organization called Probabilistic Set Associative Cache (PAC) has the hardware complexity and latency of a direct-mapped cache but functions as a set-associative cache for a fraction of the time, thus yielding better than direct mapped cache hit rates. The organization is considered a (1+P)—way set associative cache, where the chosen parameter called Override Probability P determines the average associativity, for example, for P=0.1, effectively it operates as if a 1.1-way set associative cache.
    Type: Application
    Filed: May 1, 2012
    Publication date: November 7, 2013
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Bulent Abali, John S. Dodson, Moinuddin K. Qureshi, Balaram Sinharoy
  • Patent number: 8495649
    Abstract: A method and system for scheduling threads on simultaneous multithreaded processors are disclosed. Hardware and operating system communicate with one another providing information relating to thread attributes for threads executing on processing elements. The operating system determines thread scheduling based on the information.
    Type: Grant
    Filed: July 19, 2006
    Date of Patent: July 23, 2013
    Assignee: International Business Machines Corporation
    Inventors: Orran Y. Krieger, Bryan S. Rosenburg, Balaram Sinharoy, Robert B. Tremaine, Robert W. Wisniewski
  • Patent number: 8458709
    Abstract: An apparatus and program product utilize a multithreaded processor having at least one hardware thread among a plurality of hardware threads that is capable of being selectively activated and deactivated responsive to a control circuit. The control circuit additionally provides the capability of controlling how an inactive thread can be activated after the thread has been deactivated, e.g., by enabling or disabling reactivation in response to an interrupt.
    Type: Grant
    Filed: January 23, 2009
    Date of Patent: June 4, 2013
    Assignee: International Business Machines Corporation
    Inventors: William Joseph Armstrong, Bruce G. Mealey, Naresh Nayar, Balaram Sinharoy
  • Patent number: 8458439
    Abstract: A processor has an associated memory hierarchy including a cache memory. The processor includes an instruction sequencing unit that fetches instructions for processing, an operand data structure including a plurality of entries corresponding to operands of operations to be performed by the processor, and a computation engine. A first entry among the plurality of entries in the operand data structure specifies a first caching policy for a first operand, and a second entry specifies a second caching policy for a second operand. The computation engine computes and stores operands in the memory hierarchy in accordance with the cache policies indicated within the operand data structure.
    Type: Grant
    Filed: December 16, 2008
    Date of Patent: June 4, 2013
    Assignee: International Business Machines Corporation
    Inventors: Ravi K. Arimilli, Balaram Sinharoy