Patents by Inventor Marcus L. Kornegay
Marcus L. Kornegay 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: 8838909Abstract: A method, system, and computer program product for providing lines of data from shared resources to caching agents are provided. The method, system, and computer program product provide for receiving a request from a caching agent for a line of data stored in a shared resource, assigning one of a plurality of coherency states as an initial coherency state for the line of data, each of the plurality of coherency states being assignable as the initial coherency state for the line of data, and providing the line of data to the caching agent in the initial coherency state assigned to the line of data.Type: GrantFiled: July 9, 2007Date of Patent: September 16, 2014Assignee: International Business Machines CorporationInventors: Daniel J. Colglazier, Marcus L. Kornegay, Ngan N. Pham, Cristian G. Rojas
-
Patent number: 8812793Abstract: Embodiments of the invention address deficiencies of the art in respect to cache coherency management and provide a novel and non-obvious method, system and apparatus for silent invalid state transition handling in an SMP environment. In one embodiment of the invention, a cache coherency method can be provided. The cache coherency method can include identifying an invalid state transition for a cache line in a local node, evicting a corresponding cache directory entry for the cache line, forwarding an invalid state transition notification to a node controller for a home node for the cache line in order for the home node to evict a corresponding cache directory entry for the cache line, and relinquishing ownership of the cache line to the home node.Type: GrantFiled: June 19, 2006Date of Patent: August 19, 2014Assignee: International Business Machines CorporationInventors: Marcus L. Kornegay, Ngan N. Pham, Brian T. Vanderpool
-
Patent number: 8656019Abstract: Data processing workload administration in a cloud computing environment including distributing data processing jobs among a plurality of clouds, each cloud comprising a network-based, distributed data processing system that provides one or more cloud computing services; deploying, by a job placement engine in each cloud according to the workload execution policy onto servers in each cloud, the data processing jobs distributed to each cloud; determining, by each job placement engine during execution of each data processing job, whether workload execution policy for each deployed job continues to be met by computing resources within the cloud where each job is deployed; and advising, by each job placement engine, the workload policy manager when workload execution policy for a particular job cannot continue to be met by computing resources within the cloud where the particular job is deployed.Type: GrantFiled: December 17, 2009Date of Patent: February 18, 2014Assignee: International Business Machines CorporationInventors: Eric N. Chikando, Marcus L. Kornegay
-
Patent number: 8195892Abstract: A design structure embodied in a machine readable storage medium for designing, manufacturing, and/or testing a design can be provided. The design structure includes a symmetric multiprocessing (SMP) system. The system includes a plurality of nodes. Each of the nodes includes a node controller and a plurality of processors cross-coupled to one another. The system also includes at least one cache directory coupled to each node controller, and, invalid state transition logic coupled to each node controller. The invalid state transition logic includes program code enabled to identify an invalid state transition for a cache line in a local node, to evict a corresponding cache directory entry for the cache line, and to forward an invalid state transition notification to a node controller for a home node for the cache line in order for the home node to evict a corresponding cache directory entry for the cache line.Type: GrantFiled: April 18, 2008Date of Patent: June 5, 2012Assignee: International Business Machines CorporationInventors: Marcus L. Kornegay, Ngan N. Pham, Brian T. Vanderpool
-
Patent number: 8131943Abstract: A design structure embodied in a machine readable storage medium for designing, manufacturing, and testing a system for providing lines of data from shared resources to caching agents are provided. The system provides for receiving a request from a caching agent for a line of data stored in a shared resource, assigning one of a plurality of coherency states as an initial coherency state for the line of data, each of the plurality of coherency states being assignable as the initial coherency state for the line of data, and providing the line of data to the caching agent in the initial coherency state assigned to the line of data.Type: GrantFiled: May 4, 2008Date of Patent: March 6, 2012Assignee: International Business Machines CorporationInventors: Daniel J. Colglazier, Marcus L. Kornegay, Ngan N. Pham, Cristian G. Rojas
-
Patent number: 8065487Abstract: A design structure embodied in a machine readable storage medium for of designing, manufacturing, and/or testing for shared cache eviction in a multi-core processing environment having a cache shared by a plurality of processor cores is provided. The design structure includes means for receiving from a processor core a request to load a cache line in the shared cache; means for determining whether the shared cache is full; means for determining whether a cache line is stored in the shared cache that has been accessed by fewer than all the processor cores sharing the cache if the shared cache is full; and means for evicting a cache line that has been accessed by fewer than all the processor cores sharing the cache if a cache line is stored in the shared cache that has been accessed by fewer than all the processor cores sharing the cache.Type: GrantFiled: May 1, 2008Date of Patent: November 22, 2011Assignee: International Business Machines CorporationInventors: Marcus L. Kornegay, Ngan N. Pham
-
Patent number: 7925838Abstract: A system for maintaining data coherency in a multiprocessor system includes a first processor having a cache and a directory, a second processor having a directory, and at least one additional processor having a directory and separate from the first and second processors. The first processor is configured to determine if a data line is not found in the cache of the first processor and forward a request for the data line to the second processor. The second processor is configured to forward the data line from the second processor to the first processor, update the directory of the second processor to reflect the data line being forwarded to the first processor, and forward a directory update message to the at least one additional processor to reflect the data line being forwarded to the first processor. An entry in the directories includes a memory address, a most recent data holder, and a line state.Type: GrantFiled: June 12, 2008Date of Patent: April 12, 2011Assignee: International Business Machines CorporationInventors: Chris Dombrowski, Marcus L. Kornegay, Ngan N. Pham
-
Patent number: 7865669Abstract: A system and method for dynamically selecting the data fetch path for improving the performance of the system improves data access latency by dynamically adjusting data fetch paths based on application data fetch characteristics. The application data fetch characteristics are determined through the use of a hit/miss tracker. It reduces data access latency for applications that have a low data reuse rate (streaming audio, video, multimedia, games, etc.) which will improve overall application performance. It is dynamic in a sense that at any point in time when the cache hit rate becomes reasonable (defined parameter), the normal cache lookup operations will resume. The system utilizes a hit/miss tracker which tracks the hits/misses against a cache and, if the miss rate surpasses a prespecified rate or matches an application profile, the hit/miss tracker causes the cache to be bypassed and the data is pulled from main memory or another cache thereby improving overall application performance.Type: GrantFiled: August 2, 2007Date of Patent: January 4, 2011Assignee: International Machines Business CorporationInventors: Marcus L. Kornegay, Ngan N. Pham
-
Publication number: 20100332763Abstract: An apparatus, system, and method are disclosed for improving cache coherency processing. The method includes determining that a first processor in a multiprocessor system receives a cache miss. The method also includes determining whether an application associated with the cache miss is running on a single processor core and/or whether the application is running on two or more processor cores that share a cache. A cache coherency algorithm is executed in response to determining that the application associated with the cache miss is running on two or more processor cores that do not share a cache, and is skipped in response to determining that the application associated with the cache miss is running on one of a single processor core and two or more processor cores that share a cache.Type: ApplicationFiled: June 30, 2009Publication date: December 30, 2010Applicant: International Business Machines CorporationInventors: Marcus L. Kornegay, Ngan N. Pham
-
Publication number: 20100325367Abstract: A write-back coherency data cache for temporarily holding cache lines. Upon receiving a processor request for data, a determination is made from a coherency directory whether a copy of the data is cached in a write-back cache located in a memory controller hardware. The write-back cache holds data being written back to main memory for a period of time prior to writing the data to main memory. If the data is cached in the write-back cache, the data is removed from the write-back cache and forwarded to the requesting processor. The cache coherency state in the coherency directory entry for the data is updated to reflect the current cache coherency state of the data based on the requesting processor's intended use of the data.Type: ApplicationFiled: June 19, 2009Publication date: December 23, 2010Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Marcus L. Kornegay, Ngan N. Pham
-
Patent number: 7844779Abstract: Determining and applying a cache replacement policy for a computer application running in a computer processing system is accomplished by receiving a processor core data request, adding bits on each cache line of a plurality of cache lines to identify a core ID of an at least one processor core that provides each cache line in a shared cache, allocating a tag table for each processor core, where the tag table keeps track of an index of processor core miss rates, and setting a threshold to define a level of cache usefulness, depending on whether or not the index of processor core miss rates exceeds the threshold. Checking the threshold and when the threshold is not exceeded, then a shared cache standard policy for cache replacement is applied. When the threshold is exceeded, then the cache line from the processor core running the application is evicted from the shared cache.Type: GrantFiled: December 13, 2007Date of Patent: November 30, 2010Assignee: International Business Machines CorporationInventors: Marcus L. Kornegay, Ngan N. Pham
-
Patent number: 7840759Abstract: Methods and systems for shared cache eviction in a multi-core processing environment having a cache shared by a plurality of processor cores are provided. Embodiments include receiving from a processor core a request to load a cache line in the shared cache; determining whether the shared cache is full; determining whether a cache line is stored in the shared cache that has been accessed by fewer than all the processor cores sharing the cache if the shared cache is full; and evicting a cache line that has been accessed by fewer than all the processor cores sharing the cache if a cache line is stored in the shared cache that has been accessed by fewer than all the processor cores sharing the cache.Type: GrantFiled: March 21, 2007Date of Patent: November 23, 2010Assignee: International Business Machines CorporationInventors: Marcus L. Kornegay, Ngan Pham
-
Publication number: 20090157970Abstract: Determining and applying a cache replacement policy for a computer application running in a computer processing system is accomplished by receiving a processor core data request, adding bits on each cache line of a plurality of cache lines to identify a core ID of an at least one processor core that provides each cache line in a shared cache, allocating a tag table for each processor core, where the tag table keeps track of an index of processor core miss rates, and setting a threshold to define a level of cache usefulness, depending on whether or not the index of processor core miss rates exceeds the threshold. Checking the threshold and when the threshold is not exceeded, then a shared cache standard policy for cache replacement is applied. When the threshold is exceeded, then the cache line from the processor core running the application is evicted from the shared cache.Type: ApplicationFiled: December 13, 2007Publication date: June 18, 2009Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Marcus L. Kornegay, Ngan N. Pham
-
Publication number: 20090037664Abstract: A system and method for dynamically selecting the data fetch path for improving the performance of the system improves data access latency by dynamically adjusting data fetch paths based on application data fetch characteristics. The application data fetch characteristics are determined through the use of a hit/miss tracker. It reduces data access latency for applications that have a low data reuse rate (streaming audio, video, multimedia, games, etc.) which will improve overall application performance. It is dynamic in a sense that at any point in time when the cache hit rate becomes reasonable (defined parameter), the normal cache lookup operations will resume. The system utilizes a hit/miss tracker which tracks the hits/misses against a cache and, if the miss rate surpasses a prespecified rate or matches an application profile, the hit/miss tracker causes the cache to be bypassed and the data is pulled from main memory or another cache thereby improving overall application performance.Type: ApplicationFiled: August 2, 2007Publication date: February 5, 2009Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Marcus L. Kornegay, Ngan N. Pham
-
Publication number: 20090019230Abstract: A method, system, and computer program product for providing lines of data from shared resources to caching agents are provided. The method, system, and computer program product provide for receiving a request from a caching agent for a line of data stored in a shared resource, assigning one of a plurality of coherency states as an initial coherency state for the line of data, each of the plurality of coherency states being assignable as the initial coherency state for the line of data, and providing the line of data to the caching agent in the initial coherency state assigned to the line of data.Type: ApplicationFiled: July 9, 2007Publication date: January 15, 2009Inventors: Daniel J. COLGLAZIER, Marcus L. KORNEGAY, Ngan N. PHAM, Cristian G. ROJAS
-
Publication number: 20090019233Abstract: A design structure embodied in a machine readable storage medium for designing, manufacturing, and testing a system for providing lines of data from shared resources to caching agents are provided. The system provides for receiving a request from a caching agent for a line of data stored in a shared resource, assigning one of a plurality of coherency states as an initial coherency state for the line of data, each of the plurality of coherency states being assignable as the initial coherency state for the line of data, and providing the line of data to the caching agent in the initial coherency state assigned to the line of data.Type: ApplicationFiled: May 4, 2008Publication date: January 15, 2009Inventors: DANIEL J. COLGLAZIER, Marcus L. Kornegay, Ngan N. Pham, Cristian G. Rojas
-
Publication number: 20080313427Abstract: A system for maintaining data coherency in a multiprocessor system includes a first processor having a cache and a directory, a second processor having a directory, and at least one additional processor having a directory and separate from the first and second processors. The first processor is configured to determine if a data line is not found in the cache of the first processor and forward a request for the data line to the second processor. The second processor is configured to forward the data line from the second processor to the first processor, update the directory of the second processor to reflect the data line being forwarded to the first processor, and forward a directory update message to the at least one additional processor to reflect the data line being forwarded to the first processor. An entry in the directories includes a memory address, a most recent data holder, and a line state.Type: ApplicationFiled: June 12, 2008Publication date: December 18, 2008Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Chris Dombrowski, Marcus L. Kornegay, Ngan N. Pham
-
Publication number: 20080235452Abstract: A design structure embodied in a machine readable storage medium for of designing, manufacturing, and/or testing for shared cache eviction in a multi-core processing environment having a cache shared by a plurality of processor cores is provided. The design structure includes means for receiving from a processor core a request to load a cache line in the shared cache; means for determining whether the shared cache is full; means for determining whether a cache line is stored in the shared cache that has been accessed by fewer than all the processor cores sharing the cache if the shared cache is full; and means for evicting a cache line that has been accessed by fewer than all the processor cores sharing the cache if a cache line is stored in the shared cache that has been accessed by fewer than all the processor cores sharing the cache.Type: ApplicationFiled: May 1, 2008Publication date: September 25, 2008Inventors: MARCUS L. KORNEGAY, Ngan N. Pham
-
Publication number: 20080235456Abstract: Methods and systems for shared cache eviction in a multi-core processing environment having a cache shared by a plurality of processor cores are provided. Embodiments include receiving from a processor core a request to load a cache line in the shared cache; determining whether the shared cache is full; determining whether a cache line is stored in the shared cache that has been accessed by fewer than all the processor cores sharing the cache if the shared cache is full; and evicting a cache line that has been accessed by fewer than all the processor cores sharing the cache if a cache line is stored in the shared cache that has been accessed by fewer than all the processor cores sharing the cache.Type: ApplicationFiled: March 21, 2007Publication date: September 25, 2008Inventors: Marcus L. Kornegay, Ngan Pham
-
Publication number: 20080215818Abstract: A design structure embodied in a machine readable storage medium for designing, manufacturing, and/or testing a design can be provided. The design structure includes a symmetric multiprocessing (SMP) system. The system includes a plurality of nodes. Each of the nodes includes a node controller and a plurality of processors cross-coupled to one another. The system also includes at least one cache directory coupled to each node controller, and, invalid state transition logic coupled to each node controller. The invalid state transition logic includes program code enabled to identify an invalid state transition for a cache line in a local node, to evict a corresponding cache directory entry for the cache line, and to forward an invalid state transition notification to a node controller for a home node for the cache line in order for the home node to evict a corresponding cache directory entry for the cache line.Type: ApplicationFiled: April 18, 2008Publication date: September 4, 2008Inventors: Marcus L. Kornegay, Ngan N. Pham, Brian T. Vanderpool