Patents by Inventor Michael Karl Gschwind
Michael Karl Gschwind 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: 20180189067Abstract: Discontiguous storage locations are prefetched by a prefetch instruction. Addresses of the discontiguous storage locations are provided by a list directly or indirectly specified by a parameter of the prefetch instruction, along with metadata and information about the list entries. Fetching of corresponding data blocks to cache lines is initiated. A processor may enter transactional execution mode and memory instructions of a program may be executed using the prefetched data blocks.Type: ApplicationFiled: February 26, 2018Publication date: July 5, 2018Inventors: Fadi Y. Busaba, Dan F. Greiner, Michael Karl Gschwind, Maged M. Michael, Valentina Salapura, Eric M. Schwarz, Timothy J. Slegel
-
Patent number: 10013270Abstract: Embodiments relate to application-level initiation of processor parameter adjustment. An aspect includes receiving, by a hypervisor in a computer system from an application running on the computer system, a request to adjust an operating parameter of a processor of the computer system. Another aspect includes determining an adjusted value for the operating parameter during execution of the application by the hypervisor. Another aspect includes setting the operating parameter in a parameter register of the processor to the adjusted value by the hypervisor. Yet another aspect includes executing the application according to the parameter register of the processor.Type: GrantFiled: December 3, 2015Date of Patent: July 3, 2018Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Giles R. Frazier, Michael Karl Gschwind
-
Patent number: 10013351Abstract: A higher level shared cache of a hierarchical cache of a multi-processor system utilizes transaction identifiers to manage memory conflicts in corresponding transactions. The higher level cache is shared with two or more processors. A processor may have a corresponding accelerator that performs operations on behalf of the processor. Transaction indicators are set in the higher level cache corresponding to the cache lines being accessed. The transaction aborts if a memory conflict with the transaction's cache lines from another transaction is detected, and the corresponding cache lines are invalidated. For a successfully completing transaction, the corresponding cache lines are committed and the data from store operations is stored.Type: GrantFiled: June 27, 2014Date of Patent: July 3, 2018Assignee: International Business Machines CorporationInventors: Fadi Y. Busaba, Michael Karl Gschwind, Eric M. Schwarz, Chung-Lung K. Shum
-
Publication number: 20180136966Abstract: A computer-implemented method includes, in a transactional memory environment, identifying a transaction and identifying one or more cache lines. The cache lines are allocated to the transaction. A cache line record is stored. The cache line record includes a reference to the one or more cache lines. An indication is received. The indication denotes a request to demote the one or more cache lines. The cache line record is retrieved, and the one or more cache lines are released. A corresponding computer program product and computer system are also disclosed.Type: ApplicationFiled: December 28, 2017Publication date: May 17, 2018Inventors: Jonathan D. Bradbury, Michael Karl Gschwind, Chung-Lung K. Shum, Timothy J. Slegel
-
Patent number: 9971628Abstract: A transactional memory system salvages a partially executed hardware transaction. A processor of the transactional memory system determines information about an about-to-fail handler for transactional execution of a code region of a hardware transaction. The processor then executes the about-to-fail handler using the information about the about-to-fail handler, the about-to-fail handler determining whether the hardware transaction is to be salvaged or to be aborted.Type: GrantFiled: March 11, 2016Date of Patent: May 15, 2018Assignee: International Business Machines CorporationInventors: Harold W. Cain, III, Michael Karl Gschwind, Maged M. Michael, Valentina Salapura, Eric M. Schwarz
-
Patent number: 9971690Abstract: Execution of a transaction mode setting instruction causes a computer processor to be in an atomic write-only mode ignoring conflicts to certain read-sets of a transaction during transactional execution. Write-set conflicts may still cause a transactional abort. Absent any aborting, the transaction's execution may complete, by committing transactional stores to memory and updating architecture states.Type: GrantFiled: October 7, 2016Date of Patent: May 15, 2018Assignee: International Business Machines CorporationInventors: Michael Karl Gschwind, Chung-Lung K. Shum, Timothy J. Slegel
-
Patent number: 9971629Abstract: A computer-implemented method includes, in a transactional memory environment, identifying a transaction and identifying one or more cache lines. The cache lines are allocated to the transaction. A cache line record is stored. The cache line record includes a reference to the one or more cache lines. An indication is received. The indication denotes a request to demote the one or more cache lines. The cache line record is retrieved, and the one or more cache lines are released. A corresponding computer program product and computer system are also disclosed.Type: GrantFiled: May 12, 2017Date of Patent: May 15, 2018Assignee: International Business Machines CorporationInventors: Jonathan D. Bradbury, Michael Karl Gschwind, Chung-Lung K. Shum, Timothy J. Slegel
-
Publication number: 20180117810Abstract: Tracking a processor instruction is provided to limit a speculative mis-prediction. A non-speculative read set indication and/or write set indication are maintained for a transaction. In addition, a queue(s) of at least one address corresponding to a speculatively executed instruction is maintained. For a received request from a remote processor, a transaction resolution process takes place, and a resolution is performed if an address match in the queue is detected. The resolution includes to hold a response to the receive request until the speculative instruction is committed or flushed.Type: ApplicationFiled: December 29, 2017Publication date: May 3, 2018Applicant: International Business Machines CorporationInventors: Michael Karl Gschwind, Valentina Salapura, Chung-Lung K. Shum
-
Publication number: 20180121349Abstract: The embodiments relate to a computer system, computer program product and method for managing a garbage collection process. Processing control is obtained based on execution of a load instruction and a determination that an object pointer to be loaded indicates a location within a selected portion of memory undergoing a garbage collection process. The determination includes identifying a base address and size of a first memory block subject to the garbage collection, and assigning a binary value to each first memory block section. An image of the load instruction is obtained and a pointer address is calculated from the image. It is determined whether the object pointer is to be modified. The object pointer is modified and stored in a selected location.Type: ApplicationFiled: December 29, 2017Publication date: May 3, 2018Applicant: International Business Machines CorporationInventors: Giles R. Frazier, Michael Karl Gschwind, Younes Manton, Karl M. Taylor, Brian W. Thompto
-
Publication number: 20180113726Abstract: Embodiments relate to using a local entry point with an indirect call function. More specifically, an indirect call function configuration comprises a first application module having a target function of the indirect function call, a second application module with a symbolic reference to the target function of the indirect function call, and a third application module to originate an indirect function call. A compiler determines and indicates, in the program code, that the function pointer value resulting from a non-call reference of a function symbol is solely used to perform indirect calls in the same module, e.g. local-use-only. A linker or loader can read the indication the compiler made in the program code. The linker or loader use the local entry point associated with the target function if the target function is defined in the same module as the reference and is local-use-only.Type: ApplicationFiled: January 27, 2017Publication date: April 26, 2018Applicant: International Business Machines CorporationInventors: Michael Karl Gschwind, Ulrich Weigand
-
Publication number: 20180113725Abstract: Embodiments relate to using a local entry point with an indirect call function. More specifically, an indirect call function configuration comprises a first application module having a target function of the indirect function call, a second application module with a symbolic reference to the target function of the indirect function call, and a third application module to originate an indirect function call. A compiler determines and indicates, in the program code, that the function pointer value resulting from a non-call reference of a function symbol is solely used to perform indirect calls in the same module or comparisons against function pointers. A linker or loader can read the indication the compiler made in the program code. The linker or loader use the local entry point associated with the target function if the target function is defined in the same module as the reference and is local-use-only.Type: ApplicationFiled: January 27, 2017Publication date: April 26, 2018Applicant: International Business Machines CorporationInventors: Michael Karl Gschwind, Ulrich Weigand
-
Publication number: 20180113690Abstract: Embodiments relate to optimizing an indirect call function. More specifically, an indirect call function configuration comprises a first application module having a target function of the indirect function call, a second application module with a symbolic reference to the target function of the indirect function call, and a third application module to originate an indirect function call. A compiler is provided to identify potential target functions and indicate the potential target functions in the program code. Additionally, the compiler determines and indicates in the program code that the function pointer value resulting from a non-call reference of a function symbol is solely used to perform indirect calls in the same module. A linker can read the indication the compiler made in the program code and optimize the indirect call function.Type: ApplicationFiled: October 24, 2016Publication date: April 26, 2018Applicant: International Business Machines CorporationInventors: Michael Karl Gschwind, Ulrich Weigand
-
Publication number: 20180113727Abstract: Embodiments relate to optimizing an indirect call function. More specifically, an indirect call function configuration comprises a first application module having a target function of the indirect function call, a second application module with a symbolic reference to the target function of the indirect function call, and a third application module to originate an indirect function call. A compiler identifies potential target functions and indicates the potential target functions in the program code. Additionally, the compiler determines and indicates in the program code that the function pointer value resulting from a non-call reference of a function symbol is solely used to perform indirect calls in the same module. A linker can read the indication the compiler made in the program code and optimize the indirect call function.Type: ApplicationFiled: January 31, 2017Publication date: April 26, 2018Applicant: International Business Machines CorporationInventors: Michael Karl Gschwind, Ulrich Weigand
-
Publication number: 20180113697Abstract: Embodiments relate to using a local entry point with an indirect call function. More specifically, an indirect call function configuration comprises a first application module having a target function of the indirect function call, a second application module with a symbolic reference to the target function of the indirect function call, and a third application module to originate an indirect function call. A compiler is provided to identify potential target functions and indicate the potential target functions in the program code. A linker can read the indication the compiler made in the program code. The linker optimizes an indirect call site if the potential target functions are defined in the same module.Type: ApplicationFiled: October 24, 2016Publication date: April 26, 2018Applicant: International Business Machines CorporationInventors: Michael Karl Gschwind, Ulrich Weigand
-
Publication number: 20180113687Abstract: Embodiments relate to using a local entry point with an indirect call function. More specifically, an indirect call function configuration comprises a first application module having a target function of the indirect function call, a second application module with a symbolic reference to the target function of the indirect function call, and a third application module to originate an indirect function call. A compiler is provided to determine and indicate in the program code that the function pointer value resulting from a non-call reference of a function symbol is solely used to perform indirect calls in the same module or comparisons against function pointers. A linker or loader can read the indication the compiler made in the program code. The linker or loader use the local entry point associated with the target function if the target function is defined in the same module as the reference and is local-use-only.Type: ApplicationFiled: October 24, 2016Publication date: April 26, 2018Applicant: International Business Machines CorporationInventors: Michael Karl Gschwind, Ulrich Weigand
-
Publication number: 20180113694Abstract: Embodiments relate to using a local entry point with an indirect call function. More specifically, an indirect call function configuration comprises a first application module having a target function of the indirect function call, a second application module with a symbolic reference to the target function of the indirect function call, and a third application module to originate an indirect function call. A compiler is provided to determine and indicate in the program code that the function pointer value resulting from a non-call reference of a function symbol is solely used to perform indirect calls in the same module, e.g. local-use-only. A linker or loader can read the indication the compiler made in the program code. The linker or loader use the local entry point associated with the target function if the target function is defined in the same module as the reference and is local-use-only.Type: ApplicationFiled: October 24, 2016Publication date: April 26, 2018Applicant: International Business Machines CorporationInventors: Michael Karl Gschwind, Ulrich Weigand
-
Publication number: 20180113696Abstract: Embodiments relate to using a local entry point with an indirect call function. More specifically, an indirect call function configuration comprises a first application module having a target function of the indirect function call, a second application module with a symbolic reference to the target function of the indirect function call, and a third application module to originate an indirect function call. A compiler is provided to determine and indicate in the program code that the function pointer value resulting from a non-call reference of a function symbol is solely used to perform indirect calls in the same module, e.g. local-use-only. A linker or loader can read the indication the compiler made in the program code. The linker or loader use the local entry point associated with the target function if the target function is defined in the same module as the reference and is local-use-only.Type: ApplicationFiled: October 24, 2016Publication date: April 26, 2018Applicant: International Business Machines CorporationInventors: Michael Karl Gschwind, Ulrich Weigand
-
Publication number: 20180113688Abstract: Embodiments relate to using a local entry point with an indirect call function. More specifically, an indirect call function configuration comprises a first application module having a target function of the indirect function call, a second application module with a symbolic reference to the target function of the indirect function call, and a third application module to originate an indirect function call. A compiler is provided to determine and indicate in the program code that the function pointer value resulting from a non-call reference of a function symbol is solely used to perform indirect calls in the same module, e.g. local-use-only. A linker or loader can read the indication the compiler made in the program code. The linker or loader use the local entry point associated with the target function if the target function is defined in the same module as the reference and is local-use-only.Type: ApplicationFiled: October 24, 2016Publication date: April 26, 2018Applicant: International Business Machines CorporationInventors: Michael Karl Gschwind, Ulrich Weigand
-
Publication number: 20180113723Abstract: Embodiments relate to using a local entry point with an indirect call function. More specifically, an indirect call function configuration comprises a first application module having a target function of the indirect function call, a second application module with a symbolic reference to the target function of the indirect function call, and a third application module to originate an indirect function call. A compiler determines and indicates, in the program code, that the function pointer value resulting from a non-call reference of a function symbol is solely used to perform indirect calls in the same module, e.g. local-use-only. A linker or loader can read the indication the compiler made in the program code. The linker or loader use the local entry point associated with the target function if the target function is defined in the same module as the reference and is local-use-only.Type: ApplicationFiled: January 31, 2017Publication date: April 26, 2018Applicant: International Business Machines CorporationInventors: Michael Karl Gschwind, Ulrich Weigand
-
Publication number: 20180113685Abstract: Embodiments relate to using a local entry point with an indirect call function. More specifically, an indirect call function configuration comprises a first application module having a target function of the indirect function call, a second application module with a symbolic reference to the target function of the indirect function call, and a third application module to originate an indirect function call. A compiler is provided to identify potential target functions and indicate the potential target functions in the program code. A linker can read the indication the compiler made in the program code. The linker optimizes an indirect call site if the potential target functions are defined in the same module.Type: ApplicationFiled: October 24, 2016Publication date: April 26, 2018Applicant: International Business Machines CorporationInventors: Michael Karl Gschwind, Ulrich Weigand