Patents by Inventor Xiaowei Shen
Xiaowei Shen 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: 20080010442Abstract: A method and system for efficient context switching are provided. An execution entity that is to be context switched out is allowed to continue executing for a predetermined period of time before being context switched out. During the predetermined period of time in which the execution entity continues to execute, the hardware or an operating system tracks and records its footprint such as the addresses and page and segment table entries and the like accessed by the continued execution. When the execution entity is being context switched back in, its page and segment table and cache states are reloaded for use in its immediate execution.Type: ApplicationFiled: July 6, 2006Publication date: January 10, 2008Applicant: International Business Machines CorporationInventors: Peter H. Hochschild, Xiaowei Shen, Balaram Sinharoy, Robert W. Wisniewski
-
Publication number: 20080010408Abstract: A method for reconfiguring a cache memory is provided. The method in one aspect may include analyzing one or more characteristics of an execution entity accessing a cache memory and reconfiguring the cache based on the one or more characteristics analyzed. Examples of analyzed characteristic may include but are not limited to data structure used by the execution entity, expected reference pattern of the execution entity, type of an execution entity, heat and power consumption of an execution entity, etc. Examples of cache attributes that may be reconfigured may include but are not limited to associativity of the cache memory, amount of the cache memory available to store data, coherence granularity of the cache memory, line size of the cache memory, etc.Type: ApplicationFiled: July 5, 2006Publication date: January 10, 2008Applicant: International Business Machines CorporationInventors: Xiaowei Shen, Balaram Sinharoy, Robert B. Tremaine, Robert W. Wisniewski
-
Patent number: 7308538Abstract: With scope-based cache coherence, a cache can maintain scope information for a memory address. The scope information specifies caches in which data of the address is potentially cached, but not necessarily caches in which data of the address is actually cached. Appropriate scope information can be used as snoop filters to reduce unnecessary coherence messages and snoop operations in SMP systems. If a cache maintains scope information of an address, it can potentially avoid sending cache requests to caches outside the scope in case of a cache miss on the address. Scope information can be adjusted dynamically via a scope calibration operation to reflect changing data access patterns. A calibration prediction mechanism can be employed to predict when a scope calibration needs to be invoked.Type: GrantFiled: November 4, 2004Date of Patent: December 11, 2007Assignee: International Business Machines CorporationInventor: Xiaowei Shen
-
Patent number: 7287122Abstract: A method of managing a distributed cache structure having separate cache banks, by detecting that a given cache line has been repeatedly accessed by two or more processors which share the cache, and replicating that cache line in at least two separate cache banks. The cache line is optimally replicated in a cache bank having the lowest latency with respect to the given accessing processor. A currently accessed line in a different cache bank can be exchanged with a cache line in the cache bank with the lowest latency, and another line in the cache bank with lowest latency is moved to the different cache bank prior to the currently accessed line being moved to the cache bank with the lowest latency. Further replication of the cache line can be disabled when two or more processors alternately write to the cache line.Type: GrantFiled: October 7, 2004Date of Patent: October 23, 2007Assignee: International Business Machines CorporationInventors: Ramakrishnan Rajamony, Xiaowei Shen, Balaram Sinharoy
-
Patent number: 7266642Abstract: The present invention proposes a novel cache residence prediction mechanism that predicts whether requested data of a cache miss can be found in another cache. The memory controller can use the prediction result to determine if it should immediately initiate a memory access, or initiate no memory access until a cache snoop response shows that the requested data cannot be supplied by a cache. The cache residence prediction mechanism can be implemented at the cache side, the memory side, or both. A cache-side prediction mechanism can predict that data requested by a cache miss can be found in another cache if the cache miss address matches an address tag of a cache line in the requesting cache and the cache line is in an invalid state. A memory-side prediction mechanism can make effective prediction based on observed memory and cache operations that are recorded in a prediction table.Type: GrantFiled: February 17, 2004Date of Patent: September 4, 2007Assignee: International Business Machines CorporationInventors: Xiaowei Shen, Jaehyuk Huh, Balaram Sinharoy
-
Patent number: 7228388Abstract: Arrangements and method for enabling and disabling cache bypass in a computer system with a cache hierarchy. Cache bypass status is identified with respect to at least one cache line. A cache line identified as cache bypass enabled is transferred to one or more higher level caches of the cache hierarchy, whereby a next higher level cache in the cache hierarchy is bypassed, while a cache line identified as cache bypass disabled is transferred to one or more higher level caches of the cache hierarchy, whereby a next higher level cache in the cache hierarchy is not bypassed. Included is an arrangement for selectively enabling or disabling cache bypass with respect to at least one cache line based on historical cache access information.Type: GrantFiled: November 19, 2004Date of Patent: June 5, 2007Assignee: International Business Machines CorporationInventors: Zhigang Hu, John T. Robinson, Xiaowei Shen, Balaram Sinharoy
-
Publication number: 20070088919Abstract: The present invention comprises a data access pattern interface that allows software to specify one or more data access patterns such as stream access patterns, pointer-chasing patterns and producer-consumer patterns. Software detects a data access pattern for a memory region and passes the data access pattern information to hardware via proper data access pattern instructions defined in the data access pattern interface. Hardware maintains the data access pattern information properly when the data access pattern instructions are executed. Hardware can then use the data access pattern information to dynamically detect data access patterns for a memory region throughout the program execution, and voluntarily invoke appropriate memory and cache operations such as pre-fetch, pre-send, acquire-ownership and release-ownership.Type: ApplicationFiled: October 14, 2005Publication date: April 19, 2007Applicant: International Business MachinesInventors: Xiaowei Shen, Hazim Shafi
-
Publication number: 20070011408Abstract: In a network-based cache-coherent multiprocessor system, when a node receives a cache request, the node can perform an intra-node cache snoop operation and forward the cache request to a subsequent node in the network. A snoop-and-forward prediction mechanism can be used to predict whether lazy forwarding or eager forwarding is used in processing the incoming cache request. With lazy forwarding, the node cannot forward the cache request to the subsequent node until the corresponding intra-node cache snoop operation is completed. With eager forwarding, the node can forward the cache request to the subsequent node immediately, before the corresponding intra-node cache snoop operation is completed. Furthermore, the snoop-and-forward prediction mechanism can be enhanced seamlessly with an appropriate snoop filter to avoid unnecessary intra-node cache snoop operations.Type: ApplicationFiled: July 11, 2005Publication date: January 11, 2007Inventors: Xiaowei Shen, Karin Strauss
-
Publication number: 20060288173Abstract: An atomic transaction includes one or more memory access operations that are completed atomically. A Best-Effort Transaction (BET) system makes its best effort to complete each atomic transaction without guaranteeing completion of all atomic transactions. When an atomic transaction is aborted, BET may provide software with appropriate runtime information such as cause of the abortion. With proper coherence layer enhancements, BET can be implemented efficiently for multiprocessor systems, using caches as buffers for data accessed by atomic transactions. Furthermore, with appropriate fairness support, forward progress can be guaranteed for atomic transactions that incur no buffer overflow.Type: ApplicationFiled: June 20, 2005Publication date: December 21, 2006Inventor: Xiaowei Shen
-
Publication number: 20060265542Abstract: Systems and methods for cache replacement monitoring (CRM) are provided. The system includes a monitored cache comprising a monitored cache line set, the monitored cache line set comprising at least one cache line capable of holding data of a monitored address; and a CRM mechanism operatively associated with the monitored cache. The CRM mechanism collects CRM information for the monitored address. The method includes the steps of collecting CRM information for a monitored address in a monitored cache; and recording the CRM information for the monitored address, when at least one of (1) the monitored address is cached in the monitored cache, (2) the monitored address is replaced in the monitored cache, (3) any cache line in a cache line set corresponding to the monitored address is cached in the monitored cache, and (4) any cache line in a cache line set corresponding to the monitored address is replaced in the monitored cache.Type: ApplicationFiled: May 18, 2005Publication date: November 23, 2006Inventors: Xiaowei Shen, Yefim Shuf, Peter Sweeney
-
Publication number: 20060248287Abstract: Arrangements and methods for providing cache management. Preferably, a buffer arrangement is provided that is adapted to record incoming data into a first cache memory from a second cache memory, convey a data location in the first cache memory upon a prompt for corresponding data, in the event of a hit in the first cache memory, and refer to the second cache memory in the event of a miss in the first cache memory.Type: ApplicationFiled: April 29, 2005Publication date: November 2, 2006Applicant: IBM CorporationInventors: Alper Buyuktosunoglu, Zhigang Hu, Jude Rivers, John Robinson, Xiaowei Shen, Vijayalakshmi Srinivasan
-
Publication number: 20060155886Abstract: Methods, systems, and media for reducing memory latency seen by processors by providing a measure of control over on-chip memory (OCM) management to software applications, implicitly and/or explicitly, via an operating system are contemplated. Many embodiments allow part of the OCM to be managed by software applications via an application program interface (API), and part managed by hardware. Thus, the software applications can provide guidance regarding address ranges to maintain close to the processor to reduce unnecessary latencies typically encountered when dependent upon cache controller policies. Several embodiments utilize a memory internal to the processor or on a processor node so the memory block used for this technique is referred to as OCM.Type: ApplicationFiled: January 11, 2005Publication date: July 13, 2006Inventors: Dilma da Silva, Elmootazbellah Elnozahy, Orran Krieger, Hazim Shafi, Xiaowei Shen, Balaram Sinharoy, Robert Tremaine
-
Publication number: 20060155933Abstract: A hardware based method for determining when to migrate cache lines to the cache bank closest to the requesting processor to avoid remote access penalty for future requests. In a preferred embodiment, decay counters are enhanced and used in determining the cost of retaining a line as opposed to replacing it while not losing the data. In one embodiment, a minimization of off-chip communication is sought; this may be particularly useful in a CMP environment.Type: ApplicationFiled: January 13, 2005Publication date: July 13, 2006Applicant: International Business Machines CorporationInventors: Alper Buyuktosunoglu, Zhigang Hu, Jude Rivers, John Robinson, Xiaowei Shen, Vijayalakshmi Srinivasan
-
Publication number: 20060112228Abstract: In a multiprocessor non-uniform cache architecture system, multiple CPU cores shares one non-uniform cache that can be partitioned into multiple cache portions with varying access latencies. A placement prediction mechanism predicts whether a cache line should remain in a cache portion or migrate to another cache portion. The prediction mechanism maintains one or more prediction counters for each cache line. A prediction counter can be incremented or decremented by a constant or a variable determined by some runtime information, or set to its maximum or minimum value. An effective placement prediction mechanism can reduce average access latencies without causing cache thrashing among cache portions.Type: ApplicationFiled: November 20, 2004Publication date: May 25, 2006Inventor: Xiaowei Shen
-
Publication number: 20060112233Abstract: Arrangements and method for enabling and disabling cache bypass in a computer system with a cache hierarchy. Cache bypass status is identified with respect to at least one cache line. A cache line identified as cache bypass enabled is transferred to one or more higher level caches of the cache hierarchy, whereby a next higher level cache in the cache hierarchy is bypassed, while a cache line identified as cache bypass disabled is transferred to one or more higher level caches of the cache hierarchy, whereby a next higher level cache in the cache hierarchy is not bypassed. Included is an arrangement for selectively enabling or disabling cache bypass with respect to at least one cache line based on historical cache access information.Type: ApplicationFiled: November 19, 2004Publication date: May 25, 2006Applicant: IBM CorporationInventors: Zhigang Hu, John Robinson, Xiaowei Shen, Balaram Sinharoy
-
Publication number: 20060106995Abstract: We present a triangle ordering mechanism that maintains triangle ordering of coherence messages in SMP systems. If cache A sends a multicast message to caches B and C, and if cache B sends a message to cache C after receiving and processing the multicast message from cache A, the triangle ordering mechanism ensures that cache C processes the multicast message from cache A before processing the message from cache B. The triangle ordering mechanism enables efficient snoopy cache coherence in SMP systems in which caches communicate with each other via message-passing networks. A modified version of the triangle ordering mechanism categorizes coherence messages into non-overlapping sequencing classes, and ensures triangle ordering for coherence messages in the same sequencing class. The modified triangle ordering mechanism can significantly reduce potential performance degradation due to false waiting.Type: ApplicationFiled: November 16, 2004Publication date: May 18, 2006Inventor: Xiaowei Shen
-
Publication number: 20060101249Abstract: A response to the continuing trend of ever-increasing processor speeds and attendant increases in memory latencies. Broadly contemplated herein are braids and fibers, high-level programming constructs which facilitate the creation of programs that are partially ordered. These partial orders can be used to respond adaptively to memory latencies. It is shown how these constructs can be effectively supported with simple and inexpensive instruction set and micro-architectural extensions.Type: ApplicationFiled: October 5, 2004Publication date: May 11, 2006Applicant: IBM CorporationInventors: David Bacon, Xiaowei Shen
-
Publication number: 20060095684Abstract: With scope-based cache coherence, a cache can maintain scope information for a memory address. The scope information specifies caches in which data of the address is potentially cached, but not necessarily caches in which data of the address is actually cached. Appropriate scope information can be used as snoop filters to reduce unnecessary coherence messages and snoop operations in SMP systems. If a cache maintains scope information of an address, it can potentially avoid sending cache requests to caches outside the scope in case of a cache miss on the address. Scope information can be adjusted dynamically via a scope calibration operation to reflect changing data access patterns. A calibration prediction mechanism can be employed to predict when a scope calibration needs to be invoked.Type: ApplicationFiled: November 4, 2004Publication date: May 4, 2006Inventor: Xiaowei Shen
-
Publication number: 20060080506Abstract: A method of managing a distributed cache structure having separate cache banks, by detecting that a given cache line has been repeatedly accessed by two or more processors which share the cache, and replicating that cache line in at least two separate cache banks. The cache line is optimally replicated in a cache bank having the lowest latency with respect to the given accessing processor. A currently accessed line in a different cache bank can be exchanged with a cache line in the cache bank with the lowest latency, and another line in the cache bank with lowest latency is moved to the different cache bank prior to the currently accessed line being moved to the cache bank with the lowest latency. Further replication of the cache line can be disabled when two or more processors alternately write to the cache line.Type: ApplicationFiled: October 7, 2004Publication date: April 13, 2006Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Ramakrishnan Rajamony, Xiaowei Shen, Balaram Sinharoy
-
Publication number: 20060004967Abstract: A computer architecture that includes a hierarchical memory system and one or more processors. The processors execute memory access instructions whose semantics are defined in terms of the hierarchical structure of the memory system. That is, rather than attempting to maintain the illusion that the memory system is shared by all processors such that changes made by one processor are immediately visible to other processors, the memory access instructions explicitly address access to a processor-specific memory, and data transfer between the processor-specific memory and the shared memory system. Various alternative embodiments of the memory system are compatible with these instructions. These alternative embodiments do not change the semantic meaning of a computer program which uses the memory access instructions, but allow different approaches to how and when data is actually passed from one processor to another.Type: ApplicationFiled: July 7, 2005Publication date: January 5, 2006Inventors: Arvind Mithal, Xiaowei Shen, Lawrence Rogel