DE102007048601A1 - Datenspeicherung in einem Schaltsystem, das mehrere Prozessoren eines Computersystems koppelt - Google Patents

Datenspeicherung in einem Schaltsystem, das mehrere Prozessoren eines Computersystems koppelt Download PDF

Info

Publication number
DE102007048601A1
DE102007048601A1 DE102007048601A DE102007048601A DE102007048601A1 DE 102007048601 A1 DE102007048601 A1 DE 102007048601A1 DE 102007048601 A DE102007048601 A DE 102007048601A DE 102007048601 A DE102007048601 A DE 102007048601A DE 102007048601 A1 DE102007048601 A1 DE 102007048601A1
Authority
DE
Germany
Prior art keywords
data
processing units
switching system
memory
stored
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
DE102007048601A
Other languages
English (en)
Inventor
Judson E. Ft. Collins Veazey
Donna E. Ft. Collins Ott
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of DE102007048601A1 publication Critical patent/DE102007048601A1/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Multi Processors (AREA)

Abstract

Es ist ein Rechensystem vorgesehen, das eine Anzahl von Verarbeitungseinheiten und ein mit jeder dermfasst. Das Schaltsystem umfasst einen Speicher. Jede der Verarbeitungseinheiten ist dahingehend konfiguriert, auf Daten von einer anderen der Verarbeitungseinheiten durch das Schaltsystem zuzugreifen. Das Schaltsystem ist dahingehend konfiguriert, eine Kopie der durch dasselbe gelangenden Daten in den Speicher einzuspeichern, während die Daten zwischen den Verarbeitungseinheiten durch das Schaltsystem gelangen. Jede der Verarbeitungseinheiten ist ferner dahingehend konfiguriert, auf die Kopie der Daten in dem Speicher des Schaltsystems zuzugreifen.

Description

  • Rechensysteme gibt es in vielen Variationen, z.B. Mehrzweck-Rechensysteme oder algorithmische Vorrichtungen, die für spezifischere Aufgaben gedacht sind. Zusammen mit den Kosten ist eine der wichtigsten Charakteristika jedes Computersystems jedoch seine Leistungsfähigkeit. Die Leistungsfähigkeit bzw. Arbeitsgeschwindigkeit wird oft anhand einer Anzahl von Vorgängen quantifiziert, die das System während eines bestimmten Zeitraums ausführen kann. Die Leistungsfähigkeit typischer Computersysteme, die eine einzige primäre Verarbeitungseinheit einsetzen, nimmt auf Grund einer Anzahl von Faktoren seit vielen Jahren ständig zu. Beispielsweise haben Verbesserungen der rohen Arbeitsgeschwindigkeit verschiedener Systemkomponenten wie z.B. der Verarbeitungseinheit selbst, eines Datenspeichers, von Eingabe-/Ausgabe-(I/O-)Peripheriegeräten und anderen Teilen des Systems zu der erhöhten Leistungsfähigkeit beigetragen. Außerdem haben Fortschritte bei der Innenstruktur der Verarbeitungseinheit, einschließlich des verwendeten Anweisungssatzes, der Anzahl von integrierten internen Datenregistern usw., die Computerleistungsfähigkeit verbessert. Andere strukturelle Belange wie z.B. die Verwendung eines hierarchischen Datenspeicherungssystems, das einen oder mehrere Cache-Speicher für Daten, auf die oft zugegriffen wird, einsetzt, haben ebenfalls zu diesen Verbesserungen der Leistungsfähigkeit beigetragen.
  • Um größere Verbesserungen der Computerausführungsgeschwindigkeit, die über das Einzelprozessormodell hinausgehen, zu erzielen, wurden bereits zahlreiche Multiprozessor-Rechensystemarchitekturen, bei denen mehrere Verarbeitungseinheiten miteinander gekoppelt sind, um auf eine gewisse kooperative Weise zu arbeiten, vorgeschlagen und implemen tiert. Um eine gemeinsame Aufgabe zu erfüllen, kommunizieren die Verarbeitungseinheiten normalerweise miteinander, indem sie bestimmte Arten von Informationen gemeinsam verwenden, was es den Verarbeitungseinheiten ermöglicht, ihre Aktivitäten zu koordinieren. Viele dieser ersonnenen Architekturen implementieren die gemeinsame Verwendung von Daten, zusammen mit Ausführungssteuerungs- und Statusinformationen, seitens der Verarbeitungseinheiten mittels eines gemeinsamen Speicheradressraums.
  • Normalerweise besteht ein Ziel eines Mehrfachverarbeitungscomputersystems in einer extremen Verringerung der Ausführungszeit für eine bestimmte Aufgabe gegenüber einem Einzelprozessorcomputer. Diese Verringerung nähert sich an eine theoretische Grenze eines Faktors an, der gleich der Anzahl von verwendeten Verarbeitungseinheiten ist. Ungünstigerweise können Probleme, die bei Einzelprozessorsystemen nicht angetroffen werden, z.B. die Konkurrenz zwischen den mehreren Verarbeitungseinheiten um denselben Anteil eines gemeinsam verwendeten Adressraums, die Ausführung einer oder mehrerer der Verarbeitungseinheiten verlangsamen, wodurch die erreichbare Zunahme der Leistungsfähigkeit behindert wird.
  • Um dieses Problem anzugehen, ermöglichen manche Rechensysteme, dass in dem System mehrere Kopien derselben Daten existieren, so dass jegliche Konkurrenz um einen Zugriff auf dieselben Daten zwischen Verarbeitungseinheiten abgemildert werden kann. Wenn jedoch jede der Verarbeitungseinheiten eine oder mehrere der in dem System vorliegenden Datenkopien ändern kann, kann ohne einige Regeln bezüglich des Vorliegens der Kopien und Einschränkungen bezüglich der Modifizierung dieser Daten die Kohärenz oder Einheitlichkeit der Daten beeinträchtigt werden. Diese Regeln tendieren wiederum dazu, die Effektivität eines Ermöglichens von mehreren Kopien der Daten zu verringern.
  • Die Aufgabe der vorliegenden Erfindung besteht darin, ein Rechensystem und ein Verfahren mit verbesserten Charakteristika zu liefern.
  • Diese Aufgabe wird durch ein Rechensystem gemäß Anspruch 1 oder durch ein Verfahren gemäß 6 Anspruch gelöst.
  • Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend Bezug nehmend auf die beiliegenden Zeichnungen näher erläutert. Es zeigen:
  • 1 ein Blockdiagramm eines Rechensystems gemäß einem Ausführungsbeispiel der Erfindung;
  • 2 ein Flussdiagramm eines Verfahrens zum Betreiben eines Rechensystems gemäß einem Ausführungsbeispiel der Erfindung;
  • 3 ein Blockdiagramm eines Rechensystems gemäß einem weiteren Ausführungsbeispiel der Erfindung;
  • 4 ein Blockdiagramm einer Verarbeitungseinheit des Rechensystems der 3 gemäß einem weiteren Ausführungsbeispiel der Erfindung;
  • 5 ein Flussdiagramm eines Verfahrens zum Betreiben des Rechensystems der 3 und 4 gemäß einem Ausführungsbeispiel der Erfindung.
  • Ein Ausführungsbeispiel der Erfindung ist ein Rechensystem 100, wie es in 1 gezeigt ist. In dem Rechensystem 100 ist eine Mehrzahl von Verarbeitungseinheiten 100a, 100b, 100c enthalten. Obwohl in 1 zumindest drei Verarbeitungseinheiten gezeigt sind, kann bei anderen Ausführungsbeispielen ein Minimum von zwei verwendet werden. Ein Schaltsystem 120, das einen Speicher 130 umfasst, ist mit jeder Verarbeitungseinheit 110 gekoppelt. Jede der Verarbeitungseinheiten 110 ist dahin gehend konfiguriert, durch das Schaltsystem 120 auf Daten von einer anderen der Verarbeitungseinheiten 110 zuzugreifen. Das Schaltsystem 120 ist dahin gehend konfiguriert, eine Kopie der Daten in den Speicher 130 einzuspeichern, während die Daten zwischen den Verarbeitungseinheiten 110 durch das Schaltsystem 120 gelangen. Ferner ist jede der Verarbeitungseinheiten 110 außerdem dahin gehend konfiguriert, auf die Kopie der Daten in dem Speicher 130 des Schaltsystems 120 zuzugreifen.
  • Anhand eines Flussdiagramms veranschaulicht 2 ein Verfahren 200 zum Betreiben eines Rechensystems, z.B. des Systems 100 der 1. Jedoch können bei anderen Ausführungsbeispielen andere Systeme zum Ausführen des Verfahrens 200 eingesetzt werden. Zunächst wird eine Mehrzahl von Verarbeitungseinheiten mittels eines Schaltsystems miteinander gekoppelt (Vorgang 202). In jeder der Verarbeitungseinheiten wird durch das Schaltsystem auf Daten in einer anderen der Verarbeitungseinheiten zugegriffen (Vorgang 204). Bei dem Schaltsystem wird eine Kopie der Daten gespeichert, während die Daten zwischen den Verarbeitungseinheiten durch das Schaltsystem gelangen (Vorgang 206). Ferner wird in jeder der Verarbeitungseinheiten auf die Kopie der Daten, die in dem Schaltsystem gespeichert sind, zugegriffen (Vorgang 208).
  • 3 zeigt ein bestimmtes Rechensystem 300 gemäß einem weiteren Ausführungsbeispiel der Erfindung. Obwohl das Rechensystem 300 nachstehend spezifisch beschrieben ist, z.B. die Anzahl von Verarbeitungseinheiten, die Art von Schaltsystem, das zum Verbinden der Verarbeitungseinheiten miteinander verwendet wird, und so weiter, sind auch andere Ausführungsbeispiele möglich, die Variationen der nachstehend dargelegten Einzelheiten verwenden.
  • Das Rechensystem 300 umfasst vier Verarbeitungseinheiten 310a, 310b, 310c, 310d. Jede der Verarbeitungseinheiten ist mit einem Kreuzschienenschalter 320 gekoppelt. Ein Speicher 330 ist in den Kreuzschienenschalter 320 integriert oder direkt mit demselben gekoppelt. In dem Schalter 320 befinden sich ferner eine Steuerlogik 340 und eine Kennungsbank 350, deren Funktionalität nachstehend beschrieben wird. Eine Systemarchitektur, die mehrere Verarbeitungseinheiten und einen Schalter gemäß der Darstellung in 3 verwendet, wird oft als „Symmetrische-Mehrfachverarbeitung"-System bzw. SMP-System (SMP = symmetric multiprocessing) bezeichnet. Dieser Begriff wird üblicherweise auf Rechensysteme angewendet, die eine beliebige Anzahl mehrerer identischer Verarbeitungseinheiten verwenden, die einen gemeinsamen Speicheradressraum verwenden. SMP-Architekturen werden üblicherweise bei UNIX- und NT/2000-Rechensystemen eingesetzt. Obwohl 3 spezifisch das Vorliegen von vier Verarbeitungseinheiten 310 angibt, können bei anderen Ausführungsbeispielen mehr Verarbeitungseinheiten 310 oder nur zwei Verarbeitungseinheiten 310 verwendet werden.
  • Der Kreuzschienenschalter 320 fungiert als Schaltsystem, das dahin gehend konfiguriert ist, eine Kommunikation, z.B. einen Datentransfer, zwischen beliebigen zwei der Verarbeitungseinheiten 310 zu ermöglichen. Ferner kann eine Kommunikation zwischen beliebigen der Verarbeitungseinheiten 310 gleichzeitig durch den Kreuzschienenschalter 320 erfolgen. Andere Informationen wie z.B. Status- und Steuerinformationen, Nachrichten zwischen einzelnen Prozessoren und dergleichen können bei anderen Implementierungen durch den Schalter 320 zwischen den Verarbeitungseinheiten 310 weitergeleitet werden. Bei wieder anderen Ausführungsbeispielen können andere Schalter als Kreuzschienenschalter verwendet werden, die das Weiterleiten von Daten zwischen den Verarbeitungseinheiten 310 ermöglichen. Bei einer anderen Implementierung können mehr als ein Schalter 320, von denen einer oder mehrere einen Speicher 330 enthält bzw. enthalten, verwendet werden und dahin gehend konfiguriert sein, ein Schaltsystem oder „Gewebe” zu bilden, das die verschiedenen Verarbeitungseinheiten 310 miteinander koppelt. Bei diesem Szenario kann der Speicher 330 zwischen zwei o der mehreren der Schalter, die das Schaltgewebe oder -system bilden, verteilt sein.
  • Der Speicher 330 des Kreuzschienenschalters 320 kann ein beliebiger Speicher sein, der in der Lage ist, einen Teil von Daten, die zwischen den Verarbeitungseinheiten 310 durch den Schalter 320 gelangen, zu speichern. Bei einer Implementierung beträgt die Speicherungskapazität des Speichers 320 zumindest ein Gigabyte (GB). Als Speicher 320 können beliebige einer Anzahl von Speichertechnologien verwendet werden, einschließlich, aber nicht ausschließlich, eines dynamischen Direktzugriffsspeichers (DRAM – dynamic random access memory) und eines statischen Direktzugriffsspeichers (SRAM – static random access memory) sowie Einzelreihen-Speichermodule (SIMMs – single in-line memory modules) und Doppelreihen-Speichermodule (DIMMs – dual in-line memory modules), die entweder DRAMs oder SRAMs verwenden.
  • Eine ausführlichere Darstellung einer der Verarbeitungseinheiten 310a wird in dem Blockdiagramm der 4 präsentiert. Manche oder alle der anderen Verarbeitungseinheiten 310 der 3 können dieselbe Architektur aufweisen oder können eine gänzlich andere innere Struktur verwenden. Bei 4 umfasst die Verarbeitungseinheit 310a vier Prozessoren 312a, 312b, 312c, 312d, von denen jeder wiederum einen Cache-Speicher 314a, 314b, 314c bzw. 314d umfasst. Ferner ist jeder der Prozessoren 312 mit einer Speichersteuerung 316 gekoppelt. Die Speichersteuerung 316 wiederum ist mit jedem eines lokalen Speichers 318 gekoppelt, der sich in der Verarbeitungseinheit 310a befindet oder eng mit derselben gekoppelt ist, und mit dem in 3 angezeigten Kreuzschienenschalter 320. Bei anderen Ausführungsbeispielen kann jede Verarbeitungseinheit 310 oder einen oder mehrere Prozessoren 312 aufweisen.
  • Allgemein greift jede der Verarbeitungseinheiten 310 des bestimmten Systems 300 der 3 auf denselben gemeinsam verwendeten Speicheradressraum zu. Der gemeinsam verwendete Adressraum ist unter manchen oder allen der lokalen Speicher 318 der Verarbeitungseinheiten 310 verteilt oder denselben zugewiesen. Bei einer Implementierung enthält der lokale Speicher 318 jeder Verarbeitungseinheit 310 die Daten, die einem ausschließlichen Teil des Speicheradressraums zugeordnet sind, der von den Verarbeitungseinheiten 310 gemeinsam verwendet wird. Für diesen Teil des Adressraums kann die zugeordnete Verarbeitungseinheit 310 als „Ausgangs"-Position für diese Daten angesehen werden, von der aus die anderen Verarbeitungseinheiten 310 durch den Schalter 320 auf diese Daten zugreifen können. In manchen Fällen ist die jüngste Version eines angeforderten Teils von Daten eventuell nicht an der Ausgangs-Verarbeitungseinheit 310 angeordnet, sondern an einer anderen Verarbeitungseinheit 310. Jedoch hält die Ausgangs-Verarbeitungseinheit 310 und/oder der Schalter 320 bei einem derartigen Ausführungsbeispiel Informationen in einem Verzeichnis oder einer ähnlichen Datenstruktur, die die Position der jüngsten Version der Daten angibt. Bei einem anderen Ausführungsbeispiel kann jede der Verarbeitungseinheiten 310 auch ihren lokalen Speicher 318 als Cache für Daten verwenden, die bei einer anderen Verarbeitungseinheit 310 beheimatet sind und auf die zuvor von einer anderen Verarbeitungseinheit 310 zugegriffen wurde. Somit können für beliebige jeweilige Daten, auf die durch eine der Verarbeitungseinheiten 310 in diesem gemeinsam verwendeten Adressraum zugegriffen wird, die Daten in der Verarbeitungseinheit 310, die die Daten anfordert, oder in einer anderen der Verarbeitungseinheiten 310 befindlich sein, oder beides. Außerdem kann jede der Verarbeitungseinheiten 310 Zugriff auf einen für ihre eigene Verwendung reservierten Datenspeicher haben, der in 4 nicht explizit gezeigt ist.
  • 5 zeigt eine Ansicht, auf hoher Ebene, eines Verfahrens 500 zum Betreiben des Systems 300 der 3. Bezüglich der in 4 veranschaulichten Verarbeitungseinheit 310a kann jeder Prozessor 312, wenn er auf ein bestimmtes Datum in dem gemeinsam verwendeten Speicherraum zugreift (z.B. ein solches liest), zuerst seinen eigenen Cache-Speicher 314 durchsuchen (Vorgang 502). Falls sie in dem Cache 314 angetroffen werden, wird auf die Daten zugegriffen (Vorgang 504). Andernfalls empfängt die Speichersteuerung 316 die Datenanforderung von dem Prozessor 312 (Vorgang 506). Ansprechend darauf kann die Speichersteuerung 316 zuerst den lokalen Speicher 318 der Verarbeitungseinheit 310 durchsuchen (Vorgang 508). Falls die Suche nach den angeforderten Daten in dem lokalen Speicher 318 erfolgreich ist, wird auf die Daten zugegriffen, und dieselben werden zu dem Prozessor 312 zurückgeführt (Vorgang 510); andernfalls kann die Anforderung dann an den Kreuzschienenschalter 320 weitergeleitet werden (Vorgang 512).
  • Nachdem der Kreuzschienenschalter 320 eine Speicheranforderung von der Verarbeitungseinheit 310a empfängt, kann der Schalter 320 seinen Speicher 330 nach den angeforderten Daten durchsuchen (Vorgang 514). Falls die Daten in dem Speicher 330 gespeichert sind, wird auf die Daten zugegriffen, und dieselben werden zu der anfordernden Verarbeitungseinheit 310 zurückgeführt (Vorgang 516). Falls sie nicht gefunden werden, kann der Schalter 320 bestimmen, welche der verbleibenden Verarbeitungseinheiten 310 die Daten besitzt (Vorgang 518), beispielsweise die jeweilige Verarbeitungseinheit 310, die als Ausgangsposition für die angeforderten Daten agiert, und kann die Anforderung an dieselbe leiten (Vorgang 520). Die Verarbeitungseinheit 310, die die Anforderung empfängt, greift auf die angeforderten Daten zu und führt sie zu dem Schalter 320 zurück (Vorgang 522), der wiederum die angeforderten Daten an die anfordernde Verarbeitungseinheit 310 weiterleitet (Vorgang 524). Außerdem kann der Schalter 320 auch eine Kopie der Daten, die zu der anfordernden Verarbeitungseinheit 310 zurückgeführt werden, in seinem Speicher 330 speichern (Vorgang 526). Beliebige der Verarbeitungseinheiten 310 können anschließend auf die Kopie der in dem Speicher 330 gespeicherten Daten zugreifen (Vorgang 528).
  • In dem Fall, in dem die jüngste Version der angeforderten Daten nicht an der Ausgangsverarbeitungseinheit 310 angeordnet ist, kann die Ausgangseinheit 310 die Anforderung mittels des Schalters 320 an die jeweilige Verarbeitungseinheit 310 weiterleiten, die die jüngste Version der angeforderten Daten hält. Bei einer anderen Implementierung kann der Schalter 320 diese Anforderung direkt weiterleiten, ohne die Ausgangseinheit 310 zu involvieren. Die Einheit 310, die die jüngste Version hält, kann dann die angeforderten Daten an den Schalter 320 zurückführen, der die Daten dann direkt an die anfordernde Einheit 310 übermitteln kann. Bei einem weiteren Ausführungsbeispiel kann der Schalter 320 die jüngste Version auch an die Ausgangseinheit 310 weiterleiten, die dann ihre Kopie der Daten aktualisieren kann.
  • Bei Ausführungsbeispielen, bei denen mehr als ein Schalter 320 in dem Rechensystem 300 verwendet wird, können mehr als einer der Schalter 320 an einem Transferieren von Datenanforderungen und Antworten zwischen den verschiedenen Verarbeitungseinheiten 310 beteiligt sein. Beispielsweise kann einer der Schalter 320 auf einen Empfang einer Anforderung bezüglich Daten von einer der Verarbeitungseinheiten 310 hin die Anforderung an eine andere Verarbeitungseinheit 310 weiterleiten, entweder direkt oder mittels eines anderen Schalters 320. Daten, die ansprechend auf eine derartige Anforderung durch eine Verarbeitungseinheit 310 zurückgeführt werden, können auf ähnliche Weise zu der anfordernden Verarbeitungseinheit 310 zurückgeführt werden. Ferner kann einer oder können mehrere der Schalter 320, durch den bzw. die die Daten gelangen, eine Kopie dieser Daten zur späteren Wiedergewinnung durch eine andere Verarbeitungseinheit 310, die diese Daten später anfordert, speichern.
  • Angesichts der Tatsache, dass der einzige gemeinsam verwendete Speicherraum unter den mehreren Verarbeitungseinheiten 310 aufgeteilt ist, und auch dass jede Verarbeitungseinheit 310 vorübergehende Kopien der Daten in ihren zugeordneten Cache-Speichern 314 oder ihrem lokalen Speicher 318 Cachespeichern kann, kann ein potentielles Cache-Kohärenzproblem resultieren. Mit anderen Worten können mehrere Kopien derselben Daten existieren, von denen jede potentiell unterschiedliche Werte aufweist. Wenn beispielsweise eine Verarbeitungseinheit 310 auf Daten zugreift, die in dem lokalen Speicher 318 einer anderen Verarbeitungseinheit 310 durch den Schalter 320 gespeichert sind, besteht eine Frage bezüglich dessen, ob diese Daten letztlich in der anfordernden Verarbeitungseinheit 310 Cache-gespeichert werden, z.B. in einem der Cache-Speicher 314 oder dem lokalen Speicher 318 der Verarbeitungseinheit 310a. Ein lokales Cache-Speichern der Daten führt zu mehreren Kopien der Daten in dem System 300. Ein Sichern einer Kopie der Daten in dem Speicher 330 des Schalters 320 führt ebenfalls potentiell zu demselben Problem.
  • Um mögliche Cache-Kohärenzprobleme anzugehen, kann der Schalter 320 auswählen, welche der Daten, die durch den Schalter 320 zwischen den Verarbeitungseinheiten 310 gelangen, in dem Speicher 330 gespeichert werden. Bei einem Ausführungsbeispiel kann eine derartige Auswahl von Informationen abhängen, die durch den Schalter 320 von der Verarbeitungseinheit 310, die die Daten anfordert, empfangen werden. Beispielsweise kann auf die angeforderten Daten in einem von zwei unterschiedlichen Modi zugegriffen werden: Exklusiv-Modus und Gemeinsame-Verwendung-Modus. Bei dem Gemeinsame-Verwendung-Modus gibt die anfordernde Verarbeitungseinheit 310 an, dass sie den Wert der Daten, nachdem sie gelesen wurden, nicht ändern wird. Im Gegensatz dazu gibt ein Anfordern eines Zugriffs auf Daten in dem Exklusiv-Modus an, dass die Verarbeitungseinheit 310 beabsichtigt, den Wert der anforderten Daten zu ändern. Folglich weisen mehrere Kopien dieser spezifischen Daten, auf die in dem Gemeinsame-Verwendung-Modus zugegriffen wird, allesamt denselben einheitlichen Wert auf, wohingegen Kopiedaten, die in dem Exklusiv-Modus erlangt werden, wahrscheinlich verändert werden, was bewirkt, dass andere Kopien derselben Daten ungültig werden.
  • Bei einem Ausführungsbeispiel, das diese beiden Modi verwendet, kann der Schalter 320 Daten, die in dem Gemeinsame-Verwendung-Modus angefordert werden, in dem Speicher 330 speichern, wenn in dem Speicher 330 genügend Platz vorhanden ist. Dagegen werden durch den Schalter 320 gelangende Daten, auf die in dem Exklusiv-Modus zugegriffen wird, nicht in dem Speicher 330 gespeichert. Demgemäß sind Daten in dem Speicher 330 des Schalters 320, der dazu verwendet wird, weitere Datenanforderungen von einer oder mehreren Verarbeitungseinheiten 310 zu erfüllen, auf Grund einer Änderung durch eine andere Verarbeitungseinheit 310 davor geschützt, ungültig gemacht zu werden.
  • Dadurch, dass zumindest ein Teil der durch den Schalter 320 gelangenden Daten in dem Speicher 330 gespeichert wird, kann der Schalter 320 nachfolgende Anforderungen nach diesen selben Daten erfüllen, indem er die Daten direkt aus dem Speicher 330 ausliest und die Daten an die anfordernde Verarbeitungseinheit 310 transferiert. Andernfalls würde die Anforderung an die Verarbeitungseinheit 310, die die Daten besitzt, weitergeleitet werden, wonach die Verarbeitungseinheit 310, die die Anforderung bedient, die Daten aus ihrem eigenen lokalen Speicher 318 lesen würde und die Daten an den Schalter 320 transferieren würde, wie oben beschrieben wurde. Erst dann wäre der Schalter 320 in der Lage, die Daten an die anfordernde Verarbeitungseinheit 310 zu transferieren. Somit ist in Situationen, in denen der Speicher 330 die angeforderten Daten enthält, eine Latenzzeit zwischen einer Datenanforderung und einer Erfüllung dieser Anforderung beträchtlich verringert. Außerdem werden folglich Gesamtverkehrsaufkommen zwischen den Verarbeitungseinheiten 310 und dem Schalter 320 auf Grund der ge ringeren Anzahl von Datenanforderungen, die an andere Verarbeitungseinheiten 310 weitergeleitet werden, beträchtlich verringert, wodurch der Durchsatz und die Leistungsfähigkeit des Systems 310 verbessert werden.
  • Wenn man davon ausgeht, dass ein endliches Maß an Datenspeicherung in dem Speicher 330 des Schalters 320 zur Verfügung steht, ist es wahrscheinlich, dass der Speicher 330 irgendwann voll wird und somit eine Bestimmung bezüglich dessen erfordert, welche der in dem Speicher 330 gespeicherten Daten durch neue Daten zu ersetzen sind. Um dieses Problem anzugehen, kann der Schalter 320 bei einem Ausführungsbeispiel die bereits in dem Speicher 330 gespeicherten Daten unter zumindest einer Cache-Ersetzungsstrategie ersetzen. Beispielsweise kann der Schalter 320 eine „Am-Längsten-Ungenutzt"-Strategie (LRU-Strategie, LRU = least-recently-used) anwenden, bei der Daten in dem Speicher 330, deren Zugriff am längsten zurückliegt, durch die neuesten Daten, die in den Speicher 330 eingespeichert werden sollen, ersetzt werden. Bei einer anderen Implementierung kann der Schalter 320 eine „In-Letzter-Zeit-Nicht-Benutzt"-Strategie" (NRU-Strategie, NRU = not-recently-used) verwenden, bei der Daten in dem Speicher 330, auf die innerhalb eines vorbestimmten Zeitraums in letzter Zeit nicht zugegriffen wurde, zufällig für einen Ersatz durch die neuen Daten ausgewählt werden. Andere Cache-Ersetzungsstrategien, einschließlich, aber nicht beschränkt auf, FIFO (first-in-first-out), Zweite-Chance und Nicht-Häufig-Benutzt (NFU – not-frequently-used), können bei anderen Ausführungsbeispielen verwendet werden.
  • Wie bei manchen obigen Ausführungsbeispielen beschrieben ist, kann der Speicher 330 als eine Art Cache-Speicher implementiert werden. Folglich kann der Speicher 330 auf eine ähnliche Weise wie ein Externer-Cache-Speicher entworfen sein, z.B. ein Cache-Speicher einer Ebene 4 (L4), der manchmal in Zentralverarbeitungseinheit-(CPU(central processing unit))-Computerkonsolen integriert ist.
  • Bei einem Ausführungsbeispiel verwendet der Schalter 320 eine Steuerlogik 340, die jede Anforderung bezüglich Daten, die von den Verarbeitungseinheiten 310 empfangen wird, analysiert, um zu bestimmen, an welche der Verarbeitungseinheiten 310 die Anforderung geleitet werden soll. Diese Funktion kann bei einem Beispiel dadurch erfüllt werden, dass die Adresse der Daten, auf die zugegriffen werden soll, mit einer Tabelle verglichen wird, die Adressen oder Adressbereiche des gemeinsam verwendeten Adressraums, der bestimmten Verarbeitungseinheiten 310 zugeordnet ist, verglichen wird. Als Teil dieser Analyse kann die Steuerlogik 340 auch die Adresse der angeforderten Daten mit einer „Kennungsbank" 350 vergleichen, die Informationen bezüglich dessen umfasst, ob sich die Daten in dem Speicher 330 befinden, und die, falls dies der Fall ist, die Position dieser Daten in dem Speicher 330 umfasst. Bei einem Beispiel ist ein nicht-sequentielles Kennungsnachschlagschema implementiert, um die Zeit, die benötigt wird, um die Kennungsbank 350 nach Informationen bezüglich der angeforderten Daten zu durchsuchen, zu verringern.
  • Um die in der Kennungsbank 350 benötigte Menge an Informationen zu verringern, kann der gemeinsam verwendete Speicherbereich und folglich der Speicher 330 des Schalters 320 in Cache-„Zeilen” organisiert sein, wobei jede Zeile Daten von mehreren zusammenhängenden Adresspositionen des gemeinsam verwendeten Adressraums umfasst. Ein Gruppieren von Positionen des Adressraums auf eine derartige Weise ermöglicht, dass eine kleinere Kennungsbank 350 unterhalten und durchsucht wird.
  • Obwohl hierin mehrere Ausführungsbeispiele der Erfindung erörtert wurden, sind andere Ausführungsbeispiele möglich, die in dem Schutzumfang der Erfindung enthalten sind. Obwohl beispielsweise spezifische Ausführungsbeispiele der Erfindung, die in Verbindung mit 3 und 4 beschrieben wurden, ein SMP-System mit einem einzigen Kreuzschienen schalter 320 verwenden, können andere Rechensystemarchitekturen, die mehrere Prozessoren verwenden, die mit einem oder mehreren Schaltern oder anderen Verbindungsvorrichtungen, die als Schaltsystem oder -gewebe konfiguriert sind, gekoppelt sind, von den hierin präsentierten Ausführungsbeispielen profitieren. Außerdem können Aspekte eines Ausführungsbeispiels mit denen anderer hierin erörterter Ausführungsbeispiele kombiniert werden, um weitere Implementierungen der vorliegenden Erfindung zu erzeugen. Obwohl die vorliegende Erfindung also im Zusammenhang mit spezifischen Ausführungsbeispielen beschrieben wurde, sind derartige Beschreibungen lediglich zu Veranschaulichungs- und nicht zu Einschränkungszwecken vorgesehen. Demgemäß wird der eigentliche Schutzumfang der Erfindung lediglich durch die folgenden Patentansprüche begrenzt.

Claims (10)

  1. Rechensystem (100), das folgende Merkmale aufweist: Verarbeitungseinheiten (100); und ein Schaltsystem (120), das mit jeder der Verarbeitungseinheiten (110) gekoppelt ist, wobei das Schaltsystem (120) einen Speicher (130) umfasst; wobei jede der Verarbeitungseinheiten (110) dahin gehend konfiguriert ist, auf Daten von einer anderen der Verarbeitungseinheiten (110) durch das Schaltsystem (120) zuzugreifen; wobei das Schaltsystem (120) dahin gehend konfiguriert ist, eine Kopie der Daten in den Speicher (130) einzuspeichern, während die Daten zwischen den Verarbeitungseinheiten (110) durch das Schaltsystem (120) gelangen; und wobei jede der Verarbeitungseinheiten (110) ferner dahin gehend konfiguriert ist, auf die Kopie der Daten in dem Speicher (130) des Schaltsystems (120) zuzugreifen.
  2. Rechensystem (100) gemäß Anspruch 1, bei dem das Schaltsystem (120) dahin gehend konfiguriert ist, zu ermöglichen, dass mehr als ein Paar der Verarbeitungseinheiten (110) gleichzeitig Daten zwischen denselben transferiert.
  3. Rechensystem (100) gemäß Anspruch 1 oder 2, bei dem das Schaltsystem (120) ferner eine Steuerschaltung (340) umfasst, die dahin gehend konfiguriert ist, auszuwählen, welche der Daten, die zwischen den Verarbeitungseinheiten (110) durch das Schaltsystem (120) gelangen, in dem Speicher (130) gespeichert werden.
  4. Rechensystem (100) gemäß einem der Ansprüche 1 bis 3, bei dem die zwischen den Verarbeitungseinheiten (110) passierenden Daten entweder in einem Exklusiv-Modus oder einem Gemeinsame-Verwendung-Modus durch eine der Verarbeitungseinheiten (110) gelesen werden; wobei die in dem Exklusiv-Modus gelesenen Daten nicht in dem Speicher (130) gespeichert sind; und wobei die in dem Gemeinsame-Verwendung-Modus gelesenen Daten in dem Speicher (130) gespeichert sind.
  5. Rechensystem (100) gemäß einem der Ansprüche 1 bis 4, bei dem die Daten in dem Speicher (130) unter einer Cache-Ersetzungsstrategie ersetzt werden.
  6. Verfahren (200) zum Betreiben eines Rechensystems, das folgende Schritte umfasst: Miteinander-Koppeln (202) von Verarbeitungseinheiten des Rechensystems mittels eines Schaltsystems des Rechensystems; bei jeder der Verarbeitungseinheiten, Zugreifen (204) auf Daten, die in einer anderen der Verarbeitungseinheiten gespeichert sind, durch das Schaltsystem; bei dem Schaltsystem, Speichern (206) einer Kopie der Daten, während die Daten zwischen den Verarbeitungseinheiten durch das Schaltsystem gelangen; und bei jeder der Verarbeitungseinheiten, Zugreifen (208) auf die Kopie der in dem Schaltsystem gespeicherten Daten.
  7. Verfahren (200) gemäß Anspruch 6, bei dem jede der Verarbeitungseinheiten auf die Daten, die in einer an deren der Verarbeitungseinheiten gespeichert sind, durch das Schaltsystem gleichzeitig zugreifen kann.
  8. Verfahren (200) gemäß Anspruch 6 oder 7, das ferner ein Auswählen dessen, welche der Daten, die zwischen den Verarbeitungseinheiten durch das Schaltsystem gelangen, darin gespeichert werden, umfasst.
  9. Verfahren (200) gemäß einem der Ansprüche 6 bis 8, bei dem: das Zugreifen (204) der in einer anderen der Verarbeitungseinheiten gespeicherten Daten entweder in einem Exklusiv-Modus oder einem Gemeinsame-Verwendung-Modus durchgeführt wird; die Daten, auf die in dem Exklusiv-Modus zugegriffen wird, nicht in dem Schaltsystem gespeichert werden; und die Daten, auf die in dem Gemeinsame-Verwendung-Modus zugegriffen wird, in dem Schaltsystem gespeichert werden.
  10. Verfahren (200) gemäß Anspruch 9, das ferner folgenden Schritt umfasst: Ersetzen der Daten in dem Schaltsystem gemäß einer Cache-Ersetzungsstrategie.
DE102007048601A 2006-10-23 2007-10-10 Datenspeicherung in einem Schaltsystem, das mehrere Prozessoren eines Computersystems koppelt Ceased DE102007048601A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/551,777 US20080098178A1 (en) 2006-10-23 2006-10-23 Data storage on a switching system coupling multiple processors of a computer system
US11/551,777 2006-10-23

Publications (1)

Publication Number Publication Date
DE102007048601A1 true DE102007048601A1 (de) 2008-04-24

Family

ID=39198608

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102007048601A Ceased DE102007048601A1 (de) 2006-10-23 2007-10-10 Datenspeicherung in einem Schaltsystem, das mehrere Prozessoren eines Computersystems koppelt

Country Status (3)

Country Link
US (1) US20080098178A1 (de)
JP (1) JP2008108256A (de)
DE (1) DE102007048601A1 (de)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1909973B1 (de) 2005-07-15 2018-08-22 Micell Technologies, Inc. Polymer-überzüge mit einem arzneipulver mit kontrollierter morphologie
US20090062909A1 (en) 2005-07-15 2009-03-05 Micell Technologies, Inc. Stent with polymer coating containing amorphous rapamycin
EP2944382A1 (de) 2006-04-26 2015-11-18 Micell Technologies, Inc. Beschichtungen mit mehreren wirkstoffen
EP2111184B1 (de) 2007-01-08 2018-07-25 Micell Technologies, Inc. Stents mit biologisch abbaubaren schichten
US11426494B2 (en) 2007-01-08 2022-08-30 MT Acquisition Holdings LLC Stents having biodegradable layers
AU2009251504B2 (en) 2008-04-17 2013-09-05 Micell Technologies, Inc. Stents having bioabsorbable layers
US9510856B2 (en) 2008-07-17 2016-12-06 Micell Technologies, Inc. Drug delivery medical device
CN102159257B (zh) 2008-07-17 2015-11-25 米歇尔技术公司 药物递送医疗设备
CA2757276C (en) 2009-04-01 2017-06-06 Micell Technologies, Inc. Coated stents
EP3366326A1 (de) 2009-04-17 2018-08-29 Micell Technologies, Inc. Stents mit gesteuerter elution
US8933947B2 (en) 2009-09-10 2015-01-13 Ati Technologies Ulc Reading a local memory of a processing unit
US11369498B2 (en) 2010-02-02 2022-06-28 MT Acquisition Holdings LLC Stent and stent delivery system with improved deliverability
WO2011133655A1 (en) 2010-04-22 2011-10-27 Micell Technologies, Inc. Stents and other devices having extracellular matrix coating
EP2593039B1 (de) 2010-07-16 2022-11-30 Micell Technologies, Inc. Medizinische wirkstofffreisetzungsvorrichtung
WO2013012689A1 (en) 2011-07-15 2013-01-24 Micell Technologies, Inc. Drug delivery medical device
US10188772B2 (en) 2011-10-18 2019-01-29 Micell Technologies, Inc. Drug delivery medical device
KR20150143476A (ko) 2013-03-12 2015-12-23 미셀 테크놀로지즈, 인코포레이티드 생흡수성 생체의학적 임플란트
JP2016519965A (ja) 2013-05-15 2016-07-11 マイセル・テクノロジーズ,インコーポレイテッド 生体吸収性バイオメディカルインプラント
FR3078176B1 (fr) * 2018-02-19 2020-02-28 IFP Energies Nouvelles Systeme et procede de prediction d'un phenomene physique et/ou chimique au moyen d'un segment de memoire partage
US11176063B2 (en) * 2019-11-01 2021-11-16 EMC IP Holding Company LLC Optimized use of processor memory for I/O operations

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0340901A3 (de) * 1988-03-23 1992-12-30 Du Pont Pixel Systems Limited Zugriffsystem für Speicher mit doppelter Anschlussstelle
US5239654A (en) * 1989-11-17 1993-08-24 Texas Instruments Incorporated Dual mode SIMD/MIMD processor providing reuse of MIMD instruction memories as data memories when operating in SIMD mode
US5440752A (en) * 1991-07-08 1995-08-08 Seiko Epson Corporation Microprocessor architecture with a switch network for data transfer between cache, memory port, and IOU
US6154816A (en) * 1997-10-24 2000-11-28 Compaq Computer Corp. Low occupancy protocol for managing concurrent transactions with dependencies
US6122714A (en) * 1997-10-24 2000-09-19 Compaq Computer Corp. Order supporting mechanisms for use in a switch-based multi-processor system
US6633945B1 (en) * 1997-12-07 2003-10-14 Conexant Systems, Inc. Fully connected cache coherent multiprocessing systems
US6292705B1 (en) * 1998-09-29 2001-09-18 Conexant Systems, Inc. Method and apparatus for address transfers, system serialization, and centralized cache and transaction control, in a symetric multiprocessor system
US6516442B1 (en) * 1997-12-07 2003-02-04 Conexant Systems, Inc. Channel interface and protocols for cache coherency in a scalable symmetric multiprocessor system
US6125429A (en) * 1998-03-12 2000-09-26 Compaq Computer Corporation Cache memory exchange optimized memory organization for a computer system
JP3858492B2 (ja) * 1998-12-28 2006-12-13 株式会社日立製作所 マルチプロセッサシステム
JP4123621B2 (ja) * 1999-02-16 2008-07-23 株式会社日立製作所 主記憶共有型マルチプロセッサシステム及びその共有領域設定方法
US6467012B1 (en) * 1999-07-08 2002-10-15 International Business Machines Corporation Method and apparatus using a distributed system structure to support bus-based cache-coherence protocols for symmetric multiprocessors
US6779036B1 (en) * 1999-07-08 2004-08-17 International Business Machines Corporation Method and apparatus for achieving correct order among bus memory transactions in a physically distributed SMP system
US6591348B1 (en) * 1999-09-09 2003-07-08 International Business Machines Corporation Method and system for resolution of transaction collisions to achieve global coherence in a distributed symmetric multiprocessor system
US6725307B1 (en) * 1999-09-23 2004-04-20 International Business Machines Corporation Method and system for controlling data transfers with physical separation of data functionality from address and control functionality in a distributed multi-bus multiprocessor system
US6587930B1 (en) * 1999-09-23 2003-07-01 International Business Machines Corporation Method and system for implementing remstat protocol under inclusion and non-inclusion of L1 data in L2 cache to prevent read-read deadlock
US6457085B1 (en) * 1999-11-04 2002-09-24 International Business Machines Corporation Method and system for data bus latency reduction using transfer size prediction for split bus designs
US6542949B1 (en) * 1999-11-08 2003-04-01 International Business Machines Corporation Method and apparatus for increased performance of a parked data bus in the non-parked direction
US6529990B1 (en) * 1999-11-08 2003-03-04 International Business Machines Corporation Method and apparatus to eliminate failed snoops of transactions caused by bus timing conflicts in a distributed symmetric multiprocessor system
US7529799B2 (en) * 1999-11-08 2009-05-05 International Business Machines Corporation Method and apparatus for transaction tag assignment and maintenance in a distributed symmetric multiprocessor system
US6535941B1 (en) * 1999-11-08 2003-03-18 International Business Machines Corporation Method and apparatus for avoiding data bus grant starvation in a non-fair, prioritized arbiter for a split bus system with independent address and data bus grants
US6523076B1 (en) * 1999-11-08 2003-02-18 International Business Machines Corporation Method and apparatus for synchronizing multiple bus arbiters on separate chips to give simultaneous grants for the purpose of breaking livelocks
US6606676B1 (en) * 1999-11-08 2003-08-12 International Business Machines Corporation Method and apparatus to distribute interrupts to multiple interrupt handlers in a distributed symmetric multiprocessor system
US6647469B1 (en) * 2000-05-01 2003-11-11 Hewlett-Packard Development Company, L.P. Using read current transactions for improved performance in directory-based coherent I/O systems
US20010049773A1 (en) * 2000-06-06 2001-12-06 Bhavsar Shyamkant R. Fabric cache
US6675265B2 (en) * 2000-06-10 2004-01-06 Hewlett-Packard Development Company, L.P. Multiprocessor cache coherence system and method in which processor nodes and input/output nodes are equal participants
US6622218B2 (en) * 2000-06-10 2003-09-16 Hewlett-Packard Development Company, Lp. Cache coherence protocol engine and method for efficient processing of interleaved memory transactions in a multiprocessor system
US6697919B2 (en) * 2000-06-10 2004-02-24 Hewlett-Packard Development Company, L.P. System and method for limited fanout daisy chaining of cache invalidation requests in a shared-memory multiprocessor system
US6725343B2 (en) * 2000-10-05 2004-04-20 Hewlett-Packard Development Company, L.P. System and method for generating cache coherence directory entries and error correction codes in a multiprocessor system
US6886079B2 (en) * 2001-06-21 2005-04-26 International Business Machines Corporation Dynamic history based mechanism for the granting of exclusive data ownership in a non-uniform memory access (NUMA) computer system
US6658539B2 (en) * 2001-10-16 2003-12-02 International Business Machines Corporation Super-coherent data mechanisms for shared caches in a multiprocessing system
US6779086B2 (en) * 2001-10-16 2004-08-17 International Business Machines Corporation Symmetric multiprocessor systems with an independent super-coherent cache directory
US7474652B2 (en) * 2002-07-30 2009-01-06 Brocade Communications Systems, Inc. Caching remote switch information in a fibre channel switch
US7187659B2 (en) * 2002-07-30 2007-03-06 Brocade Communications Systems, Inc. Fibre channel switch having a push/pull method for caching remote switch information
US7206314B2 (en) * 2002-07-30 2007-04-17 Brocade Communications Systems, Inc. Method and apparatus for transparent communication between a fibre channel network and an infiniband network
US6976131B2 (en) * 2002-08-23 2005-12-13 Intel Corporation Method and apparatus for shared cache coherency for a chip multiprocessor or multiprocessor system
US7376799B2 (en) * 2005-07-21 2008-05-20 Hewlett-Packard Development Company, L.P. System for reducing the latency of exclusive read requests in a symmetric multi-processing system

Also Published As

Publication number Publication date
US20080098178A1 (en) 2008-04-24
JP2008108256A (ja) 2008-05-08

Similar Documents

Publication Publication Date Title
DE102007048601A1 (de) Datenspeicherung in einem Schaltsystem, das mehrere Prozessoren eines Computersystems koppelt
DE102007030116B4 (de) Snoop-Filter mit ausschließlicher Inhaberschaft
DE10262164B4 (de) Computersystem mit einer hierarchischen Cacheanordnung
DE112008002018B4 (de) Bereitstellen eines gemeinsam genutzten Inklusiv-Cache bei Mehrkern-Cache-Clustern
DE69628493T2 (de) Cache-kohärentes Computersystem, das Entwertungs- und Rückschreiboperationen minimiert
DE69721640T2 (de) Multiprozessor-Rechnersystem und Verfahren zur Steuerung des Verkehrsflusses
DE69128107T2 (de) Busanordnung für Speicherzugriff
DE69822534T2 (de) Gemeinsame Speicherbenutzung mit variablen Blockgrössen für symmetrische Multiporzessor-Gruppen
DE69736544T2 (de) Verfahren zur Verminderung der Anzahl von Kohärenz-Zyklen in einem verzeichnisbasierten Cachekohärenz-Speichersystem unter Verwendung eines Speicherzustands-Cachespeichers
DE69732938T2 (de) Hybrides Speicherzugangsprotokoll in einem Datenverarbeitungssystem mit verteiltem, gemeinsamem Speicher
DE69724355T2 (de) Erweiterte symmetrische Multiprozessorarchitektur
DE102009023898B4 (de) Optimierung von gleichzeitigen Zugriffen in einem verzeichnisbasierten Kohärenzprotokoll
DE68924206T2 (de) Verfahren und Einrichtung zum Filtern von Ungültigkeitserklärungsanforderungen.
DE102006030879B4 (de) System zum Reduzieren der Latenzzeit von exklusiven Leseanforderungen in einem symmetrischen Multiprozessorsystem
DE69722512T2 (de) Mehrrechnersystem mit einem die Anzahl der Antworten enthaltenden Kohärenzprotokoll
DE102011076894B4 (de) Persistenter Speicher für einen Hauptspeicher eines Prozessors
DE102013114256B4 (de) Systeme und Verfahren zur Beibehaltung der Informationskohärenz
DE102007052853B4 (de) Zeilentauschschema zur Verringerung von Rückinvalidierungen in einem Snoopfilter
DE112009000373T5 (de) Technik, um Information zwischen unterschiedlichen Kohärenz-Domains von Caches zu nutzen
DE102006032832A1 (de) Netzwerksystem und Verfahren zur Steuerung verteilter Speicher
DE3621321A1 (de) Cache-speicher- bzw. multiprozessor-system und betriebsverfahren
DE102020108666B4 (de) Cache-kohärenz-management für multi-kategorie-erinnerungen
DE112008001679T5 (de) Cache-Speicher mit konfigurierbarer Assoziativität
DE10219623A1 (de) System und Verfahren zur Speicherentscheidung unter Verwendung von mehreren Warteschlangen
DE112012004926B4 (de) Gemeinsame Speichernutzung durch Prozessoren

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
R002 Refusal decision in examination/registration proceedings
R003 Refusal decision now final

Effective date: 20130222