Configuration based cache coherency protocol selection

US2016147658A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2016147658-A1
Application numberUS-201414548988-A
CountryUS
Kind codeA1
Filing dateNov 20, 2014
Priority dateNov 20, 2014
Publication dateMay 26, 2016
Grant date

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Topology of clusters of processors of a computer configuration, configured to support any of a plurality of cache coherency protocols, is discovered at initialization time to determine which one of the plurality of cache coherency protocols is to be used to handle coherency requests of the configuration

First claim

Opening claim text (preview).

1 . A computer system for selecting and performing one of a plurality of cache coherency protocols, the computer system comprising: a first node of a configuration comprising one or more communicatively coupled nodes, each node comprising one or more communicatively coupled computer elements, each computer element consisting of at least one of a cluster or a storage controller (SC) function, each cluster comprising one or more processors, the SC function comprising a shared cache, the shared cache being shared by processors of each cluster, the first node configured to perform a method, said method comprising: initiating communication, by each element of the configuration, to other elements of the configuration to determine configuration topology; based on a result of the initiated communication, storing a coherency value by an element of the first node; based on the coherency value, selecting, by each element of the first node, a cache coherency protocol of the plurality of cache coherency protocols to be used by the first node; and using, by the first node, the selected cache coherency protocol to handle cache coherency requests. 2 . The computer system according to claim 1 , wherein the configuration topology consists of the first node, wherein the plurality of cache coherency protocols comprise a first protocol that does not use an SC function to maintain cache coherency of the first node and a second protocol that uses an SC function to maintain cache coherency of the first node. 3 . The computer system according to claim 1 , wherein the configuration topology consists of the first node, the using the selected cache coherency protocol further comprising accessing an inclusive directory of the SC function of the first node to handle the cache coherency requests. 4 . The computer system according to claim 1 , wherein the configuration topology further comprises one or more second nodes, the first node communicatively coupled to said one or more second nodes, the using the selected cache coherency protocol further comprises: accessing, by the first node, an inclusive directory of the SC function of the first node to handle the cache coherency requests; based on determining, by the first node, that the cache coherency operation can be performed solely by the first node, performing the cache coherency operation, by the first node, without accessing caches of the one or more second nodes; and based on determining, by the first node, that the cache coherency operation must access said one or more second nodes, performing the cache coherency operation by accessing caches of said one or more second nodes. 5 . The computer system according to claim 1 , wherein the plurality of cache coherency protocols comprise a third protocol and a fourth protocol for maintaining cache coherency of the node wherein the third protocol is the MESI protocol and the fourth protocol is the MOESI protocol. 6 . The computer system according to claim 2 , wherein the configuration topology further comprises one or more second nodes, the first node communicatively coupled to said one or more second nodes, wherein the SC function of the first node determines that one of the first protocol and second protocol is to be used in local cache coherency operations within the first node and that a different one of the first protocol and second protocol is to be used in global cache coherency operations involving said one or more second nodes. 7 . The computer system according to claim 1 , wherein the configuration topology further comprises one or more second nodes, the first node communicatively coupled to said one or more second nodes, wherein a first plurality of nodes are communicatively coupled by an S-Bus, the first plurality of nodes communicatively coupled to other nodes of the plurality of nodes by one or more A-Buses wherein coherency operations are broadcast to all nodes by way of the S-Bus and-the one or more A-Buses. 8 . A computer program product for selecting and performing one of a plurality of cache coherency protocols in a computer system comprising a first node of a configuration comprising one or more communicatively coupled nodes, each node comprising one or more communicatively coupled computer elements, each computer element consisting of at least one of a cluster or a storage controller (SC) function, each cluster comprising one or more processors, the SC function comprising a shared cache, the shared cache being shared by processors of each cluster, the computer program product comprising: a computer readable storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method comprising: initiating communication, by each element of the configuration, to other elements of the configuration to determine configuration topology; based on a result of the initiated communication, storing a coherency value, by an element of the first node; based on the coherency value, selecting, by each element of the first node, a cache coherency protocol of the plurality of cache coherency protocols to be used by the first node; and using, by the first node, the selected cache coherency protocol to handle cache coherency requests. 9 . The computer program product according to claim 8 , wherein the configuration topology consists of the first node, wherein the plurality of cache coherency protocols comprise a first protocol that does not use an SC function to maintain cache coherency of the first node and a second protocol that uses an SC function to maintain cache coherency of the first node. 10 . The computer program product according to claim 8 , wherein the configuration topology consists of the first node, wherein the using the selected cache coherency further comprises accessing an inclusive directory of the SC function of the first node to handle cache coherency requests. 11 . The computer program product according to claim 8 , wherein the configuration topology further comprises one or more second nodes, the first node communicatively coupled to said one or more second nodes, the using the selected cache coherency protocol further comprises: accessing, by the first node, an inclusive directory of the SC function of the first node to handle the cache coherency requests; based on determining, by the first node, that the cache coherency operation can be performed solely by the first node, performing the cache coherency operation, by the first node, without accessing caches of the one or more second nodes; and based on determining, by the first node, that the cache coherency operation must access said one or more second nodes, performing the cache coherency operation by accessing caches of said one or more second nodes. 12 . The computer program product according to claim 8 , wherein the plurality of cache coherency protocols comprise a third protocol and a fourth protocol for maintaining cache coherency of the node wherein the third protocol is the MESI protocol and the fourth protocol is the MOESI protocol. 13 . The computer program product according to claim 9 , wherein the configuration topology further comprises one or more second nodes, the first node communicatively coupled to said one or more second nodes, wherein the SC function of the first node determines that one of the first protocol and second protocol is to be used in local cache coherency operations within the first node and that a different one of the first protocol and second protocol is to be used in global cache coherency operations involving said one or more second nodes. 14 . The computer program product according

Assignees

Inventors

Classifications

  • Cache consistency protocols · CPC title

  • using directory methods · CPC title

  • with a shared cache · CPC title

  • using a bus scheme, e.g. with bus monitoring or watching means · CPC title

  • Performance improvement · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US2016147658A1 cover?
Topology of clusters of processors of a computer configuration, configured to support any of a plurality of cache coherency protocols, is discovered at initialization time to determine which one of the plurality of cache coherency protocols is to be used to handle coherency requests of the configuration
Who is the assignee on this patent?
IBM, IBM
What technology area does this patent fall under?
Primary CPC classification G06F12/0815. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu May 26 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).