Search

DE-112023005232-B4 - UNGÜLTIGKEITSSCHUTZ FÜR GEMEINSAM GENUTZTE CACHE-ZEILEN

DE112023005232B4DE 112023005232 B4DE112023005232 B4DE 112023005232B4DE-112023005232-B4

Abstract

Computerprogrammprodukt, das dazu dient, eine Verarbeitung innerhalb einer Datenverarbeitungsumgebung (101) zu vereinfachen, wobei das Computerprogrammprodukt aufweist: ein oder mehrere durch einen Computer lesbare Speichermedien und Programmanweisungen, die zusammen auf dem einen oder den mehreren durch einen Computer lesbaren Speichermedien gespeichert sind, um ein Verfahren durchzuführen, das aufweist: Erhalten (510), durch einen Knoten (200) der Datenverarbeitungsumgebung (101), einer Anforderung für einen exklusiven Abruf einer Cache-Zeile, die von mindestens dem Knoten (200) und einem Manager-Knoten der Datenverarbeitungsumgebung (101) gemeinsam genutzt wird, wobei die Anforderung für einen exklusiven Abruf eine Zustandsanzeige in Bezug auf die Verarbeitung der Anforderung für einen exklusiven Abruf durch den Manager-Knoten aufweist; und Verarbeiten, durch den Knoten (200), der Anforderung für einen exklusiven Abruf auf der Grundlage der in der Anforderung für einen exklusiven Abruf enthaltenen Zustandsanzeige in Bezug auf die Verarbeitung der Anforderung für einen exklusiven Abruf durch den Manager-Knoten.

Inventors

  • Winston Herring
  • Gregory William Alexander
  • Timothy Bronson
  • Jason D Kohl

Assignees

  • INTERNATIONAL BUSINESS MACHINES CORPORATION

Dates

Publication Date
20260507
Application Date
20231123
Priority Date
20221215

Claims (20)

  1. Computerprogrammprodukt, das dazu dient, eine Verarbeitung innerhalb einer Datenverarbeitungsumgebung (101) zu vereinfachen, wobei das Computerprogrammprodukt aufweist: ein oder mehrere durch einen Computer lesbare Speichermedien und Programmanweisungen, die zusammen auf dem einen oder den mehreren durch einen Computer lesbaren Speichermedien gespeichert sind, um ein Verfahren durchzuführen, das aufweist: Erhalten (510), durch einen Knoten (200) der Datenverarbeitungsumgebung (101), einer Anforderung für einen exklusiven Abruf einer Cache-Zeile, die von mindestens dem Knoten (200) und einem Manager-Knoten der Datenverarbeitungsumgebung (101) gemeinsam genutzt wird, wobei die Anforderung für einen exklusiven Abruf eine Zustandsanzeige in Bezug auf die Verarbeitung der Anforderung für einen exklusiven Abruf durch den Manager-Knoten aufweist; und Verarbeiten, durch den Knoten (200), der Anforderung für einen exklusiven Abruf auf der Grundlage der in der Anforderung für einen exklusiven Abruf enthaltenen Zustandsanzeige in Bezug auf die Verarbeitung der Anforderung für einen exklusiven Abruf durch den Manager-Knoten.
  2. Computerprogrammprodukt nach Anspruch 1 , wobei die Zustandsanzeige einen Annahmeanzeiger aufweist, der anzeigt, ob der Manager-Knoten die Anforderung für einen exklusiven Abruf angenommen hat.
  3. Computerprogrammprodukt nach Anspruch 2 , wobei die Zustandsanzeige des Weiteren einen Ablehnungsanzeiger aufweist, der anzeigt, ob der Manager-Knoten die Anforderung für einen exklusiven Abruf abgelehnt hat.
  4. Computerprogrammprodukt nach Anspruch 1 , wobei die Zustandsanzeige einen Ablehnungsanzeiger aufweist, der anzeigt, ob der Manager-Knoten die Anforderung für einen exklusiven Abruf abgelehnt hat.
  5. Computerprogrammprodukt nach Anspruch 4 , wobei der Ablehnungsanzeiger des Weiteren einen Grund für das Ablehnen der Anforderung für einen exklusiven Abruf anzeigt.
  6. Computerprogrammprodukt nach Anspruch 5 , wobei die Verarbeitung aufweist: Feststellen (540), auf der Grundlage des Ablehnungsanzeigers, dass der Manager-Knoten die Anforderung für einen exklusiven Abruf aus einem ausgewählten Grund abgelehnt hat; und Ablehnen (550), durch den Knoten (200), der Anforderung für einen exklusiven Abruf auf der Grundlage des Feststellens, dass der Manager-Knoten die Anforderung für einen exklusiven Abruf aus dem ausgewählten Grund abgelehnt hat.
  7. Computerprogrammprodukt nach Anspruch 1 , wobei die Verarbeitung aufweist: Feststellen, auf der Grundlage der Zustandsanzeige, dass der Manager-Knoten die Anforderung für einen exklusiven Abruf abgelehnt hat; und Ablehnen, durch den Knoten (200), der Anforderung für einen exklusiven Abruf auf der Grundlage des Feststellens, dass der Manager-Knoten die Anforderung für einen exklusiven Abruf abgelehnt hat.
  8. Computerprogrammprodukt nach Anspruch 7 , wobei die Datenverarbeitungsumgebung (101) eine Mehrzahl von Knoten (200) aufweist, um die Anforderung für einen exklusiven Abruf zu empfangen, und wobei das Ablehnen durch die Mehrzahl von Knoten (200), welche die Anforderung für einen exklusiven Abruf empfangen, auf der Grundlage des Feststellens, dass der Manager-Knoten die Anforderung für einen exklusiven Abruf abgelehnt hat, durchgeführt wird.
  9. Computerprogrammprodukt nach Anspruch 1 , wobei die Verarbeitung aufweist: Feststellen (520), auf der Grundlage der Zustandsanzeige, dass der Manager-Knoten die Anforderung für einen exklusiven Abruf angenommen hat; und Annehmen (530), durch den Knoten (200), der Anforderung für einen exklusiven Abruf auf der Grundlage des Feststellens, dass der Manager-Knoten die Anforderung für einen exklusiven Abruf angenommen hat.
  10. Computerprogrammprodukt nach Anspruch 1 , wobei die Datenverarbeitungsumgebung (101) mehrere Ebenen von Manager-Knoten aufweist und wobei es sich bei der Zustandsanzeige, auf der die Verarbeitung beruht, um die Zustandsanzeige eines ausgewählten Manager-Knotens auf einer ausgewählten Ebene der mehreren Ebenen handelt.
  11. Computersystem, das dazu dient, eine Verarbeitung innerhalb einer Datenverarbeitungsumgebung (101) zu vereinfachen, wobei das Computersystem aufweist: einen Hauptspeicher (121); und einen Prozessor (120), der mit dem Hauptspeicher (121) in Verbindung steht, wobei das Computersystem so konfiguriert ist, dass es ein Verfahren durchführt, wobei das Verfahren aufweist: Erhalten (510), durch einen Knoten (200) der Datenverarbeitungsumgebung (101), einer Anforderung für einen exklusiven Abruf einer Cache-Zeile, die von mindestens dem Knoten (200) und einem Manager-Knoten der Datenverarbeitungsumgebung (101) gemeinsam genutzt wird, wobei die Anforderung für einen exklusiven Abruf eine Zustandsanzeige in Bezug auf die Verarbeitung der Anforderung für einen exklusiven Abruf durch den Manager-Knoten aufweist; und Verarbeiten, durch den Knoten (200), der Anforderung für einen exklusiven Abruf auf der Grundlage der in der Anforderung für einen exklusiven Abruf enthaltenen Zustandsanzeige in Bezug auf die Verarbeitung der Anforderung für einen exklusiven Abruf durch den Manager-Knoten.
  12. Computersystem nach Anspruch 11 , wobei die Zustandsanzeige einen Annahmeanzeiger aufweist, der anzeigt, ob der Manager-Knoten die Anforderung für einen exklusiven Abruf angenommen hat.
  13. Computersystem nach Anspruch 11 , wobei die Zustandsanzeige einen Ablehnungsanzeiger aufweist, der anzeigt, ob der Manager-Knoten die Anforderung für einen exklusiven Abruf abgelehnt hat.
  14. Computersystem nach Anspruch 11 , wobei das Verarbeiten aufweist: Feststellen (540), auf der Grundlage der Zustandsanzeige, dass der Manager-Knoten die Anforderung für einen exklusiven Abruf abgelehnt hat; und Ablehnen (550), durch den Knoten (200), der Anforderung für einen exklusiven Abruf auf der Grundlage des Feststellens, dass der Manager-Knoten die Anforderung für einen exklusiven Abruf abgelehnt hat.
  15. Computersystem nach Anspruch 11 , wobei das Verarbeiten aufweist: Feststellen (520), auf der Grundlage der Zustandsanzeige, dass der Manager-Knoten die Anforderung für einen exklusiven Abruf angenommen hat; und Annehmen (530), durch den Knoten (200), der Anforderung für einen exklusiven Abruf auf der Grundlage des Feststellens, dass der Manager-Knoten die Anforderung für einen exklusiven Abruf angenommen hat.
  16. Durch einen Computer ausgeführtes Verfahren zum Vereinfachen der Verarbeitung innerhalb einer Datenverarbeitungsumgebung (101), wobei das durch einen Computer ausgeführte Verfahren aufweist: Erhalten, durch einen Knoten (200) der Datenverarbeitungsumgebung (101), einer Anforderung für einen exklusiven Abruf einer Cache-Zeile, die von mindestens dem Knoten (200) und einem Manager-Knoten der Datenverarbeitungsumgebung (101) gemeinsam genutzt wird, wobei die Anforderung für einen exklusiven Abruf eine Zustandsanzeige in Bezug auf die Verarbeitung der Anforderung für einen exklusiven Abruf durch den Manager-Knoten aufweist; und Verarbeiten, durch den Knoten (200), der Anforderung für einen exklusiven Abruf auf der Grundlage der in der Anforderung für einen exklusiven Abruf enthaltenen Zustandsanzeige in Bezug auf die Verarbeitung der Anforderung für einen exklusiven Abruf durch den Manager-Knoten.
  17. Durch einen Computer ausgeführtes Verfahren nach Anspruch 16 , wobei die Zustandsanzeige einen Annahmeanzeiger aufweist, der anzeigt, ob der Manager-Knoten die Anforderung für einen exklusiven Abruf angenommen hat.
  18. Durch einen Computer ausgeführtes Verfahren nach Anspruch 16 , wobei die Zustandsanzeige einen Ablehnungsanzeiger aufweist, der anzeigt, ob der Manager-Knoten die Anforderung für einen exklusiven Abruf abgelehnt hat.
  19. Durch einen Computer ausgeführtes Verfahren nach Anspruch 16 , wobei das Verarbeiten aufweist: Feststellen (540), auf der Grundlage der Zustandsanzeige, dass der Manager-Knoten die Anforderung für einen exklusiven Abruf abgelehnt hat; und Ablehnen (550), durch den Knoten (200), der Anforderung für einen exklusiven Abruf auf der Grundlage des Feststellens, dass der Manager-Knoten die Anforderung für einen exklusiven Abruf abgelehnt hat.
  20. Durch einen Computer ausgeführtes Verfahren nach Anspruch 16 , wobei das Verarbeiten aufweist: Feststellen (520), auf der Grundlage der Zustandsanzeige, dass der Manager-Knoten die Anforderung für einen exklusiven Abruf angenommen hat; und Annehmen (530), durch den Knoten (200), der Anforderung für einen exklusiven Abruf auf der Grundlage des Feststellens, dass der Manager-Knoten die Anforderung für einen exklusiven Abruf angenommen hat.

Description

HINTERGRUND Ein oder mehrere Aspekte betreffen im Allgemeinen ein Vereinfachen einer Verarbeitung innerhalb einer Datenverarbeitungsumgebung und insbesondere ein Verbessern einer Cacheverarbeitung innerhalb der Datenverarbeitungsumgebung. Zur Verbesserung des Hauptspeicherzugriffs verwenden viele Datenverarbeitungsumgebungen ein Cachesystem, bei dem Daten, auf die vor Kurzem zugegriffen wurde, in Caches gespeichert werden, die sich räumlich näher als der Systemspeicher bei den Knoten befinden, welche auf die Caches zugreifen. In einem Beispiel verfügt jeder Knoten einer Mehrzahl von Knoten einer Datenverarbeitungsumgebung über einen Cache, und Cache-Zeilen können insofern durch die Knoten gemeinsam genutzt werden, als eine schreibgeschützte Kopie einer Cache-Zeile in mehreren Caches von mehreren Knoten vorhanden sein kann. Wenn ein Knoten eine Cache-Zeile anfordert, die im Cache von mindestens einem weiteren Knoten vorhanden ist, ist ein Manager-Knoten für diese Cache-Zeile dafür zuständig, die Anforderung zu beantworten. Anforderungen für die Cache-Zeile können schreibgeschützt sein, wobei mehrere Knoten die Zeile zu Lesezwecken abrufen können, oder es kann sich um einen exklusiven Abruf handeln, wobei nur ein Knoten die Zeile zu Aktualisierungszwecken abrufen darf. Ein exklusiver Abruf einer Cache-Zeile wird als erfolgreich betrachtet, wenn er vom Manager-Knoten sowie den anderen Nicht-Manager-Knoten angenommen wird. Wenn ein Knoten für einen anderen Abruf derselben Cache-Zeile aktiv ist oder über keine einen Abruf bedienende Ressourcen mehr verfügt, lehnt dieser Knoten den exklusiven Abruf ab, und der exklusive Abruf muss wiederholt werden. Diese Verarbeitung soll verbessert werden, um die Gesamtverarbeitung innerhalb der Datenverarbeitungsumgebung zu verbessern. US 2016 / 0110287 offenbart ein konventionelles Verfahren für eine Cache-Zugriff unter Verwendung von eines Cache-Kohärenzstatus. KURZDARSTELLUNG Durch die Bereitstellung eines Computerprogrammprodukts, das dazu dient, die Verarbeitung innerhalb einer Datenverarbeitungsumgebung zu vereinfachen, werden Unzulänglichkeiten nach dem Stand der Technik überwunden und zusätzliche Vorteile bereitgestellt. Das Computerprogrammprodukt weist ein oder mehrere durch einen Computer lesbare Speichermedien und Programmanweisungen auf, die zusammen auf dem einen oder den mehreren durch einen Computer lesbaren Speichermedien gespeichert sind, um ein Verfahren durchzuführen. Das Verfahren weist auf: ein Erhalten, durch einen Knoten der Datenverarbeitungsumgebung, einer Anforderung für einen exklusiven Abruf einer Cache-Zeile, die von mindestens dem Knoten und einem Manager-Knoten der Datenverarbeitungsumgebung gemeinsam genutzt wird. Die Anforderung für einen exklusiven Abruf weist eine Zustandsanzeige in Bezug auf die Verarbeitung der Anforderung für einen exklusiven Abruf durch den Manager-Knoten auf. Der Knoten verarbeitet die Anforderung für einen exklusiven Abruf auf der Grundlage der in der Anforderung für einen exklusiven Abruf enthaltenen Zustandsanzeige in Bezug auf die Verarbeitung der Anforderung für einen exklusiven Abruf durch den Manager-Knoten. Indem die Zustandsanzeige in die Anforderung für einen exklusiven Abruf aufgenommen wird, kann der Knoten feststellen, wie die Anforderung verarbeitet werden soll. Zum Beispiel kann der Knoten, auf der Grundlage der Zustandsanzeige, die Anforderung annehmen und somit seine Kopie der Cache-Zeile ungültig machen; oder der Knoten kann die Anforderung, auf der Grundlage der Zustandsanzeige, ablehnen und seine Kopie der Cache-Zeile daher nicht ungültig machen. Dies vereinfacht die Verarbeitung, indem Ungültigmachungen der Cache-Zeile unter ausgewählten Umständen, wie beispielsweise auf der Grundlage der Zustandsanzeige, durchgeführt werden, anstatt bei jeder erneuten Rundsendeübertragung der Anforderung für einen exklusiven Abruf eine Ungültigmachung durchzuführen. Dadurch kann die Anzahl der Ungültigmachungen der Cache-Zeile verringert werden, wodurch Kopien der Cache-Zeile geschützt werden. In einer einzelnen Ausführungsform weist die Zustandsanzeige einen Annahmeanzeiger auf, der anzeigt, ob der Manager-Knoten die Anforderung für einen exklusiven Abruf angenommen hat. Dies vereinfacht die Verarbeitung, indem dem Knoten angezeigt wird, wenn der Manager-Knoten die Anforderung für einen exklusiven Abruf angenommen hat. Daher kann der Knoten die Anforderung für einen exklusiven Abruf ebenfalls annehmen und seine Kopie der Cache-Zeile ungültig machen, anstatt bei jeder Wiederholung des exklusiven Abrufs eine Ungültigmachung durchzuführen. Dies spart Verarbeitungszyklen und verringert den Zugriff auf den Systemspeicher. In einer einzelnen Ausführungsform weist die Zustandsanzeige des Weiteren einen Ablehnungsanzeiger auf, der anzeigt, ob der Manager-Knoten die Anforderung für einen exklusiven Abruf abgelehnt hat. Dies vereinfacht die Verarbeitung, indem dem Knoten angezeigt wird, wenn der Manager-Knoten die Anforderu