DE102020110582A1 - TECHNOLOGIEN ZUR AUTOMATISCHEN ARBEITSLASTERKENNUNG UND CACHE-QoS-RICHTLINIENANWENDUNG - Google Patents

TECHNOLOGIEN ZUR AUTOMATISCHEN ARBEITSLASTERKENNUNG UND CACHE-QoS-RICHTLINIENANWENDUNG Download PDF

Info

Publication number
DE102020110582A1
DE102020110582A1 DE102020110582.7A DE102020110582A DE102020110582A1 DE 102020110582 A1 DE102020110582 A1 DE 102020110582A1 DE 102020110582 A DE102020110582 A DE 102020110582A DE 102020110582 A1 DE102020110582 A1 DE 102020110582A1
Authority
DE
Germany
Prior art keywords
node
mass storage
target
replacement
target node
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.)
Pending
Application number
DE102020110582.7A
Other languages
English (en)
Inventor
Yi Zou
Arun Raghunath
Tushar Gohad
Anjaneya Reddy Chagam Reddy
Sujoy Sen
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of DE102020110582A1 publication Critical patent/DE102020110582A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
    • G06F11/1662Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit the resynchronized component or unit being a persistent storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2089Redundant storage control functionality
    • G06F11/2092Techniques of failing over between control units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0617Improving the reliability of storage systems in relation to availability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/805Real-time

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Cooling Or The Like Of Electrical Apparatus (AREA)

Abstract

Technologien für eine schnelle Wiederherstellung eines verteilten Massenspeichers weisen ein verteiltes Massenspeichersystem auf, das mehrere Steuerknoten und mehrere Zielknoten aufweist. Jeder Steuerknoten ist über ein Massenspeicher-Fabric mit einem entsprechenden Zielknoten gekoppelt. Jeder Zielknoten speichert Replikatdaten. Das System identifiziert einen ausgefallenen Knoten und einen entsprechenden Knoten, der mit dem ausgefallenen Knoten gekoppelt war. Falls der ausgefallene Knoten ein Steuerknoten ist, ist der entsprechende Knoten ein Zielknoten. Falls der ausgefallene Knoten ein Zielknoten ist, ist der entsprechende Knoten ein Steuerknoten. Das System instanziiert einen Ersatzknoten, fügt den Ersatzknoten zum System hinzu und koppelt den Ersatzknoten mit dem entsprechenden Knoten. Das System kann einen Reservezielknoten anweisen, Replikatdaten über das Massenspeicher-Fabric zum Ersatzzielknoten zu kopieren. Andere Ausführungsformen werden beschrieben und beansprucht.

Description

  • HINTERGRUND
  • Große Rechenzentren können verteilte softwaredefinierte Scale-out-Speicherlösungen (SDS-Lösungen) bereitstellen. Eine hohe Verfügbarkeit und Datenbeständigkeit sind typische Kundenanforderungen an Scale-out-SDS-Lösungen. Eine hohe Verfügbarkeit und Datenbeständigkeit können durch Datenredundanz oder Löschcodierung über ein Netz, beispielsweise unter Verwendung von Ceph, OpenStack® Swift oder Apache® HDFS, erreicht werden. Diese Systeme können fehlertolerant sein, können jedoch ansprechend auf einen Ausfall in einen verschlechterten Modus eintreten, beispielsweise durch einen Betrieb mit weniger redundanten Datenreplikaten. Die Wiederherstellung des verteilten Massenspeichersystems in seinen ursprünglichen Zustand kann ein stark manueller, zeitaufwendiger Prozess sein.
  • Figurenliste
  • Die hier beschriebenen Konzepte sind in den anliegenden Figuren beispielhaft und ohne Einschränkung dargestellt. Aus Gründen der Einfachheit und Klarheit der Darstellung sind die in den Figuren dargestellten Elemente nicht notwendigerweise maßstabsgerecht. Wo es als angemessen angesehen wurde, wurden Bezugszeichen zwischen den Figuren wiederholt, um entsprechende oder analoge Elemente anzugeben. Es zeigen:
    • 1 ein vereinfachtes Diagramm wenigstens einer Ausführungsform eines Rechenzentrums zur Ausführung von Arbeitslasten mit nicht aggregierten Ressourcen,
    • 2 ein vereinfachtes Diagramm wenigstens einer Ausführungsform eines Pods, der im Rechenzentrum aus 1 enthalten sein kann,
    • 3 eine perspektivische Ansicht wenigstens einer Ausführungsform eines Racks, das im Pod aus 2 enthalten sein kann,
    • 4 einen Seitenriss des Racks aus 3,
    • 5 eine perspektivische Ansicht des Racks aus 3 mit einem darin montierten Sled,
    • 6 ein vereinfachtes Blockdiagramm wenigstens einer Ausführungsform einer Oberseite des Sleds aus 5,
    • 7 ein vereinfachtes Blockdiagramm wenigstens einer Ausführungsform einer Unterseite des Sleds aus 6,
    • 8 ein vereinfachtes Blockdiagramm wenigstens einer Ausführungsform eines im Rechenzentrum aus 1 verwendbaren Rechen-Sleds,
    • 9 eine perspektivische Ansicht wenigstens einer Ausführungsform des Rechen-Sleds aus 8 von oben,
    • 10 ein vereinfachtes Blockdiagramm wenigstens einer Ausführungsform eines im Rechenzentrum aus 1 verwendbaren Beschleuniger-Sleds,
    • 11 eine perspektivische Ansicht wenigstens einer Ausführungsform des Beschleuniger-Sleds aus 10 von oben,
    • 12 ein vereinfachtes Blockdiagramm wenigstens einer Ausführungsform eines im Rechenzentrum aus 1 verwendbaren Massenspeicher-Sleds,
    • 13 eine perspektivische Ansicht wenigstens einer Ausführungsform des Massenspeicher-Sleds aus 12 von oben,
    • 14 ein vereinfachtes Blockdiagramm wenigstens einer Ausführungsform eines im Rechenzentrum aus 1 verwendbaren Speicher-Sleds und
    • 15 ein vereinfachtes Blockdiagramm eines Systems, das innerhalb des Rechenzentrums aus 1 eingerichtet werden kann, um Arbeitslasten mit aus nicht aggregierten Ressourcen zusammengesetzten gemanagten Ressourcen auszuführen,
    • 16 ein vereinfachtes Blockdiagramm wenigstens einer Ausführungsform eines Systems zur schnellen Wiederherstellung eines verteilten Massenspeichersystems und
    • die 17 - 19 ein vereinfachtes Flussdiagramm wenigstens einer Ausführungsform eines Verfahrens zur schnellen Wiederherstellung für ein verteiltes Massenspeichersystem, das durch das System aus 16 ausgeführt werden kann.
  • DETAILLIERTE BESCHREIBUNG
  • Wenngleich die Konzepte der vorliegenden Offenbarung für verschiedene Modifikationen und alternative Formen geeignet sind, sind spezifische Ausführungsformen von ihnen in der Zeichnung beispielhaft dargestellt und werden hier detailliert beschrieben. Es ist jedoch zu verstehen, dass es nicht beabsichtigt ist, die Konzepte der vorliegenden Offenbarung auf die jeweiligen offenbarten Formen zu beschränken, sondern dass die Absicht im Gegenteil darin besteht, alle Modifikationen, gleichwertigen Ausgestaltungen und Alternativen einzuschließen, die mit der vorliegenden Offenbarung und den anliegenden Ansprüchen vereinbar sind.
  • In der Beschreibung vorgenommene Bezüge auf „eine einzige Ausführungsform“, „eine Ausführungsform“, „eine der Erläuterung dienende Ausführungsform“ usw. geben an, dass die beschriebene Ausführungsform ein bestimmtes Merkmal, eine bestimmte Struktur oder eine bestimmte Eigenschaft aufweisen kann, es braucht jedoch nicht jede Ausführungsform dieses bestimmte Merkmal, diese bestimmte Struktur oder diese bestimmte Eigenschaft unbedingt aufzuweisen. Überdies beziehen sich solche Ausdrücke nicht notwendigerweise auf dieselbe Ausführungsform. Wenn ein bestimmtes Merkmal, eine bestimmte Struktur oder eine bestimmte Eigenschaft in Zusammenhang mit einer Ausführungsform beschrieben wird, wird ferner davon ausgegangen, dass es innerhalb des Wissens eines Fachmanns liegt, ein solches Merkmal, eine solche Struktur oder eine solche Eigenschaft in Zusammenhang mit anderen Ausführungsformen zu verwirklichen, unabhängig davon, ob es oder sie explizit beschrieben wurde. Zusätzlich ist zu verstehen, dass Bestandteile, die in einer Liste in Form von „wenigstens eines von A, B und C“ enthalten sind, (A), (B), (C), (A und B), (A und C), (B und C) oder (A, B und C) bedeuten können. Ähnlich können Bestandteile, die in Form von „wenigstens eines von A, B oder C“ aufgelistet sind, (A), (B), (C), (A und B), (A und C), (B und C) oder (A, B und C) bedeuten.
  • Die offenbarten Ausführungsformen können in einigen Fällen in Hardware, Firmware, Software oder einer beliebigen Kombination davon implementiert werden. Die offenbarten Ausführungsformen können auch als Befehle implementiert werden, die auf einem oder mehreren flüchtigen oder nicht flüchtigen maschinenlesbaren (beispielsweise computerlesbaren) Massenspeichermedien ausgeführt werden oder gespeichert sind, die durch einen oder mehrere Prozessoren gelesen und ausgeführt werden können. Ein maschinenlesbares Massenspeichermedium kann als eine Speichervorrichtung, ein Speichermechanismus oder eine andere physikalische Struktur zum Speichern oder Übertragen von Informationen in einer von einer Maschine lesbaren Form verwirklicht sein (beispielsweise als ein flüchtiger oder nicht flüchtiger Speicher, eine Medienplatte oder eine andere Medienvorrichtung).
  • In der Zeichnung können einige Struktur- oder Verfahrensmerkmale in spezifischen Anordnungen und/oder Reihenfolgen dargestellt sein. Es ist jedoch zu verstehen, dass diese spezifischen Anordnungen und/oder Reihenfolgen nicht erforderlich sind. Vielmehr können gemäß einigen Ausführungsformen diese Merkmale auf andere Weise und/oder in einer anderen Reihenfolge angeordnet sein als in den der Veranschaulichung dienenden Figuren gezeigt ist. Zusätzlich soll die Aufnahme eines Struktur- oder Verfahrensmerkmals in eine bestimmte Figur nicht bedeuten, dass dies impliziert, dass dieses Merkmal in allen Ausführungsformen erforderlich ist, und es kann bei einigen Ausführungsformen nicht aufgenommen sein oder mit anderen Merkmalen kombiniert sein.
  • Mit Bezug auf 1 sei nun bemerkt, dass ein Rechenzentrum 100, in dem nicht aggregierte Ressourcen eine oder mehrere Arbeitslasten (beispielsweise Anwendungen im Auftrag von Kunden) gemeinsam ausführen können, mehrere Pods 110, 120, 130, 140 aufweist, die jeweils eine oder mehrere Reihen von Racks aufweisen. Natürlich kann das Rechenzentrum 100, wenngleich es mit mehreren Pods dargestellt ist, gemäß einigen Ausführungsformen als einzelner Pod ausgeführt sein. Wie hier in weiteren Einzelheiten beschrieben wird, nimmt jedes Rack mehrere Sleds auf, die jeweils in erster Linie mit einem bestimmten Ressourcentyp (beispielsweise Speichervorrichtungen, Datenspeichervorrichtungen, Beschleunigervorrichtungen, Prozessoren für allgemeine Zwecke) ausgerüstet sein können, d. h. Ressourcen, die logisch gekoppelt werden können, um einen zusammengesetzten Knoten zu bilden, der beispielsweise als Server wirken kann. Gemäß der der Erläuterung dienenden Ausführungsform sind die Sleds in jedem Pod 110, 120, 130, 140 mit mehreren Pod-Switches verbunden (beispielsweise Switches, die Datenkommunikationen zu und von Sleds innerhalb des Pods weiterleiten). Die Pod-Switches verbinden wiederum mit Spine-Switches 150, die Kommunikationen zwischen Pods (beispielsweise den Pods 110, 120, 130, 140) im Rechenzentrum 100 vermitteln. Gemäß einigen Ausführungsformen können die Sleds unter Verwendung der Intel-Omni-Path-Technologie mit einem Fabric verbunden sein. Gemäß anderen Ausführungsformen können die Sleds mit anderen Fabrics in der Art von InfiniBand oder Ethernet verbunden sein. Wie hier in weiteren Einzelheiten beschrieben wird, können Ressourcen innerhalb von Sleds im Rechenzentrum 100 einer Gruppe (hier als „gemanagter Knoten“ bezeichnet) zugeordnet werden, die Ressourcen von einem oder mehreren Sleds enthält, die gemeinsam bei der Ausführung einer Arbeitslast zu verwenden sind. Die Arbeitslast kann so ausgeführt werden, als ob sich die zum gemanagten Knoten gehörenden Ressourcen auf demselben Sled befinden würden. Die Ressourcen in einem gemanagten Knoten können zu Sleds gehören, die zu verschiedenen Racks und sogar zu verschiedenen Pods 110, 120, 130, 140 gehören. Dabei können einige Ressourcen eines einzelnen Sleds einem gemanagten Knoten zugeordnet werden, während andere Ressourcen desselben Sleds einem anderen gemanagten Knoten zugeordnet werden (beispielsweise ein Prozessor, der einem gemanagten Knoten zugewiesen ist, und ein anderer Prozessor desselben Sleds, der einem anderen gemanagten Knoten zugewiesen ist).
  • Ein Rechenzentrum, das nicht aggregierte Ressourcen aufweist, wie das Rechenzentrum 100, kann in einer breiten Vielzahl von Zusammenhängen verwendet werden, wie einem Unternehmen, einer Regierung, einem Cloud-Dienstanbieter und einem Kommunikationsdienstanbieter (beispielsweise Telco's) sowie in einer breiten Vielfalt von Größen von Cloud-Dienstanbieter-Megarechenzentren, die mehr als 100000 Quadratfuß belegen, bis zu Einzel- oder Mehr-Rack-Installationen zur Verwendung in Basisstationen.
  • Die Disaggregation von Ressourcen auf Sleds, die in erster Linie aus einem einzigen Ressourcentyp bestehen (beispielsweise Rechen-Sleds, die in erster Linie Rechenressourcen aufweisen, Speicher-Sleds, die in erster Linie Speicherressourcen enthalten), und die selektive Zuordnung und Zuordnungsaufhebung der nicht aggregierten Ressourcen zur Bildung eines gemanagten Knotens, der für die Ausführung einer Arbeitslast zugewiesen wird, verbessern den Betrieb und die Ressourcenverwendung des Rechenzentrums 100 verglichen mit typischen Rechenzentren, die aus stark konvergierten Servern bestehen, welche Rechen-, Speicher-, Massenspeicher- und möglicherweise zusätzliche Ressourcen in einem einzigen Gehäuse enthalten. Weil Sleds hauptsächlich Ressourcen eines bestimmten Typs enthalten, können Ressourcen eines gegebenen Typs beispielsweise unabhängig von anderen Ressourcen aufgerüstet werden. Zusätzlich können, weil verschiedene Ressourcentypen (Prozessoren, Massenspeicher, Beschleuniger usw.) typischerweise unterschiedliche Wiederauffrischungsraten aufweisen, eine größere Ressourcenausnutzung und geringere Gesamtbetriebskosten erreicht werden. Beispielsweise kann ein Rechenzentrumsbetreiber die Prozessoren überall in seiner Anlage aufrüsten, indem er lediglich die Rechen-Sleds austauscht. In einem solchen Fall können Beschleuniger- und Massenspeicherressourcen nicht gleichzeitig aufgerüstet werden, und es kann vielmehr zugelassen werden, dass sie weiter betrieben werden, bis diese Ressourcen für ihre eigene Wiederauffrischung eingeplant werden. Die Ressourcenausnutzung kann auch zunehmen. Falls gemanagte Knoten beispielsweise auf der Grundlage von Anforderungen der auf ihnen laufenden Arbeitslasten zusammengestellt werden, ist es wahrscheinlicher, dass die Ressourcen innerhalb eines Knotens vollständig ausgenutzt werden. Diese Ausnutzung kann es ermöglichen, dass mehr gemanagte Knoten in einem Rechenzentrum mit einem gegebenen Ressourcensatz arbeiten oder dass ein Rechenzentrum, von dem erwartet wird, dass es einen gegebenen Satz von Arbeitslasten ausführt, unter Verwendung weniger Ressourcen gebaut wird.
  • Mit Bezug auf 2 sei nun bemerkt, dass der Pod 110 gemäß der der Erläuterung dienenden Ausführungsform einen Satz von Reihen 200, 210, 220, 230 von Racks 240 aufweist. Jedes Rack 240 kann mehrere Sleds (beispielsweise 16 Sleds) aufnehmen und den aufgenommenen Sleds Strom- und Datenverbindungen bereitstellen, wie hier in weiteren Einzelheiten beschrieben wird. Gemäß der der Erläuterung dienenden Ausführungsform sind die Racks in jeder Reihe 200, 210, 220, 230 mit mehreren Pod-Switches 250, 260 verbunden. Der Pod-Switch 250 weist einen Satz von Ports 252, mit dem die Sleds der Racks des Pods 110 verbunden sind, und einen anderen Satz von Ports 254, die den Pod 110 mit den Spine-Switches 150 verbinden, um eine Verbindbarkeit mit anderen Pods im Rechenzentrum 100 bereitzustellen, auf. Ähnlich weist der Pod-Switch 260 einen Satz von Ports 262, mit dem die Sleds der Racks des Pods 110 verbunden sind, und einen Satz von Ports 264, die den Pod 110 mit den Spine-Switches 150 verbinden, auf. Dabei stellt die Verwendung des Paars von Switches 250, 260 ein Redundanzmaß für den Pod 110 bereit. Falls beispielsweise einer der Switches 250, 260 ausfällt, können die Sleds im Pod 110 die Datenkommunikation mit dem Rest des Rechenzentrums 100 (beispielsweise Sleds anderer Pods) noch durch den anderen Switch 250, 260 aufrechterhalten. Ferner können gemäß der der Erläuterung dienenden Ausführungsform die Switches 150, 250, 260 als optische Dualmodus-Switches ausgeführt sein, die in der Lage sind, sowohl Kommunikationen nach dem Ethernetprotokoll, die Internetprotokoll(IP)-Pakete tragen, als auch Kommunikationen entsprechend einem zweiten Hochleistungs-Verbindungsschichtprotokoll (beispielsweise Omni-Path-Architektur von Intel, InfiniBand, PCI-Express) über optische Signalübertragungsmedien eines optischen Netzes zu übermitteln.
  • Es sei bemerkt, dass jeder der anderen Pods 120, 130, 140 (sowie jegliche zusätzliche Pods des Rechenzentrums 100) ähnlich aufgebaut sein können wie der Pod 110, der in 2 dargestellt und in Bezug darauf beschrieben ist, und ähnliche Komponenten wie dieser aufweisen kann (beispielsweise kann jeder Pod Reihen von Racks aufweisen, die mehrere Sleds aufnehmen, wie vorstehend beschrieben). Zusätzlich ist zu verstehen, dass, wenngleich zwei Pod-Switches 250, 260 dargestellt sind, gemäß anderen Ausführungsformen jeder Pod 110, 120, 130, 140 mit einer anderen Anzahl von Pod-Switches verbunden sein kann, wodurch eine sogar noch größere Ausfallsicherung bereitgestellt wird. Natürlich können Pods gemäß anderen Ausführungsformen anders als in der in den 1 - 2 dargestellten Rack-Reihenkonfiguration angeordnet sein. Beispielsweise kann ein Pod als mehrere Rack-Sätze verwirklicht sein, wobei jeder Rack-Satz radial angeordnet ist, so dass die Racks in gleichem Abstand von einem zentralen Switch sind.
  • Mit Bezug auf die 3 - 5 sei nun bemerkt, dass jedes der Erläuterung dienende Rack 240 des Rechenzentrums 100 zwei langgestreckte Tragstangen 302, 304 aufweist, die vertikal angeordnet sind. Beispielsweise können sich die langgestreckten Tragstangen 302, 304 im aufgebauten Zustand vom Boden des Rechenzentrums 100 nach oben erstrecken. Das Rack 240 weist auch ein oder mehrere horizontale Paare 310 langgestreckter Tragarme 312 (in 3 durch eine gestrichelte Ellipse identifiziert) auf, die dafür ausgelegt sind, einen Sled des Rechenzentrums 100 zu tragen, wie nachstehend erörtert. Ein langgestreckter Tragarm 312 des Paars langgestreckter Tragarme 312 erstreckt sich von der langgestreckten Tragstange 302 nach außen, und der andere langgestreckte Tragarm 312 erstreckt sich von der langgestreckten Tragstange 304 nach außen.
  • Gemäß den der Erläuterung dienenden Ausführungsformen ist jeder Sled des Rechenzentrums 100 als chassisloser Sled verwirklicht. Das heißt, dass jeder Sled ein chassisloses Leiterplattensubstrat aufweist, auf dem physische Ressourcen (beispielsweise Prozessoren, Speicher, Beschleuniger, Massenspeicher usw.) montiert sind, wie nachstehend in weiteren Einzelheiten erörtert wird. Dabei ist das Rack 240 dafür ausgelegt, die chassislosen Sleds aufzunehmen. Beispielsweise definiert jedes Paar 310 der langgestreckten Tragarme 312 einen Sled-Schlitz 320 des Racks 240, der dafür ausgelegt ist, einen entsprechenden chassislosen Sled aufzunehmen. Hierfür weist jeder der Erläuterung dienende langgestreckte Tragarm 312 eine Leiterplattenführung 330 auf, die dafür ausgelegt ist, das chassislose Leiterplattensubstrat des Sleds aufzunehmen. Jede Leiterplattenführung 330 ist an einer Oberseite 332 des entsprechenden langgestreckten Tragarms 312 befestigt oder auf andere Weise daran montiert. Beispielsweise ist gemäß der der Erläuterung dienenden Ausführungsform jede Leiterplattenführung 330 an einem distalen Ende des entsprechenden langgestreckten Tragarms 312 in Bezug auf die entsprechende langgestreckte Tragstange 302, 304 montiert. Im Interesse der Klarheit der Figuren kann nicht jede Leiterplattenführung 330 in jeder Figur bezeichnet sein.
  • Jede Leiterplattenführung 330 weist eine Innenwand auf, die einen Leiterplattenschlitz 380 definiert, der dafür ausgelegt ist, das chassislose Leiterplattensubstrat eines Sleds 400 aufzunehmen, wenn der Sled 400 im entsprechenden Sled-Schlitz 320 des Racks 240 aufgenommen wird. Hierfür richtet ein Benutzer (oder Roboter), wie in 4 dargestellt, das chassislose Leiterplattensubstrat eines der Erläuterung dienenden chassislosen Sleds 400 mit einem Sled-Schlitz 320 aus. Der Benutzer oder Roboter kann dann das chassislose Leiterplattensubstrat in den Sled-Schlitz 320 vorschieben, so dass jede Seitenkante 414 des chassislosen Leiterplattensubstrats in einem entsprechenden Leiterplattenschlitz 380 der Leiterplattenführungen 330 des Paars 310 langgestreckter Tragarme 312, die den entsprechenden Sled-Schlitz 320 definieren, wie in 4 dargestellt, aufgenommen wird. Indem von Robotern zugängliche und von Robotern manipulierbare Sleds bereitgestellt werden, die nicht aggregierte Ressourcen aufweisen, kann jeder Ressourcentyp unabhängig von anderen und bei seiner eigenen optimierten Wiederauffrischungsrate aufgerüstet werden. Ferner sind die Sleds so ausgelegt, dass sie blind zu Strom- und Datenkommunikationskabeln in jedem Rack 240 passen, wodurch ihre Fähigkeit verbessert wird, schnell entfernt, aufgerüstet, neu installiert und/oder ersetzt zu werden. Dabei kann das Rechenzentrum 100 gemäß einigen Ausführungsformen ohne menschlichen Eingriff auf dem Boden des Rechenzentrums arbeiten (beispielsweise Arbeitslasten ausführen, Wartung und/oder Aufrüstungen unterzogen werden usw.). Gemäß anderen Ausführungsformen kann eine Person einen oder mehrere Wartungs- oder Aufrüstungsvorgänge im Rechenzentrum 100 ermöglichen.
  • Es sei bemerkt, dass jede Leiterplattenführung 330 zwei Seiten aufweist. Das heißt, dass jede Leiterplattenführung 330 eine Innenwand aufweist, die auf jeder Seite der Leiterplattenführung 330 einen Leiterplattenschlitz 380 definiert. Auf diese Weise kann jede Leiterplattenführung 330 auf jeder Seite ein chassisloses Leiterplattensubstrat tragen. Dabei kann eine einzige zusätzliche langgestreckte Tragstange zum Rack 240 hinzugefügt werden, um das Rack 240 zu einer Zwei-Rack-Lösung zu machen, die zwei Mal so viele Sled-Schlitze 320 halten kann, wie in 3 dargestellt ist. Das der Erläuterung dienende Rack 240 weist sieben Paare 310 langgestreckter Tragarme 312 auf, die entsprechende sieben Sled-Schlitze 320 definieren, welche jeweils dafür ausgelegt sind, einen entsprechenden Sled 400 aufzunehmen und zu tragen, wie vorstehend erörtert wurde. Natürlich kann das Rack 240 gemäß anderen Ausführungsformen zusätzliche oder weniger Paare 310 langgestreckter Tragarme 312 (d. h. zusätzliche oder weniger Sled-Schlitze 320) aufweisen. Es sei bemerkt, dass der Sled 400, weil er chassislos ist, eine Gesamthöhe aufweisen kann, die von jener typischer Server verschieden ist. Dabei kann gemäß einigen Ausführungsformen die Höhe jedes Sled-Schlitzes 320 geringer sein als die Höhe eines typischen Servers (beispielsweise kürzer als eine einzige Rack-Einheit „1U“). Das heißt, dass der vertikale Abstand zwischen den jeweiligen Paaren 310 langgestreckter Tragarme 312 geringer sein kann als bei einer Standard-Rack-Einheit „1U“. Zusätzlich kann infolge der relativen Verringerung der Höhe der Sled-Schlitze 320 die Gesamthöhe des Racks 240 gemäß einigen Ausführungsformen geringer sein als die Höhe traditioneller Rack-Einfassungen. Beispielsweise kann gemäß einigen Ausführungsformen jede der langgestreckten Tragstangen 302, 304 eine Länge von 6 Fuß oder weniger aufweisen. Wiederum kann das Rack 240 gemäß anderen Ausführungsformen andere Abmessungen aufweisen. Beispielsweise kann gemäß einigen Ausführungsformen der vertikale Abstand zwischen jeweiligen Paaren 310 langgestreckter Tragarme 312 größer als bei einer Standard-Rack-Einheit „1U“ sein. Gemäß solchen Ausführungsformen ermöglicht der erhöhte vertikale Abstand zwischen den Sleds die Anbringung größerer Kühlkörper an den physischen Ressourcen und die Verwendung größerer Lüfter (beispielsweise in der nachstehend beschriebenen Lüfteranordnung 370) für die Kühlung jedes Sleds, wodurch wiederum ermöglicht werden kann, dass die physischen Ressourcen mit erhöhten Leistungsniveaus arbeiten. Ferner ist zu verstehen, dass das Rack 240 keine Wände, Einfassungen oder dergleichen aufweist. Vielmehr ist das Rack 240 ein einfassungsloses Rack, das zur lokalen Umgebung geöffnet ist. Natürlich kann in manchen Fällen in Situationen, in denen das Rack 240 ein am Ende einer Reihe angeordnetes Rack im Rechenzentrum 100 bildet, eine Endplatte an einer der langgestreckten Tragstangen 302, 304 befestigt sein.
  • Gemäß einigen Ausführungsformen können verschiedene Zwischenverbindungen nach oben oder nach unten durch die langgestreckten Tragstangen 302, 304 geführt sein. Zur Erleichterung dieser Leitungen weist jede langgestreckte Tragstange 302, 304 eine Innenwand auf, die eine Innenkammer definiert, worin sich Zwischenverbindungen befinden können. Die durch die langgestreckten Tragstangen 302, 304 geführten Zwischenverbindungen können als ein beliebiger Zwischenverbindungstyp verwirklicht sein, einschließlich Daten- oder Kommunikationszwischenverbindungen zur Bereitstellung von Kommunikationsverbindungen zu den jeweiligen Sled-Schlitzen 320, Stromzwischenverbindungen zur Bereitstellung von Strom für jeden Sled-Schlitz 320 und/oder andere Zwischenverbindungstypen, jedoch ohne Einschränkung darauf.
  • Das Rack 240 weist gemäß der der Erläuterung dienenden Ausführungsform eine Tragplattform auf, woran ein entsprechender optischer Datenverbinder (nicht dargestellt) montiert ist. Jeder optische Datenverbinder ist einem entsprechenden Sled-Schlitz 320 zugeordnet und so ausgelegt, dass er mit einem optischen Datenverbinder eines entsprechenden Sleds 400 zusammenpasst, wenn der Sled 400 in den entsprechenden Sled-Schlitz 320 aufgenommen wird. Gemäß einigen Ausführungsformen werden optische Verbindungen zwischen Komponenten (beispielsweise Sleds, Racks und Switches) im Rechenzentrum 100 durch eine blind passende optische Verbindung hergestellt. Beispielsweise kann eine Tür an jedem Kabel verhindern, dass Staub die Faser innerhalb des Kabels verunreinigt. Beim Prozess der Verbindung mit einem blind passenden optischen Verbindermechanismus wird die Tür durch Schieben geöffnet, wenn sich das Ende des Kabels dem Verbindermechanismus nähert oder darin eintritt. Anschließend kann die optische Faser innerhalb des Kabels in ein Gel innerhalb des Verbindermechanismus eintreten, und die optische Faser eines Kabels gelangt in Kontakt mit der optischen Faser des anderen Kabels innerhalb des Gels im Inneren des Verbindermechanismus.
  • Das der Erläuterung dienende Rack 240 weist auch eine Lüfteranordnung 370 auf, die mit den Quertragarmen des Racks 240 gekoppelt ist. Die Lüfteranordnung 370 weist eine oder mehrere Reihen von Kühllüftern 372 auf, die in einer horizontalen Linie zwischen den langgestreckten Tragstangen 302, 304 ausgerichtet sind. Gemäß der der Erläuterung dienenden Ausführungsform weist die Lüfteranordnung 370 eine Reihe von Kühllüftern 372 für jeden Sled-Schlitz 320 des Racks 240 auf. Wie vorstehend erörtert, weist gemäß der der Erläuterung dienenden Ausführungsform jeder Sled 400 kein Bordkühlsystem auf, so dass die Lüfteranordnung 370 eine Kühlung für jeden im Rack 240 aufgenommenen Sled 400 bereitstellt. Jedes Rack 240 weist gemäß der der Erläuterung dienenden Ausführungsform auch eine Stromversorgung auf, die jedem Sled-Schlitz 320 zugeordnet ist. Jede Stromversorgung ist an einem der langgestreckten Tragarme 312 des Paars 310 langgestreckter Tragarme 312, die den entsprechenden Sled-Schlitz 320 definieren, befestigt. Beispielsweise kann das Rack 240 eine Stromversorgung aufweisen, die mit jedem langgestreckten Tragarm 312, der sich von der langgestreckten Tragstange 302 erstreckt, gekoppelt oder daran befestigt ist. Jede Stromversorgung weist einen Stromverbinder auf, der dafür ausgelegt ist, mit einem Stromverbinder des Sleds 400 zusammenzupassen, wenn der Sled 400 im entsprechenden Sled-Schlitz 320 aufgenommen ist. Gemäß der der Erläuterung dienenden Ausführungsform weist der Sled 400 keine Bordstromversorgung auf, so dass die im Rack 240 bereitgestellten Stromversorgungen entsprechenden Sleds 400, wenn sie am Rack 240 montiert sind, Strom zuführen. Jede Stromversorgung ist dafür ausgelegt, die Stromversorgungsanforderungen für den zugeordneten Sled zu erfüllen, welche sich von Sled zu Sled ändern können. Zusätzlich können die im Rack 240 bereitgestellten Stromversorgungen unabhängig voneinander arbeiten. Das heißt, dass innerhalb eines einzigen Racks eine erste Stromversorgung, die einem Rechen-Sled Strom bereitstellt, Strompegel bereitstellen kann, die sich von den Strompegeln unterscheiden, die von einer zweiten Stromversorgung zugeführt werden, die einem Beschleuniger-Sled Strom bereitstellt. Die Stromversorgungen können auf der Sled-Ebene oder der Rack-Ebene steuerbar sein und lokal durch Komponenten auf dem zugeordneten Sled oder aus der Ferne gesteuert werden, beispielsweise durch einen anderen Sled oder einen Orchestrator.
  • Mit Bezug auf 6 sei nun bemerkt, dass der Sled 400 gemäß der der Erläuterung dienenden Ausführungsform dafür ausgelegt ist, in einem entsprechenden Rack 240 des Rechenzentrums 100, wie vorstehend erörtert, montiert zu werden. Gemäß einigen Ausführungsformen kann jeder Sled 400 für die Ausführung bestimmter Aufgaben in der Art von Rechenaufgaben, Beschleunigungsaufgaben, Datenspeicheraufgaben usw. optimiert oder auf andere Weise ausgelegt werden. Beispielsweise kann der Sled 400 als ein Rechen-Sled 800, wie nachstehend in Bezug auf die 8 - 9 erörtert, ein Beschleuniger-Sled 1000, wie nachstehend in Bezug auf die 10 - 11 erörtert, ein Massenspeicher-Sled 1200, wie nachstehend in Bezug auf die 12 - 13 erörtert, oder ein Sled, der dafür optimiert oder auf andere Weise ausgelegt ist, andere spezialisierte Aufgaben auszuführen, wie ein Speicher-Sled 1400, wie nachstehend in Bezug auf 14 erörtert, verwirklicht sein.
  • Wie vorstehend erörtert wurde, weist der der Erläuterung dienende Sled 400 ein chassisloses Leiterplattensubstrat 602 auf, das verschiedene physische Ressourcen (beispielsweise elektrische Komponenten), die daran montiert sind, trägt. Es sei bemerkt, dass das Leiterplattensubstrat 602 in der Hinsicht „chassislos“ ist, dass der Sled 400 kein Gehäuse oder keine Einfassung aufweist. Vielmehr ist das chassislose Leiterplattensubstrat 602 zur lokalen Umgebung offen. Das chassislose Leiterplattensubstrat 602 kann aus einem beliebigen Material hergestellt werden, das in der Lage ist, die verschiedenen elektrischen Komponenten, die daran montiert sind, zu tragen. Beispielsweise besteht das chassislose Leiterplattensubstrat 602 gemäß einer der Erläuterung dienenden Ausführungsform aus einem glasfaserverstärkten FR-4-Epoxidlaminatmaterial. Natürlich können gemäß anderen Ausführungsformen auch andere Materialien zur Bildung des chassislosen Leiterplattensubstrats 602 verwendet werden.
  • Wie nachstehend in weiteren Einzelheiten erörtert wird, weist das chassislose Leiterplattensubstrat 602 mehrere Merkmale auf, welche die thermischen Kühleigenschaften der verschiedenen am chassislosen Leiterplattensubstrat 602 montierten elektrischen Komponenten verbessern. Wie erörtert, weist das chassislose Leiterplattensubstrat 602 kein Gehäuse oder keine Einfassung auf, wodurch die Luftströmung über den elektrischen Komponenten des Sleds 400 durch Reduzieren jener Strukturen, welche die Luftströmung behindern können, verbessert werden kann. Beispielsweise gibt es, weil das chassislose Leiterplattensubstrat 602 nicht in einem individuellen Gehäuse oder einer individuellen Einfassung angeordnet ist, keine am chassislosen Leiterplattensubstrat 602 angebrachte vertikal angeordnete Backplane (beispielsweise eine Rückplatte des Chassis), wodurch die Luftströmung über die elektrischen Komponenten behindert werden könnte. Zusätzlich weist das chassislose Leiterplattensubstrat 602 eine geometrische Form auf, die dafür ausgelegt ist, die Länge des Luftströmungswegs über die am chassislosen Leiterplattensubstrat 602 montierten elektrischen Komponenten zu verringern. Beispielsweise weist das der Erläuterung dienende chassislose Leiterplattensubstrat 602 eine Breite 604 auf, welche die Tiefe 606 des chassislosen Leiterplattensubstrats 602 überschreitet. Gemäß einer bestimmten Ausführungsform weist das chassislose Leiterplattensubstrat 602 beispielsweise eine Breite von etwa 21 Zoll und eine Tiefe von etwa 9 Zoll auf, was mit einem typischen Server zu vergleichen ist, der eine Breite von etwa 17 Zoll und eine Tiefe von etwa 39 Zoll aufweist. Dabei hat ein Luftströmungsweg 608, der sich von einer Vorderkante 610 des chassislosen Leiterplattensubstrats 602 zu einer Hinterkante 612 erstreckt, verglichen mit typischen Servern eine geringere Abmessung, wodurch die thermischen Kühleigenschaften des Sleds 400 verbessert werden können. Ferner sind, wenngleich dies in 6 nicht dargestellt ist, die verschiedenen am chassislosen Leiterplattensubstrat 602 montierten physischen Ressourcen an entsprechenden Stellen montiert, so dass keine zwei in erheblichem Maße Wärme erzeugenden elektrischen Komponenten einander abschatten, wie nachstehend in weiteren Einzelheiten erörtert wird. Das heißt, dass keine zwei elektrischen Komponenten, die während des Betriebs erhebliche Wärme erzeugen (d. h. größer als eine Nennwärme, die ausreicht, um die Kühlung einer anderen elektrischen Komponente zu beeinträchtigen), linear in einer Linie miteinander entlang der Richtung des Luftströmungswegs 608 (d. h. entlang einer Richtung, die sich von der Vorderkante 610 zur Hinterkante 612 des chassislosen Leiterplattensubstrats 602 erstreckt) am chassislosen Leiterplattensubstrat 602 montiert sind.
  • Wie vorstehend erörtert wurde, weist der der Erläuterung dienende Sled 400 eine oder mehrere physische Ressourcen 620 auf, die an einer Oberseite 650 des chassislosen Leiterplattensubstrats 602 montiert sind. Wenngleich in 6 zwei physische Ressourcen 620 dargestellt sind, ist zu verstehen, dass der Sled 400 gemäß anderen Ausführungsformen eine, zwei oder mehr physische Ressourcen 620 aufweisen kann. Die physischen Ressourcen 620 können als ein beliebiger Typ eines Prozessors, einer Steuereinrichtung oder einer anderen Rechenschaltung verwirklicht sein, wodurch verschiedene Aufgaben ausgeführt werden können, wie Rechenfunktionen und/oder das Steuern der Funktionen des Sleds 400, abhängig beispielsweise vom Typ oder von der vorgesehenen Funktionalität des Sleds 400. Beispielsweise können die physischen Ressourcen 620, wie nachstehend in weiteren Einzelheiten erörtert, gemäß Ausführungsformen, bei denen der Sled 400 als ein Rechen-Sled verwirklicht ist, als Hochleistungsprozessoren verwirklicht sein, gemäß Ausführungsformen, bei denen der Sled 400 als Beschleuniger-Sled verwirklicht ist, als Beschleuniger-Coprozessoren oder -Schaltungen verwirklicht sein, gemäß Ausführungsformen, bei denen der Sled 400 als Massenspeicher-Sled verwirklicht ist, als Massenspeicher-Steuereinrichtungen verwirklicht sein, oder gemäß Ausführungsformen, bei denen der Sled 400 als Speicher-Sled verwirklicht ist, als ein Satz von Speichervorrichtungen verwirklicht sein.
  • Der Sled 400 weist auch eine oder mehrere zusätzliche physische Ressourcen 630 auf, die auf der Oberseite 650 des chassislosen Leiterplattensubstrats 602 montiert sind. Gemäß der der Erläuterung dienenden Ausführungsform weisen die zusätzlichen physischen Ressourcen eine Netzschnittstellen-Steuereinrichtung (NIC) auf, wie nachstehend in weiteren Einzelheiten erörtert. Natürlich können die physischen Ressourcen 630 abhängig vom Typ und von der Funktionalität des Sleds 400 gemäß anderen Ausführungsformen zusätzliche oder andere elektrische Komponenten, Schaltungen und/oder Vorrichtungen aufweisen.
  • Die physischen Ressourcen 620 sind über ein Ein-/Ausgabe(E/A)-Untersystem 622 kommunikativ mit den physischen Ressourcen 630 gekoppelt. Das E/A-Untersystem 622 kann als Schaltungsanordnung und/oder Komponenten verwirklicht sein, um Ein-/Ausgabeoperationen mit den physischen Ressourcen 620, den physischen Ressourcen 630 und/oder anderen Komponenten des Sleds 400 zu ermöglichen. Beispielsweise kann das E/A-Untersystem 622 als Speichersteuereinrichtungs-Hubs, Ein-/Ausgabesteuerungs-Hubs, Integrierte-Sensor-Hubs, Firmwarevorrichtungen, Kommunikationsstrecken (beispielsweise Punkt-zu-Punkt-Strecken, Busstrecken, Drähte, Kabel, Wellenleiter, Lichtleiter, Leiterbahnen gedruckter Leiterplatten usw.) und/oder andere Komponenten und Untersysteme zur Ermöglichung der Ein-/Ausgabeoperationen verwirklicht sein oder diese auf andere Weise aufweisen. Gemäß der der Erläuterung dienenden Ausführungsform ist das E/A-Untersystem 622 als Doppelte-Datenrate-4(DDR4)-Datenbus oder DDR5-Datenbus verwirklicht oder weist diesen auf andere Weise auf, wie nachstehend weiter beschrieben wird.
  • Gemäß einigen Ausführungsformen kann der Sled 400 auch eine Ressource-zu-Ressource-Zwischenverbindung 624 aufweisen. Die Ressource-zu-Ressource-Zwischenverbindung 624 kann als ein beliebiger Typ einer Kommunikationszwischenverbindung verwirklicht sein, wodurch Ressource-zu-Ressource-Kommunikationen ermöglicht werden können. Gemäß der der Erläuterung dienenden Ausführungsform ist die Ressource-zu-Ressource-Zwischenverbindung 624 als eine schnelle Punkt-zu-Punkt-Zwischenverbindung (beispielsweise schneller als das E/A-Untersystem 622) verwirklicht. Beispielsweise kann die Ressource-zu-Ressource-Zwischenverbindung 624 als eine QuickPath-Interconnect(QPI)-, eine UltraPath-Interconnect(UPI)- oder eine andere schnelle Punkt-zu-Punkt-Zwischenverbindung, die für Ressource-zu-Ressource-Kommunikationen vorgesehen ist, verwirklicht sein.
  • Der Sled 400 weist auch einen Stromverbinder 640 auf, der so ausgelegt ist, dass er mit einem entsprechenden Stromverbinder des Racks 240 zusammenpasst, wenn der Sled 400 im entsprechenden Rack 240 montiert wird. Der Sled 400 empfängt Strom von einer Stromversorgung des Racks 240 über den Stromverbinder 640, um den verschiedenen elektrischen Komponenten des Sleds 400 Strom zuzuführen. Das heißt, dass der Sled 400 keine lokale Stromversorgung (d. h. eine Bordstromversorgung) aufweist, um den elektrischen Komponenten des Sleds 400 Strom bereitzustellen. Durch den Ausschluss einer lokalen oder Bordstromversorgung wird die Verringerung des Gesamtfußabdrucks des chassislosen Leiterplattensubstrats 602 ermöglicht, wodurch die thermischen Kühleigenschaften der verschiedenen am chassislosen Leiterplattensubstrat 602 montierten elektrischen Komponenten verbessert werden können, wie vorstehend erörtert wurde. Gemäß einigen Ausführungsformen befinden sich Spannungsregler auf der Unterseite 750 (siehe 7) des chassislosen Leiterplattensubstrats 602 direkt entgegengesetzt zu den Prozessoren 820 (siehe 8), und Strom wird den Prozessoren 820 durch Durchkontaktierungen, die durch das Leiterplattensubstrat 602 verlaufen, von den Spannungsreglern zugeführt. Eine solche Konfiguration stellt ein verbessertes Wärmebudget, zusätzlichen Strom und/oder zusätzliche Spannung und eine bessere Spannungssteuerung gegenüber typischen gedruckten Leiterplatten bereit, bei denen Strom für den Prozessor von einem Spannungsregler teilweise durch Leiterbahnen zugeführt wird.
  • Gemäß einigen Ausführungsformen kann der Sled 400 Montagemerkmale 642 aufweisen, die dafür ausgelegt sind, mit einem Montagearm oder einer anderen Struktur eines Roboters zusammenzupassen, um die Anordnung des Sleds 600 in einem Rack 240 durch den Roboter zu erleichtern. Die Montagemerkmale 642 können als ein beliebiger Typ von physischen Strukturen verwirklicht sein, die es dem Roboter ermöglichen, den Sled 400 zu greifen, ohne das chassislose Leiterplattensubstrat 602 oder die daran montierten elektrischen Komponenten zu beschädigen. Beispielsweise können die Montagemerkmale 642 gemäß einigen Ausführungsformen als nicht leitende Auflagen verwirklicht sein, die am chassislosen Leiterplattensubstrat 602 angebracht sind. Gemäß anderen Ausführungsformen können die Montagemerkmale als Halterungen, Klammern oder andere ähnliche Strukturen verwirklicht sein, die am chassislosen Leiterplattensubstrat 602 angebracht sind. Die bestimmte Anzahl, Form, Größe und/oder Ausgestaltung des Montagemerkmals 642 kann vom Entwurf des für die Behandlung des Sleds 400 ausgelegten Roboters abhängen.
  • Mit Bezug auf 7 sei nun bemerkt, dass der Sled 400 zusätzlich zu den physischen Strukturen 630, die auf der Oberseite 650 des chassislosen Leiterplattensubstrats 602 montiert sind, auch eine oder mehrere an der Unterseite 750 des chassislosen Leiterplattensubstrats 602 montierte Speichervorrichtungen 720 aufweist. Das heißt, dass das chassislose Leiterplattensubstrat 602 als eine doppelseitige Leiterplatte verwirklicht ist. Die physischen Ressourcen 620 sind über das E/A-Untersystem 622 kommunikativ mit den Speichervorrichtungen 720 gekoppelt. Beispielsweise können die physischen Ressourcen 620 und die Speichervorrichtungen 720 kommunikativ durch eine oder mehrere Durchkontaktierungen gekoppelt sein, die sich durch das chassislose Leiterplattensubstrat 602 erstrecken. Jede physische Ressource 620 kann gemäß einigen Ausführungsformen kommunikativ mit einem anderen Satz einer oder mehrerer Speichervorrichtungen 720 gekoppelt sein. Alternativ kann jede physische Ressource 620 gemäß anderen Ausführungsformen kommunikativ mit jeder Speichervorrichtung 720 gekoppelt sein.
  • Die Speichervorrichtungen 720 können als ein beliebiger Typ von Speichervorrichtung verwirklicht sein, der in der Lage ist, Daten für die physischen Ressourcen 620 während des Betriebs des Sleds 400 zu speichern, wie ein Typ eines flüchtigen Speichers (beispielsweise eines dynamischen Direktzugriffsspeichers (DRAM) usw.) oder eines nichtflüchtigen Speichers. Der flüchtige Speicher kann ein Speicher sein, der Strom benötigt, um den Zustand der vom Medium gespeicherten Daten aufrechtzuerhalten. Nicht einschränkende Beispiele eines flüchtigen Speichers können verschiedene Typen eines Direktzugriffsspeichers (RAM) in der Art eines dynamischen Direktzugriffsspeichers (DRAM) oder statischen Direktzugriffsspeichers (SRAM) einschließen. Ein bestimmter Typ eines DRAMs, der in einem Speichermodul verwendet werden kann, ist ein synchroner dynamischer Direktzugriffsspeicher (SDRAM). Gemäß bestimmten Ausführungsformen kann der DRAM einer Speicherkomponente einem Standard entsprechen, der vom Joint Electronic Device Engineering Council (JEDEC) vertreten wird, wie JESD79F für DDR SDRAM, JESD79-2F für DDR2 SDRAM, JESD79-3F für DDR3 SDRAM, JESD79-4A für DDR4 SDRAM, JESD209 für Low Power DDR (LPDDR), JESD209-2 für LPDDR2, JESD209-3 für LPDDR3 und JESD209-4 für LPDDR4. Diese Standards (und ähnliche Standards) können als DDR-basierte Standards bezeichnet werden, und Kommunikationsschnittstellen der Speichervorrichtungen, die diese Standards implementieren, können als DDR-basierte Schnittstellen bezeichnet werden.
  • Gemäß einer Ausführungsform ist die Speichervorrichtung eine blockadressierbare Speichervorrichtung in der Art jener auf der Grundlage von NAND- oder NOR-Technologien in der Art eines Mehrere-Schwellenpegel-NAND-Flash-Speichers oder eines NOR-Flash-Speichers. Eine Speichervorrichtung kann auch nichtflüchtige byteadressierbare Write-in-place-Speichervorrichtungen in der Art eines Intel-3D-XPoint™-Speichers, eines Intel-Optane™-Speichers, eines Micron-QuantX™-Speichers, eines magnetoresistiven Direktzugriffsspeichers (MRAM), der Memristor-Technologie aufweist, oder andere nichtflüchtige byteadressierbare Write-in-place-Speichervorrichtungen einschließen. Gemäß einigen Ausführungsformen kann die Speichervorrichtung eine transistorlose stapelbare Kreuzungspunktarchitektur aufweisen, wobei sich Speicherzellen am Schnittpunkt von Wortleitungen und Bitleitungen befinden und einzeln adressierbar sind und wobei die Bitspeicherung auf einer Änderung des Volumenwiderstands beruht. Gemäß einer Ausführungsform kann die Speichervorrichtung durch Speichervorrichtungen, die Chalcogenidglas verwenden, einen Einzel- oder Mehrebenen-Phasenänderungsspeicher (PCM), einen resistiven Speicher, einen Nanodrahtspeicher, einen ferroelektrischen Transistor-Direktzugriffsspeicher (FeTRAM), einen antiferromagnetischen Speicher, einen magnetoresistiven Direktzugriffsspeicher (MRAM), der die Memristor-Technologie aufweist, einen resistiven Speicher, der eine Metalloxidbasis und eine Sauerstoffleerstellenbasis aufweist, und einen Leitende-Brücke-Direktzugriffsspeicher (CB-RAM) oder einen Spinübertragungs-Drehmoment (STT)-MRAM, eine auf einem Spintronic-Magnet-übergangsspeicher beruhende Vorrichtung, eine auf einem magnetischen Tunnelübergang (MTJ) beruhende Vorrichtung, eine auf einer DW (Domänenwand) und SOT (Spinbahnübertragung) beruhende Vorrichtung, eine thyristorbasierte Speichervorrichtung oder eine Kombination jeglicher der vorstehenden oder einen anderen Speicher gegeben sein oder diesen einschließen. Die Speichervorrichtung kann sich auf den Die selbst und/oder ein paketiertes Speicherprodukt beziehen.
  • Mit Bezug auf 8 sei nun bemerkt, dass gemäß einigen Ausführungsformen der Sled 400 als ein Rechen-Sled 800 verwirklicht sein kann. Der Rechen-Sled 800 ist optimiert oder auf andere Weise dafür ausgelegt, Rechenaufgaben auszuführen. Natürlich kann sich der Rechen-Sled 800, wie vorstehend erörtert wurde, auf andere Sleds in der Art von Beschleunigungs-Sleds und/oder Massenspeicher-Sleds verlassen, um solche Rechenaufgaben auszuführen. Der Rechen-Sled 800 weist verschiedene physische Ressourcen (beispielsweise elektrische Komponenten) ähnlich den physischen Ressourcen des Sleds 400 auf, die in 8 unter Verwendung der gleichen Bezugszahlen identifiziert wurden. Die Beschreibung jener Komponenten, die vorstehend in Bezug auf die 6 und 7 bereitgestellt wurde, gilt für die entsprechenden Komponenten des Rechen-Sleds 800 und wird hier aus Gründen der Klarheit der Beschreibung des Rechen-Sleds 800 nicht wiederholt.
  • Beim der Erläuterung dienenden Rechen-Sled 800 sind die physischen Ressourcen 620 als Prozessoren 820 verwirklicht. Wenngleich in 8 nur zwei Prozessoren 820 dargestellt sind, ist zu verstehen, dass der Rechen-Sled 800 gemäß anderen Ausführungsformen zusätzliche Prozessoren 820 aufweisen kann. Zur Erläuterung sei bemerkt, dass die Prozessoren 820 als Hochleistungsprozessoren 820 verwirklicht sind und dafür ausgelegt sein können, mit einem verhältnismäßig hohen Leistungsnennwert zu arbeiten. Wenngleich die Prozessoren 820 zusätzliche Wärme erzeugen, wobei sie bei Leistungsnennwerten arbeiten, die jene typischer Prozessoren überschreiten (die bei etwa 155 - 230 W arbeiten), erleichtern die vorstehend erörterten verbesserten thermischen Kühleigenschaften des chassislosen Leiterplattensubstrats 602 den Betrieb mit höherer Leistungsaufnahme. Beispielsweise sind die Prozessoren 820 gemäß der der Erläuterung dienenden Ausführungsform dafür ausgelegt, mit einem Leistungsnennwert von wenigstens 250 W zu arbeiten. Gemäß einigen Ausführungsformen können die Prozessoren 820 dafür ausgelegt sein, mit einem Leistungsnennwert von wenigstens 350 W zu arbeiten.
  • Gemäß einigen Ausführungsformen kann der Rechen-Sled 800 auch eine Prozessor-zu-Prozessor-Zwischenverbindung 842 aufweisen. Ähnlich der Ressource-zu-Ressource-Zwischenverbindung 624 des Sleds 400, wie vorstehend erörtert, kann die Prozessor-zu-Prozessor-Zwischenverbindung 842 als ein beliebiger Typ einer Kommunikationszwischenverbindung verwirklicht sein, wodurch Prozessor-zu-Prozessor-Zwischenverbindung-842-Kommunikationen ermöglicht werden können. Gemäß der der Erläuterung dienenden Ausführungsform ist die Prozessor-zu-Prozessor-Zwischenverbindung 842 als eine schnelle Punkt-zu-Punkt-Zwischenverbindung (beispielsweise schneller als das E/A-Subsystem 622) verwirklicht. Beispielsweise kann die Prozessor-zu-Prozessor-Zwischenverbindung 842 als eine QuickPath-Interconnect(QPI)-, eine UltraPath-Interconnect(UPI)- oder eine andere schnelle Punkt-zu-Punkt-Zwischenverbindung, die für Prozessor-zu-Prozessor-Kommunikationen vorgesehen ist, verwirklicht sein.
  • Der Rechen-Sled 800 weist auch eine Kommunikationsschaltung 830 auf. Die der Erläuterung dienende Kommunikationsschaltung 830 weist eine Netzschnittstellen-Steuereinrichtung (NIC) 832 auf, die auch als Host-Fabric-Schnittstelle (HFI) bezeichnet werden kann. Die NIC 832 kann als ein beliebiger Typ einer integrierten Schaltung, von diskreten Schaltungen, von Steuereinrichtungs-Chips, von Chipsätzen, von Zusatzplatinen, von Tochterkarten, von Netzschnittstellenkarten oder anderen Vorrichtungen, die vom Rechen-Sled 800 verwendet werden können, um sich mit einer anderen Rechenvorrichtung (beispielsweise mit anderen Sleds 400) zu verbinden, verwirklicht sein oder diese auf andere Weise aufweisen. Gemäß einigen Ausführungsformen kann die NIC 832 als ein Teil eines System-auf-einem-Chip (SoC) verwirklicht sein, das einen oder mehrere Prozessoren aufweist, oder in eine Mehrchip-Baugruppe aufgenommen sein, die auch einen oder mehrere Prozessoren enthält. Gemäß einigen Ausführungsformen kann die NIC 832 einen lokalen Prozessor (nicht dargestellt) und/oder einen lokalen Speicher (nicht dargestellt) aufweisen, die sich beide lokal an der NIC 832 befinden. Gemäß solchen Ausführungsformen kann der lokale Prozessor der NIC 832 in der Lage sein, eine oder mehrere der Funktionen der Prozessoren 820 auszuführen. Zusätzlich oder alternativ kann der lokale Speicher der NIC 832 gemäß diesen Ausführungsformen auf dem Platinenniveau, dem Sockelniveau, dem Chipniveau und/oder anderen Niveaus in eine oder mehrere Komponenten des Rechen-Sleds integriert sein.
  • Die Kommunikationsschaltung 830 ist kommunikativ mit einem optischen Datenverbinder 834 gekoppelt. Der optische Datenverbinder 834 ist dafür ausgelegt, mit einem entsprechenden optischen Datenverbinder des Racks 240 zusammenzupassen, wenn der Rechen-Sled 800 im Rack 240 montiert wird. Es sei bemerkt, dass der optische Datenverbinder 834 mehrere optische Fasern aufweist, die von einer Passfläche des optischen Datenverbinders 834 zu einem optischen Transceiver 836 führen. Der optische Transceiver 836 ist dafür ausgelegt, eingehende optische Signale vom rackseitigen optischen Datenverbinder in elektrische Signale umzuwandeln und elektrische Signale in abgehende optische Signale zum rackseitigen optischen Datenverbinder umzuwandeln. Wenngleich der optische Transceiver 836 gemäß der der Erläuterung dienenden Ausführungsform als Bestandteil des optischen Datenverbinders 834 dargestellt ist, kann er gemäß anderen Ausführungsformen einen Teil der Kommunikationsschaltung 830 bilden.
  • Gemäß einigen Ausführungsformen kann der Rechen-Sled 800 auch einen Erweiterungsverbinder 840 aufweisen. Gemäß solchen Ausführungsformen ist der Erweiterungsverbinder 840 dafür ausgelegt, mit einem entsprechenden Verbinder eines chassislosen Erweiterungs-Leiterplattensubstrats zusammenzupassen, um dem Rechen-Sled 800 zusätzliche physische Ressourcen bereitzustellen. Die zusätzlichen physischen Ressourcen können beispielsweise während des Betriebs des Rechen-Sleds 800 von den Prozessoren 820 verwendet werden. Das chassislose Erweiterungs-Leiterplattensubstrat kann im Wesentlichen dem vorstehend erörterten chassislosen Leiterplattensubstrat 602 ähneln und verschiedene daran montierte elektrische Komponenten aufweisen. Die jeweiligen am chassislosen Erweiterungs-Leiterplattensubstrat montierten elektrischen Komponenten können von der vorgesehenen Funktionalität des chassislosen Erweiterungs-Leiterplattensubstrats abhängen. Beispielsweise kann das chassislose Erweiterungs-Leiterplattensubstrat zusätzliche Rechenressourcen, Speicherressourcen und/oder Massenspeicherressourcen bereitstellen. Dabei können die zusätzlichen physischen Ressourcen des chassislosen Erweiterungs-Leiterplattensubstrats Prozessoren, Speichervorrichtungen, Massenspeichervorrichtungen und/oder Beschleunigerschaltungen, einschließlich beispielsweise feldprogrammierbarer Gate-Arrays (FPGA), anwendungsspezifischer integrierter Schaltungen (ASIC), Sicherheitscoprozessoren, Graphikverarbeitungseinheiten (GPU), Maschinenlernschaltungen oder anderer spezialisierter Prozessoren, Steuereinrichtungen, Vorrichtungen und/oder Schaltungen einschließen, sind jedoch nicht darauf beschränkt.
  • 9 zeigt nun eine der Erläuterung dienende Ausführungsform des Rechen-Sleds 800. Wie dargestellt, sind die Prozessoren 820, die Kommunikationsschaltung 830 und der optische Datenverbinder 834 auf der Oberseite 650 des chassislosen Leiterplattensubstrats 602 montiert. Für die Montage der physischen Ressourcen des Rechen-Sleds 800 am chassislosen Leiterplattensubstrat 602 kann eine beliebige geeignete Befestigungs- oder Montagetechnologie verwendet werden. Beispielsweise können die verschiedenen physischen Ressourcen in entsprechenden Sockeln (beispielsweise einem Prozessorsockel), Haltern oder Halterungen montiert werden. In einigen Fällen können einige der elektrischen Komponenten direkt durch Löten oder ähnliche Techniken am chassislosen Leiterplattensubstrat 602 montiert werden.
  • Wie vorstehend erörtert wurde, werden die einzelnen Prozessoren 820 und die Kommunikationsschaltung 830 derart auf der Oberseite 650 des chassislosen Leiterplattensubstrats 602 montiert, dass keine zwei Wärme erzeugenden elektrischen Komponenten einander abschatten. Gemäß der der Erläuterung dienenden Ausführungsform werden die Prozessoren 820 und die Kommunikationsschaltung 830 an entsprechenden Stellen auf der Oberseite 650 des chassislosen Leiterplattensubstrats 602 montiert, so dass keine zwei dieser physischen Ressourcen entlang der Richtung des Luftströmungswegs 608 linear in einer Linie miteinander sind. Es sei bemerkt, dass der optische Datenverbinder 834 während des Betriebs keine oder eine nominelle Wärme erzeugt, wenngleich der optische Datenverbinder 834 in einer Linie mit der Kommunikationsschaltung 830 ist.
  • Die Speichervorrichtungen 720 des Rechen-Sleds 800 werden an der Unterseite 750 des chassislosen Leiterplattensubstrats 602 montiert, wie vorstehend in Bezug auf den Sled 400 erörtert. Wenngleich sie an der Unterseite 750 montiert sind, sind die Speichervorrichtungen 720 über das E/A-Untersystem 622 kommunikativ mit den Prozessoren 820 gekoppelt, die sich auf der Oberseite 650 befinden. Weil das chassislose Leiterplattensubstrat 602 als eine doppelseitige Leiterplatte verwirklicht ist, können die Speichervorrichtungen 720 und die Prozessoren 820 durch eine oder mehrere Durchkontaktierungen, einen oder mehrere Verbinder oder andere Mechanismen, die sich durch das chassislose Leiterplattensubstrat 602 erstrecken, kommunikativ gekoppelt werden. Natürlich kann jeder Prozessor 820 gemäß einigen Ausführungsformen kommunikativ mit einem anderen Satz einer oder mehrerer Speichervorrichtungen 720 gekoppelt sein. Alternativ kann gemäß anderen Ausführungsformen jeder Prozessor 820 kommunikativ mit jeder Speichervorrichtung 720 gekoppelt sein. Gemäß einigen Ausführungsformen können die Speichervorrichtungen 720 mit einer oder mehreren Speicherzwischenebenen an der Unterseite des chassislosen Leiterplattensubstrats 602 montiert sein und durch eine Kugelgitteranordnung mit einem entsprechenden Prozessor 820 verbunden sein.
  • Jeder der Prozessoren 820 weist einen daran befestigten Kühlkörper 850 auf. Infolge der Montage der Speichervorrichtungen 720 an der Unterseite 750 des chassislosen Leiterplattensubstrats 602 (sowie der vertikalen Beabstandung der Sleds 400 im entsprechenden Rack 240) weist die Oberseite 650 des chassislosen Leiterplattensubstrats 602 einen zusätzlichen „freien“ Bereich oder Raum auf, der die Verwendung von Kühlkörpern 850 aufweist, deren Größe jene traditioneller Kühlkörper, die in typischen Servern verwendet werden, übersteigt. Zusätzlich weist infolge der verbesserten thermischen Kühleigenschaften des chassislosen Leiterplattensubstrats 602 keiner der Prozessorkühlkörper 850 daran angebrachte Kühllüfter auf. Das heißt, dass jeder der Kühlkörper 850 als ein lüfterloser Kühlkörper verwirklicht ist. Gemäß einigen Ausführungsformen können die auf den Prozessoren 820 montierten Kühlkörper 850 infolge ihrer erhöhten Größe, wie 9 zur Veranschaulichung nahe legt, den an der Kommunikationsschaltung 830 angebrachten Kühlkörper in Richtung des Luftströmungswegs 608 überlappen.
  • Mit Bezug auf 10 sei nun bemerkt, dass der Sled 400 gemäß einigen Ausführungsformen als ein Beschleuniger-Sled 1000 verwirklicht sein kann. Der Beschleuniger-Sled 1000 ist dafür ausgelegt, spezialisierte Rechenaufgaben in der Art von Maschinenlernen, Verschlüsselung, Hashing oder einer anderen rechenintensiven Aufgabe auszuführen. Gemäß einigen Ausführungsformen kann ein Rechen-Sled 800 beispielsweise während des Betriebs Aufgaben zum Beschleuniger-Sled 1000 auslagern. Der Beschleuniger-Sled 1000 weist verschiedene Komponenten ähnlich Komponenten des Sleds 400 und/oder des Rechen-Sleds 800 auf, die in 10 unter Verwendung der gleichen Bezugszahlen identifiziert wurden. Die vorstehend in Bezug auf die 6, 7 und 8 bereitgestellte Beschreibung dieser Komponenten gilt für die entsprechenden Komponenten des Beschleuniger-Sleds 1000 und wird hier aus Gründen der Klarheit der Beschreibung des Beschleuniger-Sleds 1000 nicht wiederholt.
  • Beim der Erläuterung dienenden Beschleuniger-Sled 1000 sind die physischen Ressourcen 620 als Beschleunigerschaltungen 1020 verwirklicht. Wenngleich in 10 nur zwei Beschleunigerschaltungen 1020 dargestellt sind, ist zu verstehen, dass der Beschleuniger-Sled 1000 gemäß anderen Ausführungsformen zusätzliche Beschleunigerschaltungen 1020 aufweisen kann. Beispielsweise kann der Beschleuniger-Sled 1000, wie in 11 dargestellt ist, gemäß einigen Ausführungsformen vier Beschleunigerschaltungen 1020 aufweisen. Die Beschleunigerschaltungen 1020 können als ein beliebiger Typ eines Prozessors, Coprozessors, einer Rechenschaltung oder einer anderen Vorrichtung, die in der Lage ist, Rechen- oder Verarbeitungsoperationen auszuführen, verwirklicht sein. Beispielsweise können die Beschleunigerschaltungen 1020 zum Beispiel als feldprogrammierbare Gate-Arrays (FPGA), anwendungsspezifische integrierte Schaltungen (ASIC), Sicherheitscoprozessoren, Graphikverarbeitungseinheiten (GPU), neuromorphe Prozessoreinheiten, Quantencomputer, Maschinenlernschaltungen oder andere spezialisierte Prozessoren, Steuereinrichtungen, Vorrichtungen und/oder Schaltungen verwirklicht sein.
  • Gemäß einigen Ausführungsformen kann der Beschleuniger-Sled 1000 auch eine Beschleuniger-zu-Beschleuniger-Zwischenverbindung 1042 aufweisen. Ähnlich der Ressource-zu-Ressource-Zwischenverbindung 624 des vorstehend erörterten Sleds 600 kann die Beschleuniger-zu-Beschleuniger-Zwischenverbindung 1042 als ein beliebiger Typ einer Kommunikationszwischenverbindung verwirklicht sein, die in der Lage ist, Beschleuniger-zu-Beschleuniger-Kommunikationen zu ermöglichen. Gemäß der der Erläuterung dienenden Ausführungsform ist die Beschleuniger-zu-Beschleuniger-Zwischenverbindung 1042 als eine schnelle Punkt-zu-Punkt-Zwischenverbindung verwirklicht (beispielsweise schneller als das E/A-Untersystem 622). Beispielsweise kann die Beschleuniger-zu-Beschleuniger-Zwischenverbindung 1042 als eine QuickPath-Interconnect(QPI)-, eine UltraPath-Interconnect(UPI)- oder eine andere schnelle Punkt-zu-Punkt-Zwischenverbindung, die für Prozessor-zu-Prozessor-Kommunikationen vorgesehen ist, verwirklicht sein. Gemäß einigen Ausführungsformen können die Beschleunigerschaltungen 1020 mit einer primären Beschleunigerschaltung 1020, die mit dem NIC 832 und dem Speicher 720 durch das E/A-Untersystem 622 verbunden ist, und einer sekundären Beschleunigerschaltung 1020, die mit dem NIC 832 und dem Speicher 720 durch eine primäre Beschleunigerschaltung 1020 verbunden ist, in einer Daisy-Chain geschaltet sein.
  • 11 zeigt nun eine der Erläuterung dienende Ausführungsform des Beschleuniger-Sleds 1000. Wie vorstehend erörtert wurde, sind die Beschleunigerschaltungen 1020, die Kommunikationsschaltung 830 und der optische Datenverbinder 834 auf der Oberseite 650 des chassislosen Leiterplattensubstrats 602 montiert. Wiederum sind die einzelnen Beschleunigerschaltungen 1020 und die Kommunikationsschaltung 830 auf der Oberseite 650 des chassislosen Leiterplattensubstrats 602 montiert, so dass keine zwei Wärme erzeugenden elektrischen Komponenten einander abschatten, wie vorstehend erörtert wurde. Die Speichervorrichtungen 720 des Beschleuniger-Sleds 1000 werden an der Unterseite 750 des chassislosen Leiterplattensubstrats 602 montiert, wie vorstehend in Bezug auf den Sled 600 erörtert. Wenngleich sie an der Unterseite 750 montiert sind, sind die Speichervorrichtungen 720 über das E/A-Untersystem 622 (beispielsweise durch Durchkontaktierungen) kommunikativ mit den Beschleunigerschaltungen 1020 gekoppelt, die sich auf der Oberseite 650 befinden. Ferner kann jede der Beschleunigerschaltungen 1020 einen Kühlkörper 1070 aufweisen, der größer ist als ein traditioneller Kühlkörper, der in einem Server verwendet wird. Wie vorstehend mit Bezug auf die Kühlkörper 870 erörtert wurde, können die Kühlkörper 1070 größer sein als herkömmliche Kühlkörper, weil sich die „freie“ Fläche, die von den Speicherressourcen 720 bereitgestellt wird, an der Unterseite 750 des chassislosen Leiterplattensubstrats 602 statt auf der Oberseite 650 befindet.
  • Mit Bezug auf 12 sei nun bemerkt, dass der Sled 400 gemäß einigen Ausführungsformen als ein Massenspeicher-Sled 1200 verwirklicht sein kann. Der Massenspeicher-Sled 1200 ist dafür ausgelegt, Daten in einem Datenspeicher 1250 zu speichern, der sich lokal am Massenspeicher-Sled 1200 befindet. Beispielsweise kann während des Betriebs ein Rechen-Sled 800 oder ein Beschleuniger-Sled 1000 Daten im Datenspeicher 1250 des Massenspeicher-Sleds 1200 speichern und daraus abrufen. Der Massenspeicher-Sled 1200 weist verschiedene Komponenten auf, die Komponenten des Sleds 400 und/oder des Rechen-Sleds 800 ähneln, die in 12 unter Verwendung der gleichen Bezugszahlen identifiziert wurden. Die vorstehend in Bezug auf die 6, 7 und 8 bereitgestellte Beschreibung dieser Komponenten gilt für die entsprechenden Komponenten des Massenspeicher-Sleds 1200 und wird hier aus Gründen der Klarheit der Beschreibung des Massenspeicher-Sleds 1200 nicht wiederholt.
  • Beim der Erläuterung dienenden Massenspeicher-Sled 1200 sind die physischen Ressourcen 620 als Massenspeicher-Steuereinrichtungen 1220 verwirklicht. Wenngleich in 12 nur zwei Massenspeicher-Steuereinrichtungen 1220 dargestellt sind, ist zu verstehen, dass der Massenspeicher-Sled 1200 gemäß anderen Ausführungsformen auch zusätzliche Massenspeicher-Steuereinrichtungen 1220 aufweisen kann. Die Massenspeicher-Steuereinrichtungen 1220 können als beliebiger Typ von Prozessor, Steuereinrichtung oder Steuerschaltung verwirklicht sein, die in der Lage ist, das Speichern von Daten im Datenspeicher 1250 und das Abrufen von Daten daraus auf der Grundlage über die Kommunikationsschaltung 830 empfangener Anforderungen zu steuern. Gemäß der der Erläuterung dienenden Ausführungsform sind die Massenspeicher-Steuereinrichtungen 1220 als Prozessoren oder Steuereinrichtungen mit verhältnismäßig geringer Leistungsaufnahme verwirklicht. Beispielsweise können die Massenspeicher-Steuereinrichtungen 1220 gemäß einigen Ausführungsformen dafür ausgelegt sein, bei einer Nennleistungsaufnahme von etwa 75 Watt zu arbeiten.
  • Gemäß einigen Ausführungsformen kann der Massenspeicher-Sled 1200 auch eine Steuereinrichtung-zu-Steuereinrichtung-Zwischenverbindung 1242 aufweisen. Ähnlich der Ressource-zu-Ressource-Zwischenverbindung 624 des vorstehend erörterten Sleds 400 kann die Steuereinrichtung-zu-Steuereinrichtung-Zwischenverbindung 1242 als ein beliebiger Typ einer Kommunikationszwischenverbindung verwirklicht sein, die in der Lage ist, Steuereinrichtung-zu-Steuereinrichtung-Kommunikationen zu ermöglichen. Gemäß der der Erläuterung dienenden Ausführungsform ist die Steuereinrichtung-zu-Steuereinrichtung-Zwischenverbindung 1242 als eine schnelle Punkt-zu-Punkt-Zwischenverbindung verwirklicht (beispielsweise schneller als das E/A-Untersystem 622). Beispielsweise kann die Steuereinrichtung-zu-Steuereinrichtung-Zwischenverbindung 1242 als eine QuickPath-Interconnect(QPI)-, eine UltraPath-Interconnect(UPI)- oder eine andere schnelle Punkt-zu-Punkt-Zwischenverbindung, die für Prozessor-zu-Prozessor-Kommunikationen vorgesehen ist, verwirklicht sein.
  • 13 zeigt nun eine der Erläuterung dienende Ausführungsform des Massenspeicher-Sleds 1200. Bei der der Erläuterung dienenden Ausführungsform ist der Datenspeicher 1250 als Speicherkäfig 1252 verwirklicht oder weist diesen auf andere Weise auf, der dafür ausgelegt ist, ein oder mehrere Halbleiterlaufwerke (SSD) 1254 aufzunehmen. Zu diesem Zweck weist der Speicherkäfig 1252 eine Anzahl von Montageschlitzen 1256 auf, die jeweils dafür ausgelegt sind, ein entsprechendes Halbleiterlaufwerk 1254 aufzunehmen. Jeder der Montageschlitze 1256 weist eine Anzahl von Laufwerkführungen 1258 auf, die zusammenwirken, um eine Zugangsöffnung 1260 des entsprechenden Montageschlitzes 1256 zu definieren. Der Speicherkäfig 1252 ist derart am chassislosen Leiterplattensubstrat 602 befestigt, dass die Zugangsöffnungen vom chassislosen Leiterplattensubstrat 602 fort weisen (d. h. zu seiner Vorderseite). Dabei sind die Halbleiterlaufwerke 1254 zugänglich, während der Massenspeicher-Sled 1200 in einem entsprechenden Rack 204 montiert ist. Beispielsweise kann ein Halbleiterlaufwerk 1254 aus dem Rack 240 (beispielsweise durch einen Roboter) ausgetauscht werden, während der Massenspeicher-Sled 1200 im entsprechenden Rack 240 montiert bleibt.
  • Der Speicherkäfig 1252 weist zur Veranschaulichung sechzehn Montageschlitze 1256 auf und ist in der Lage, sechzehn Halbleiterlaufwerke 1254 zu montieren und aufzunehmen. Natürlich kann der Speicherkäfig 1252 gemäß anderen Ausführungsformen dafür ausgelegt sein, zusätzliche oder weniger Halbleiterlaufwerke 1254 zu speichern. Zusätzlich sind die Halbleiterlaufwerke gemäß der der Erläuterung dienenden Ausführungsform vertikal im Speicherkäfig 1252 montiert, können jedoch gemäß anderen Ausführungsformen in einer anderen Orientierung im Speicherkäfig 1252 montiert sein. Jedes Halbleiterlaufwerk 1254 kann als ein beliebiger Typ einer Datenspeichervorrichtung verwirklicht sein, wodurch Langzeitdaten gespeichert werden können. Hierfür können die Halbleiterlaufwerke 1254 vorstehend erwähnte flüchtige und nichtflüchtige Speichervorrichtungen aufweisen.
  • Wie in 13 dargestellt ist, sind die Speichersteuereinrichtungen 1220, die Kommunikationsschaltung 830 und der optische Datenverbinder 834 zur Veranschaulichung auf der Oberseite 650 des chassislosen Leiterplattensubstrats 602 montiert. Wiederum kann, wie vorstehend erörtert, jede geeignete Befestigungs- oder Montagetechnologie verwendet werden, um die elektrischen Komponenten des Massenspeicher-Sleds 1200 am chassislosen Leiterplattensubstrat 602 zu montieren, einschließlich beispielsweise Sockel (beispielsweise ein Prozessorsockel), Halter, Klammern, gelöteter Verbindungen und/oder anderer Montage- oder Befestigungstechniken.
  • Wie vorstehend erörtert, sind die einzelnen Massenspeicher-Steuereinrichtungen 1220 und die Kommunikationsschaltung 830 derart auf der Oberseite 650 des chassislosen Leiterplattensubstrats 602 montiert, dass keine zwei Wärme erzeugenden elektrischen Komponenten einander abschatten. Beispielsweise sind die Massenspeicher-Steuereinrichtungen 1220 und die Kommunikationsschaltung 830 an entsprechenden Stellen auf der Oberseite 650 des chassislosen Leiterplattensubstrats 602 montiert, so dass keine zwei dieser elektrischen Komponenten entlang der Richtung des Luftströmungswegs 608 linear in einer Linie miteinander sind.
  • Die Speichervorrichtungen 720 des Massenspeicher-Sleds 1200 werden an der Unterseite 750 des chassislosen Leiterplattensubstrats 602 montiert, wie vorstehend in Bezug auf den Sled 400 erörtert. Wenngleich sie an der Unterseite 750 montiert sind, sind die Speichervorrichtungen 720 über das E/A-Untersystem 622 kommunikativ mit den Massenspeicher-Steuereinrichtungen 1220 gekoppelt, die sich auf der Oberseite 650 befinden. Weil das chassislose Leiterplattensubstrat 602 als eine doppelseitige Leiterplatte verwirklicht ist, können die Speichervorrichtungen 720 und die Massenspeicher-Steuereinrichtungen 1220 wiederum durch eine oder mehrere Durchkontaktierungen, einen oder mehrere Verbinder oder andere Mechanismen, die sich durch das chassislose Leiterplattensubstrat 602 erstrecken, kommunikativ gekoppelt werden. Jede der Massenspeicher-Steuereinrichtungen 1220 weist einen daran befestigten Kühlkörper 1270 auf. Wie vorstehend erörtert wurde, weist infolge der verbesserten thermischen Kühleigenschaften des chassislosen Leiterplattensubstrats 602 des Massenspeicher-Sleds 1200 keiner der Kühlkörper 1270 daran angebrachte Kühllüfter auf. Das heißt, dass jeder der Kühlkörper 1270 als ein lüfterloser Kühlkörper verwirklicht ist.
  • Mit Bezug auf 14 sei nun bemerkt, dass der Sled 400 gemäß einigen Ausführungsformen als ein Speicher-Sled 1400 verwirklicht sein kann. Der Massenspeicher-Sled 1400 ist dafür optimiert oder auf andere Weise dafür ausgelegt, anderen Sleds 400 (beispielsweise Rechen-Sleds 800, Beschleuniger-Sleds 1000 usw.) einen Zugang zu einem Speicherpool, der sich am Ort des Speicher-Sleds 1200 befindet (beispielsweise in zwei oder mehr Sätzen 1430, 1432 von Speichervorrichtungen 720), bereitzustellen. Beispielsweise kann ein Rechen-Sled 800 oder ein Beschleuniger-Sled 1000 während des Betriebs unter Verwendung eines logischen Adressraums, der auf physische Adressen in den Speichersätzen 1430, 1432 abbildet, fern Daten in einen oder mehrere der Speichersätze 1430, 1432 des Speicher-Sleds 1200 schreiben und/oder daraus lesen. Der Speicher-Sled 1400 weist verschiedene Komponenten auf, die Komponenten des Sleds 400 und/oder des Rechen-Sleds 800 ähneln, die in 14 unter Verwendung der gleichen Bezugszahlen identifiziert wurden. Die vorstehend in Bezug auf die 6, 7 und 8 bereitgestellte Beschreibung dieser Komponenten gilt für die entsprechenden Komponenten des Speicher-Sleds 1400 und wird hier aus Gründen der Klarheit der Beschreibung des Speicher-Sleds 1400 nicht wiederholt.
  • Beim der Erläuterung dienenden Speicher-Sled 1400 sind die physischen Ressourcen 620 als Speichersteuereinrichtungen 1420 verwirklicht. Wenngleich in 14 nur zwei Speichersteuereinrichtungen 1420 dargestellt sind, ist zu verstehen, dass der Speicher-Sled 1400 gemäß anderen Ausführungsformen zusätzliche Speichersteuereinrichtungen 1420 aufweisen kann. Die Speichersteuereinrichtungen 1420 können als ein beliebiger Typ eines Prozessors, einer Steuereinrichtung oder einer Steuerschaltung verwirklicht sein, die in der Lage ist, das Schreiben von Daten in die Speichersätze 1430, 1432 auf der Grundlage über die Kommunikationsschaltung 830 empfangener Anforderungen und das Lesen von Daten aus diesen zu steuern. Gemäß der der Erläuterung dienenden Ausführungsform ist jede Speichersteuereinrichtung 1420 mit einem entsprechenden Speichersatz 1430, 1432 verbunden, um in Speichervorrichtungen 720 innerhalb des entsprechenden Speichersatzes 1430, 1432 zu schreiben und daraus zu lesen und jegliche Berechtigungen (beispielsweise Lesen, Schreiben usw.) zu erzwingen, die dem Sled 400 zugeordnet sind, der eine Anforderung zum Speicher-Sled 1400 gesendet hat, um eine Speicherzugriffsoperation (beispielsweise Lesen oder Schreiben) auszuführen.
  • Gemäß einigen Ausführungsformen kann der Speicher-Sled 1400 auch eine Steuereinrichtung-zu-Steuereinrichtung-Zwischenverbindung 1442 aufweisen. Ähnlich der Ressource-zu-Ressource-Zwischenverbindung 624 des vorstehend erörterten Sleds 400 kann die Steuereinrichtung-zu-Steuereinrichtung-Zwischenverbindung 1442 als ein beliebiger Typ einer Kommunikationszwischenverbindung verwirklicht sein, die in der Lage ist, Steuereinrichtung-zu-Steuereinrichtung-Kommunikationen zu ermöglichen. Gemäß der der Erläuterung dienenden Ausführungsform ist die Steuereinrichtung-zu-Steuereinrichtung-Zwischenverbindung 1442 als eine schnelle Punkt-zu-Punkt-Zwischenverbindung verwirklicht (beispielsweise schneller als das E/A-Untersystem 622). Beispielsweise kann die Steuereinrichtung-zu-Steuereinrichtung-Zwischenverbindung 1442 als eine QuickPath-Interconnect(QPI)-, eine UltraPath-Interconnect(UPI)- oder eine andere schnelle Punkt-zu-Punkt-Zwischenverbindung, die für Prozessor-zu-Prozessor-Kommunikationen vorgesehen ist, verwirklicht sein. Dabei kann eine Speichersteuereinrichtung 1420 gemäß einigen Ausführungsformen durch die Steuereinrichtung-zu-Steuereinrichtung-Zwischenverbindung 1442 auf einen Speicher zugreifen, der sich innerhalb des Speichersatzes 1432 befindet, der einer anderen Speichersteuereinrichtung 1420 zugeordnet ist. Gemäß einigen Ausführungsformen besteht eine skalierbare Speichersteuereinrichtung aus mehreren kleineren Speichersteuereinrichtungen, die hier als „Chiplets“ bezeichnet werden, welche sich auf einem Speicher-Sled (beispielsweise dem Speicher-Sled 1400) befinden. Die Chiplets können miteinander verbunden sein (beispielsweise unter Verwendung einer EMIB (Embedded Multi-Die Interconnect Bridge)). Die kombinierte Chiplet-Speichersteuereinrichtung kann zu einer verhältnismäßig großen Anzahl von Speichersteuereinrichtungen und E/A-Ports hochskaliert werden (beispielsweise auf bis zu 16 Speicherkanäle). Gemäß einigen Ausführungsformen können die Speichersteuereinrichtungen 1420 eine Speicherverschachtelung implementieren (beispielsweise wird eine Speicheradresse auf den Speichersatz 1430 abgebildet, wird die nächste Speicheradresse auf den Speichersatz 1432 abgebildet und wird die dritte Adresse auf den Speichersatz 1430 abgebildet usw.). Die Verschachtelung kann innerhalb der Speichersteuereinrichtungen 1420 oder von CPU-Sockeln (beispielsweise des Rechen-Sleds 800) über Netzverbindungen zu Speichersätzen 1430, 1432 behandelt werden und die Latenz in Zusammenhang mit der Ausführung von Speicherzugriffsoperationen gegenüber dem Zugriff auf benachbarte Speicheradressen derselben Speichervorrichtung verbessern.
  • Ferner kann gemäß einigen Ausführungsformen der Speicher-Sled 1400 durch einen Wellenleiter unter Verwendung des Wellenleiterverbinders 1480 mit einem oder mehreren anderen Sleds 400 verbunden sein (beispielsweise im selben Rack 240 oder in einem benachbarten Rack 240). Gemäß der der Erläuterung dienenden Ausführungsform sind die Wellenleiter 64-Millimeter-Wellenleiter, die 16 Rx(d. h. Empfangs)-Lanes und 16 Tx(d. h. Sende)-Lanes bereitstellen. Jede Lane weist gemäß der der Erläuterung dienenden Ausführungsform entweder 16 GHz oder 32 GHz auf. Gemäß anderen Ausführungsformen können die Frequenzen verschieden sein. Durch die Verwendung eines Wellenleiters kann ein Zugriff mit einem hohen Durchsatz auf den Speicherpool (beispielsweise die Speichersätze 1430, 1432) an einem anderen Sled (beispielsweise einem Sled 400 im selben Rack 240 oder einem benachbarten Rack 240 als Speicher-Sled 1400) bereitgestellt werden, ohne die auf den optischen Datenverbinder 834 einwirkende Last zu erhöhen.
  • Mit Bezug auf 15 sei nun bemerkt, dass ein System zur Ausführung einer oder mehrerer Arbeitslasten (beispielsweise Anwendungen) entsprechend dem Rechenzentrum 100 implementiert werden kann. Gemäß der der Erläuterung dienenden Ausführungsform weist das System 1510 einen Orchestrator-Server 1520 auf, der als ein gemanagter Knoten verwirklicht sein kann, der eine eine Verwaltungssoftware (beispielsweise eine Cloud-Betriebsumgebung in der Art von OpenStack) ausführende Rechenvorrichtung (beispielsweise einen Prozessor 820 auf einem Rechen-Sled 800) aufweist, die kommunikativ mit mehreren Sleds 400 gekoppelt ist, welche eine große Anzahl von Rechen-Sleds 1530 (die beispielsweise jeweils dem Rechen-Sled 800 ähneln), Speicher-Sleds 1540 (die beispielsweise jeweils dem Speicher-Sled 1400 ähneln), Beschleuniger-Sleds 1550 (die beispielsweise jeweils dem Speicher-Sled 1000 ähneln) und Massenspeicher-Sleds 1560 (die beispielsweise jeweils dem Massenspeicher-Sled 1200 ähneln) einschließen. Einer oder mehrere der Sleds 1530, 1540, 1550, 1560 können zu einem gemanagten Knoten 1570 gruppiert werden, beispielsweise durch den Orchestrator-Server 1520, um gemeinsam eine Arbeitslast (beispielsweise eine in einer virtuellen Maschine oder in einem Behälter ausgeführte Anwendung 1532) auszuführen. Der gemanagte Knoten 1570 kann als eine Anordnung physischer Ressourcen 620 in der Art von Prozessoren 820, Speicherressourcen 720, Beschleunigerschaltungen 1020 oder eines Datenspeichers 1250 aus demselben oder verschiedenen Sleds 400 verwirklicht sein. Ferner kann der gemanagte Knoten durch den Orchestrator-Server 1520 zu der Zeit eingerichtet, definiert oder „hochgefahren“ werden, zu der eine Arbeitslast dem gemanagten Knoten zuzuweisen ist, oder zu einer anderen Zeit, und er kann unabhängig davon existieren, ob dem gemanagten Knoten gegenwärtig irgendwelche Arbeitslasten zugewiesen sind. Gemäß der der Erläuterung dienenden Ausführungsform kann der Orchestrator-Server 1520 selektiv physische Ressourcen 620 von den Sleds 400 zuordnen und/oder ihre Zuordnung aufheben und/oder einen oder mehrere Sleds 400 als Funktion von Dienstqualitäts(QoS)-Zielen (beispielsweise Funktionsweisezielen in Zusammenhang mit Durchsatz, Latenz, Befehlen pro Sekunde usw.) in Zusammenhang mit einer Dienstniveauvereinbarung für die Arbeitslast (beispielsweise die Anwendung 1532) zum gemanagten Knoten 1570 hinzufügen oder davon entfernen. Dabei kann der Orchestrator-Server 1520 Telemetriedaten empfangen, die Funktionsweisebedingungen (beispielsweise Durchsatz, Latenz, Befehle pro Sekunde usw.) in jedem Sled 400 des gemanagten Knotens 1570 angeben, und die Telemetriedaten mit den Dienstqualitätszielen vergleichen, um festzustellen, ob die Dienstqualitätsziele erfüllt sind. Der Orchestrator-Server 1520 kann zusätzlich feststellen, ob die Zuordnung einer oder mehrerer Ressourcen vom gemanagten Knoten 1570 aufgehoben werden kann, während die QoS-Ziele noch erfüllt sind, wodurch diese physischen Ressourcen für die Verwendung in einem anderen gemanagten Knoten (beispielsweise zur Ausführung einer anderen Arbeitslast) freigesetzt werden. Alternativ kann der Orchestrator-Server 1520, falls die QoS-Ziele gegenwärtig nicht erfüllt sind, feststellen, dass zusätzliche physische Ressourcen zur Unterstützung der Ausführung der Arbeitslast (beispielsweise der Anwendung 1532) dynamisch zuzuordnen sind, während die Arbeitslast ausgeführt wird. Ähnlich kann der Orchestrator-Server 1520 feststellen, dass die Zuordnung physischer Ressourcen von einem gemanagten Knoten dynamisch aufzuheben ist, falls der Orchestrator-Server 1520 feststellt, dass die Aufhebung der Zuordnung der physischen Ressource dazu führen würde, dass QoS-Ziele noch erfüllt sind.
  • Zusätzlich kann der Orchestrator-Server 1520 gemäß einigen Ausführungsformen Trends in der Ressourcenverwendung der Arbeitslast (beispielsweise der Anwendung 1532), beispielsweise durch Identifizieren von Ausführungsphasen (beispielsweise Zeiträumen, in denen verschiedene Operationen, die jeweils unterschiedliche Ressourcenverwendungseigenschaften aufweisen, ausgeführt werden) der Arbeitslast (beispielsweise der Anwendung 1532) und vorbeugendes Identifizieren verfügbarer Ressourcen im Rechenzentrum 100 und Zuordnen von ihnen zum gemanagten Knoten 1570 (beispielsweise innerhalb eines vordefinierten Zeitraums des zugeordneten Phasenanfangs), identifizieren. Gemäß einigen Ausführungsformen kann der Orchestrator-Server 1520 die Funktionsweise auf der Grundlage verschiedener Latenzen und eines Verteilungsschemas modellieren, um Arbeitslasten zwischen Rechen-Sleds und anderen Ressourcen (beispielsweise Beschleuniger-Sleds, Speicher-Sleds, Massenspeicher-Sleds) im Rechenzentrum 100 zu platzieren. Beispielsweise kann der Orchestrator-Server 1520 ein Modell verwenden, das die Funktionsweise von Ressourcen auf den Sleds 400 (beispielsweise die FPGA-Funktionsweise, die Speicherzugriffslatenz usw.) und die Funktionsweise (beispielsweise Stau, Latenz, Bandbreite) des Wegs durch das Netz zur Ressource (beispielsweise FPGA) berücksichtigt. Dabei kann der Orchestrator-Server 1520 auf der Grundlage der Gesamtlatenz in Zusammenhang mit jeder möglichen im Rechenzentrum 100 verfügbaren Ressource (beispielsweise der Latenz in Zusammenhang mit der Funktionsweise der Ressource selbst zusätzlich zur Latenz in Zusammenhang mit dem Weg durch das Netz zwischen dem Rechen-Sled, der die Arbeitslast ausführt, und dem Sled 400, auf dem sich die Ressource befindet) feststellen, welche Ressource bzw. welche Ressourcen mit welcher Arbeitslast verwendet werden sollten.
  • Gemäß einigen Ausführungsformen kann der Orchestrator-Server 1520 eine Karte der Wärmeerzeugung im Rechenzentrum 100 und Verwendung von den Sleds 400 mitgeteilter Telemetriedaten (beispielsweise Temperaturen, Lüftergeschwindigkeiten usw.) erzeugen und als Funktion der Wärmeerzeugungskarte und der vorhergesagten Wärmeerzeugung in Zusammenhang mit verschiedenen Arbeitslasten gemanagten Knoten Ressourcen zuordnen, um eine Zieltemperatur und die Wärmeverteilung im Rechenzentrum 100 aufrechtzuerhalten. Zusätzlich oder alternativ kann der Orchestrator-Server 1520 gemäß einigen Ausführungsformen empfangene Telemetriedaten in ein hierarchisches Modell organisieren, das eine Beziehung zwischen den gemanagten Knoten angibt (beispielsweise eine räumliche Beziehung in der Art der physischen Orte der Ressourcen der gemanagten Knoten innerhalb des Rechenzentrums 100 und/oder eine funktionelle Beziehung in der Art von Gruppierungen der gemanagten Knoten durch die Kunden, denen die gemanagten Knoten Dienste bereitstellen, der Typen von Funktionen, die typischerweise von den gemanagten Knoten ausgeführt werden, gemanagter Knoten, die typischerweise Arbeitslasten untereinander teilen oder austauschen usw.). Auf der Grundlage von Differenzen in den physischen Orten und Ressourcen in den gemanagten Knoten kann eine gegebene Arbeitslast zwischen den Ressourcen der verschiedenen gemanagten Knoten unterschiedliche Ressourcenverwendungen aufweisen (beispielsweise eine andere Innentemperatur hervorrufen, einen anderen Prozentsatz der Prozessor- oder Speicherkapazität verwenden). Der Orchestrator-Server 1520 kann die Unterschiede auf der Grundlage der im hierarchischen Modell gespeicherten Telemetriedaten bestimmen und die Differenzen bei einer Vorhersage einer künftigen Ressourcenverwendung einer Arbeitslast berücksichtigen, falls die Arbeitslast von einem gemanagten Knoten einem anderen gemanagten Knoten neu zugewiesen wird, um die Ressourcenverwendung im Datenzentrum 100 genau auszubalancieren.
  • Zur Verringerung der Rechenlast am Orchestrator-Server 1520 und der Datenübertragungslast am Netz kann der Orchestrator-Server 1520 gemäß einigen Ausführungsformen Selbsttestinformationen zu den Sleds 400 senden, um es jedem Sled 400 zu ermöglichen, lokal (beispielsweise am Sled 400) festzustellen, ob vom Sled 400 erzeugte Telemetriedaten eine oder mehrere Bedingungen erfüllen (beispielsweise eine verfügbare Kapazität, die eine vordefinierte Schwelle erfüllt, eine Temperatur, die eine vordefinierte Schwelle erfüllt usw.). Jeder Sled 400 kann dann dem Orchestrator-Server 1520 ein vereinfachtes Ergebnis (beispielsweise ja oder nein) rückmelden, das der Orchestrator-Server 1520 bei der Bestimmung der Zuordnung von Ressourcen zu gemanagten Knoten verwenden kann.
  • 16 zeigt nun ein der Erläuterung dienendes System 1600 für eine schnelle Wiederherstellung für ein verteiltes Massenspeichersystem mit einem nicht aggregierten Massenspeicher. Wie dargestellt, weist das System 1600 einen Wiederherstellungsknoten 1602, einen Client 1604, mehrere softwaredefinierte Massenspeicher(SDS)-Steuerknoten 1606 und mehrere Zielknoten 1608 auf. Bei der Verwendung sind die SDS-Steuerknoten 1606 und die Zielknoten 1608 in ein verteiltes Massenspeichersystem aufgenommen. Die SDS-Steuerknoten 1606 führen Steuerebenenfunktionen aus, und die Zielknoten 1608 führen Datenebenenfunktionen aus. Der Wiederherstellungsknoten 1602 überwacht ausgefallene Knoten. Falls ein SDS-Steuerknoten 1606 ausfällt, führt der Wiederherstellungsknoten 1602 einen neuen SDS-Steuerknoten 1606 heran und verbindet den neuen SDS-Steuerknoten 1606 mit dem entsprechenden Zielknoten 1608. Falls ein Zielknoten 1608 ausfällt, führt der Wiederherstellungsknoten 1602 einen neuen Zielknoten 1608 heran und verbindet den neuen Zielknoten 1608 mit dem entsprechenden SDS-Steuerknoten 1606. Der neue Zielknoten 1608 kann mit direkt von anderen Zielknoten 1608 kopierten Replikatdaten belegt werden, ohne dass sie durch die SDS-Steuerknoten 1606 kopiert werden müssten. Demgemäß kann das System 1600 bei einem geringen oder keinem Einfluss auf Client-Vorrichtungen und in manchen Fällen ohne Verschlechterung eines Dienstes (beispielsweise ohne die Anzahl der Datenreplikate zu verringern) eine schnelle und nahtlose Wiederherstellung des verteilten Massenspeichersystems bereitstellen. Zusätzlich kann das System 1600 die Funktionsweise durch die Verwendung schneller und direkter Ziel-zu-Ziel-Datenkopien, bei denen kein Eingriff durch die SDS-Steuereinrichtungen erforderlich ist, verbessern.
  • Der Wiederherstellungsknoten 1602 kann als ein beliebiger Vorrichtungstyp verwirklicht werden, der in der Lage ist, die hier beschriebenen Funktionen auszuführen. Beispielsweise kann der Wiederherstellungsknoten 1602 ohne Einschränkung als Sled 400, Rechen-Sled 800, Beschleuniger-Sled 1000, Massenspeicher-Sled 1200, Computer, Server, verteilte Rechenvorrichtung, nicht aggregierte Rechenvorrichtung, Laptopcomputer, Tabletcomputer, Notebookcomputer, mobile Rechenvorrichtung, Smartphone, tragbare Rechenvorrichtung, Mehrprozessorsystem, Server, Workstation und/oder elektronische Endverbrauchervorrichtung verwirklicht werden. Ähnlich kann jeder der SDS-Steuerknoten 1606 und der Zielknoten 1608 als ein beliebiger Vorrichtungstyp, der in der Lage ist, die hier beschriebenen Funktionen auszuführen, einschließlich und ohne Einschränkung eines Sleds 400, eines Rechen-Sleds 800, eines Beschleuniger-Sleds 1000, eines Massenspeicher-Sleds 1200, eines Computers, eines Servers, einer verteilten Rechenvorrichtung, einer nicht aggregierten Rechenvorrichtung, eines Laptopcomputers, eines Tabletcomputers, eines Notebookcomputers, einer mobilen Rechenvorrichtung, eines Smartphones, einer tragbaren Rechenvorrichtung, eines Mehrprozessorsystems, eines Servers, einer Workstation und/oder einer elektronischen Endverbrauchervorrichtung, verwirklicht werden. Es sei bemerkt, dass der Wiederherstellungsknoten 1602 und jeder der SDS-Steuerknoten 1606 als Rechen-Sled 800 verwirklicht werden kann und dass jeder der Zielknoten 1608 als Massenspeicher-Sled 1200 verwirklicht werden kann. Die Zielknoten 1608 sind durch ein schnelles Massenspeicher-Fabric oder ein anderes schnelles Netz, das Datenspeicherübertragungen unterstützt (beispielsweise NVMe-oF-Übertragungen, RDMA-Übertragungen oder andere Übertragungen), mit jedem anderen und mit den SDS-Steuerknoten 1606 gekoppelt. Der Client 1604 kann als ein Computer oder eine andere Vorrichtung verwirklicht sein, die in der Lage ist, die hier beschriebenen Funktionen auszuführen. Gemäß einigen Ausführungsformen kann das System 1600 mehrere Instanzen und/oder Typen von Clients 1604 aufweisen, wie Client-Vorrichtungen, Client-Software, Gateways (beispielsweise Ceph-RADOS-Gateways) oder andere Schnittstellen zum Datenspeichersystem 1600.
  • Gemäß einigen Ausführungsformen kann jeder der Wiederherstellungsknoten 1602, der SDS-Steuerknoten 1606 und/oder der Zielknoten 1608 als ein virtualisiertes System (beispielsweise eine oder mehrere in einer oder mehreren virtualisierten Umgebungen ausgeführte Funktionen in der Art einer oder mehrerer virtueller Maschinen oder eines oder mehrerer Container, wobei die zugrunde liegenden Hardware-Ressourcen für Software, die in der einen oder den mehreren virtualisierten Umgebungen ausgeführt wird, als physische Hardware erscheinen, jedoch durch eine Abstraktionsschicht von der Software getrennt sind) oder ein nicht aggregiertes System (das beispielsweise aus einer oder mehreren zugrunde liegenden Hardwarevorrichtungen besteht) verwirklicht werden. Gemäß einigen Ausführungsformen können bestimmte Funktionen des Wiederherstellungsknotens 1602, der SDS-Steuerknoten 1606 und/oder der Zielknoten 1608 dupliziert und/oder in andere Vorrichtungen aufgenommen werden. Beispielsweise können gemäß einigen Ausführungsformen bestimmte Funktionen des Wiederherstellungsknotens 1602 durch dieselbe zugrunde liegende Hardware wie die SDS-Steuerknoten 1606 und/oder die Zielknoten 1608 ausgeführt werden.
  • Unter weiterem Bezug auf 16 sei bemerkt, dass der Wiederherstellungsknoten 1602 gemäß einer der Erläuterung dienenden Ausführungsform während des Betriebs eine Umgebung 1620 einrichtet. Die der Erläuterung dienende Umgebung 1620 weist eine Ausfallüberwachungseinrichtung 1622, einen Wiederherstellungsmanager 1624, einen Übertragungsmanager 1626 und einen Wiederausgleichsmanager 1628 auf. Die verschiedenen Komponenten der Umgebung 1620 können als Hardware, Firmware, Software oder eine Kombination davon verwirklicht werden. Dabei können gemäß einigen Ausführungsformen eine oder mehrere der Komponenten der Umgebung 1620 als Schaltungsanordnung oder Ansammlung elektrischer Vorrichtungen (beispielsweise Ausfallüberwachungs-Schaltungsanordnung 1622, Wiederherstellungsmanager-Schaltungsanordnung 1624, Übertragungsmanager-Schaltungsanordnung 1626 und/oder Wiederausgleichsmanager-Schaltungsanordnung 1628) verwirklicht werden. Es sei bemerkt, dass gemäß diesen Ausführungsformen eine oder mehrere von der Ausfallüberwachungs-Schaltungsanordnung 1622, der Wiederherstellungsmanager-Schaltungsanordnung 1624, der Übertragungsmanager-Schaltungsanordnung 1626 und/oder der Wiederausgleichsmanager-Schaltungsanordnung 1628 einen Teil der Rechenmaschine, des E/A-Untersystems und/oder anderer Komponenten des Wiederherstellungsknotens 1602 bilden können. Zusätzlich können gemäß einigen Ausführungsformen eine oder mehrere der der Erläuterung dienenden Komponenten einen Teil einer anderen Komponente bilden, und/oder können eine oder mehrere der der Erläuterung dienenden Komponenten voneinander unabhängig sein.
  • Die Ausfallüberwachungseinrichtung 1622 ist dafür ausgelegt, einen ausgefallenen Knoten des verteilten Massenspeichersystems 1600 zu identifizieren und einen entsprechenden mit dem ausgefallenen Knoten gekoppelten Knoten zu identifizieren (beispielsweise kann der entsprechende Knoten mit dem ausgefallenen Knoten gekoppelt bleiben, wenngleich der ausgefallene Knoten wegen des Ausfalls für den entsprechenden Knoten nicht mehr zugänglich ist). Wie vorstehend beschrieben, weist das verteilte Massenspeichersystem 1600 mehrere Steuerknoten 1606 und mehrere Zielknoten 1608 auf. Jeder Steuerknoten ist über ein Massenspeicher-Fabric mit einem entsprechenden Zielknoten 1608 gekoppelt. Jeder Zielknoten 1608 weist Replikatdaten 1686 auf. Der ausgefallene Knoten kann ein Steuerknoten 1606 oder ein Zielknoten 1608 sein, so dass der entsprechende Knoten ein Zielknoten 1608 bzw. ein Steuerknoten 1606 sein kann.
  • Der Wiederherstellungsmanager 1624 ist dafür ausgelegt, einen Ersatzknoten zu instanziieren, den Ersatzknoten zum verteilten Massenspeichersystem 1600 hinzuzufügen und dann den Ersatzknoten mit dem entsprechenden Knoten zu koppeln. Falls der ausgefallene Knoten ein Steuerknoten 1606 ist, kann ein Ersatzsteuerknoten 1606 mit dem entsprechenden Zielknoten 1608 gekoppelt werden, indem eine Massenspeicher-Zielkarte 1662 des Ersatzsteuerknotens 1606 mit einer Kennung des entsprechenden Zielknotens 1608 aktualisiert wird. Beim Instanziieren des Ersatzsteuerknotens 1606 können Rechenressourcen des Systems 1600 zugeordnet werden oder kann der Ersatzsteuerknoten 1606 am existierenden Knoten des Systems 1600 herangeführt werden. Der Wiederherstellungsmanager 1624 kann ferner dafür ausgelegt sein, ein Urladen des Ersatzsteuerknotens 1606 mit vom entsprechenden Zielknoten 1608 gespeicherten Metadaten auszuführen. Falls der ausgefallene Knoten ein Zielknoten 1608 ist, können beim Instanziieren des Ersatzzielknotens 1608 Massenspeicherressourcen des Systems 1600 zugeordnet werden. Der Ersatzzielknoten 1608 kann mit dem entsprechenden Steuereinrichtungsknoten 1606 durch Konfigurieren der Massenspeicher-Zielkarte 1662 des entsprechenden Steuerknotens 1606 mit einer Kennung des Ersatzzielknotens 1608 gekoppelt werden.
  • Wenn der ausgefallene Knoten ein Zielknoten 1608 ist, ist der Übertragungsmanager 1626 dafür ausgelegt, einen Reservezielknoten 1608 des Systems 1600 zu identifizieren. Die Replikatdaten 1686 des Reservezielknotens 1608 stimmen mit den vom ausgefallenen Zielknoten 1608 gespeicherten Replikatdaten 1686 überein. Der Übertragungsmanager 1626 ist ferner dafür ausgelegt, den Reservezielknoten 1608 anzuweisen, die Replikatdaten 1686 über das Massenspeicher-Fabric zum Ersatzzielknoten 1608 zu kopieren. Beim Anweisen des Reservezielknotens 1608, die Replikatdaten 1686 zu kopieren, kann ein Befehl zum Reservezielknoten 1608 gesendet werden, der ein Datenobjekt identifiziert, und ansprechend darauf kann der Zielknoten 1608 einen oder mehrere Datenblöcke in Zusammenhang mit dem Datenobjekt identifizieren und können der eine oder die mehreren Datenblöcke über das Massenspeicher-Fabric zum Ersatzzielknoten 1608 kopiert werden.
  • Der Wiederausgleichsmanager 1628 ist dafür ausgelegt, eine Massenspeicher-Zielkarte 1662 des Steuereinrichtungsknotens 1606 zu aktualisieren und einen wiederausgeglichenen Steuereinrichtungsknoten 1606 auf der Grundlage der aktualisierten Massenspeicher-Zielkarte 1662 zu identifizieren. Der wiederausgeglichene Steuereinrichtungsknoten 1606 ist für ein Datenobjekt verantwortlich, das durch einen mit einem anderen Steuereinrichtungsknoten 1606 gekoppelten Zielknoten 1608 in Replikatdaten 1686 gespeichert wurde. Der Wiederausgleichsmanager 1628 ist ferner dafür ausgelegt, den Zielknoten 1608, der gegenwärtig die Replikatdaten 1686 speichert, anzuweisen, das Datenobjekt über das Massenspeicher-Fabric zum wiederausgeglichenen Zielknoten 1608 zu kopieren.
  • Unter weiterem Bezug auf 16 sei bemerkt, dass gemäß einer der Erläuterung dienenden Ausführungsform jeder SDS-Steuerknoten 1606 während des Betriebs eine Umgebung 1660 einrichtet. Die der Erläuterung dienende Umgebung 1660 weist einen Wiederherstellungsmanager 1664 und einen Wiederausgleichsmanager 1666 auf. Die verschiedenen Komponenten der Umgebung 1660 können als Hardware, Firmware, Software oder eine Kombination davon verwirklicht werden. Dabei können gemäß einigen Ausführungsformen eine oder mehrere der Komponenten der Umgebung 1660 als Schaltungsanordnung oder Ansammlung elektrischer Vorrichtungen (beispielsweise Wiederherstellungsmanager-Schaltungsanordnung 1664 und/oder Wiederausgleichsmanager-Schaltungsanordnung 1666) verwirklicht werden. Es sei bemerkt, dass gemäß diesen Ausführungsformen eine oder mehrere von der Wiederherstellungsmanager-Schaltungsanordnung 1664 und/oder der Wiederausgleichsmanager-Schaltungsanordnung 1666 einen Teil der Rechenmaschine, des E/A-Untersystems und/oder anderer Komponenten des SDS-Steuerknotens 1606 bilden können. Zusätzlich können gemäß einigen Ausführungsformen eine oder mehrere der der Erläuterung dienenden Komponenten einen Teil einer anderen Komponente bilden, und/oder können eine oder mehrere der der Erläuterung dienenden Komponenten voneinander unabhängig sein.
  • Wie dargestellt, kann jeder SDS-Steuerknoten 1606 eine Massenspeicher-Zielkarte 1662 aufweisen. Die Massenspeicher-Zielkarte 1662 bindet jeden SDS-Steuerknoten 1606 an den entsprechenden Zielknoten 1608. Beispielsweise kann jeder Eintrag der Massenspeicher-Zielkarte 1662 ein Datenobjekt (beispielsweise einen Dateinamen oder eine andere Kennung), den verantwortlichen SDS-Steuerknoten 1606 und den entsprechenden Zielknoten 1608 identifizieren (beispielsweise eine MAC-Adresse, eine Netzadresse oder eine andere Kennung). Wie nachstehend beschrieben wird, weist der entsprechende Zielknoten 1608 Replikatdaten 1686 für das angeforderte Objekt auf. Jeder SDS-Steuerknoten 1606 kann Massenspeicher-Zielkarten-1662-Daten für andere SDS-Steuerknoten 1606 aufweisen (beispielsweise für jeden SDS-Steuerknoten 1606 im System 1600). Demgemäß kann jeder SDS-Steuerknoten 1606 in der Lage sein, den bestimmten Zielknoten 1608 zu identifizieren, auf den von den anderen SDS-Steuerknoten 1606 zugegriffen wird.
  • Der Wiederherstellungsmanager 1664 kann dafür ausgelegt sein, einen Ersatzsteuerknoten 1606 zu instanziieren und den Ersatzsteuerknoten 1606 ansprechend auf das Versagen eines Steuereinrichtungsknotens 1606 zum System 1600 hinzuzufügen. Der Wiederherstellungsmanager 1664 kann ferner dafür ausgelegt sein, den Ersatzsteuerknoten 1606 mit dem Zielknoten 1608 zu koppeln, welcher dem ausgefallenen Steuereinrichtungsknoten 1606 entspricht. Der Wiederherstellungsmanager 1664 kann ferner dafür ausgelegt sein, den Ersatzsteuerknoten 1606 ansprechend auf die Kopplung des Ersatzsteuerknotens mit dem entsprechenden ersten Zielknoten mit vom entsprechenden Zielknoten 1608 gespeicherten Metadaten urzuladen.
  • Der Wiederausgleichsmanager 1666 ist dafür ausgelegt, einen wiederausgeglichenen Steuereinrichtungsknoten 1606 auf der Grundlage der Massenspeicher-Zielkarte 1662 zu identifizieren. Der wiederausgeglichene Steuereinrichtungsknoten 1606 ist für ein Datenobjekt verantwortlich, das gegenwärtig vom Zielknoten 1608 gespeichert wird, der dem aktuellen Steuereinrichtungsknoten 1606 zugeordnet ist. Der Wiederausgleichsmanager 1666 ist ferner dafür ausgelegt, den entsprechenden Zielknoten 1608 anzuweisen, das Datenobjekt über das Massenspeicher-Fabric zum Zielknoten 1608 zu kopieren, der dem wiederausgeglichenen Steuereinrichtungsknoten 1606 entspricht.
  • Unter weiterem Bezug auf 16 sei bemerkt, dass gemäß einer der Erläuterung dienenden Ausführungsform jeder Zielknoten 1608 während des Betriebs eine Umgebung 1680 einrichtet. Die der Erläuterung dienende Umgebung 1680 weist einen Übertragungsmanager 1682 auf, der als Hardware, Firmware, Software oder eine Kombination davon verwirklicht sein kann. Dabei können gemäß einigen Ausführungsformen eine oder mehrere der Komponenten der Umgebung 1680 als Schaltungsanordnung oder Ansammlung elektrischer Vorrichtungen (beispielsweise Übertragungsmanager-Schaltungsanordnung 1682) verwirklicht werden. Es sei bemerkt, dass gemäß diesen Ausführungsformen die Übertragungsmanager-Schaltungsanordnung 1682 einen Teil der Rechenmaschine, des E/A-Untersystems und/oder anderer Komponenten des Zielknotens 1608 bilden kann. Zusätzlich können gemäß einigen Ausführungsformen eine oder mehrere der der Erläuterung dienenden Komponenten einen Teil einer anderen Komponente bilden, und/oder können eine oder mehrere der der Erläuterung dienenden Komponenten voneinander unabhängig sein.
  • Wie dargestellt, weist jeder Zielknoten 1608 eine Blockeigentümerschaftstabelle 1684 und Replikatdaten 1686 auf. Die Blockeigentümerschaftstabelle 1684 bildet Datenobjekte (beispielsweise Dateinamen oder andere Kennungen) auf Plattenblöcke, Speicherseiten, Cache-Leitungen oder andere Datenblöcke ab, welche die dem Datenobjekt zugeordneten Daten speichern. Die Replikatdaten 1686 können als Anwendungsdaten, codierte Löschdaten oder andere Daten, die vom verteilten Massenspeichersystem 1600 gespeichert werden, verwirklicht werden. Der Zielknoten 1608 kann die Blockeigentümerschaftstabelle 1684 verwenden, um auf die bestimmten Replikatdaten 1686 zuzugreifen, die vom entsprechenden SDS-Steuerknoten 1606 angefordert werden.
  • Der Übertragungsmanager 1682 ist dafür ausgelegt, Daten direkt über das Massenspeicher-Fabric zu einem anderen Zielknoten 1608 zu übertragen. Der Übertragungsmanager 1682 kann dafür ausgelegt sein, einen Befehl zu empfangen, der ein Datenobjekt identifiziert, einen oder mehrere Datenblöcke in Zusammenhang mit dem Datenobjekt zu identifizieren (beispielsweise unter Verwendung der Blockeigentümerschaftstabelle 1684) und den einen oder die mehreren Datenblöcke über das Massenspeicher-Fabric zum anderen Zielknoten 1608 zu kopieren.
  • Mit Bezug auf die 17 - 19 sei nun bemerkt, dass das System 1600 bei der Verwendung ein Verfahren 1700 zur schnellen Wiederherstellung in einem verteilten Massenspeichersystem ausführen kann. Es sei bemerkt, dass gemäß einigen Ausführungsformen die Operationen des Verfahrens 1700 durch eine oder mehrere Komponenten der Umgebung 1620 des Wiederherstellungsknotens 1602 ausgeführt werden können, wie in 16 dargestellt ist. Das Verfahren 1700 beginnt in Block 1702, worin das System 1600 ein verteiltes Massenspeichersystem mit nicht aggregierter Steuerung und Speicherung einrichtet. In Block 1704 konfiguriert das System 1600 die Massenspeicher-Zielkarte 1662 mehrerer SDS-Steuerknoten 1606, so dass sie auf entsprechende Zielknoten 1608 zeigt. Jeder Eintrag der Massenspeicher-Zielkarte 1662 kann ein bestimmtes Datenobjekt (beispielsweise eine Datei oder ein anderes benanntes Objekt), einen SDS-Steuerknoten 1606 und einen Zielknoten 1608 identifizieren. Der Zielknoten 1608 speichert Replikatdaten 1686 für dieses vom entsprechenden SDS-Steuerknoten 1606 verwendete Datenobjekt. Die Massenspeicher-Zielkarte 1662 kann Einträge für das gesamte verteilte Massenspeichersystem aufweisen, die es einem SDS-Steuerknoten 1606 ermöglichen können, den entsprechenden Zielknoten 1608 für andere SDS-Steuerknoten 1606 zu identifizieren. In Block 1706 konfiguriert das System 1600 die Blockeigentümerschaftstabelle 1684 jedes Zielknotens 1608 auf der Grundlage des gespeicherten Objekts. Jeder Eintrag der Blockeigentümerschaftstabelle 1684 kann das Datenobjekt und einen Bereich von Massenspeicherblöcken, Seiten oder anderem Datenspeicher, der die Replikatdaten 1686 für dieses Objekt speichert, identifizieren. Die Blockeigentümerschaftstabelle 1684 kann von jedem Zielknoten 1608 dynamisch zugeordnet oder auf andere Weise behandelt werden, wodurch Datenebenendienste von Steuerebenendiensten, die durch die SDS-Steuerknoten 1606 bereitgestellt werden, getrennt werden.
  • In Block 1708 überwacht der Wiederherstellungsknoten 1602 auf einen Ausfall eines SDS-Steuerknotens 1606. Der Wiederherstellungsknoten 1602 kann eine beliebige Technik verwenden, um festzustellen, ob ein SDS-Steuerknoten 1606 ausgefallen ist. Beispielsweise kann der Wiederherstellungsknoten 1602 die SDS-Steuerknoten 1606 periodisch oder auf andere Weise abfragen oder kann der Wiederherstellungsknoten 1602 auf ein von den SDS-Steuerknoten 1606 empfangenes Herzschlagsignal überwachen. In Block 1710 stellt der Wiederherstellungsknoten 1602 fest, ob ein SDS-Steuerknoten 1606 ausgefallen ist. Falls dies nicht der Fall ist, verzweigt das Verfahren 1700 zu Block 1724, der in 18 dargestellt ist und nachstehend beschrieben wird. Falls ein SDS-Steuerknoten 1606 ausgefallen ist, wird das Verfahren 1700 in Block 1712 fortgesetzt.
  • In Block 1712 leitet das verteilte Massenspeichersystem automatisch Speicheranforderungen von Clients 1604 zu einem Reserve-SDS-Steuerknoten 1606 um. Demgemäß kann das System 1600 selbst bei einem Versagen eines SDS-Steuerknotens 1606 weiter ohne Unterbrechung seinen Dienst bereitstellen.
  • In Block 1714 führt der Wiederherstellungsknoten 1602 einen neuen SDS-Steuerknoten 1606 heran, um den ausgefallenen Knoten zu ersetzen. Der Wiederherstellungsknoten 1602 kann eine beliebige geeignete Technik verwenden, um den neuen SDS-Steuerknoten 1606 zu instanziieren, hochzufahren oder auf andere Weise zu aktivieren. Gemäß einigen Ausführungsformen kann der Wiederherstellungsknoten 1602 in Block 1716 einen neuen Rechenknoten oder andere Hardware-Ressourcen des Systems 1600 für den neuen SDS-Steuerknoten 1606 zuordnen. Beispielsweise kann der Wiederherstellungsknoten 1602 einen oder mehrere Rechen-Sleds 800 oder andere Ressourcen eines Rechenzentrums 100 zuordnen. Bei einem weiteren Beispiel kann der Wiederherstellungsknoten 1602 einen neuen Knoten anhand einer oder mehrerer nicht aggregierter Ressourcen (beispielsweise Rechen-, Speicher-, Massenspeicher- und/oder anderer Ressourcen) des Rechenzentrums 100 zusammenstellen. Gemäß einigen Ausführungsformen kann der Wiederherstellungsknoten 1602 in Block 1718 den neuen SDS-Steuerknoten 1606 auf einem existierenden Knoten in der Art des Rechenknotens mit der niedrigsten Verarbeitungslast des Systems 1600 heranführen. Gemäß dieser Ausführungsform kann der SDS-Steuerknoten 1606 als eine virtuelle Maschine oder andere Arbeitslast verwirklicht sein, die zusammen mit anderen Arbeitslasten auf einem physischen Knoten des Rechenzentrums 100 ausgeführt werden kann.
  • In Block 1720 konfiguriert der Wiederherstellungsknoten 1602 den neuen SDS-Steuerknoten 1606 mit dem ursprünglichen Zielknoten 1608, der dem ausgefallenen Steuerknoten 1606 zugeordnet war. Der Wiederherstellungsknoten 1602 kann beispielsweise die Massenspeicher-Zielkarte 1662 des neuen SDS-Steuerknotens 1606 aktualisieren, um auf den ursprünglichen Zielknoten 1608 zu zeigen. Gemäß einigen Ausführungsformen kann der neue SDS-Steuerknoten 1606 in Block 1722 unter Verwendung vom ursprünglichen Zielknoten 1608 gespeicherter Metadaten urladen. Das Urladen des SDS-Steuerknotens 1606 kann es dem System 1600 erlauben, ein Wiederausgleichen von Objekten zwischen den SDS-Steuerknoten 1606 zu vermeiden, wodurch die Wiederherstellungsleistung verbessert werden kann. Nach der Konfiguration des neuen Steuerknotens 1606 wird das Verfahren 1700 in Block 1724 fortgesetzt, wie in 18 dargestellt ist.
  • Als ein der Erläuterung dienendes Beispiel und auf 16 zurück verweisend sei bemerkt, dass das verteilte Massenspeichersystem 1600 ein Ceph-Cluster sein kann. Bei diesem Beispiel ist jeder SDS-Steuerknoten 1606 ein Ceph Object Service Daemon (OSD). Gemäß der der Erläuterung dienenden Ausführungsform kann der SDS-Steuerknoten 1606a der primäre OSD für ein Objekt sein und kann der SDS-Steuerknoten 1606b ein Reserve-OSD für dieses Objekt sein. Wie dargestellt ist, ist der SDS-Steuerknoten 1606a mit dem Zielknoten 1608a gekoppelt und ist der SDS-Steuerknoten 1606b mit dem Zielknoten 1608b gekoppelt. Demgemäß werden, wenn alle Knoten des Systems 1600 betriebsbereit sind, Anforderungen vom Client 1604 (beispielsweise einem Ceph-Client, einem RGW-Gateway oder einem anderen Client) für ein Objekt zum primären SDS-Steuerknoten 1606a für dieses Objekt geleitet, das dann über das Massenspeicher-Fabric (beispielsweise NVMe over Fabrics (NVMe-oF) oder andere schnelle Massenspeicherverbindung) auf den Zielknoten 1608a zugreift. Der primäre SDS-Steuerknoten 1606a arbeitet demgemäß die Client-Anforderung unter Verwendung der vom Zielknoten 1608a gespeicherten Replikatdaten 1686 ab.
  • Falls bei diesem der Erläuterung dienenden Beispiel der primäre SDS-Steuerknoten 1606a ausfällt, werden Anforderungen für das Objekt vom Client 1604 automatisch zum Reserve-SDS-Steuerknoten 1606b geleitet, der die Anforderungen ohne Unterbrechung abarbeiten kann. Bei diesem Beispiel arbeitet der Reserve-SDS-Steuerknoten 1606b die Anforderungen unter Verwendung der vom Zielknoten 1608b gespeicherten Replikatdaten 1686 ab. Wie vorstehend beschrieben, wird ansprechend auf den Ausfall des SDS-Steuerknotens 1606a ein neuer SDS-Steuerknoten 1606c erzeugt (nicht dargestellt). Der neue SDS-Steuerknoten 1606c wird dann dafür ausgelegt, auf den ursprünglichen Zielknoten 1608a zuzugreifen. Nachfolgende Client-Anforderungen können zur Abarbeitung zum neuen SDS-Steuerknoten 1606c geleitet werden. Es sei bemerkt, dass bei diesem Beispiel beide Zielknoten 1608a, 1608b während der Wiederherstellung betriebsfähig bleiben, wodurch eine Wiederherstellung ermöglicht wird, ohne dass das Dienstniveau beeinträchtigt wird.
  • Mit Bezug auf 18 sei bemerkt, dass das Verfahren 1700 in Block 1724 fortgesetzt wird, wo der Wiederherstellungsknoten 1602 auf einen Ausfall des Zielknotens 1608 überwacht. Der Wiederherstellungsknoten 1602 kann eine beliebige Technik verwenden, um festzustellen, ob ein Zielknoten 1608 ausgefallen ist. Beispielsweise kann der Wiederherstellungsknoten 1602 die Zielknoten 1608 periodisch oder auf andere Weise abfragen oder kann der Wiederherstellungsknoten 1602 auf ein vom Zielknoten 1608 empfangenes Herzschlagsignal überwachen. In Block 1726 stellt der Wiederherstellungsknoten 1602 fest, ob ein Zielknoten 1608 ausgefallen ist. Falls dies nicht der Fall ist, verzweigt das Verfahren 1700 zu Block 1744, der in 19 dargestellt ist und nachstehend beschrieben wird. Falls ein Zielknoten 1608 ausgefallen ist, wird das Verfahren 1700 in Block 1728 fortgesetzt.
  • In Block 1728 konfiguriert der Wiederherstellungsknoten 1602 die Massenspeicher-Zielkarte 1662 des ursprünglichen SDS-Steuerknotens 1606, der mit dem ausgefallenen Zielknoten 1608 gekoppelt war, um einen Reservezielknoten 1608 zu referenzieren. Beispielsweise kann der Wiederherstellungsknoten 1602 einen Reserve-SDS-Steuerknoten 1606 bestimmen und dann die Massenspeicher-Zielkarte 1662 referenzieren, um den Zielknoten 1608 zu identifizieren, der gegenwärtig dem Reserve-SDS-Steuerknoten 1606 zugewiesen ist, und dann auch diesen Zielknoten 1608 dem ursprünglichen SDS-Steuerknoten 1606 zuweisen. In Block 1730 leitet das verteilte Massenspeichersystem weiter Anforderungen zum ursprünglichen SDS-Steuerknoten 1606. In Block 1732 leitet der ursprüngliche SDS-Steuerknoten 1606 die Anforderung zur Abarbeitung auf der Grundlage der aktualisierten Massenspeicher-Zielkarte 1662 zum Reservezielknoten 1608. Demgemäß kann das System 1600 durch Umleiten von Anforderungen zu einem anderen Reservezielknoten 1608 weiter während der Wiederherstellung einen ununterbrochenen Dienst bereitstellen, wenn auch mit einem verschlechterten Dienstniveau (beispielsweise weniger Kopien der Replikatdaten 1686).
  • In Block 1734 führt der Wiederherstellungsknoten 1602 einen neuen Zielknoten 1608 heran, um den ausgefallenen Knoten zu ersetzen. Der Wiederherstellungsknoten 1602 kann eine beliebige geeignete Technik verwenden, um den neuen Zielknoten 1608 zu instanziieren, hochzufahren oder auf andere Weise zu aktivieren. Gemäß einigen Ausführungsformen kann der Wiederherstellungsknoten 1602 einen neuen Massenspeicherknoten oder andere Hardware-Ressourcen des Systems 1600 für den neuen Zielknoten 1608 zuordnen. Beispielsweise kann der Wiederherstellungsknoten 1602 einen oder mehrere Massenspeicher-Sleds 1200 oder andere Ressourcen eines Rechenzentrums 100 zuordnen. Bei einem weiteren Beispiel kann der Wiederherstellungsknoten 1602 einen neuen Knoten anhand einer oder mehrerer nicht aggregierter Ressourcen (beispielsweise Rechen-, Speicher-, Massenspeicher- und/oder anderer Ressourcen) des Rechenzentrums 100 zusammenstellen.
  • In Block 1736 weist der Wiederherstellungsknoten 1602 den neuen Zielknoten 1608 an, eine direkte Ziel-zu-Ziel-Datenkopie vom Reservezielknoten 1608 zum neuen Zielknoten 1608 zu leiten. Die direkte Datenkopie kann das Übertragen von Daten über ein Massenspeicher-Fabric zwischen den Zielknoten 1608 aufweisen (beispielsweise NVMe-oF oder eine andere schnelle Massenspeicherverbindung). Die kopierten Daten können von den zugeordneten SDS-Steuerknoten 1606 nicht weitergeleitet oder auf andere Weise verarbeitet werden müssen, wodurch die Bandbreitenverwendung, die Prozessorverwendung verringert werden kann oder die Leistungsfähigkeit auf andere Weise verbessert werden kann. Das System 1600 kann eine geeignete Technik verwenden, um die direkte Ziel-zu-Ziel-Übertragung auszuführen. Zur Veranschaulichung sei bemerkt, dass der ursprüngliche SDS-Steuerknoten 1606 in Block 1738 einen Befehl zum Kopieren des Objekts zum Reservezielknoten 1608 senden kann. In Block 1740 identifiziert der Reservezielknoten 1608 Datenblöcke oder andere Speicherorte des angeforderten Objekts. Beispielsweise kann der Reservezielknoten 1608 alle im Objekt enthaltenen Datenblöcke unter Verwendung der Blockeigentümerschaftstabelle 1684 identifizieren. Wie vorstehend beschrieben, bildet die Blockeigentümerschaftstabelle 1684 Datenobjekte (beispielsweise Dateinamen oder andere Kennungen) auf Plattenblöcke, Speicherseiten, Cache-Leitungen oder andere Datenblöcke ab, welche die dem Datenobjekt zugeordneten Daten speichern. Der Reservezielknoten 1608 kopiert dann diese Datenblöcke über das Massenspeicher-Fabric zum neuen Zielknoten 1608. Beispielsweise kann der Reservezielknoten 1608 die Daten unter Verwendung einer oder mehrerer NVMe-oF-Nachrichten (beispielsweise eines oder mehrerer NVMe-Befehle in der Art von Lesen oder Schreiben, die über einen nachrichtenbasierten Transport eingekapselt sind), Ferndirektspeicherzugriffs(RDMA)-Transaktionen oder anderer Übertragungen übertragen. Der neue Zielknoten 1608 kann Datenblöcke zum Speichern der übertragenen Daten zuordnen und dementsprechend seine eigene Blockeigentümerschaftstabelle 1684 aktualisieren.
  • Nach Abschluss der Datenübertragung konfiguriert der Wiederherstellungsknoten 1602 in Block 1742 die Massenspeicher-Zielkarte 1662 des ursprünglichen SDS-Steuerknotens 1606, der mit dem ausgefallenen Zielknoten 1608 gekoppelt war, um auf den neu erzeugten und belegten Zielknoten 1608 zu verweisen. Nach der Aktualisierung der Massenspeicher-Zielkarte 1662 werden Client-Anforderungen an den ursprünglichen SDS-Steuerknoten 1606 zum neuen Zielknoten 1608 geleitet. Demgemäß kann das System 1600 nach der Referenzierung des Zielknotens 1608 das Dienstniveau des Systems vollständig wiederherstellen (beispielsweise eine Anzahl von Kopien der Replikatdaten 1686 bereitstellen, wie in einer Dienstniveauvereinbarung spezifiziert). Nach der Konfiguration der Massenspeicher-Zielkarte 1662 wird das Verfahren 1700 in Block 1744 fortgesetzt, wie in 19 dargestellt ist.
  • Als ein der Erläuterung dienendes Beispiel und wiederum auf 16 zurück verweisend sei bemerkt, dass das verteilte Massenspeichersystem 1600 ein Ceph-Cluster sein kann. Bei diesem Beispiel ist jeder SDS-Steuerknoten 1606 ein Ceph Object Service Daemon (OSD). Gemäß der der Erläuterung dienenden Ausführungsform kann der SDS-Steuerknoten 1606a der primäre OSD für ein Objekt sein und kann der SDS-Steuerknoten 1606b ein Reserve-OSD für dieses Objekt sein. Wie dargestellt ist, ist der SDS-Steuerknoten 1606a mit dem Zielknoten 1608a gekoppelt und ist der SDS-Steuerknoten 1606b mit dem Zielknoten 1608b gekoppelt. Demgemäß werden, wenn alle Knoten des Systems 1600 betriebsbereit sind, Anforderungen vom Client 1604 (beispielsweise einem Ceph-Client, einem RGW-Gateway oder einem anderen Client) für ein Objekt zum primären SDS-Steuerknoten 1606a für dieses Objekt geleitet, das dann über das Massenspeicher-Fabric (beispielsweise NVMe-oF oder andere schnelle Massenspeicherverbindung) auf den Zielknoten 1608a zugreift. Der primäre SDS-Steuerknoten 1606a arbeitet demgemäß die Client-Anforderung unter Verwendung der vom Zielknoten 1608a gespeicherten Replikatdaten 1686 ab.
  • Bei diesem der Erläuterung dienenden Beispiel wird, falls der Zielknoten 1608a ausfällt, die Massenspeicher-Zielkarte 1662 des SDS-Steuerknotens 1606a aktualisiert, um den Zielknoten 1608b zu referenzieren. Nach dieser Aktualisierung werden Anforderungen für das Objekt vom Client 1604 weiter zum primären SDS-Steuerknoten 1606a geleitet, der die Anforderungen unter Verwendung des Zielknotens 1608b abarbeitet. Demgemäß stellt das System 1600 einen ununterbrochenen Dienst bereit, jedoch bei einem verschlechterten Dienstniveau. Wie vorstehend beschrieben, wird ansprechend auf den Ausfall des Zielknotens 1608a ein neuer Zielknoten 1608c erzeugt (nicht dargestellt). Der existierende Reservezielknoten 1608b wird angewiesen, seine Replikatdaten 1686 zum neuen Zielknoten 1608c zu kopieren. Die Kopie kann direkt zwischen den Reservezielknoten 1608b, 1608c ohne Beteiligung des SDS-Steuerknotens 1606a ausgeführt werden, wodurch die Wiederherstellungsgeschwindigkeit verbessert werden kann. Nach Abschluss der Kopie wird die Massenspeicher-Zielkarte 1662 des SDS-Steuerknotens 1606a aktualisiert, um den neuen Zielknoten 1608c zu referenzieren. Auf diese Weise stellt das System 1600 das vollständige Dienstniveau nach der Wiederherstellung wieder her.
  • Mit Bezug auf 19 sei nun bemerkt, dass das Verfahren 1700 in Block 1744 fortgesetzt wird, wo das System 1600 feststellt, ob Knoten wiederauszugleichen sind. Das System 1600 kann Knoten beispielsweise wiederausgleichen, wenn ein SDS-Steuerknoten 1606 ausgefallen ist, jedoch bevor ein Ersatz-SDS-Steuerknoten 1606 zum System 1600 hinzugefügt wurde. Falls das System 1600 feststellt, dass keine Knoten wiederauszugleichen sind, zweigt das Verfahren 1700 zum in 17 dargestellten Block 1708 zurück, um weiter auf Knotenausfälle zu überwachen. Falls das System 1600 feststellt, dass Knoten wiederauszugleichen sind, wird das Verfahren 1700 in Block 1746 fortgesetzt.
  • In Block 1746 bestimmt ein SDS-Steuerknoten 1606 einen wiederausgeglichenen Zielknoten 1608 für einen wiederausgeglichenen SDS-Steuerknoten 1606 auf der Grundlage der Massenspeicher-Zielkarte 1662. Beispielsweise kann der SDS-Steuerknoten 1606a ursprünglich ein im Zielknoten 1608a gespeichertes Objekt behandeln. Bei diesem Beispiel kann das Objekt zum SDS-Steuerknoten 1606b wiederausgeglichen werden. Der SDS-Steuerknoten 1606a kann die Massenspeicher-Zielkarte 1662 referenzieren, um festzustellen, dass der Zielknoten 1608b dem wiederausgeglichenen SDS-Steuerknoten 1606b zugeordnet ist.
  • In Block 1748 schreibt der SDS-Steuerknoten 1606 dem Zielknoten 1608 vor, eine direkte Ziel-zu-Ziel-Datenkopie zum wiederausgeglichenen Zielknoten auszuführen. Beispielsweise kann der SDS-Steuerknoten 1606a, um das vorhergehende Beispiel fortzusetzen, dem Zielknoten 1608a vorschreiben, die Replikatdaten 1686 direkt zum Zielknoten 1608b zu kopieren. Wie vorstehend beschrieben, kann die Kopie ohne Beteiligung der SDS-Steuerknoten 1606a, 1606b direkt zwischen den Reservezielknoten 1608b, 1608c ausgeführt werden, wodurch die Wiederausgleichsgeschwindigkeit verbessert werden kann. Dementsprechend kann das System 1600 die Wiederherstellungsleistung verbessern, selbst wenn ein Wiederausgleich erforderlich ist.
  • Nach der Wiederausgleichung leitet das verteilte Massenspeichersystem 1600 in Block 1750 Anforderungen zum wiederausgeglichenen SDS-Steuerknoten 1606. Um das vorhergehende Beispiel fortzusetzen sei bemerkt, dass Anforderungen zum SDS-Steuerknoten 1606b geleitet werden, der die Anforderungen mit den vom Zielknoten 1608b gespeicherten Replikatdaten 1686 abarbeiten kann. Nach der Ausführung des Wiederausgleichs verzweigt das Verfahren 1700 zum in 17 dargestellten Block 1708 zurück, um weiter auf Knotenausfälle zu überwachen.
  • BEISPIELE
  • Nachstehend werden der Erläuterung dienende Beispiele der hier offenbarten Technologien bereitgestellt. Eine Ausführungsform der Technologien kann eines oder mehrere und jede beliebige Kombination der nachstehend beschriebenen Beispiele aufweisen.
  • Beispiel 1 weist eine Rechenvorrichtung zur Wiederherstellung eines verteilten Massenspeichers auf, wobei die Rechenvorrichtung Folgendes umfasst: eine Ausfallüberwachungseinrichtung zum (i) Identifizieren eines ausgefallenen Knotens eines verteilten Massenspeichersystems, wobei das verteilte Massenspeichersystem mehrere Steuerknoten und mehrere Zielknoten umfasst, wobei jeder Steuerknoten über ein Massenspeicher-Fabric mit einem entsprechenden Zielknoten gekoppelt ist und wobei jeder Zielknoten Replikatdaten umfasst, und (ii) Identifizieren eines entsprechenden mit dem ausgefallenen Knoten gekoppelten Knotens, und einen Wiederherstellungsmanager zum (i) Instanziieren eines Ersatzknotens, (ii) Hinzufügen des Ersatzknotens zum verteilten Massenspeichersystem ansprechend auf die Identifikation des ausgefallenen Knotens und (iii) Koppeln des Ersatzknotens mit dem entsprechenden Knoten ansprechend auf die Hinzufügung des Ersatzknotens zum verteilten Massenspeichersystem.
  • Beispiel 2 weist den Gegenstand von Beispiel 1 auf, wobei das Massenspeicher-Fabric eine Nichtflüchtiger-Speicher-über-Fabric-Massenspeicher-Schnittstelle umfasst.
  • Beispiel 3 weist den Gegenstand von einem der Beispiele 1 und 2 auf, wobei der ausgefallene Knoten einen ausgefallenen Steuerknoten umfasst, der entsprechende Knoten einen entsprechenden Zielknoten umfasst und der Ersatzknoten einen Ersatzsteuerknoten umfasst.
  • Beispiel 4 weist den Gegenstand von einem der Beispiele 1 - 3 auf, wobei das Koppeln des Ersatzsteuerknotens mit dem entsprechenden Zielknoten das Konfigurieren einer Massenspeicher-Zielkarte des Ersatzsteuerknotens mit einer Kennung des entsprechenden Zielknotens umfasst.
  • Beispiel 5 weist den Gegenstand von einem der Beispiele 1 - 4 auf, wobei das Instanziieren des Ersatzsteuerknotens das Zuordnen von Rechenressourcen des verteilten Massenspeichersystems für den Ersatzsteuerknoten umfasst.
  • Beispiel 6 weist den Gegenstand von einem der Beispiele 1 - 5 auf, wobei das Instanziieren des Ersatzsteuerknotens das Heranführen des Ersatzsteuerknotens an einen existierenden Knoten des verteilten Massenspeichersystems umfasst.
  • Beispiel 7 weist den Gegenstand von einem der Beispiele 1 - 6 auf, wobei das Instanziieren des Ersatzsteuerknotens ferner das Auswählen eines am wenigsten belasteten Knotens des verteilten Massenspeichersystems als existierender Knoten umfasst.
  • Beispiel 8 weist den Gegenstand von einem der Beispiele 1 - 7 auf, wobei der Wiederherstellungsmanager ferner ansprechend auf die Kopplung des Ersatzsteuerknotens mit dem entsprechenden ersten Zielknoten den Ersatzsteuerknoten mit vom entsprechenden Zielknoten gespeicherten Metadaten urladen soll.
  • Beispiel 9 weist den Gegenstand von einem der Beispiele 1 - 8 auf, wobei der ausgefallene Knoten einen ausgefallenen Zielknoten umfasst, der entsprechende Knoten einen entsprechenden Steuerknoten umfasst und der Ersatzknoten einen Ersatzzielknoten umfasst.
  • Beispiel 10 weist den Gegenstand von einem der Beispiele 1 - 9 auf, wobei das Instanziieren des Ersatzzielknotens das Zuordnen von Massenspeicherressourcen des verteilten Massenspeichersystems für den Ersatzzielknoten umfasst.
  • Beispiel 11 weist den Gegenstand von einem der Beispiele 1 - 10 auf, und es weist ferner einen Übertragungsmanager auf, um Folgendes auszuführen: Identifizieren eines Reservezielknotens des verteilten Massenspeichersystems, wobei die Replikatdaten des Reservezielknotens mit den vom ausgefallenen Zielknoten gespeicherten Replikatdaten übereinstimmen, und Anweisen des Reservezielknotens, die Replikatdaten über das Massenspeicher-Fabric zum Ersatzzielknoten zu kopieren, wobei das Koppeln des Ersatzknotens mit dem entsprechenden Knoten das Koppeln des Ersatzzielknotens mit dem entsprechenden Steuerknoten ansprechend auf die Anweisung des Reservezielknotens, die Replikatdaten zu kopieren, umfasst.
  • Beispiel 12 weist den Gegenstand von einem der Beispiele 1 - 11 auf, wobei das Koppeln des Ersatzzielknotens mit dem entsprechenden Steuerknoten das Konfigurieren einer Massenspeicher-Zielkarte des entsprechenden Steuerknotens mit einer Kennung des Ersatzzielknotens umfasst.
  • Beispiel 13 weist den Gegenstand von einem der Beispiele 1 - 12 auf, wobei das Anweisen des Reservezielknotens, die Replikatdaten zu kopieren, Folgendes umfasst: Senden eines Befehls zum Reservezielknoten, wobei der Befehl ein Datenobjekt identifiziert, Identifizieren eines oder mehrerer Datenblöcke in Zusammenhang mit dem Datenobjekt durch den Reservezielknoten und Kopieren des einen oder der mehreren Datenblöcke zum Ersatzzielknoten über das Massenspeicher-Fabric durch den Reservezielknoten.
  • Beispiel 14 weist den Gegenstand von einem der Beispiele 1 - 13 auf und weist ferner einen Wiederausgleichsmanager auf, um Folgendes auszuführen: Aktualisieren einer Massenspeicher-Zielkarte eines ersten Steuerknotens des verteilten Massenspeichersystems, wobei der erste Steuerknoten mit einem ersten Zielknoten gekoppelt wird, Identifizieren eines zweiten Steuerknotens auf der Grundlage der Massenspeicher-Zielkarte ansprechend auf eine Aktualisierung der Massenspeicher-Zielkarte, wobei der zweite Steuerknoten mit einem zweiten Zielknoten gekoppelt wird und wobei der zweite Steuerknoten mit einem vom ersten Zielknoten gespeicherten Datenobjekt assoziiert wird, und Anweisen des ersten Zielknotens, das Datenobjekt über das Massenspeicher-Fabric zum zweiten Zielknoten zu kopieren.
  • Beispiel 15 weist den Gegenstand von einem der Beispiele 1 - 14 auf, wobei jeder der Steuerknoten einen Rechen-Sled eines Rechenzentrums umfasst und jeder der Zielknoten einen Massenspeicher-Sled des Rechenzentrums umfasst.
  • Beispiel 16 weist ein Verfahren zur Wiederherstellung eines verteilten Massenspeichers auf, wobei das Verfahren Folgendes umfasst: Identifizieren eines ausgefallenen Knotens eines verteilten Massenspeichersystems durch eine Rechenvorrichtung, wobei das verteilte Massenspeichersystem mehrere Steuerknoten und mehrere Zielknoten umfasst, wobei jeder Steuerknoten über ein Massenspeicher-Fabric mit einem entsprechenden Zielknoten gekoppelt ist und wobei jeder Zielknoten Replikatdaten umfasst, Identifizieren eines entsprechenden mit dem ausgefallenen Knoten gekoppelten Knotens durch die Rechenvorrichtung, Instanziieren eines Ersatzknotens durch die Rechenvorrichtung, Hinzufügen des Ersatzknotens zum verteilten Massenspeichersystem ansprechend auf die Identifikation des ausgefallenen Knotens durch die Rechenvorrichtung und Koppeln des Ersatzknotens mit dem entsprechenden Knoten ansprechend auf die Hinzufügung des Ersatzknotens zum verteilten Massenspeichersystem durch die Rechenvorrichtung.
  • Beispiel 17 weist den Gegenstand von Beispiel 16 auf, wobei das Massenspeicher-Fabric eine Nichtflüchtiger-Speicher-über-Fabric-Massenspeicher-Schnittstelle umfasst.
  • Beispiel 18 weist den Gegenstand von einem der Beispiele 16 und 17 auf, wobei der ausgefallene Knoten einen ausgefallenen Steuerknoten umfasst, der entsprechende Knoten einen entsprechenden Zielknoten umfasst und der Ersatzknoten einen Ersatzsteuerknoten umfasst.
  • Beispiel 19 weist den Gegenstand von einem der Beispiele 16 - 18 auf, wobei die Kopplung des Ersatzsteuerknotens mit dem entsprechenden Zielknoten die Konfiguration einer Massenspeicher-Zielkarte des Ersatzsteuerknotens mit einer Kennung des entsprechenden Zielknotens umfasst.
  • Beispiel 20 weist den Gegenstand von einem der Beispiele 16 - 19 auf, wobei das Instanziieren des Ersatzsteuerknotens das Zuordnen von Rechenressourcen des verteilten Massenspeichersystems für den Ersatzsteuerknoten umfasst.
  • Beispiel 21 weist den Gegenstand von einem der Beispiele 16 - 20 auf, wobei das Instanziieren des Ersatzsteuerknotens das Heranführen des Ersatzsteuerknotens an einen existierenden Knoten des verteilten Massenspeichersystems umfasst.
  • Beispiel 22 weist den Gegenstand von einem der Beispiele 16 - 21 auf, wobei das Instanziieren des Ersatzsteuerknotens ferner das Auswählen eines am wenigsten belasteten Knotens des verteilten Massenspeichersystems als existierender Knoten umfasst.
  • Beispiel 23 weist den Gegenstand von einem der Beispiele 16 - 22 auf, wobei ferner der Ersatzsteuerknoten ansprechend auf die Kopplung des Ersatzsteuerknotens mit dem entsprechenden ersten Zielknoten durch die Rechenvorrichtung mit vom entsprechenden Zielknoten gespeicherten Metadaten urgeladen wird.
  • Beispiel 24 weist den Gegenstand von einem der Beispiele 16 - 23 auf, wobei der ausgefallene Knoten einen ausgefallenen Zielknoten umfasst, der entsprechende Knoten einen entsprechenden Steuerknoten umfasst und der Ersatzknoten einen Ersatzzielknoten umfasst.
  • Beispiel 25 weist den Gegenstand von einem der Beispiele 16 - 24 auf, wobei das Instanziieren des Ersatzzielknotens das Zuordnen von Massenspeicherressourcen des verteilten Massenspeichersystems für den Ersatzzielknoten umfasst.
  • Beispiel 26 weist den Gegenstand von einem der Beispiele 16 - 25 auf, wobei es ferner Folgendes aufweist: Identifizieren eines Reservezielknotens des verteilten Massenspeichersystems durch die Rechenvorrichtung, wobei die Replikatdaten des Reservezielknotens mit den vom ausgefallenen Zielknoten gespeicherten Replikatdaten übereinstimmen, und Anweisen des Reservezielknotens, die Replikatdaten über das Massenspeicher-Fabric zum Ersatzzielknoten zu kopieren, durch die Rechenvorrichtung, wobei das Koppeln des Ersatzknotens mit dem entsprechenden Knoten das Koppeln des Ersatzzielknotens mit dem entsprechenden Steuerknoten ansprechend auf das Anweisen des Reservezielknotens, die Replikatdaten zu kopieren, umfasst.
  • Beispiel 27 weist den Gegenstand von einem der Beispiele 16 - 26 auf, wobei das Koppeln des Ersatzzielknotens mit dem entsprechenden Steuerknoten das Konfigurieren einer Massenspeicher-Zielkarte des entsprechenden Steuerknotens mit einer Kennung des Ersatzzielknotens umfasst.
  • Beispiel 28 weist den Gegenstand von einem der Beispiele 16 - 27 auf, wobei das Anweisen des Reservezielknotens, die Replikatdaten zu kopieren, Folgendes umfasst: Senden eines Befehls zum Reservezielknoten, wobei der Befehl ein Datenobjekt identifiziert, Identifizieren eines oder mehrerer Datenblöcke in Zusammenhang mit dem Datenobjekt durch den Reservezielknoten und Kopieren des einen oder der mehreren Datenblöcke zum Ersatzzielknoten über das Massenspeicher-Fabric durch den Reservezielknoten.
  • Beispiel 29 weist den Gegenstand von einem der Beispiele 16 - 28 auf, welches ferner Folgendes umfasst: Aktualisieren einer Massenspeicher-Zielkarte eines ersten Steuerknotens des verteilten Massenspeichersystems, wobei der erste Steuerknoten mit einem ersten Zielknoten gekoppelt wird, durch die Rechenvorrichtung, Identifizieren eines zweiten Steuerknotens auf der Grundlage der Massenspeicher-Zielkarte ansprechend auf eine Aktualisierung der Massenspeicher-Zielkarte durch den ersten Steuerknoten, wobei der zweite Steuerknoten mit einem zweiten Zielknoten gekoppelt wird und wobei der zweite Steuerknoten mit einem vom ersten Zielknoten gespeicherten Datenobjekt assoziiert wird, und Anweisen des ersten Zielknotens, das Datenobjekt über das Massenspeicher-Fabric zum zweiten Zielknoten zu kopieren, durch den ersten Steuerknoten.
  • Beispiel 30 weist den Gegenstand von einem der Beispiele 16 - 29 auf, wobei jeder der Steuerknoten einen Rechen-Sled eines Rechenzentrums umfasst und jeder der Zielknoten einen Massenspeicher-Sled des Rechenzentrums umfasst.
  • Beispiel 31 weist eine Rechenvorrichtung auf, die einen Prozessor und einen Speicher umfasst, worin mehrere Befehle gespeichert sind, die, wenn sie durch den Prozessor ausgeführt werden, die Rechenvorrichtung veranlassen, das Verfahren nach einem der Beispiele 16 - 30 auszuführen.
  • Beispiel 32 weist ein oder mehrere nichtflüchtige computerlesbare Massenspeichermedien auf, die mehrere darauf gespeicherte Befehle umfassen, die ansprechend darauf, dass sie ausgeführt werden, eine Rechenvorrichtung veranlassen, das Verfahren nach einem der Beispiele 16 - 30 auszuführen.
  • Beispiel 33 weist eine Rechenvorrichtung mit Mitteln zur Ausführung des Verfahrens nach einem der Beispiele 16 - 30 auf.

Claims (25)

  1. Rechenvorrichtung zur Wiederherstellung eines verteilten Massenspeichers, wobei die Rechenvorrichtung Folgendes umfasst: eine Ausfallüberwachungseinrichtung zum (i) Identifizieren eines ausgefallenen Knotens eines verteilten Massenspeichersystems, wobei das verteilte Massenspeichersystem mehrere Steuerknoten und mehrere Zielknoten umfasst, wobei jeder Steuerknoten über ein Massenspeicher-Fabric mit einem entsprechenden Zielknoten gekoppelt ist und wobei jeder Zielknoten Replikatdaten umfasst, und (ii) Identifizieren eines entsprechenden mit dem ausgefallenen Knoten gekoppelten Knotens, und einen Wiederherstellungsmanager zum (i) Instanziieren eines Ersatzknotens, (ii) Hinzufügen des Ersatzknotens zum verteilten Massenspeichersystem ansprechend auf die Identifikation des ausgefallenen Knotens und (iii) Koppeln des Ersatzknotens mit dem entsprechenden Knoten ansprechend auf die Hinzufügung des Ersatzknotens zum verteilten Massenspeichersystem.
  2. Rechenvorrichtung nach Anspruch 1, wobei das Massenspeicher-Fabric eine Nichtflüchtiger-Speicher-über-Fabric-Massenspeicher-Schnittstelle umfasst.
  3. Rechenvorrichtung nach Anspruch 1, wobei der ausgefallene Knoten einen ausgefallenen Steuerknoten umfasst, der entsprechende Knoten einen entsprechenden Zielknoten umfasst und der Ersatzknoten einen Ersatzsteuerknoten umfasst.
  4. Rechenvorrichtung nach Anspruch 3, wobei das Koppeln des Ersatzsteuerknotens mit dem entsprechenden Zielknoten das Konfigurieren einer Massenspeicher-Zielkarte des Ersatzsteuerknotens mit einer Kennung des entsprechenden Zielknotens umfasst.
  5. Rechenvorrichtung nach Anspruch 3, wobei das Instanziieren des Ersatzsteuerknotens das Zuordnen von Rechenressourcen des verteilten Massenspeichersystems für den Ersatzsteuerknoten umfasst.
  6. Rechenvorrichtung nach Anspruch 3, wobei das Instanziieren des Ersatzsteuerknotens das Heranführen des Ersatzsteuerknotens an einen existierenden Knoten des verteilten Massenspeichersystems umfasst.
  7. Rechenvorrichtung nach Anspruch 6, wobei das Instanziieren des Ersatzsteuerknotens ferner das Auswählen eines am wenigsten belasteten Knotens des verteilten Massenspeichersystems als existierender Knoten umfasst.
  8. Rechenvorrichtung nach Anspruch 3, wobei der Wiederherstellungsmanager ferner ansprechend auf die Kopplung des Ersatzsteuerknotens mit dem entsprechenden ersten Zielknoten den Ersatzsteuerknoten mit vom entsprechenden Zielknoten gespeicherten Metadaten urladen soll.
  9. Rechenvorrichtung nach Anspruch 1, wobei der ausgefallene Knoten einen ausgefallenen Zielknoten umfasst, der entsprechende Knoten einen entsprechenden Steuerknoten umfasst und der Ersatzknoten einen Ersatzzielknoten umfasst.
  10. Rechenvorrichtung nach Anspruch 9, wobei das Instanziieren des Ersatzzielknotens das Zuordnen von Massenspeicherressourcen des verteilten Massenspeichersystems für den Ersatzzielknoten umfasst.
  11. Rechenvorrichtung nach Anspruch 9, welche ferner einen Übertragungsmanager umfasst, um Folgendes auszuführen: Identifizieren eines Reservezielknotens des verteilten Massenspeichersystems, wobei die Replikatdaten des Reservezielknotens mit den vom ausgefallenen Zielknoten gespeicherten Replikatdaten übereinstimmen, und Anweisen des Reservezielknotens, die Replikatdaten über das Massenspeicher-Fabric zum Ersatzzielknoten zu kopieren, wobei das Koppeln des Ersatzknotens mit dem entsprechenden Knoten das Koppeln des Ersatzzielknotens mit dem entsprechenden Steuerknoten ansprechend auf die Anweisung des Reservezielknotens, die Replikatdaten zu kopieren, umfasst.
  12. Rechenvorrichtung nach Anspruch 11, wobei das Koppeln des Ersatzzielknotens mit dem entsprechenden Steuerknoten das Konfigurieren einer Massenspeicher-Zielkarte des entsprechenden Steuerknotens mit einer Kennung des Ersatzzielknotens umfasst.
  13. Rechenvorrichtung nach Anspruch 11, wobei das Anweisen des Reservezielknotens, die Replikatdaten zu kopieren, Folgendes umfasst: Senden eines Befehls zum Reservezielknoten, wobei der Befehl ein Datenobjekt identifiziert, Identifizieren eines oder mehrerer Datenblöcke in Zusammenhang mit dem Datenobjekt durch den Reservezielknoten und Kopieren des einen oder der mehreren Datenblöcke zum Ersatzzielknoten über das Massenspeicher-Fabric durch den Reservezielknoten.
  14. Rechenvorrichtung nach Anspruch 1, welche ferner einen Wiederausgleichsmanager umfasst, um Folgendes auszuführen: Aktualisieren einer Massenspeicher-Zielkarte eines ersten Steuerknotens des verteilten Massenspeichersystems, wobei der erste Steuerknoten mit einem ersten Zielknoten gekoppelt wird, Identifizieren eines zweiten Steuerknotens auf der Grundlage der Massenspeicher-Zielkarte ansprechend auf eine Aktualisierung der Massenspeicher-Zielkarte, wobei der zweite Steuerknoten mit einem zweiten Zielknoten gekoppelt wird und wobei der zweite Steuerknoten mit einem vom ersten Zielknoten gespeicherten Datenobjekt assoziiert wird, und Anweisen des ersten Zielknotens, das Datenobjekt über das Massenspeicher-Fabric zum zweiten Zielknoten zu kopieren.
  15. Rechenvorrichtung nach Anspruch 1, wobei: jeder der Steuerknoten einen Rechen-Sled eines Rechenzentrums umfasst und jeder der Zielknoten einen Massenspeicher-Sled des Rechenzentrums umfasst.
  16. Verfahren zur Wiederherstellung eines verteilten Massenspeichers, wobei das Verfahren Folgendes umfasst: Identifizieren eines ausgefallenen Knotens eines verteilten Massenspeichersystems durch eine Rechenvorrichtung, wobei das verteilte Massenspeichersystem mehrere Steuerknoten und mehrere Zielknoten umfasst, wobei jeder Steuerknoten über ein Massenspeicher-Fabric mit einem entsprechenden Zielknoten gekoppelt ist und wobei jeder Zielknoten Replikatdaten umfasst, Identifizieren eines entsprechenden mit dem ausgefallenen Knoten gekoppelten Knotens durch die Rechenvorrichtung, Instanziieren eines Ersatzknotens durch die Rechenvorrichtung, Hinzufügen des Ersatzknotens zum verteilten Massenspeichersystem ansprechend auf die Identifikation des ausgefallenen Knotens durch die Rechenvorrichtung und Koppeln des Ersatzknotens mit dem entsprechenden Knoten ansprechend auf die Hinzufügung des Ersatzknotens zum verteilten Massenspeichersystem durch die Rechenvorrichtung.
  17. Verfahren nach Anspruch 16, wobei der ausgefallene Knoten einen ausgefallenen Steuerknoten umfasst, der entsprechende Knoten einen entsprechenden Zielknoten umfasst und der Ersatzknoten einen Ersatzsteuerknoten umfasst.
  18. Verfahren nach Anspruch 17, wobei das Instanziieren des Ersatzsteuerknotens Folgendes umfasst: (i) Zuordnen von Rechenressourcen des verteilten Massenspeichersystems für den Ersatzsteuerknoten oder (ii) Heranführen des Ersatzsteuerknotens an einen existierenden Knoten des verteilten Massenspeichersystems.
  19. Verfahren nach Anspruch 17, welches ferner das Urladen des Ersatzsteuerknotens mit vom entsprechenden Zielknoten gespeicherten Metadaten ansprechend auf die Kopplung des Ersatzsteuerknotens mit dem entsprechenden ersten Zielknoten umfasst.
  20. Verfahren nach Anspruch 16, wobei der ausgefallene Knoten einen ausgefallenen Zielknoten umfasst, der entsprechende Knoten einen entsprechenden Steuerknoten umfasst und der Ersatzknoten einen Ersatzzielknoten umfasst.
  21. Verfahren nach Anspruch 20, welches ferner Folgendes umfasst: Identifizieren eines Reservezielknotens des verteilten Massenspeichersystems durch die Rechenvorrichtung, wobei die Replikatdaten des Reservezielknotens mit den vom ausgefallenen Zielknoten gespeicherten Replikatdaten übereinstimmen, und Anweisen des Reservezielknotens, die Replikatdaten über das Massenspeicher-Fabric zum Ersatzzielknoten zu kopieren, durch die Rechenvorrichtung, wobei das Koppeln des Ersatzknotens mit dem entsprechenden Knoten das Koppeln des Ersatzzielknotens mit dem entsprechenden Steuerknoten ansprechend auf das Anweisen des Reservezielknotens, die Replikatdaten zu kopieren, umfasst.
  22. Verfahren nach Anspruch 21, wobei das Anweisen des Reservezielknotens, die Replikatdaten zu kopieren, Folgendes umfasst: Senden eines Befehls zum Reservezielknoten, wobei der Befehl ein Datenobjekt identifiziert, Identifizieren eines oder mehrerer Datenblöcke in Zusammenhang mit dem Datenobjekt durch den Reservezielknoten und Kopieren des einen oder der mehreren Datenblöcke zum Ersatzzielknoten über das Massenspeicher-Fabric durch den Reservezielknoten.
  23. Verfahren nach Anspruch 16, welches ferner Folgendes umfasst: Aktualisieren einer Massenspeicher-Zielkarte eines ersten Steuerknotens des verteilten Massenspeichersystems, wobei der erste Steuerknoten mit einem ersten Zielknoten gekoppelt wird, durch die Rechenvorrichtung, Identifizieren eines zweiten Steuerknotens auf der Grundlage der Massenspeicher-Zielkarte ansprechend auf eine Aktualisierung der Massenspeicher-Zielkarte durch die Rechenvorrichtung, wobei der zweite Steuerknoten mit einem zweiten Zielknoten gekoppelt wird und wobei der zweite Steuerknoten mit einem vom ersten Zielknoten gespeicherten Datenobjekt assoziiert wird, und Anweisen des ersten Zielknotens, das Datenobjekt über das Massenspeicher-Fabric zum zweiten Zielknoten zu kopieren, durch die Rechenvorrichtung.
  24. Eines oder mehrere maschinenlesbare Massenspeichermedien, die mehrere darauf gespeicherte Befehle umfassen, die, wenn sie ausgeführt werden, eine Rechenvorrichtung veranlassen, das Verfahren nach einem der Ansprüche 16-23 auszuführen.
  25. Rechenvorrichtung zur Wiederherstellung eines verteilten Massenspeichers, wobei die Rechenvorrichtung Mittel zur Ausführung des Verfahrens nach einem der Ansprüche 16-23 umfasst.
DE102020110582.7A 2019-05-29 2020-04-17 TECHNOLOGIEN ZUR AUTOMATISCHEN ARBEITSLASTERKENNUNG UND CACHE-QoS-RICHTLINIENANWENDUNG Pending DE102020110582A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/424,594 US11397653B2 (en) 2019-05-29 2019-05-29 Technologies for fast recovery of distributed storage systems on disaggregated storage
US16/424,594 2019-05-29

Publications (1)

Publication Number Publication Date
DE102020110582A1 true DE102020110582A1 (de) 2020-12-03

Family

ID=67842624

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020110582.7A Pending DE102020110582A1 (de) 2019-05-29 2020-04-17 TECHNOLOGIEN ZUR AUTOMATISCHEN ARBEITSLASTERKENNUNG UND CACHE-QoS-RICHTLINIENANWENDUNG

Country Status (2)

Country Link
US (1) US11397653B2 (de)
DE (1) DE102020110582A1 (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10925166B1 (en) * 2019-08-07 2021-02-16 Quanta Computer Inc. Protection fixture
US20210075633A1 (en) * 2020-11-18 2021-03-11 Intel Corporation Packet multi-cast for memory pool replication
CN112463812A (zh) * 2020-12-21 2021-03-09 重庆邮电大学 一种基于Ceph分布式系统多机架更新修复数据的优化方法
CN115437843B (zh) * 2022-08-25 2023-03-28 北京万里开源软件有限公司 一种基于多级分布式共识的数据库存储分区恢复方法
CN116701043B (zh) * 2023-08-04 2024-01-12 浪潮电子信息产业股份有限公司 面向异构计算系统的故障节点切换方法、装置和设备

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7747749B1 (en) 2006-05-05 2010-06-29 Google Inc. Systems and methods of efficiently preloading documents to client devices
US8275744B2 (en) 2009-07-30 2012-09-25 Cleversafe, Inc. Dispersed storage network virtual address fields
US8055615B2 (en) * 2009-08-25 2011-11-08 Yahoo! Inc. Method for efficient storage node replacement
US8930307B2 (en) 2011-09-30 2015-01-06 Pure Storage, Inc. Method for removing duplicate data from a storage array
JP6009097B2 (ja) 2013-02-27 2016-10-19 ヒタチ データ システムズ コーポレーションHitachi Data Systems Corporation 分散オブジェクトストレージエコシステムにおけるコンテンツとメタデータの分離
US9128902B2 (en) * 2013-04-25 2015-09-08 Netapp, Inc. Systems and methods for managing disaster recovery in a storage system
US10296232B2 (en) 2015-09-01 2019-05-21 Western Digital Technologies, Inc. Service level based control of storage systems
US9996539B1 (en) 2015-09-30 2018-06-12 EMC IP Holding Company LLC Data protection and long term retention
US20180024964A1 (en) 2016-07-19 2018-01-25 Pure Storage, Inc. Disaggregated compute resources and storage resources in a storage system
US10078468B2 (en) 2016-08-18 2018-09-18 International Business Machines Corporation Slice migration in a dispersed storage network
US10454754B1 (en) * 2016-12-16 2019-10-22 Amazon Technologies, Inc. Hybrid cluster recovery techniques
US10484015B2 (en) * 2016-12-28 2019-11-19 Amazon Technologies, Inc. Data storage system with enforced fencing
US10503427B2 (en) 2017-03-10 2019-12-10 Pure Storage, Inc. Synchronously replicating datasets and other managed objects to cloud-based storage systems
US20190044809A1 (en) 2017-08-30 2019-02-07 Intel Corporation Technologies for managing a flexible host interface of a network interface controller

Also Published As

Publication number Publication date
US20190278676A1 (en) 2019-09-12
US11397653B2 (en) 2022-07-26

Similar Documents

Publication Publication Date Title
DE112018004798T5 (de) Technologien für ein bereitstellen von effizientem speicherzugriff auf einem beschleunigerschlitten
DE102020110582A1 (de) TECHNOLOGIEN ZUR AUTOMATISCHEN ARBEITSLASTERKENNUNG UND CACHE-QoS-RICHTLINIENANWENDUNG
DE102020118494A1 (de) Technologien zur behandlung einer latenzbasierten dienstebenenvereinbarung in fern-direktspeicherzugriffsnetzen
US11888967B2 (en) Technologies for dynamic accelerator selection
DE102018006890B4 (de) Technologien zur Verarbeitung von Netzpaketen durch einen intelligenten Netzwerk-Schnittstellenkontroller
DE102020007986A1 (de) Proaktiver daten-vorabruf mit angewandter quality-of-service
US20210075633A1 (en) Packet multi-cast for memory pool replication
DE102022107621A1 (de) Resourcenauswahl, die zum teil auf der arbeitslast basiert
DE112020006967T5 (de) Performanceüberwachung für kurzlebige funktionen
DE112017003699T5 (de) Speicher-Sled für Daten-Center-bezogene Abwendungen
DE102020130971A1 (de) Schlanke arbeitsspeicherzuweisung unter verwendung von arbeitsspeicherpools
DE102022104207A1 (de) Pooling von Netzwerkverarbeitungsressourcen
DE102020116316A1 (de) Prioritätsbasierte batterie-zuordnung für ressourcen während leistungsausfall
DE102020118312A1 (de) Technologien zum verwalten von disaggregierten beschleunigernetzwerken basierend auf remote direct memory access
DE102020113279A1 (de) Technologien zum managen von burst-bandbreite
DE102020130965A1 (de) Technologien für rasches booten mit fehlerkorrekturcode-arbeitsspeicher
EP3731063B1 (de) Technologien zur bereitstellung einer adaptiven leistungsverwaltung in einem beschleunigerschlitten
EP3761177A1 (de) Technologien zur bereitstellung von latenzbewusster konsensverwaltung in einer disaggregierten architektur
DE102022124530A1 (de) Speicherpoolmanagement
DE112021001470T5 (de) Konfigurieren von datenverarbeitungsknoten in einer dreidimensionalen netztopologie
EP3739448B1 (de) Technologien zur komprimierung der kommunikation für beschleunigervorrichtungen
EP3757785A1 (de) Technologien zur ermöglichung von fernspeicheranforderungen in beschleunigervorrichtungen
DE112019000910T5 (de) Technologien zum erreichen einer netzwerk-qualitätssicherung mit hardwarebeschleunigung
DE102020114020A1 (de) Technologien zum bereitstellen von effizientem nachrichten-polling
DE102022102789A1 (de) Massepin für vorrichtung-zu-vorrichtung-verbindung