DE102021133634A1 - Intelligente austauschbare modulare einheit für lokale kühlkreisläufe in einem rechenzentrums-kühlsystem - Google Patents

Intelligente austauschbare modulare einheit für lokale kühlkreisläufe in einem rechenzentrums-kühlsystem Download PDF

Info

Publication number
DE102021133634A1
DE102021133634A1 DE102021133634.1A DE102021133634A DE102021133634A1 DE 102021133634 A1 DE102021133634 A1 DE 102021133634A1 DE 102021133634 A DE102021133634 A DE 102021133634A DE 102021133634 A1 DE102021133634 A1 DE 102021133634A1
Authority
DE
Germany
Prior art keywords
processor
modular unit
fluid
network
coolant
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
DE102021133634.1A
Other languages
English (en)
Inventor
Ali Heydari
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.)
Nvidia Corp
Original Assignee
Nvidia 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 Nvidia Corp filed Critical Nvidia Corp
Publication of DE102021133634A1 publication Critical patent/DE102021133634A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05KPRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
    • H05K7/00Constructional details common to different types of electric apparatus
    • H05K7/20Modifications to facilitate cooling, ventilating, or heating
    • H05K7/20709Modifications to facilitate cooling, ventilating, or heating for server racks or cabinets; for data centers, e.g. 19-inch computer racks
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05KPRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
    • H05K7/00Constructional details common to different types of electric apparatus
    • H05K7/20Modifications to facilitate cooling, ventilating, or heating
    • H05K7/20709Modifications to facilitate cooling, ventilating, or heating for server racks or cabinets; for data centers, e.g. 19-inch computer racks
    • H05K7/20763Liquid cooling without phase change
    • H05K7/20772Liquid cooling without phase change within server blades for removing heat from heat source
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05KPRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
    • H05K7/00Constructional details common to different types of electric apparatus
    • H05K7/20Modifications to facilitate cooling, ventilating, or heating
    • H05K7/20709Modifications to facilitate cooling, ventilating, or heating for server racks or cabinets; for data centers, e.g. 19-inch computer racks
    • H05K7/20718Forced ventilation of a gaseous coolant
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05KPRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
    • H05K7/00Constructional details common to different types of electric apparatus
    • H05K7/20Modifications to facilitate cooling, ventilating, or heating
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05KPRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
    • H05K7/00Constructional details common to different types of electric apparatus
    • H05K7/20Modifications to facilitate cooling, ventilating, or heating
    • H05K7/20218Modifications to facilitate cooling, ventilating, or heating using a liquid coolant without phase change in electronic enclosures
    • H05K7/20254Cold plates transferring heat from heat source to coolant
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05KPRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
    • H05K7/00Constructional details common to different types of electric apparatus
    • H05K7/20Modifications to facilitate cooling, ventilating, or heating
    • H05K7/20709Modifications to facilitate cooling, ventilating, or heating for server racks or cabinets; for data centers, e.g. 19-inch computer racks
    • H05K7/20763Liquid cooling without phase change
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05KPRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
    • H05K7/00Constructional details common to different types of electric apparatus
    • H05K7/20Modifications to facilitate cooling, ventilating, or heating
    • H05K7/20709Modifications to facilitate cooling, ventilating, or heating for server racks or cabinets; for data centers, e.g. 19-inch computer racks
    • H05K7/20763Liquid cooling without phase change
    • H05K7/20781Liquid cooling without phase change within cabinets for removing heat from server blades
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05KPRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
    • H05K7/00Constructional details common to different types of electric apparatus
    • H05K7/20Modifications to facilitate cooling, ventilating, or heating
    • H05K7/20709Modifications to facilitate cooling, ventilating, or heating for server racks or cabinets; for data centers, e.g. 19-inch computer racks
    • H05K7/20763Liquid cooling without phase change
    • H05K7/2079Liquid cooling without phase change within rooms for removing heat from cabinets
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05KPRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
    • H05K7/00Constructional details common to different types of electric apparatus
    • H05K7/20Modifications to facilitate cooling, ventilating, or heating
    • H05K7/20709Modifications to facilitate cooling, ventilating, or heating for server racks or cabinets; for data centers, e.g. 19-inch computer racks
    • H05K7/20836Thermal management, e.g. server temperature control

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Physics & Mathematics (AREA)
  • Thermal Sciences (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Cooling Or The Like Of Electrical Apparatus (AREA)

Abstract

Es werden Systeme und Verfahren zur Kühlung eines Rechenzentrums offenbart. In mindestens einer Ausführungsform ist eine modulare Einheit austauschbar oder während des Betriebs austauschbar und weist einen Wärmetauscher, einen drehzahlveränderbaren Lüfter und mindestens einen Durchflussregler auf, um Fluid durch Mikrokanäle einer Kühlplatte zu leiten, sodass das Fluid Wärme aus mindestens einer Rechenvorrichtung ableitet und sodass Fluid durch einen Wärmetauscher eine Wärmeableitung durch Gebläseluft von einem drehzahlveränderbaren Lüfter ermöglicht.

Description

  • GEBIET
  • Mindestens eine Ausführungsform bezieht sich auf Kühlsysteme, einschließlich Systeme und Verfahren zum Betrieb dieser Kühlsysteme. In mindestens einer Ausführungsform kann ein solches Kühlsystem in einem Rechenzentrum genutzt werden, das ein oder mehrere Racks oder Rechenserver enthält.
  • ALLGEMEINER STAND DER TECHNIK
  • Kühlsysteme in Rechenzentren verwenden Lüfter, um Luft durch Serverkomponenten zirkulieren zu lassen. Bestimmte Supercomputer oder andere Hochleistungsrechner können anstelle von Luftkühlsystemen Wasser- oder andere Kühlsysteme verwenden, um Wärme von den Serverkomponenten oder Racks des Rechenzentrums in einen Bereich außerhalb des Rechenzentrums abzuleiten. Die Kühlsysteme können eine Kältemaschine innerhalb des Bereichs des Rechenzentrums beinhalten, die auch einen Bereich außerhalb des Rechenzentrums selbst beinhalten kann. Ferner kann der Bereich außerhalb des Rechenzentrums einen Kühlturm oder einen anderen externen Wärmetauscher beinhalten, der erwärmtes Kühlmittel aus dem Rechenzentrum aufnimmt und die Wärme durch Zwangsluft oder andere Mittel an die Umgebung (oder ein externes Kühlmedium) abgibt. Das gekühlte Kühlmittel wird wieder in das Rechenzentrum zurückgeführt. Die Kältemaschine und der Kühlturm bilden zusammen eine Kälteanlage.
  • Figurenliste
    • 1 veranschaulicht ein beispielhaftes Kühlsystem für ein Rechenzentrum, das in mindestens einer Ausführungsform beschriebenen Verbesserungen unterliegt;
    • 2 veranschaulicht Merkmale auf Serverebene, die einer intelligenten austauschbaren modularen Einheit für ein Kühlsystem in einem Rechenzentrum zugeordnet sind, gemäß mindestens einer Ausführungsform;
    • 3 veranschaulicht Merkmale auf Rackebene, die einer intelligenten austauschbaren modularen Einheit für ein Kühlsystem in einem Rechenzentrum zugeordnet sind, gemäß mindestens einer Ausführungsform;
    • 4 veranschaulicht Merkmale auf Rechenzentrumsebene, die einer intelligenten austauschbaren modularen Einheit für ein Kühlsystem in einem Rechenzentrum zugeordnet sind, gemäß mindestens einer Ausführungsform;
    • 5 veranschaulicht ein Verfahren, das gemäß mindestens einer Ausführungsform einem Kühlsystem eines Rechenzentrums aus den 2-4 zugeordnet ist;
    • 6 veranschaulicht ein verteiltes System gemäß mindestens einer Ausführungsform;
    • 7 veranschaulicht ein beispielhaftes Rechenzentrum gemäß mindestens einer Ausführungsform;
    • 8 veranschaulicht ein Client-Server-Netzwerk gemäß mindestens einer Ausführungsform;
    • 9 veranschaulicht ein Computernetzwerk gemäß mindestens einer Ausführungsform;
    • 10A veranschaulicht ein vernetztes Computersystem gemäß mindestens einer Ausführungsform;
    • 10B veranschaulicht ein vernetztes Computersystem gemäß mindestens einer Ausführungsform;
    • 10C veranschaulicht ein vernetztes Computersystem gemäß mindestens einer Ausführungsform;
    • 11 veranschaulicht eine oder mehrere Komponenten einer Systemumgebung, in der Dienste als Drittanbieter-Netzwerkdienste angeboten werden können, gemäß mindestens einer Ausführungsform;
    • 12 veranschaulicht eine Cloud-Computing-Umgebung gemäß mindestens einer Ausführungsform;
    • 13 veranschaulicht einen Satz funktionaler Abstraktionsschichten, der durch eine Cloud-Computing-Umgebung bereitgestellt wird, gemäß mindestens einer Ausführungsform;
    • 14 veranschaulicht einen Supercomputer auf Chipebene gemäß mindestens einer Ausführungsform;
    • 15 veranschaulicht einen Supercomputer auf Rackmodulebene gemäß mindestens einer Ausführungsform;
    • 16 veranschaulicht einen Supercomputer auf Rackebene gemäß mindestens einer Ausführungsform;
    • 17 veranschaulicht einen Supercomputer auf Gesamtsystemebene gemäß mindestens einer Ausführungsform;
    • 18A veranschaulicht Inferenz- und/oder Trainingslogik gemäß mindestens einer Ausführungsform;
    • 18B veranschaulicht Inferenz- und/oder Trainingslogik gemäß mindestens einer Ausführungsform;
    • 19 veranschaulicht das Training und den Einsatz eines neuronalen Netzes gemäß mindestens einer Ausführungsform;
    • 20 veranschaulicht eine Architektur eines Systems eines Netzwerks gemäß mindestens einer Ausführungsform;
    • 21 veranschaulicht eine Architektur eines Systems eines Netzwerks gemäß mindestens einer Ausführungsform;
    • 22 veranschaulicht einen Protokollstapel auf Steuerebene gemäß mindestens einer Ausführungsform;
    • 23 veranschaulicht einen Protokollstapel auf Benutzerebene gemäß mindestens einer Ausführungsform;
    • 24 veranschaulicht Komponenten eines Kernnetzes gemäß mindestens einer Ausführungsform;
    • 25 veranschaulicht Komponenten eines Systems zum Unterstützen von Netzwerkfunktionsvirtualisierung (NFV) gemäß mindestens einer Ausführungsform;
    • 26 veranschaulicht ein Verarbeitungssystem gemäß mindestens einer Ausführungsform;
    • 27 veranschaulicht ein Computersystem gemäß mindestens einer Ausführungsform;
    • 28 veranschaulicht ein System gemäß mindestens einer Ausführungsform;
    • 29 veranschaulicht eine beispielhafte integrierte Schaltung gemäß mindestens einer Ausführungsform;
    • 30 veranschaulicht ein Rechensystem gemäß mindestens einer Ausführungsform;
    • 31 veranschaulicht eine APU gemäß mindestens einer Ausführungsform;
    • 32 veranschaulicht eine CPU gemäß mindestens einer Ausführungsform;
    • 33 veranschaulicht ein beispielhaftes Beschleunigerintegrations-Slice gemäß mindestens einer Ausführungsform;
    • 34A-34B veranschaulichen beispielhafte Grafikprozessoren gemäß mindestens einer Ausführungsform;
    • 35A veranschaulicht einen Grafikkern gemäß mindestens einer Ausführungsform;
    • 35B veranschaulicht eine GPGPU gemäß mindestens einer Ausführungsform;
    • 36A veranschaulicht einen Parallelprozessor gemäß mindestens einer Ausführungsform;
    • 36B veranschaulicht einen Verarbeitungs-Cluster gemäß mindestens einer Ausführungsform;
    • 36C veranschaulicht einen Grafikmultiprozessor gemäß mindestens einer Ausführungsform;
    • 37 veranschaulicht einen Softwarestapel einer Programmierplattform gemäß mindestens einer Ausführungsform;
    • 38 veranschaulicht eine CUDA-Implementierung eines Softwarestapels der 37 gemäß mindestens einer Ausführungsform;
    • 39 veranschaulicht eine ROCm-Implementierung eines Softwarestapels der 37 gemäß mindestens einer Ausführungsform;
    • 40 veranschaulicht eine OpenCL-Implementierung eines Softwarestapels der 37 gemäß mindestens einer Ausführungsform;
    • 41 veranschaulicht Software, die durch eine Programmierplattform unterstützt wird, gemäß mindestens einer Ausführungsform; und
    • 42 veranschaulicht das Kompilieren von Code zum Ausführen auf Programmierplattformen der 37-40 gemäß mindestens einer Ausführungsform.
  • AUSFÜHRLICHE BESCHREIBUNG
  • In mindestens einer Ausführungsform kann ein beispielhaftes Rechenzentrum 100 verwendet werden, wie in 1 veranschaulicht, das ein Kühlsystem aufweist, das den hier beschriebenen Verbesserungen unterliegt. In mindestens einer Ausführungsform sind zahlreiche konkrete Details dargelegt, um ein umfassendes Verständnis zu vermitteln, jedoch können die Konzepte hierin ohne eines oder mehrere dieser konkreten Details umgesetzt werden. In mindestens einer Ausführungsform können Kühlsysteme für Rechenzentren auf plötzliche hohe Wärmeanforderungen reagieren, die durch wechselnde Rechenlasten in gegenwärtigen Rechenkomponenten verursacht werden. In mindestens einer Ausführungsform müssen diese Anforderungen auf wirtschaftliche Weise mit einem geeigneten Kühlsystem erfüllt werden, da sich diese Anforderungen ändern oder von einem Minimum bis zu einem Maximum unterschiedlicher Kühlanforderungen reichen können. In mindestens einer Ausführungsform kann für mittlere bis hohe Kühlanforderungen ein Flüssigkeitskühlsystem verwendet werden. In mindestens einer Ausführungsform werden hohe Kühlanforderungen wirtschaftlich durch lokale Tauchkühlung erfüllt. In mindestens einer Ausführungsform spiegeln diese unterschiedlichen Kühlanforderungen zudem unterschiedliche Wärmeeigenschaften eines Rechenzentrums wider. In mindestens einer Ausführungsform wird von diesen Komponenten, Servern und Racks erzeugte Wärme kumulativ als Wärmemerkmal oder als Kühlanforderung bezeichnet, da die Kühlanforderung ein Wärmemerkmal vollständig berücksichtigen muss.
  • In mindestens einer Ausführungsform wird ein Flüssigkeitskühlsystem für Rechenzentren offenbart. In mindestens einer Ausführungsform befasst sich dieses Kühlsystem für Rechenzentren mit Wärmemerkmalen in zugeordneten Rechenvorrichtungen oder Vorrichtungen für Rechenzentren, wie z. B. in Grafikverarbeitungseinheiten (GPUs), in Switches, in Dual-Inline-Speichermodulen (DIMMs) oder Zentraleinheiten (CPUs). In mindestens einer Ausführungsform können diese Komponenten hier als Rechenkomponenten mit hoher Wärmedichte bezeichnet werden. Weiterhin kann in mindestens einer Ausführungsform eine zugeordnete Rechenvorrichtung oder eine Vorrichtung für Rechenzentren eine Verarbeitungskarte sein, die eine oder mehrere GPUs, Switches oder CPUs darauf aufweist. In mindestens einer Ausführungsform kann ein jedes von den GPUs, Switches und CPUs ein wärmeerzeugendes Merkmal einer Rechenvorrichtung sein. In mindestens einer Ausführungsform kann eine GPU, eine CPU oder ein Switch einen oder mehrere Kerne aufweisen und kann jeder Kern ein wärmeerzeugendes Merkmal sein.
  • In mindestens einer Ausführungsform ermöglicht eine intelligente austauschbare modulare Einheit Redundanz für ein Flüssigkeitskühlsystem für ein Rechenzentrum, das eine Architektur eines primären Kühlkreislaufs zu einem sekundären Kühlkreislauf verwendet. In mindestens einer Ausführungsform kann Redundanz durch einen lokalen Kühlkreislauf mit einer modularen Einheit ermöglicht werden. In mindestens einer Ausführungsform ist eine modulare Einheit eine ersetzbare, austauschbare oder gar während des Betriebs austauschbare Einheit, die mindestens einen Wärmetauscher, einen drehzahlveränderbaren Lüfter und mindestens einen Durchflussregler aufweist. In mindestens einer Ausführungsform kann eine modulare Einheit ausgelegt sein, austauschbar zu sein und in Fluidkopplung mit einer Kühlplatte zu stehen, die Mikrokanäle beinhalten kann. In mindestens einer Ausführungsform kann mindestens ein Durchflussregler einer modularen Einheit ausgelegt sein, Fluid durch Mikrokanäle einer Kühlplatte zu leiten, um Wärme von mindestens einer Rechenvorrichtung abzuleiten. In mindestens einer Ausführungsform kann mindestens ein Durchflussregler einer modularen Einheit ausgelegt sein, Fluid durch einen Wärmetauscher zu leiten, um eine Ableitung von Wärme von mindestens einer Rechenvorrichtung durch Gebläseluft von einem drehzahlveränderbaren Lüfter zu ermöglichen, der auf einen Wärmetauscher einwirkt, der Fluid mit darin abgeleiteter Wärme trägt.
  • In mindestens einer Ausführungsform kann jede modulare Einheit einem Serverfach oder Servergehäuse zugeordnet sein. In mindestens einer Ausführungsform kann jede modulare Einheit einen oder mehrere Lüfter aufweisen und kann einem Wärmetauscher zugeordnet sein. In mindestens einer Ausführungsform ermöglicht eine Lüfter-Wärmetauscher-Kombination einer modularen Einheit eine effiziente Wärmeabfuhr aus einem Arbeitsmedium, das zwischen jedem von einer Direkt-auf-Chip(DC)-Kühlplatte eines Servers und einer modularen Einheit fließt. In mindestens einer Ausführungsform kann ein drehzahlveränderbarer Lüfter einer modularen Einheit geregelt werden, sodass die Lüfterdrehzahlregelung zumindest teilweise auf Einlass- und/oder Auslass-Fluidtemperaturen beruht, zu und/oder von einem Wärmetauscher einer modularen Einheit und einer einer Kühlplatte zugeordneten Komponente. In mindestens einer Ausführungsform kann eine Komponente (eine Rechenzentrumskomponente oder Rechenkomponente oder -vorrichtung) eine GPU, ein Switch oder eine CPU sein.
  • In mindestens einer Ausführungsform kann eine Anschlusstemperatur in jeden Lüfter einer modularen Einheit eingebunden sein. In mindestens einer Ausführungsform ermöglicht eine Anschlusstemperatur Servern, Lüfterdrehzahlen anzupassen, um eine Temperatur eines Fluids einer modularen Einheit am besten zu regeln. In mindestens einer Ausführungsform kann ein Fluid ein Kühlmittel oder ein anderes Fluid sein. In mindestens einer Ausführungsform kann eine Temperatur eines Fluids eine Temperatur eines Fluids sein, das sich innerhalb eines geschlossenen Kreislaufs befindet und das zwischen einer Kühlplatte und einer zugeordneten modularen Einheit zirkuliert. In mindestens einer Ausführungsform sind eingebaute Miniatur-Schnellkupplungen Durchflussregler oder Teile von Durchflussreglern, die ein Austauschen (einschließlich während des Betriebs) einer modularen Einheit ermöglichen und die auch ein redundantes Rohrleitungsdesign in einem Kühlsystem in einem Rechenzentrum ermöglichen. In mindestens einer Ausführungsform kann ein Ausfall irgendeiner Komponente eines sekundären Kühlkreislaufs oder von einer oder mehreren modularen Einheiten durch andere modularen Einheiten behandelt werden, bis eine Korrektur vorhanden ist.
  • In mindestens einer Ausführungsform behandelt eine Lösung, wie sie hierin offenbart ist, Probleme bei zuverlässiger Kühlung für eine GPU mit hoher Wärmedichte, einen Switch, eine CPU und anderen zugehörigen Rechenkomponenten eines Rechenzentrum-Servers oder Racks. In mindestens einer Ausführungsform ist eine modulare Einheit wie hierin fähig, sowohl Kern- als auch Edge-Rechenzentrumsanforderungen zu handhaben, auch wenn eine Einschaltung eines Kühlsystems der Anlage (wie ein primärer Kühlkreislauf) fehlt. In mindestens einer Ausführungsform behandelt eine modulare Einheit wie hierin das Problem der Erfüllung von Anforderungen mit hoher Wärmedichte derartiger Rechensysteme in heutigen Rechenzentren. In mindestens einer Ausführungsform ermöglicht eine modulare Einheit mit einem Lüfter und einem Wärmetauscher in einer kombinierten Konfiguration, dass verschiedene Kühlungsanforderungen zumindest durch eine Drehzahlregelung des Lüfters erfüllt werden. In mindestens einer Ausführungsform kann die Drehzahlregelung des Lüfters zumindest teilweise auf kritischen Systemtemperaturen beruhen, die durch Abfuhr von stark wärmeerzeugenden Komponenten eines Servers und eines Racks von Servern entweder in einer Kern- oder Edge-Rechenzentrumsanwendung beibehalten werden müssen. In mindestens einer Ausführungsform behandelt eine Lösung hierin eine zuverlässige Kühlung von Rechenkomponenten eines Rechenzentrums mit hoher Wärmedichte sowohl in Kern- als auch Edge-Rechenzentrumsanwendungen, auch wenn eine Einschaltung eines Kühlsystems der Anlage eines primären Kühlkreislaufs fehlt.
  • In mindestens einer Ausführungsform kann eine Kühlplatte getrennte Anschlüsse für ein Kühlmittel oder ein anderes Fluid einer modularen Einheit aufweisen, die Teil eines lokalen Kühlkreislaufs ist. In mindestens einer Ausführungsform kann mindestens ein Durchflussregler aktiviert werden, wenn ein Durchflussproblem oder Temperaturproblem in einem sekundären Kühlkreislauf oder in einem primären Kühlkreislauf, der einem sekundären Kühlkreislauf zugeordnet ist, festgestellt wird. In mindestens einer Ausführungsform ermöglicht mindestens ein Durchflussregler, dass Fluid durch eine Kühlplatte und eine modulare Einheit zirkuliert. In mindestens einer Ausführungsform ermöglicht eine modulare Einheit einen effizienten Flüssigkeit-Luft-Wärmetauscher. In mindestens einer Ausführungsform kann sich ein Flüssigkeit-Luft-Wärmetauscher in einem separaten Fluidpfad befinden, um eine Ableitung von Wärme von einem Fluid zu einem Warmgang oder einer Umgebung in einem Rechenzentrum zu ermöglichen. In mindestens einer Ausführungsform kann eine modulare Einheit einer Türe eines Racks zugeordnet sein und mehrere modulare Einheiten können für eine Lüfterwand bereitgestellt werden. In mindestens einer Ausführungsform kann eine elektrische Kopplung bereitgestellt sein, um einem Lüfter einer modularen Einheit zu ermöglichen, zu bewirken, dass Gebläseluft durch einen Flüssigkeit-Luft-Wärmetauscher strömt. In mindestens einer Ausführungsform ermöglicht eine modulare Einheit, dass ein lokalisierter Kühlkreislauf vorübergehende Probleme in einem primären Kühlkreislauf eines Rechenzentrums behebt. In mindestens einer Ausführungsform kann eine modulare Einheit für Anforderungen mit geringer Wärmeerzeugung oder Kühlung eines Rechenzentrums ausreichen und kann aus Kostengründen während Stillstandzeiten in einem Rechenzentrum verwendet werden.
  • In mindestens einer Ausführungsform kann ein beispielhaftes Rechenzentrum 100 verwendet werden, wie in 1 veranschaulicht, das ein Kühlsystem aufweist, das den hier beschriebenen Verbesserungen unterliegt. In mindestens einer Ausführungsform kann es sich bei einem Rechenzentrum 100 um einen oder mehrere Räume 102 mit Racks 110 und Zusatzausrüstung handeln, um einen oder mehrere Server in einem oder mehreren Serverfächern unterzubringen. In mindestens einer Ausführungsform wird ein Rechenzentrum 100 durch einen Kühlturm 104 unterstützt, der sich außerhalb eines Rechenzentrums 100 befindet. In mindestens einer Ausführungsform führt ein Kühlturm 104 Wärme aus dem Inneren eines Rechenzentrums 100 ab, indem er auf einen primären Kühlkreislauf 106 einwirkt. In mindestens einer Ausführungsform wird eine Kühlungsverteilungseinheit (CDU) 112 zwischen einem primären Kühlkreislauf 106 und einem zweiten oder sekundären Kühlkreislauf 108 verwendet, um die Abführung von Wärme von einem zweiten oder sekundären Kühlkreislauf 108 zu einem primären Kühlkreislauf 106 zu ermöglichen. In mindestens einer Ausführungsform kann ein sekundärer Kühlkreislauf 108 nach Bedarf in einem Aspekt auf verschiedene Rohrleitungssysteme in ein Serverfach hinein zugreifen. In mindestens einer Ausführungsform sind die Kreisläufe 106, 108 als Strichzeichnungen veranschaulicht, aber Durchschnittsfachleute würden erkennen, dass ein oder mehrere Merkmale eines Rohrleitungssystems verwendet werden können. In mindestens einer Ausführungsform können flexible Polyvinylchlorid(PVC)-Rohre zusammen mit einem zugehörigen Rohrleitungssystem verwendet werden, um Fluid in jedem der bereitgestellten Kreisläufe 106, 108 fortzubewegen. In mindestens einer Ausführungsform können eine oder mehrere Kühlmittelpumpen verwendet werden, um Druckunterschiede innerhalb der Kühlkreisläufe 106, 108 aufrechtzuerhalten, um eine Bewegung des Kühlmittels gemäß Temperatursensoren an verschiedenen Stellen, einschließlich in einem Raum, in einem oder mehreren Racks 110 und/oder in Servergehäusen oder Serverfächern innerhalb eines oder mehrerer Racks 110, zu ermöglichen.
  • In mindestens einer Ausführungsform kann das Kühlmittel in einem primären Kühlkreislauf 106 und in einem sekundären Kühlkreislauf 108 zumindest Wasser und ein Additiv sein. In mindestens einer Ausführungsform kann das Additiv Glykol oder Propylenglykol sein. Im Betrieb weist in mindestens einer Ausführungsform jeder von einem primären und einem sekundären Kühlkreislauf sein eigenes Kühlmittel auf. In mindestens einer Ausführungsform kann das Kühlmittel in den sekundären Kühlkreisläufen proprietär für die Anforderungen der Komponenten in einem Serverfach oder den zugehörigen Racks 110 sein. In mindestens einer Ausführungsform ist eine CDU 112 dazu imstande, die Kühlmittel in den bereitgestellten Kühlkreisläufen 106, 108 unabhängig oder gleichzeitig durchdacht zu steuern. In mindestens einer Ausführungsform kann eine CDU dazu ausgelegt sein, die Durchflussrate des Kühlmittels so zu steuern, dass Kühlmittel geeignet verteilt wird, um die in den zugehörigen Racks 110 erzeugte Wärme zu entnehmen. In mindestens einer Ausführungsform wird eine flexiblere Rohrleitung 114 von einem sekundären Kühlkreislauf 108 bereitgestellt, um in jedes Serverfach einzutreten, um elektrischen und/oder Rechenkomponenten darin Kühlmittel bereitzustellen.
  • In mindestens einer Ausführungsform kann eine Rohrleitung 118, die einen Teil eines sekundären Kühlkreislaufs 108 bildet, als Raumverteiler bezeichnet werden. Getrennt davon kann in mindestens einer Ausführungsform eine weitere Rohrleitung 116, die sich von der Rohrleitung 118 erstrecken kann und ebenfalls einen Teil des sekundären Kühlkreislaufs 108 bilden kann, aber als Reihenverteiler bezeichnet werden. In mindestens einer Ausführungsform tritt die Kühlrohrleitung 114 als Teil eines sekundären Kühlkreislaufs 108 in die Racks ein, kann jedoch als Rack-Kühlverteiler innerhalb eines oder mehrerer Racks bezeichnet werden. In mindestens einer Ausführungsform erstrecken sich die Reihenverteiler 116 zu allen Racks entlang einer Reihe in einem Rechenzentrum 100. In mindestens einer Ausführungsform kann das Rohrleitungssystem des sekundären Kühlkreislaufs 108, einschließlich der Kühlverteiler 118, 116 und 114, durch mindestens eine vorliegende Ausführungsform verbessert werden. In mindestens einer Ausführungsform kann eine Kältemaschine 120 in einem primären Kühlkreislauf innerhalb des Rechenzentrums 102 bereitgestellt sein, um die Kühlung vor einem Kühlturm zu unterstützen. In mindestens einer Ausführungsform können zusätzliche Kühlkreisläufe, die in einem primären Kühlkreislauf vorhanden sein können und die eine Kühlung außerhalb eines Racks und außerhalb eines sekundären Kühlkreislaufs bereitstellen, für diese Offenbarung mit einem primären Kühlkreislauf zusammengenommen werden und sind von einem sekundären Kühlkreislauf zu unterscheiden.
  • In mindestens einer Ausführungsform kann im Betrieb Wärme, die in Serverfächern der bereitgestellten Racks 110 erzeugt wird, über eine flexible Rohrleitung eines Reihenverteilers 114 eines zweiten Kühlkreislaufs 108 auf ein Kühlmittel übertragen werden, das aus einem oder mehreren Racks 110 austritt. In mindestens einer Ausführungsform bewegt sich zweites Kühlmittel (in einem sekundären Kühlkreislauf 108) von einer CDU 112 zum Kühlen der bereitgestellten Racks 110 über die bereitgestellte Rohrleitung in Richtung eines oder mehrerer Racks 110. In mindestens einer Ausführungsform strömt das zweite Kühlmittel von einer CDU 112 von einer Seite eines Raumverteilers mit der Rohrleitung 118 zu einer Seite eines Racks 110 über einen Reihenverteiler 116 und durch eine Seite eines Serverfachs über eine andere Rohrleitung 114. In mindestens einer Ausführungsform tritt verbrauchtes oder zurückgeführtes zweites Kühlmittel (oder austretendes zweites Kühlmittel, das die Wärme von den Rechenkomponenten mit sich führt) aus einer anderen Seite eines Serverfachs aus (tritt zum Beispiel auf der linken Seite eines Racks ein und tritt nach dem Durchlaufen durch das Serverfach oder durch Komponenten auf einem Serverfach auf der rechten Seite eines Racks aus). In mindestens einer Ausführungsform kommt verbrauchtes zweites Kühlmittel, das aus einem Serverfach oder einem Rack 110 austritt, aus einer anderen Seite (wie etwa einer Austrittsseite) der Rohrleitung 114 heraus und bewegt sich zu einer parallelen, aber auch austretenden Seite eines Reihenverteilers 116. In mindestens einer Ausführungsform bewegt sich verbrauchtes zweites Kühlmittel von einem Reihenverteiler 116 in einem parallelen Abschnitt des Raumverteilers 118 und in eine entgegengesetzte Richtung als einströmendes zweites Kühlmittel (das auch erneuertes zweites Kühlmittel sein kann) und in Richtung einer CDU 112.
  • In mindestens einer Ausführungsform tauscht verbrauchtes zweites Kühlmittel seine Wärme mit einem primären Kühlmittel in dem primären Kühlkreislauf 106 über eine CDU 112 aus. In mindestens einer Ausführungsform kann verbrauchtes zweites Kühlmittel erneuert (wie etwa relativ gekühlt im Vergleich zu einer Temperatur in einer Phase eines verbrauchten zweiten Kühlmittels) werden und ist bereit, durch einen zweiten Kühlkreislauf 108 zurück zu einer oder mehreren Rechenkomponenten geleitet zu werden. In mindestens einer Ausführungsform ermöglichen verschiedene Durchfluss- und Temperatursteuerungsmerkmale in einer CDU 112 die Steuerung der von verbrauchtem zweitem Kühlmittel ausgetauschten Wärme oder des Durchflusses des zweiten Kühlmittels in die und aus einer CDU 112. In mindestens einer Ausführungsform kann eine CDU 112 auch in der Lage sein, einen Durchfluss von primärem Kühlmittel im primären Kühlkreislauf 106 zu steuern.
  • In mindestens einer Ausführungsform können Merkmale auf Serverebene 200, wie in 2 veranschaulicht, einer intelligenten austauschbaren modularen Einheit für ein Kühlsystem des Rechenzentrums zugeordnet sein. In mindestens einer Ausführungsform beinhalten die Merkmale auf Serverebene 200 ein Serverfach oder -gehäuse 202. In mindestens einer Ausführungsform beinhaltet ein Serverfach oder -gehäuse 202 einen Serververteiler 204, der unmittelbar zwischen bereitgestellten Kühlplatten 210A-D eines Serverfachs oder -gehäuses 202 und Rackverteilern eines Racks, das ein Serverfach oder -gehäuse 202 aufnimmt, gekoppelt sein soll. In mindestens einer Ausführungsform beinhaltet ein Serverfach oder -gehäuse 202 eine oder mehrere Kühlplatten 210A-D, die einer oder mehreren Rechen- oder Rechenzentrumskomponenten oder -vorrichtungen 220A-D zugeordnet sind. In mindestens einer Ausführungsform können ein oder mehrere Kühlkreisläufe auf Serverebene 214A, B zwischen einem Serververteiler 204 und einer oder mehreren Kühlplatten 210A-D bereitgestellt werden. In mindestens einer Ausführungsform beinhaltet jeder Kühlkreislauf auf Serverebene 214A; B eine Einlassleitung 210 und eine Auslassleitung 212. In mindestens einer Ausführungsform kann bei seriell angeordneten Kühlplatten 210A, B eine Zwischenleitung 216 bereitgestellt werden. In mindestens einer Ausführungsform können eine oder mehrere Kühlplatten 210A—D gesonderte Anschlüsse und Kanäle für ein sekundäres Kühlmittel eines sekundären Kühlkreislaufs oder ein lokales Kühlmittel (oder ein anderes Fluid) einer modularen Einheit unterstützen. In mindestens einer Ausführungsform kann ein lokaler Kühlkreislauf verwendet werden, um sekundäres Kühlmittel, lokales Kühlmittel oder ein anderes Fluid zu kühlen und zu zirkulieren. In mindestens einer Ausführungsform, falls sekundäres Kühlmittel zu einer modularen Einheit umgeleitet wird, kann ein sekundäres Kühlmittel als Fluid fungieren, das von einer modularen Einheit gekühlt wird. In mindestens einer Ausführungsform kann Fluid zum Kühlen an einen Serververteiler 204 über bereitgestellte Einlass- und Auslassleitungen 206A, 206B bereitgestellt werden.
  • In mindestens einer Ausführungsform ist ein Serverfach 202 ein tauchgekühltes Serverfach, das von Fluid geflutet werden kann. In mindestens einer Ausführungsform kann Fluid für ein tauchgekühltes Serverfach ein dielektrisches technisches Fluid sein, das in einem tauchgekühlten Server verwendbar ist. In mindestens einer Ausführungsform kann ein sekundäres Kühlmittel, ein lokales Kühlmittel oder ein anderes Fluid zum Kühlen von technischem Fluid verwendet werden. In mindestens einer Ausführungsform kann ein lokales Kühlmittel zum Kühlen von technischem Fluid verwendet werden, wenn ein primärer Kühlkreislauf, der einem ein sekundäres Kühlmittel zirkulierenden sekundären Kühlkreislauf zugeordnet ist, ausgefallen ist oder ausfällt. In mindestens einer Ausführungsform weist mindestens eine Kühlplatte daher Anschlüsse für einen sekundären Kühlkreislauf und für einen lokalen Kühlkreislauf mit einer modularen Einheit auf und ist dazu imstande, einen lokalen Kühlkreislauf zu unterstützen, der im Falle eines Ausfalls in einem primären Kühlkreislauf aktiviert wird.
  • In mindestens einer Ausführungsform kann mindestens eine doppeltkühlende Kühlplatte 210B; 250 konfiguriert sein, um zusammen mit regulären Kühlplatten 210A, C, D zu arbeiten. In mindestens einer Ausführungsform kann eine reguläre Kühlplatte bei einem alternativen Kühlkreislauf verwendet werden, sodass ein sekundäres Kühlmittel eines sekundären Kühlkreislaufs (oder ein lokales Kühlmittel oder ein anderes Fluid) zu einer modularen Einheit eines lokalen Kühlkreislaufs umgeleitet oder ermöglicht wird, dass es dorthin strömt, und mit einem Flüssigkeit-Luft-Wärmetauscher gekühlt werden kann, bevor es zurück zu einer regulären Kühlplatte zirkuliert wird. In mindestens einer Ausführungsform ist eine reguläre Kühlplatte für ein sekundäres Kühlmittel ausgelegt, das von sowohl einem sekundären Kühlkreislauf als auch einem lokalen Kühlkreislauf unterstützt wird.
  • In mindestens einer Ausführungsform stellt eine dreidimensionale (3D) vergrößerte Veranschaulichung (Kühlplatte 250) innere Details von zumindest einigen Merkmalen bereit, die in einer doppeltkühlenden Kühlplatte 210B beinhaltet sein können. In mindestens einer Ausführungsform weist eine doppeltkühlende Kühlplatte 250 gesonderte Pfade 264, 270 (wobei jeder Pfad auch als Mikrokanäle bezeichnet wird) für sekundäres Kühlmittel eines sekundären Kühlkreislaufs und für lokales Kühlmittel (oder anderes Fluid) eines lokalen Kühlkreislaufs, der eine modulare Einheit aufweist, auf. In mindestens einer Ausführungsform kann es sein, dass das sekundäre oder lokale Kühlmittel (oder ein anderes Fluid) keine dielektrische Eigenschaft aufweist. In mindestens einer Ausführungsform kann in einem Anwendungsfall eines tauchgekühlten Servers Fluid, das ein dielektrisches technisches Fluid sein kann, sowohl für eine Anwendung mit Kühlplatten als auch für eine Anwendung mit tauchgekühlten Serverfächern geeignet sein.
  • In mindestens einer Ausführungsform ist mit einem Verweis auf eine Kühlplatte, zusammen mit ihren Doppelkühlungsmerkmalen, ein Verweis auf eine Kühlplatte gemeint, die mindestens zwei Arten von Kühlkreisläufen unterstützen kann, sofern nicht anders angegeben. In mindestens einer Ausführungsform nehmen beide Arten von Kühlplatten Fluid zum Kühlen aus einem selben sekundären Kühlkreislauf auf und können beide einen lokalen Kühlkreislauf unterstützen. In mindestens einer Ausführungsform kann ein Standardkühlmittel, wie etwa Anlagenwasser, sowohl in einem sekundären Kühlkreislauf als auch einem lokalen Kühlkreislauf verwendet werden, sodass ein lokaler Kühlkreislauf vorübergehend sekundäres Kühlmittel über einen Flüssigkeit-Luft-Wärmetauscher während eines Ausfalls eines primären Kühlkreislaufs kühlen kann, der einem sekundären Kühlkreislauf zugeordnet ist. In mindestens einer Ausführungsform wird sekundäres Kühlmittel, das sich bereits in einer Kühlplatte befindet, zu einer modularen Einheit umgeleitet und kann mit vorab gespeichertem sekundären Kühlmittel vermischt werden, das sich bereits in der modularen Einheit befindet. In mindestens einer Ausführungsform kann ein derartiges Mischen das sekundäre Kühlmittel sofort kühlen, das zusätzlich von einem Flüssigkeit-Luft-Wärmetauscher gekühlt wird.
  • In mindestens einer Ausführungsform kann daher lokales Kühlmittel gleich oder ähnlich einem sekundären Kühlmittel sein, um Probleme in Bezug auf chemische Unterschiede oder Herstelleranforderungen von Kühlplatten zu vermeiden, die in einem Kühlsystem für ein Rechenzentrum verwendet werden. In mindestens einer Ausführungsform kann es sein, dass ein Fluid nur die Verwendung in Kühlplatten unterstützt und nicht für Tauchkühlen verfügbar ist. In mindestens einer Ausführungsform nimmt jede Art von Kühlplatte ein anderes Fluid aus entsprechenden sekundären oder anderen Kühlkreisläufen auf, die an einen primären Kühlkreislauf angekoppelt sind. In mindestens einer Ausführungsform kann in Situationen, in denen unterschiedliche Fluide mit unterschiedlichen Kühlungsverteilungseinheiten (CDUs) von unterschiedlichen sekundären Kreisläufen verwendet werden, dann ein lokaler Kühlkreislauf für eine doppeltkühlende Kühlplatte geeignet sein, sodass unterschiedliche Kanäle für jedes von einem lokalen Kühlmittel und anderen sekundären Kühlmitteln verwendet werden können.
  • In mindestens einer Ausführungsform ist eine doppeltkühlende Kühlplatte 250 dazu ausgelegt, zwei Arten von Fluiden (wie etwa ein sekundäres Kühlmittel und ein lokales Kühlmittel) aufzunehmen und zwei Arten von Fluiden über ihre gesonderten Anschlüsse 252, 272; 268, 262 und ihre gesonderten Pfade 264, 270 getrennt zu halten. In mindestens einer Ausführungsform ist jeder gesonderte Pfad ein Fluidpfad. In mindestens einer Ausführungsform können Fluid (wie etwa lokales Kühlmittel) aus einer Fluidquelle und ein sekundäres Kühlmittel eine gleiche oder ähnliche Zusammensetzung aufweisen und können aus einer selben Quelle in einem Kühlsystem für ein Rechenzentrum aufgefüllt werden.
  • In mindestens einer Ausführungsform beinhaltet eine doppeltkühlende Kühlplatte 250 Anschlüsse 252, 272 zum Aufnehmen von Fluid in einer Kühlplatte 250 und zum Leiten von Fluid aus einer Kühlplatte 250. In mindestens einer Ausführungsform beinhaltet eine doppeltkühlende Kühlplatte 250 Anschlüsse 268, 262 zum Aufnehmen eines sekundären Kühlmittels in einer Kühlplatte 250 und zum Leiten eines sekundären Kühlmittels aus einer Kühlplatte 250. In mindestens einer Ausführungsform können die Anschlüsse 252, 272 Ventilabdeckungen 254, 260 aufweisen, die richtungsabhängig und druckgesteuert sein können. In mindestens einer Ausführungsform können Ventilabdeckungen allen bereitgestellten Anschlüssen zugeordnet sein. In mindestens einer Ausführungsform sind die bereitgestellten Ventilabdeckungen 254, 260 mechanische Merkmale der zugeordneten Durchflussregler, die auch entsprechende elektronische Merkmale aufweisen (wie etwa mindestens einen Prozessor zum Ausführen von in einem zugeordneten Speicher gespeicherten Anweisungen und zum Steuern mechanischer Merkmale für zugeordnete Durchflussregler).
  • In mindestens einer Ausführungsform kann jedes Ventil durch ein elektronisches Merkmal eines zugeordneten Durchflussreglers betätigt werden. In mindestens einer Ausführungsform sind elektronische und mechanische Merkmale von bereitgestellten Durchflussreglern integriert. In mindestens einer Ausführungsform sind elektronische und mechanische Merkmale von bereitgestellten Durchflussreglern physisch getrennt. In mindestens einer Ausführungsform kann sich ein Verweis auf Durchflussregler auf ein oder mehrere von bereitgestellten elektronischen und mechanischen Merkmalen oder auf ihren Zusammenschluss beziehen, bezieht sich jedoch zumindest auf Merkmale, die eine Steuerung des Durchflusses von Kühlmittel oder Fluid durch jede Kühlplatte oder ein tauchgekühltes Serverfach oder -gehäuse ermöglichen.
  • In mindestens einer Ausführungsform empfangen elektronische Merkmale von bereitgestellten Durchflussreglern Steuersignale und übernehmen die Kontrolle über mechanische Merkmale. In mindestens einer Ausführungsform können elektronische Merkmale von bereitgestellten Durchflussreglern Aktuatoren oder andere elektronische Teile von anderen ähnlichen elektromechanischen Merkmalen sein. In mindestens einer Ausführungsform können Durchflusspumpen als Durchflussregler verwendet werden. In mindestens einer Ausführungsform können Laufräder, Kolben oder Faltenbälge mechanische Merkmale sein und bilden ein elektronischer Motor und Schaltungen elektronische Merkmale von bereitgestellten Durchflussreglern.
  • In mindestens einer Ausführungsform können Schaltungen von bereitgestellten Durchflussreglern Prozessoren, Speicher, Schalter, Sensoren und andere Komponenten beinhalten, die zusammen elektronische Merkmale von bereitgestellten Durchflussreglern bilden. In mindestens einer Ausführungsform sind die Anschlüsse 252, 262, 272, 268 von bereitgestellten Durchflussreglern so ausgelegt, dass sie entweder den Eintritt oder den Austritt eines Tauchfluids ermöglichen. In mindestens einer Ausführungsform können Durchflussregler 280 Fluidleitungen 276 (auch 256, 274) zugeordnet sein, die den Ein- und Austritt von Fluid (wie etwa einem lokalen Kühlmittel) zu einer Kühlplatte 210B ermöglichen. In mindestens einer Ausführungsform können andere Durchflussregler in ähnlicher Weise Kühlmittelleitungen 210, 216, 212 (auch 266, 258) zugeordnet sein, um den Ein- und Austritt eines sekundären Kühlmittels zu einer Kühlplatte 210B zu ermöglichen.
  • In mindestens einer Ausführungsform tritt Fluid (wie etwa ein lokales Kühlmittel) in bereitgestellte Fluidleitungen 276 über dedizierte Fluideinlass- und -auslassleitungen 208A, B ein. In mindestens einer Ausführungsform ist ein Serververteiler 204 mit Kanälen darin (durch gepunktete Linien veranschaulicht) dazu ausgelegt, gesonderte Pfade zu gesonderten Fluidleitungen 276 (auch 256, 274) und zu verbleibenden Kreisläufen 214A, B zu unterstützen, die sekundären Kühlmitteleinlass- und -auslassleitungen 206A, B zugeordnet sind. In mindestens einer Ausführungsform können mehrere Verteiler vorhanden sein, um Fluid (ein lokales Kühlmittel) und sekundäres Kühlmittel getrennt zu unterstützen. In mindestens einer Ausführungsform können mehrere Verteiler vorhanden sein, um den Ein- und Austritt getrennt für jedes von einem Fluid und einem sekundären Kühlmittel zu unterstützen. In mindestens einer Ausführungsform, wenn ein Fluid gleich oder ähnlich einem sekundären Kühlmittel ist, dann werden mindestens zwei unterschiedliche Durchflüsse über einen selben Fluidpfad (zumindest innerhalb einer Kühlplatte oder eines Serverfachs) zu einer Fluidquelle (wie etwa einem Tank 332 in 3) und zu einem Reihenverteiler für sekundäres Kühlmittel (wie etwa einen Reihenverteiler 350 in 3) ermöglicht.
  • In mindestens einer Ausführungsform kann ein erster Durchfluss vorliegen, um es einem Fluid (wie etwa lokalem Kühlmittel) zu ermöglichen, durch einen oder mehrere bereitgestellte Anschlüsse 252, 272 und einen zugeordneten Pfad 270 zu strömen. In mindestens einer Ausführungsform kann eine doppeltkühlende Kühlplatte 250 isolierte Plattenbereiche aufweisen, die mit einem Fluid und/oder einem sekundären Kühlmittel geflutet werden, während sie durch Dichtungen oder Dichtmittel getrennt voneinander gehalten werden. In mindestens einer Ausführungsform kann ein zweiter Durchfluss vorliegen, um es einem sekundären Kühlmittel zu ermöglichen, durch die bereitgestellten 268, 262 und einen zugeordneten Pfad 264 zu strömen.
  • In mindestens einer Ausführungsform können Durchflussregler 278 einem Fluideinlass-276 und -auslassabschnitten am Serververteiler 204 anstelle der bereitgestellten Durchflussregler 280 an jeweiligen Kühlplatten zugeordnet sein. In mindestens einer Ausführungsform verwendet ein erster Durchfluss nur lokales Kühlmittel und kann aktiviert werden, wenn ein Ausfall in einem sekundären Kühlkreislauf oder einem primären Kühlkreislauf festgestellt wird, sodass ein sekundäres Kühlmittel nicht dazu imstande ist, wirksam Wärme von mindestens einer Rechenvorrichtung abzuführen. In mindestens einer Ausführungsform kann ein Ausfall darin bestehen, dass ein sekundäres Kühlmittel nicht ausreichend über eine CDU gekühlt wird und somit nicht dazu imstande ist, ausreichend Wärme von mindestens einer Rechenvorrichtung über ihre zugehörige Kühlplatte abzuführen.
  • In mindestens einer Ausführungsform kann sekundäres Kühlmittel von einer CDU zunächst abgesperrt werden, bevor ein lokales Kühlmittel (oder sekundäres Kühlmittel) aus einer Fluidquelle eines lokalen Kühlkreislaufs verwendet wird, um vorübergehend Kühlung für mindestens eine Rechenkomponente bereitzustellen. In mindestens einer Ausführungsform bietet ein erster Durchfluss Redundanz bei Ausfällen in einem sekundären Kühlkreislauf. In mindestens einer Ausführungsform gibt es keinen Durchfluss von sekundärem Kühlmittel aus einer CDU, wenn ein Ausfall festgestellt wird. In mindestens einer Ausführungsform kann sekundäres Kühlmittel von einem lokalen Kühlkreislauf in eine Kühlplatte 210B gleichzeitig mit sekundärem Kühlmittel aus einer CDU gelassen werden, bis eine Absperrung eines CDU-Durchflusses durchgeführt wird, um Korrekturmaßnahmen für einen sekundären Kühlkreislauf oder primären Kühlkreislauf zu ermöglichen. In mindestens einer Ausführungsform ist dies repräsentativ dafür, dass ein erster und ein zweiter Durchfluss (Durchfluss von sekundärem Kühlmittel und von lokalem Kühlmittel) gemeinsam auftreten. In mindestens einer Ausführungsform kann keine CDU benötigt werden, da eine modulare Einheit die gesamte durch eine oder mehrere zugeordnete Rechenvorrichtungen erzeugte Wärme ableiten kann.
  • In mindestens einer Ausführungsform können Merkmale auf Rackebene 300, wie in 3 veranschaulicht, einer intelligenten austauschbaren modularen Einheit für ein Kühlsystem des Rechenzentrums zugeordnet sein. In mindestens einer Ausführungsform beinhalten die Merkmale auf Rackebene 300 ein Rack 302, das Halterungen 304, 306 zum Aufhängen von Kühlverteilern 314A, B aufweist. In mindestens einer Ausführungsform, während ein Rack 330 getrennt von einem Rack 302 veranschaulicht ist, kann dieses Rack 330 eine perspektivische Rückansicht eines Racks 302 veranschaulichen. In mindestens einer Ausführungsform sind Halterungen 334, 336, die auf dem Rack 330 vorgesehen sind, als solche perspektivische Ansichten der Halterungen 304, 306, die am Rack 302 vorgesehen sind. In mindestens einer Ausführungsform sind die für ein Rack vorgesehenen Halterungen 304, 306 flache Strukturen an einer Innenwand eines Racks. In mindestens einer Ausführungsform verlaufen die für ein Rack vorgesehenen Halterungen 304, 306 von einer Innenwand eines Racks. In mindestens einer Ausführungsform verlaufen die für ein Rack vorgesehenen Halterungen 304, 306 an einer Innenwand eines Racks befestigt und weisen zu einer Rückseite eines Racks zeigende Montagepunkte auf. In mindestens einer Ausführungsform können die Kühlverteiler 314A, B bereitgestellt werden, um sekundäres Kühlmittel oder lokales Kühlmittel zwischen Merkmalen auf Serverebene 200 (und in 3 als Serverfächer oder -gehäuse 308) und einer CDU (wie etwa der CDU 406 aus 4) eines sekundären Kühlkreislaufs oder einer Fluidquelle 332 eines lokalen Kühlkreislaufs eines Kühlsystems für ein Rechenzentrum zu leiten. In mindestens einer Ausführungsform können unterschiedliche CDUs 362, 364 unterschiedliche Racks bedienen. In mindestens einer Ausführungsform können unterschiedliche Rack-Kühlverteiler gesondert Teil eines sekundären Kühlkreislaufs und eines lokalen Kühlkreislaufs sein.
  • In mindestens einer Ausführungsform können die Merkmale auf Rackebene 300 beinhalten: einen lokalen Kühlkreislauf, der von einer modularen Einheit 340 unterstützt wird, die mindestens einen Durchflussregler 356A; 356B umfasst; einen Flüssigkeit-Luft-Wärmetauscher mit Zirkulationsrohren oder -spiralen 344 und einen oder mehrere Lüfter oder andere Gebläsemerkmale 342 und einen Einlass- und einen Auslass-Fluidpfad 346A, 346B. In mindestens einer Ausführungsform ist eine modulare Einheit in einer Struktur 340 eingehaust, die Einbindungsmerkmale 358 aufweist, um eine Einbindung einer modularen Einheit 340 mit einer hinteren Tür 338 eines Racks 302 zu ermöglichen. In mindestens einer Ausführungsform ist ein Einbindungsmerkmal 358 ein Passstift für Schlüssellochnuten einer Halterung 334; 336. In mindestens einer Ausführungsform kann ein Durchflussregler 356A, 356B einer Kühlplatte 326 (oder wie in 2 über Leitungen 320, 322 und 354) zugeordnet sein. In mindestens einer Ausführungsform kann ein derartiger Durchflussregler 356A; 356B Teil mindestens eines Durchflussreglers sein, der einen lokalen Kühlkreislauf von einer modularen Einheit 340 unterstützt. In mindestens einer Ausführungsform können Beschreibungen von Durchflussreglern aus 2 auf Durchflussregler 356A; 356B in Merkmalen auf Rackebene 300 aus 3 angewandt werden. In mindestens einer Ausführungsform können beschriebene Durchflussregler für unterschiedliche Durchflussraten und Durchflussvolumen ausgelegt sein, sodass sie in Kühlplatten oder in Kühlverteilern je nach Anwendung verwendet werden können.
  • In mindestens einer Ausführungsform kann ein lokaler Kühlkreislauf von einer modularen Einheit 340 mindestens einer Rechenvorrichtung 324 und einer zugehörigen Kühlplatte 326 zugeordnet sein. In mindestens einer Ausführungsform kann ein weiterer Fluidpfad für einen lokalen Kühlkreislauf über Eintritts- und Austrittsleitungen 320, 322 und einen Pfad 354 ermöglicht werden. In mindestens einer Ausführungsform weist ein sekundärer Kühlkreislauf einen gesonderten Fluidpfad auf, der durch Eintritts- und Austrittsleitungen 316, 318 ermöglicht wird. In mindestens einer Ausführungsform wird ein einzelner Fluidpfad mit einem Umleitdurchflussregler zwischen der modularen Einheit 340 und einem Reihenverteiler 350 verwendet, der einem sekundären Kühlkreislauf zugeordnet ist. In mindestens einer Ausführungsform weist ein Tauchserverfach 352 darin Leitungen auf, um sekundäres Kühlmittel oder lokales Kühlmittel zum Kühlen eines Tauchfluids zu leiten. In mindestens einer Ausführungsform kann eine hintere Tür 338 von einem Rack 330 an Kopplungsbereichen 332 entkoppelt sein.
  • In mindestens einer Ausführungsform kann ein Umleitdurchflussregler dazu imstande sein, ein lokales oder sekundäres Kühlmittel zu zwei Austrittsleitungen von einer einzigen Eintrittsleitung zu leiten. In mindestens einer Ausführungsform tritt sekundäres Kühlmittel von einem sekundären Kühlkreislauf, der durch eine an einen primären Kühlkreislauf gekoppelten CDU unterstützt wird, in einen Reihenverteiler 350 zur Verteilung unterschiedlicher Racks, wie etwa eines Racks 302, ein. In mindestens einer Ausführungsform wird sekundäres Kühlmittel von einem Reihenverteiler 350 über eine Rack-Eintrittsleitung 310A zu einem Durchflussregler 310C geleitet. In mindestens einer Ausführungsform leitet ein Durchflussregler 310C standardmäßig sekundäres Kühlmittel zu einem Einlass-Rackverteiler 314A über eine Kühlverteiler-Eintrittsleitung 310. In mindestens einer Ausführungsform wird sekundäres Kühlmittel in eine oder mehrere Kühlplatten 326 geleitet und tritt über eine jeweilige Server-Austrittsleitung 318 in einen Austritts-Rackverteiler 314B aus. In mindestens einer Ausführungsform fließt sekundäres Kühlmittel über eine Kühlverteiler-Austrittsleitung 312, einen Durchflussregler 312C und eine Rack-Austrittsleitung 312A. In mindestens einer Ausführungsform tritt sekundäres Kühlmittel in einen gleichen Reihenverteiler 350 zur Zirkulation zurück zu einer CDU ein oder tritt in einen anderen Reihenverteiler zur Zirkulation zurück zu einer CDU ein.
  • In mindestens einer Ausführungsform stellt ein lokaler Kühlkreislauf Kühlung für mindestens eine Rechenkomponente 324 alternativ von einem sekundären Kühlkreislauf bereit. In mindestens einer Ausführungsform kann, da ein sekundärer Kühlkreislauf einem primären Kühlkreislauf und einer Kälteanlage zugeordnet sein kann, ein Ausfall in einem beliebigen von einem sekundären Kühlkreislauf, einem primären Kühlkreislauf, einer CDU oder einer Kälteanlage es erfordern, dass diese jeweiligen Merkmale repariert werden. In mindestens einer Ausführungsform kann eine Dienstgütevereinbarung (Service Level Agreement - SLA) eine Ausfallzeit beschreiben, die für diese jeweiligen Merkmale zulässig ist. In mindestens einer Ausführungsform kann eine Ausfallzeit bei diesen jeweiligen Merkmalen beim Ermitteln einer Kühlfähigkeit einer modularen Einheit 340 berücksichtigt werden. In mindestens einer Ausführungsform ermöglicht eine Kühlfähigkeit einer modularen Einheit 340, dass sie eine Kühlung für ein lokales Kühlmittel oder sekundäres Kühlmittel bereitstellt, und ermöglicht ihr, eine Kühlung während einer Ausfallzeit eines sekundären Kühlkreislaufs oder eines primären Kühlkreislaufs, einschließlich ihrer Komponenten (wie etwa einer CDU und eines Kühlturms), zu unterstützen. In mindestens einer Ausführungsform sind die Halterungen 334, 336 vorgesehen, um Leitungen und Elektronik aufzuhängen, die einem zugeordneten Verbinder 348 zugeordnet sind, der einer modularen Einheit und Durchflussreglern 356A, B zugeordnet ist.
  • In mindestens einer Ausführungsform können die Durchflussregler 356A, B ähnlichen Durchflussreglern von benachbarten modularen Einheiten zugeordnet sein, um eine Durchflusskontinuität für einen lokalen Kühlkreislauf zwischen einer oder mehreren Kühlplatten und mehreren modularen Einheiten 340 bereitzustellen. In mindestens einer Ausführungsform können die Durchflussregler 356A, B Durchflussreglern von mindestens einer Kühlplatte zugeordnet sein, um direkt einen lokalen Kühlkreislauf zwischen mindestens einer Kühlplatte und mindestens einer modularen Einheit 340 bereitzustellen. In mindestens einer Ausführungsform können die Durchflussregler 356A, B ähnlichen Durchflussreglern eines tauchgekühlten Serverfachs oder -gehäuses 352 zugeordnet sein, um zu ermöglichen, dass Fluid Wärme von einem dielektrischen technischen Fluid aufnimmt und Wärme über mindestens eine modulare Einheit 340 ableitet.
  • In mindestens einer Ausführungsform sind die Durchflussregler 356A, B, die in einer modularen Einheit 340 vorgesehen sind, Steckverbinder, um eine schnelle Verbindung und Trennung zwischen modularen Einheiten oder Serverfächern oder -gehäusen, Kühlplatten oder einem anderen Verteiler zu ermöglichen, der bereitgestellt ist, um mehrere Serverfächer 308 mit einer oder mehreren modularen Einheiten zu koppeln. In mindestens einer Ausführungsform können ein oder mehrere Durchflussregler 310C, 312C bereitgestellt sein, um als Umleiter zu fungieren, um sekundäres Kühlmittel von einem Reihenverteiler 350 abzuhalten und stattdessen die modularen Einheiten 340 zu aktivieren. In mindestens einer Ausführungsform koppeln die Durchflussregler 356A, 356B an die Durchflussregler 310C, 312C, um einen lokalen Kühlkreislauf zwischen den Kühlverteilern 314A, 314B und den modularen Einheiten 340 zu ermöglichen. In mindestens einer Ausführungsform kann ein elektrischer Verbinder 348, wie ein Stecker oder eine Buchse, vorgesehen sein, um eine Stromversorgung für einen oder mehrere Lüfter 342 einer modularen 340 zu ermöglichen. In mindestens einer Ausführungsform kann Strom von einer benachbarten modularen Einheit geliefert werden, die wiederum Strom von einer Stromverteilungseinheit eines Racks 302 aufnimmt.
  • In mindestens einer Ausführungsform können im Falle eines Ausfalls eines primären Kühlkreislaufs, eines sekundären Kühlkreislaufs oder einer Kälteanlage Parameter, wie etwa ein Durchflussvolumen, eine Durchflussrate, zusammen mit einer erwarteten Temperatur eines lokalen Kühlmittels (oder sekundären Kühlmittels) verwendet werden, um die Kapazität einer Fluidquelle 332 zu bestimmen. In mindestens einer Ausführungsform kann eine in einer SLA angegebene Ausfallzeit durch Parameter ausgeglichen werden, die für einen lokalen Kühlkreislauf ermöglicht werden, sodass eine ausreichende redundante Kühlung durch einen lokalen Kühlkreislauf geboten werden kann, bis ein Ausfall eines beliebigen von einem primären Kühlkreislauf, einem sekundären Kühlkreislauf oder zugehörigen Komponenten behoben werden kann. In mindestens einer Ausführungsform kann ein lokaler Kühlkreislauf mit einer oder mehreren modularen Einheiten ein einziges vorgesehenes Kühlmerkmal eines Rechenzentrums-Kühlsystems ohne Notwendigkeit eines primären Kühlkreislaufs, eines sekundären Kühlkreislaufs und zugehöriger CDUs sein.
  • In mindestens einer Ausführungsform kann im Fall eines Ausfalls eines primären Kühlkreislaufs, eines sekundären Kühlkreislaufs oder einer Kälteanlage mindestens ein Prozessor, nachdem ein Ausfall festgestellt wurde, mindestens einen der Durchflussregler 310C, 312C, 356A, 356B dazu veranlassen, einen lokalen Kühlkreislauf einzukuppeln, während ein sekundärer Kühlkreislauf zu mindestens einem Rack 302 abgesperrt wird. In mindestens einer Ausführungsform können die Durchflussregler 310C, 312C ein Absperren eines sekundären Kühlkreislaufs ermöglichen, indem ein Durchfluss von sekundärem Kühlmittel über Leitungen 364 zu einem lokalen Kühlungsreihenverteiler, der sich vom Reihenverteiler 350 unterscheidet, umgeleitet wird. In mindestens einer Ausführungsform können gänzlich getrennte Leitungen und Rackverteiler mit einem alternativen Kühlungsreihenverteiler verwendet werden. In mindestens einer Ausführungsform können modulare Einheiten 340 direkt einem oder mehreren Racks 302 zugeordnet sein, die zu den modularen Einheiten 340 benachbart sind. In mindestens einer Ausführungsform kann kein lokaler Kühlungsreihenverteiler erforderlich sein und modulare Einheiten sind direkt an eine Kühlplatte oder ein Serverfach gekoppelt.
  • In mindestens einer Ausführungsform kann ein Kühlsystem für ein Rechenzentrum eine oder mehrere modulare Einheiten 340 beinhalten. In mindestens einer Ausführungsform kann eine modulare Einheit 340 einen Wärmetauscher 344 beinhalten, der Kupferrohre oder -platten oder anderes wärmeübertragendes Material sein kann, um zu ermöglichen, dass Wärme von einem dort strömenden Fluid austritt und durch Gebläseluft abgeführt wird. In mindestens einer Ausführungsform ermöglicht ein drehzahlveränderbarer Lüfter 342 Gebläseluft über einen Wärmetauscher 344. In mindestens einer Ausführungsform beinhaltet eine modulare Einheit 340 mindestens einen Durchflussregler 356A; 356B. In mindestens einer Ausführungsform kann ein Durchflussregler vorgesehen sein, um eine Zirkulation von Fluid von einer Kühlplatte durch eine modulare Einheit zu ermöglichen. In mindestens einer Ausführungsform können Durchflussregler eine Druck- oder Saugeinwirkung auf Fluid im Inneren eines Wärmetauschers 344 ermöglichen. In mindestens einer Ausführungsform kann eine modulare Einheit ausgelegt sein, austauschbar oder während des Betriebs austauschbar zu sein. In mindestens einer Ausführungsform können ein elektrischer Verbinder 348 und eine Fluidkopplung (über einen oder mehrere Durchflussregler 356A, 356B) getrennt werden, um eine Entfernung und einen Austausch einer modularen Einheit 340 zu ermöglichen. In mindestens einer Ausführungsform kann eine andere modulare Einheit 340 über eine ähnliche elektrische Kopplung und durch Druckkopplung jeweiliger Durchflussregler 356A, 356B gekoppelt sein, um eine Kühlung in Übereinstimmung mit einem Bedarf eines lokalen Kühlkreislaufs durchzuführen.
  • In mindestens einer Ausführungsform kann eine modulare Einheit 340 in Fluidkopplung mit einer Kühlplatte mit Mikrokanälen stehen. In mindestens einer Ausführungsform kann mindestens ein Durchflussregler 356A; 356B vorgesehen sein, Fluid durch Mikrokanäle einer Kühlplatte 326 zu leiten, um Wärme von mindestens einer Rechenvorrichtung 324 abzuleiten. In mindestens einer Ausführungsform kann mindestens ein Durchflussregler 356A; 356B vorgesehen sein, um Fluid durch einen Wärmetauscher 344 zu leiten, um eine Ableitung von Wärme durch Gebläseluft von einem drehzahlveränderbaren Lüfter 342 zu ermöglichen.
  • In mindestens einer Ausführungsform kann mindestens ein Prozessor vorgesehen sein, um eine mindestens einer Rechenvorrichtung 324 oder einem Fluid eines sekundären Kühlkreislaufs oder einer modularen Einheit 340 zugeordneten Temperatur zu ermitteln. In mindestens einer Ausführungsform kann mindestens ein Prozessor eine Änderung einer Drehzahl eines drehzahlveränderbaren Lüfters 342 bewirken. In mindestens einer Ausführungsform kann eine Drehzahländerung eines drehzahlveränderbaren Lüfters 342 eine Abfuhr von weniger oder mehr Wärme in einem Wärmetauscher 344 einer modularen Einheit 340 ermöglichen.
  • In mindestens einer Ausführungsform können Kupferspiralen als ein Wärmetauscher 344 vorgesehen sein. In mindestens einer Ausführungsform ermöglicht ein Spiralwärmetauscher 344 eine Verwendung von unterschiedlichen Fluiden in einer modularen Einheit. In mindestens einer Ausführungsform kann eine modulare Einheit unterschiedliche Spiralenkonfigurationen aufweisen, um eine unterschiedliche Verteilung von Wärme durch einen Spiralwärmetauscher 344 zu ermöglichen und um einen unterschiedlichen Wärmeverlust durch Einwirkung von Gebläseluft von einem drehzahlveränderbaren Lüfter 342 in der modularen Einheit 340 zu ermöglichen. In mindestens einer Ausführungsform ist eine Kühlplatte mit ersten Anschlüssen für einen ersten Abschnitt von Mikrokanälen darin vorgesehen, um ein Kühlmittel (wie ein sekundäres Kühlmittel) zu unterstützen, verschieden von einem zweiten Abschnitt von Mikrokanälen, die ein anderes Fluid unterstützen, wie ein Kühlmittel mit unterschiedlichen chemischen Eigenschaften. In mindestens einer Ausführungsform ermöglicht die eine Verwendung eines sekundären Kühlmittels eines sekundären Kühlkreislaufs, verschieden von einem anderen Kühlmittel eines lokalen Kühlkreislaufs.
  • In mindestens einer Ausführungsform ist mindestens ein Prozessor aktiviert, um Sensoreingaben von Sensoren zu empfangen, die mindestens einer Rechenvorrichtung 324 oder einem Fluid einer Kühlplatte 326 in den Leitungen 354 durch die Spule 344 zugeordnet sind. In mindestens einer Ausführungsform ist mindestens ein Prozessor ausgelegt, eine Veränderung in einem Kühlmittelzustand teilweise auf Grundlage von Sensoreingaben zu ermitteln. In mindestens einer Ausführungsform kann sich eine Veränderung in einem Kühlmittelzustand auf eine Temperaturänderung von sekundärem Kühlmittel beziehen, die eine höhere Temperatur als eine Betriebstemperatur reflektiert, die erforderlich ist, um eine Rechenvorrichtung 324 zu kühlen. In mindestens einer Ausführungsform kann sich eine Veränderung in einem Kühlmittelzustand darauf beziehen, dass eine Durchflussrate oder ein Durchflussvolumen nicht ausreicht, um eine Rechenvorrichtung 324 zu kühlen. In mindestens einer Ausführungsform kann sich eine Veränderung in einem Kühlmittelzustand darauf beziehen, dass eine erhöhte Feuchtigkeit in einem bzw. einer oder mehreren der Reihenverteiler 350 oder der Leitungen 316, 318 ermittelt wurde. In mindestens einer Ausführungsform kann ein Kühlmittelzustand aufgrund einer Fehlfunktion (wie eines Lecks, einer Blockade oder einer ungeplanten Umleitung) in einem sekundären Kühlmittelkreislauf oder einer modularen Einheit geändert werden. In mindestens einer Ausführungsform ermöglicht eine Ermittlung einer Fehlfunktion eine Abschaltung und einen Austausch einer modularen Einheit oder eine Verwendung einer modularen Einheit anstatt des sekundären Kühlkreislaufs. In mindestens einer Ausführungsform kann mindestens ein Prozessor einen oder mehrere von mindestens einem Durchflussregler veranlassen oder diesem ermöglichen, einen Fluiddurchfluss darin anzuhalten oder eine Änderung an dieser zu bewirken. In mindestens einer Ausführungsform kann mindestens ein Prozessor eine Änderung an einem drehzahlveränderbaren Lüfter bewirken, um einen Austausch einer modularen Einheit oder eine Verwendung einer modularen Einheit zu ermöglichen. In mindestens einer Ausführungsform können ein oder mehrere neuronale Netze ausgelegt sein, um Sensoreingaben zu empfangen und eine Veränderung eines Kühlmittelzustands abzuleiten. In mindestens einer Ausführungsform können ein oder mehrere neuronale Netze trainiert werden, um eine derartige Schlussfolgerung abzuleiten.
  • In mindestens einer Ausführungsform kann mindestens ein Prozessor eine elektrische Trennung einer modularen Einheit ermöglichen, um einen Austausch der modularen Einheit zu ermöglichen. In mindestens einer Ausführungsform kann ein Austausch einer modularen Einheit erfolgen, um einen sekundären Kühlkreislauf zeitweilig zu ersetzen oder um einen sekundären Kühlkreislauf aus Stromspargründen zu ersetzen, wenn Wärme, die von Komponenten mit hoher Wärmedichte niedriger ist als die Kühlanforderungen, die von einem sekundären Kühlkreislauf erfüllt werden. In mindestens einer Ausführungsform kann eine elektrische Trennung meine Steuerung an einen elektronischen Switch vor Entfernen des physischen elektrischen Verbinders 348 sein. In mindestens einer Ausführungsform können magnetische Merkmale verwendet werden, um einen elektrischen Verbinder 348 zum Austausch einer modularen Einheit auszuwerfen.
  • In mindestens einer Ausführungsform kann mindestens ein Prozessor ein oder mehrere neuronale Netze beinhalten. In mindestens einer Ausführungsform können ein oder mehrere neuronale Netze dazu ausgelegt sein, einen Ausfall eines primären Kühlkreislaufs festzustellen. In mindestens einer Ausführungsform kann mindestens ein Prozessor bewirken, dass mindestens ein Durchflussregler 356A; 356B eine Kühlung von einer modularen Einheit ermöglicht. In mindestens einer Ausführungsform zeigt eine modulare Einheit zur Rückseite eines Racks und zu einem Warmgang in einem Rechenzentrum.
  • In mindestens einer Ausführungsform kann eine Kühlplatte 326 ausgelegt sein, an eine modulare Einheit 340 und an einen sekundären Kühlkreislauf angekoppelt zu sein, der mindestens einen Reihenverteiler 350, eine Kühlungsverteilungseinheit (CDU) aufweist, und der wiederum an einen primären Kühlkreislauf ankoppelt. In mindestens einer Ausführungsform kann ein sekundärer Kühlkreislauf einem primären Kühlkreislauf durch eine CDU und mit einer Kälteanlage zugeordnet sein. In mindestens einer Ausführungsform verhindert mindestens ein Durchflussregler 310C, dass sekundäres Kühlmittel einer CDU eine Kühlplatte 326 erreicht. In mindestens einer Ausführungsform ermöglicht dies Fluid, wie einem ähnlichen oder dem gleichen sekundären Kühlmittel oder einem anderen lokalen Kühlmittel, das einer modularen Einheit 340 zugeordnet ist, zwischen einer Kühlplatte und einem Wärmetauscher 344 zu zirkulieren.
  • In mindestens einer Ausführungsform kann mindestens ein Durchflussregler 356A; 356B; 310C; 312C vorgesehen sein, um eine modulare Einheit 340 zumindest teilweise auf Grundlage einer ersten Schwellenkühlanforderung für mindestens eine Rechenvorrichtung zu aktivieren. In mindestens einer Ausführungsform kann mindestens ein Durchflussregler 310C; 312C vorgesehen sein, um einem sekundären Kühlkreislauf zumindest teilweise auf Grundlage einer zweiten Schwellenkühlanforderung für mindestens eine Rechenvorrichtung zu aktivieren. In mindestens einer Ausführungsform kann eine erste Schwellenkühlanforderung, die einer modularen Einheit 340 zugeordnet ist, geringer als oder höher als eine zweite Schwellenkühlanforderung sein, die einem sekundären Kühlkreislauf zugeordnet ist. In mindestens einer Ausführungsform ist eine erste Schwellenkühlanforderung geringer als eine zweite Schwellenkühlanforderung, und deshalb wird eine modulare Einheit aktiviert, um wirtschaftliche Kühlung für geringere Wärme bereitzustellen, die durch mindestens eine Rechenvorrichtung generiert wird. In mindestens einer Ausführungsform kann eine erste Schwellenkühlanforderung über einer zweiten Schwellenkühlanforderung liegen, wobei eine modulare Einheit verwendet wird, um einen sekundären Kühlkreislauf zu ergänzen, wenn mehr Wärme mit mehr Kühlanforderung durch mindestens eine Rechenvorrichtung generiert wird.
  • In mindestens einer Ausführungsform kann mindestens ein Durchflussregler 310C, 312C (oder Ventilabdeckungen von Durchflussreglern, die Anschlüssen 268, 260 zugeordnet sind, wie in 2 beschrieben) verwendet werden, um zu verhindern, dass sekundäres Kühlmittel eine Kühlplatte erreicht, wenn eine Eintrittstemperatur eines sekundären Kühlmittels innerhalb eines Schwellenwerts einer Eintrittstemperatur eines sekundären Kühlmittels liegt. In mindestens einer Ausführungsform kann ein Schwellenwert zwischen Eintritts- und Austrittstemperaturen darauf hinweisen, dass das sekundäre Kühlmittel durch einen primären Kühlkreislauf nicht hinreichend gekühlt wird oder nicht hinreichend kühl ist, um eine Abfuhr von Wärme von mindestens einer Rechenvorrichtung zu ermöglichen. In mindestens einer Ausführungsform kann, dass sekundäres Kühlmittel nicht ausreichend gekühlt wird, auf einen Ausfall in einem sekundären Kühlkreislauf, einem primären Kühlkreislauf oder beliebige zugeordnete Kühlkomponenten dieser jeweiligen Kühlkreisläufe hinweisen. In mindestens einer Ausführungsform können eine Eintrittstemperatur und eine Austrittstemperatur einem Eintritt und einem Austritt von sekundärem Kühlmittel im Verhältnis zu einer CDU zugeordnet sein. In mindestens einer Ausführungsform können Temperaturen an einem Rack 302 oder einer CDU erfasst werden. In mindestens einer Ausführungsform können Sensoren einem Rack oder einer CDU zum Überwachen von Temperaturen eines sekundären Kühlmittels zugeordnet sein. In mindestens einer Ausführungsform können Sensoren vorgesehen sein, um eine Temperatur mindestens einer Rechenkomponente zu erfassen, und Kühlung kann von einem sekundären Kühlkreislauf oder einer modularen Einheit zumindest teilweise auf Grundlage einer derartigen erfassten Temperatur bereitgestellt werden.
  • In mindestens einer Ausführungsform kann mindestens ein Prozessor verwendet werden, um festzustellen, dass ein sekundärer Kühlkreislauf außerhalb einer Schwellenkühlanforderung für mindestens eine Rechenvorrichtung betrieben wird. In mindestens einer Ausführungsform ist eine Schwellenkühlanforderung eine angegebene Kühlung, die für mindestens eine Rechenvorrichtung erforderlich ist, um normal zu funktionieren. In mindestens einer Ausführungsform kann eine Angabe, dass ein sekundärer Kühlkreislauf außerhalb eines Schwellenwerts betrieben wird, einen lokalen Kühlkreislauf dazu veranlassen, stattdessen eine Schwellenkühlanforderung für mindestens eine Rechenvorrichtung zu erfüllen. In mindestens einer Ausführungsform kann sekundäres Kühlmittel Anlagenwasser sein und Additive beinhalten. In mindestens einer Ausführungsform wird Wärme von einem sekundären Kühlmittel eines sekundären Kühlkreislaufs oder von einem lokalen Kühlmittel eines lokalen Kühlkreislaufs in eine Umgebung durch Gebläseluft oder eine passive Umgebungseinheit 362 abgeführt.
  • In mindestens einer Ausführungsform können Merkmale auf Rechenzentrumsebene 400, wie in 4 veranschaulicht, einer intelligenten austauschbaren modularen Einheit für ein Kühlsystem des Rechenzentrums zugeordnet sein. In mindestens einer Ausführungsform können die Merkmale auf Rechenzentrumsebene 400 innerhalb eines Rechenzentrums 402 Racks 404 zum Aufnehmen eines oder mehrerer Serverfächer oder -gehäuse; eine oder mehrere CDUs 406 zum Wärmeaustausch zwischen einem sekundären Kühlkreislauf 412 und einem primären Kühlkreislauf 422; einen oder mehrere Reihenverteiler 410 zum Verteilen von Kühlmittel von einer CDU 406; und zugeordnete verschiedene Durchflussregler 424 und Einlass- und Auslassschleifenleitungen 412, 414, 416, 418 beinhalten.
  • In mindestens einer Ausführungsform sind modulare Einheiten an hinteren Türen jedes der Racks 404 vorgesehen. In mindestens einer Ausführungsform ist ein Gang hinter den Racks 404 ein Warmgang zum Abführen von Wärme von mindestens einer Rechenvorrichtung in mindestens einem Rack. In mindestens einer Ausführungsform können verschiedene Reihenverteiler verschiedenen Racks zugeordnet sein. In mindestens einer Ausführungsform kann ein anderes Kühlmittel eine chemische Übereinstimmung oder Nichtübereinstimmung in Bezug auf ein lokales Kühlmittel darstellen. In mindestens einer Ausführungsform werden unterschiedliche Fluidquellen als redundante Merkmale an unterschiedliche CDUs je nach den chemischen Eigenschaften eines unterschiedlichen sekundären Kühlmittels bereitgestellt, das bei jeder der unterschiedlichen bereitgestellten CDUs verwendet wird. In mindestens einer Ausführungsform kann im Falle eines Ausfalls einer der verfügbaren CDUs eine bestimmte modulare Einheit einer hinteren Tür zugeordnet werden und mit einem Rack eingekuppelt werden.
  • In mindestens einer Ausführungsform können zugeordnete Rohrleitungen (Kühlverteiler, Durchflussregler und Fluidpfade) verwendet werden, um lokales Kühlmittel bereitzustellen, das vorher von einer betroffenen CDU empfangen wurde. In mindestens einer Ausführungsform kann mindestens ein Durchflussregler einer modularen Einheit und einer jeweiligen CDU, wie einem Umleitdurchflussregler, zugeordnet sein. In mindestens einer Ausführungsform kann mindestens ein Durchflussregler bereitgestellt werden, um sekundäres Kühlmittel von einer CDU zu einer modularen Einheit und zurück zu einer Kühlplatte umzuleiten, sodass eine CDU ohne Ausfallzeit mindestens einer Rechenvorrichtung repariert werden kann, die durch eine CDU bereitgestellte Kühlung erfordert.
  • In mindestens einer Ausführungsform kann, wenn ein Ausfall für eine jeweilige CDU festgestellt wird, lokales Kühlmittel oder sekundäres Kühlmittel, das zuvor in einer modularen Einheit gespeichert wurde, zunächst thermisch und chemisch als für eine oder mehrere Kühlplatten übereinstimmend bestätigt werden, bevor es einer oder mehreren Kühlplatten auf eine Weise bereitgestellt wird, wie in Bezug auf die 2 und 3 beschrieben. In mindestens einer Ausführungsform kann eine thermische und/oder chemische Prüfung vor Zuordnen einer modularen Einheit zu einem Rack bereitgestellt werden und derart sein, dass lokales Kühlmittel eine vorgesehene Temperatur (oder einen Bereich von Temperaturen) und/oder eine vorgesehene chemische Zusammensetzung (oder innerhalb eines Bereichs von chemischen Eigenschaften) aufweist, die von einer jeweiligen CDU vor deren Ausfall bereitgestellt werden sollte(n).
  • In mindestens einer Ausführungsform beinhaltet ein Prozessor einen Eingang zum Empfangen von Sensoreingaben von Sensoren, die mindestens einem Rack zugeordnet sind. In mindestens einer Ausführungsform können Sensoren einem primären Kühlkreislauf, einem sekundären Kühlkreislauf, einer CDU, einem Kühlturm oder einem der Reihenkühlverteiler, die einem primären Kühlkreislauf und einem sekundären Kühlkreislauf zugeordnet sind, zugeordnet sein. In mindestens einer Ausführungsform kann ein Prozessor Sensoreingaben verwenden, um eine Veränderung in einem Kühlmittelzustand festzustellen und um einen oder mehrere Durchflussregler so zu steuern, dass er einen sekundären Kühlkreislauf oder einen lokalen Kühlkreislauf einzukuppeln. In mindestens einer Ausführungsform können Sensoreingaben mindestens eine Temperatur von einem sekundären Kühlmittel eines sekundären Kühlkreislaufs sein. In mindestens einer Ausführungsform kann, wenn eine erfasste Temperatur höher als die Betriebstemperatur mindestens einer Rechenvorrichtung ist, dann festgestellt werden, dass ein sekundäres Kühlmittel zum Kühlen mindestens einer Rechenvorrichtung unwirksam ist. In mindestens einer Ausführungsform kann dies an einem Problem mit einem primären Kühlkreislauf liegen, der keine Wärme aus einem sekundären Kühlkreislauf aufnimmt. In mindestens einer Ausführungsform kann dies an einem Problem mit einer Leckage oder einer Fehlfunktion der CDU liegen. In mindestens einer Ausführungsform kann dies an einem Problem mit einer Fehlerfunktion einer Kälteanlage liegen. In mindestens einer Ausführungsform kann erfasst werden, dass ein primärer Kühlkreislauf eine Temperatur aufweist, die höher als eine Betriebstemperatur ist, und kann es sein, dass dieser nicht dazu imstande ist, einen sekundären Kühlkreislauf wirksam zu kühlen.
  • In mindestens einer Ausführungsform können ein oder mehrere neuronale Netze verwendet werden, um Sensoreingaben zu empfangen und eine Veränderung eines Kühlmittelzustands abzuleiten. In mindestens einer Ausführungsform kann eine Veränderung eines Kühlmittelzustands eine Feststellung sein, dass ein zuvor mit einer Durchflussrate, einem Durchflussvolumen und/oder einer Eintrittstemperatur angewandtes sekundäres Kühlmittel beim Kühlen mindestens einer Rechenvorrichtung unwirksam ist. In mindestens einer Ausführungsform kann eine derartige Feststellung teilweise basierend auf einer vorherigen unwirksamen Kühlung erkannt werden, die vorherigen Durchflussraten, Durchflussvolumen und/oder Eintrittstemperaturen vorheriger Kühlmittel (und ihren zugeordneten chemischen Eigenschaften) zugeordnet ist. In mindestens einer Ausführungsform können derartige vorherige Informationen verwendet werden, um ein Lernmodell zu trainieren, um Ableitungen zu aktuellen Durchflussraten, Durchflussvolumen und/oder Temperaturen von sekundärem Kühlmittel vorzunehmen. In mindestens einer Ausführungsform kann eine Ableitung sein, dass ein sekundäres Kühlmittel zum Bereitstellen eines Kühlmittels unwirksam ist, wodurch ausgelöst wird, dass ein Prozessor Durchflussregler dazu veranlasst, den Durchfluss von sekundärem Kühlmittel eines sekundären Kühlkreislaufs zu unterbrechen und einen alternativen Kühlkreislauf einzukoppeln, bis Probleme eines sekundären Kühlkreislaufs behoben sind.
  • In mindestens einer Ausführungsform kann eine Eingabe eines Prozessors so ausgelegt sein, dass er Sensoreingaben von Sensoren empfängt, die mindestens einem Rack zugeordnet sind. In mindestens einer Ausführungsform kann ein Prozessor dazu imstande sein, eine Veränderung eines Kühlmittelzustands teilweise basierend auf Temperaturen eines sekundären Kühlmittels in einem sekundären Kühlkreislauf anhand empfangener Sensoreingaben festzustellen. In mindestens einer Ausführungsform kann ein Prozessor dazu imstande sein, einen oder mehrere Durchflussregler so zu steuern, dass sie einen lokalen Kühlkreislauf aktivieren und einen sekundären Kühlkreislauf deaktivieren.
  • In mindestens einer Ausführungsform kann ein Prozessor einen oder mehrere Schaltkreise enthalten und kann mindestens einer modularen Einheit zugeordnet sein, die einen Wärmetauscher, einen drehzahlveränderbaren Lüfter und mindestens einen Durchflussregler aufweist. In mindestens einer Ausführungsform kann eine modulare Einheit ausgelegt sein, austauschbar zu sein oder während des Betriebs austauschbar zu sein und in Fluidkopplung mit einer Kühlplatte mit Mikrokanälen zu stehen. In mindestens einer Ausführungsform können ein oder mehrere Schaltkreise eines Prozessors ausgelegt sein, zu bewirken, dass mindestens ein Durchflussregler Fluid durch Mikrokanäle einer Kühlplatte leitet, um Wärme von mindestens einer Rechenvorrichtung abzuleiten. In mindestens einer Ausführungsform kann bewirkt werden, dass mindestens ein Durchflussregler Fluid, das von mindestens einer Rechenvorrichtung (über eine Kühlplatte) absorbierte Wärme aufweist, durch einen Wärmetauscher einer modularen Einheit leitet. In mindestens einer Ausführungsform ermöglicht dies eine Ableitung von Wärme durch Gebläseluft von einem drehzahlveränderbaren Lüfter einer modularen Einheit.
  • In mindestens einer Ausführungsform beinhaltet ein Prozessor einen Ausgang, um Signale für eine oder mehrere von verschiedenen Merkmalen einer modularen Einheit bereitzustellen. In mindestens einer Ausführungsform können Signale für mindestens einen Durchflussregler oder einen drehzahlveränderbaren Lüfter bereitgestellt werden. In mindestens einer Ausführungsform ermöglichen Signale zu einem oder mehreren Durchflussreglern einen Durchfluss von Fluid durch eine einer modularen Einheit zugeordneten Kühlplatte. In mindestens einer Ausführungsform ermöglichen Signale an einen drehzahlveränderbaren Lüfter Gebläseluft mit unterschiedlichen Drehzahlen in einer modularen Einheit.
  • In mindestens einer Ausführungsform weist ein Prozessor einen Eingang auf, um Sensoreingaben von Sensoren zu empfangen, die mindestens einer Rechenvorrichtung oder Fluid zugeordnet sind, das einem Kühlen mindestens einer Rechenvorrichtung zugeordnet ist. In mindestens einer Ausführungsform führt ein Prozessor Anweisungen aus, die ihm ermöglichen, eine Veränderung in einem Kühlmittelzustand teilweise auf Grundlage von empfangenen Sensoreingaben zu ermitteln. In mindestens einer Ausführungsform ist ein Prozessor danach fähig, eine oder mehrere Funktionen zu bewirken oder zu aktivieren. In mindestens einer Ausführungsform beinhaltet eine von einem Prozessor bewirkte oder aktivierte Funktion für mindestens einen Durchflussregler, einen Fluiddurchfluss darin anzuhalten oder eine Änderung an dieser zu bewirken. In mindestens einer Ausführungsform können ein oder mehrere Schaltkreise eines Prozessors eine Änderung an einem drehzahlveränderbaren Lüfter bewirken oder eine Verwendung einer modularen Einheit anstatt eines sekundären Kühlkreislaufs oder als Ersatz einer modularen Einheit ermöglichen.
  • In mindestens einer Ausführungsform können ein oder mehrere neuronale Netze eines Prozessors ausgelegt sein, um Sensoreingaben zu empfangen und eine Veränderung eines Kühlmittelzustands abzuleiten. In mindestens einer Ausführungsform können ein oder mehrere neuronale Netze trainiert werden, um derartige Schlussfolgerungen abzuleiten. In mindestens einer Ausführungsform können ein oder mehrere neuronale Netze dazu imstande sein, einen Ausfall eines primären Kühlkreislaufs oder eines sekundären Kühlkreislaufs aus Sensoreingaben festzustellen. In mindestens einer Ausführungsform können ein oder mehrere Schaltkreise dazu ausgelegt sein, zu bewirken, dass mindestens ein Durchflussregler eine Kühlung von einer modularen Einheit ermöglicht.
  • In mindestens einer Ausführungsform können ein oder mehrere Schaltkreise eines Prozessors ausgelegt sein, ein oder mehrere neuronale Netze zu trainieren, um aus Sensoreingaben von Sensoren, die mindestens einer Rechenvorrichtung oder einem Fluid durch einen sekundären Kühlkreislauf oder eine modulare Einheit zugeordnet sind, abzuleiten, dass eine Veränderung in einem Kühlmittelzustand eingetreten ist. In mindestens einer Ausführungsform kann ein Prozessor ausgelegt sein, zu bewirken oder zu ermöglichen, dass ein oder mehrere Merkmale eintreten, wie zum Beispiel, dass mindestens ein Durchflussregler einen Fluiddurchfluss anhält oder ändert, oder eine Änderung an einem drehzahlveränderbaren Lüfter oder ein Austausch einer modularen Einheit.
  • In mindestens einer Ausführungsform können ein oder mehrere neuronale Netze eines Prozessors fähig sein, Sensoreingaben von hierin besprochenen Sensoren zu empfangen, und können trainiert werden, um eine Veränderung eines Kühlmittelzustands als Teil einer Analyse von vorherigen Sensoreingaben und vorherigen Kühlmittelzuständen abzuleiten. In mindestens einer Ausführungsform ermöglicht eine Ausgabe eines Prozesses eine Bereitstellung von Signalen für mindestens einen Durchflussregler, eine modulare Einheit zumindest teilweise auf Grundlage einer ersten Schwellenkühlanforderung für die mindestens eine Rechenvorrichtung zu aktivieren und den sekundären Kühlkreislauf zumindest teilweise auf Grundlage einer zweiten Schwellenkühlanforderung für die mindestens eine Rechenvorrichtung zu aktivieren.
  • In mindestens einer Ausführungsform weist ein Prozessor einen Eingang auf, um Sensoreingaben zu empfangen, die einer Temperatur von mindestens einer Rechenvorrichtung oder von Fluid eines sekundären Kühlkreislaufs oder einer modularen Einheit zugeordnet sind. In mindestens einer Ausführungsform weist ein Prozessor einen oder mehrere Schaltkreise auf, in die ein oder mehrere neuronale Netze zu laden oder vorab zu laden sind, die trainiert sind, um zumindest teilweise auf Grundlage einer erfassten Temperatur und von vorherigen aufgezeichneten Temperaturen abzuleiten, dass eine Veränderung in einem Kühlmittelzustand eingetreten ist. In mindestens einer Ausführungsform können ein oder mehrere Schaltkreise eines Prozessors eine Drehzahländerung eines drehzahlveränderbaren Lüfters zumindest teilweise auf Grundlage einer trainierten Schlussfolgerung bewirken, die von einem oder mehreren neuronalen Netzen zu ziehen ist.
  • In mindestens einer Ausführungsform kann ein Prozessor ein oder mehrere Schaltkreise mit einem oder mehreren neuronalen Netzen aufweisen, um aus Sensoreingaben von Sensoren, die mindestens einer Rechenvorrichtung oder einem Fluid zugeordnet sind, abzuleiten, dass eine erste Veränderung in einem Kühlmittelzustand eingetreten ist. In mindestens einer Ausführungsform kann ein Prozessor einen oder mehrere Schaltkreise aufweisen, um zu bewirken, dass ein oder mehrere von mindestens einem Durchflussregler einen Durchfluss eines Fluids, wie eines sekundären Kühlmittels, eines lokalen Kühlmittels oder eines anderen Fluids anhält oder ändert. In mindestens einer Ausführungsform kann ein Prozessor einen oder mehrere Schaltkreise aufweisen, um eine zweite Änderung an einem drehzahlveränderbaren Lüfter zu bewirken oder um eine Verwendung einer modularen Einheit zu ermöglichen.
  • In mindestens einer Ausführungsform kann eine Ausgabe eines Prozessors ausgelegt sein, Signale für einen oder mehrere von mindestens einem Durchflussregler oder einem drehzahlveränderbaren Lüfter bereitzustellen. In mindestens einer Ausführungsform können ein oder mehrere Durchflussregler einen Fluiddurchfluss durch eine Kühlplatte ermöglichen. In mindestens einer Ausführungsform kann ein drehzahlveränderbarer Lüfter Gebläseluft mit unterschiedlichen Drehzahlen für einen Wärmetauscher ermöglichen. In mindestens einer Ausführungsform können ein oder mehrere neuronale Netze ausgelegt sein, um Sensoreingaben zu empfangen und eine Veränderung eines Kühlmittelzustands als Teil der Analyse der vorherigen Sensoreingaben und vorherigen Kühlmittelzustände abzuleiten.
  • In mindestens einer Ausführungsform kann eine Eingabe eines Prozessors so ausgelegt sein, dass sie Sensoreingaben empfängt, die einer Temperatur von mindestens einer Rechenvorrichtung oder einem Fluid zugeordnet sind. In mindestens einer Ausführungsform sind ein oder mehrere neuronale Netze ausgelegt, teilweise auf Grundlage einer Temperatur und von vorherigen Temperaturen, die von mindestens einer Rechenvorrichtung und/oder von mindestens einem Fluid eines sekundären Kühlkreislaufs oder eines lokalen Kühlkreislaufs sein können, abzuleiten, dass eine Veränderung in einem Kühlmittelzustand eingetreten ist. In mindestens einer Ausführungsform sind ein oder mehrere Schaltkreise eines Prozessors ausgelegt, eine Drehzahländerung eines drehzahlveränderbaren Lüfters zumindest teilweise auf Grundlage einer Schlussfolgerung durch ein oder mehrere neuronale Netze zu bewirken.
  • In mindestens einer Ausführungsform weist jeder von mindestens einem Prozessor, der in den 1-4 beschrieben wurde, Inferenz- und/oder Trainingslogik 1815 auf, die ohne Einschränkung Folgendes beinhalten kann: einen Code- und/oder Datenspeicher 1801, um Gewichtsdaten und/oder Eingabe-/Ausgabedaten und/oder andere Parameter vorwärtsgerichtet zu speichern und/oder auszugeben, um Neuronen oder Schichten eines neuronalen Netzes zu konfigurieren, das in Aspekten einer oder mehrerer Ausführungsformen trainiert und/oder zum Schlussfolgern verwendet wird. In mindestens einer Ausführungsform kann die Trainingslogik 1815 einen Code- und/oder Datenspeicher 1801 beinhalten oder mit diesem gekoppelt sein, um einen Graphencode oder eine andere Software zu speichern, die das Timing und/oder die Reihenfolge steuert, in der Gewichts- und/oder andere Parameterinformationen geladen werden können, um eine Logik zu konfigurieren, einschließlich Ganzzahl- und/oder Gleitkommaeinheiten (zusammenfassend als arithmetische Logikeinheiten (ALUs) bezeichnet). In mindestens einer Ausführungsform lädt Code, wie etwa Graphencode, Gewichts- oder andere Parameterinformationen in Prozessor-ALUs basierend auf einer Architektur eines neuronalen Netzes, dem derartiger Code entspricht. In mindestens einer Ausführungsform speichert der Code- und/oder Datenspeicher 1801 Gewichtsparameter und/oder Eingabe-/Ausgabedaten jeder Schicht eines neuronalen Netzes, das in Verbindung mit einer oder mehreren Ausführungsformen trainiert oder verwendet wird, während der Vorwärtspropagierung von Eingabe-/Ausgabedaten und/oder Gewichtsparametern während des Trainierens und/oder Ableitens unter Verwendung von Aspekten einer oder mehrerer Ausführungsformen. In mindestens einer Ausführungsform kann ein beliebiger Teil des Code- und/oder Datenspeichers 1801 in einem anderen chipinternen oder chipexternen Datenspeicher beinhaltet sein, was einen L1-, L2- oder L3-Cache oder Systemspeicher eines Prozessors beinhaltet.
  • In mindestens einer Ausführungsform kann eine Inferenz- und/oder Trainingslogik 1815 von mindestens einem Prozessor Teil eines Gebäudemanagementsystems (building management system - BMS) zur Steuerung von Durchflussreglern auf einer oder mehreren der Ebenen Server, Rack und Reihe sein. In mindestens einer Ausführungsform kann einem oder mehreren neuronalen Netzen einer Inferenz- und/oder Trainingslogik 1815 eine Feststellung bereitgestellt werden, einen Durchflussregler einzukoppeln, der einem lokalen Kühlkreislauf, einer modularen Einheit, einer CDU, Kühlplatten oder Kühlverteilern zugeordnet ist, um ein oder mehrere neuronale Netze dazu zu veranlassen abzuleiten, welche Durchflussregler bei Kühlmittelanforderungen für ein(e/-n) oder mehrere Kühlplatten, Server oder Racks ordnungsgemäß aus entweder einem sekundären Kühlkreislauf oder einem lokalen Kühlkreislauf ein- oder ausgekoppelt werden sollen. In mindestens einer Ausführungsform kann die Erhöhung oder Verringerung des Fluiddurchflusses von Durchflussreglern aktiviert werden, die von einer Inferenz- und/oder Trainingslogik 1815 mindestens eines Prozessors gesteuert werden, der einer Steuerlogik zugeordnet ist, die einem lokalen Kühlkreislauf zugeordnet ist. In mindestens einer Ausführungsform können ein oder mehrere neuronale Netze einer Inferenz- und/oder Trainingslogik 1815 das eine oder mehrere neuronale Netze veranlassen, abzuleiten, welcher drehzahlveränderbare Lüfter kontrolliert zu aktivieren, deaktivieren oder auf Kühlanforderungen einer oder mehrerer Kühlplatten anzupassen ist.
  • In mindestens einer Ausführungsform kann mindestens ein Prozessor einem lokalen Kühlkreislauf und einem sekundären Kühlkreislauf zugeordnet werden. In mindestens einer Ausführungsform beinhaltet mindestens ein Prozessor eine Steuerlogik, wie z. B. eine Inferenz- und/oder Trainingslogik 1815, und ist mindestens einem Durchflussregler zugeordnet. In mindestens einer Ausführungsform kann mindestens ein Durchflussregler einen eigenen jeweiligen Prozessor oder Mikrocontroller aufweisen. In mindestens einer Ausführungsform führt ein Prozessor oder ein Mikrocontroller Anweisungen aus, die ihm von einer Steuerlogik übermittelt werden. In mindestens einer Ausführungsform kann eine Steuerlogik dazu dienen, eine Veränderung eines Kühlmittelzustands, wie etwa einen Ausfall in einem sekundären Kühlkreislauf (wie etwa einer CDU und Kühlverteilern) oder einem primären Kühlkreislauf (wie etwa einer Kälteanlage, Kühlverteilern und auch einer zugeordneten CDU), zu bestimmen. In mindestens einer Ausführungsform kann auch ein Ausfall eintreten, wobei eine modulare Einheit eine andere modulare Einheit als Ersatz benötigt. In mindestens einer Ausführungsform kann eine Steuerlogik mindestens einen Durchflussregler dazu veranlassen, eine Kühlmittelreaktion bereitzustellen, wie etwa durch Einkoppeln eines lokalen Kühlkreislaufs mit einer Fluidquelle und einem Flüssigkeit-Luft-Wärmetauscher, um lokales Kühlmittel oder sekundäres Kühlmittel für mindestens eine Rechenvorrichtung bereitzustellen.
  • In mindestens einer Ausführungsform kann eine Steuerlogik ein zweites Signal an mindestens einen Durchflussregler veranlassen, um ein Starten eines sekundären Kühlmittels von einem sekundären Kühlkreislauf als Teil einer Kühlmittelreaktion zu ermöglichen. In mindestens einer Ausführungsform kann eine Steuerlogik ein zweites Signal an mindestens einen Durchflussregler veranlassen, um ein Starten eines lokalen Kühlmittels von einem lokalen Kühlkreislauf mit einer modularen Einheit als Teil einer Kühlmittelreaktion zu ermöglichen. In mindestens einer Ausführungsform kann ein Anpassen eines drehzahlveränderbaren Lüfters in einer modularen Einheit eine weitere Kühlmittelreaktion sein. In mindestens einer Ausführungsform kann eine Steuerlogik Sensoreingaben von Sensoren empfangen, die einem sekundären Kühlmittel einer CDU, einem lokalen Kühlmittel und/oder mindestens einer Rechenvorrichtung zugeordnet sind. In mindestens einer Ausführungsform kann mindestens ein Prozessor eine Veränderung in einem Kühlmittelzustand teilweise auf Grundlage von Sensoreingaben ermitteln. In mindestens einer Ausführungsform können ein oder mehrere neuronale Netze einer Inferenz- und/oder Trainingslogik 1815 ausgelegt sein, um Sensoreingaben zu empfangen und eine Veränderung eines Kühlmittelzustands abzuleiten.
  • In mindestens einer Ausführungsform beinhaltet mindestens ein Prozessor einen oder mehrere Schaltkreise für ein oder mehrere neuronale Netze, wie etwa eine Inferenz- und/oder Trainingslogik 1815. In mindestens einer Ausführungsform kann die Inferenz- und/oder Trainingslogik 1815 dazu ausgelegt sein, aus Sensoreingaben, die mindestens einem Server oder mindestens einem Rack zugeordnet sind, eine Veränderung eines Kühlmittelzustands abzuleiten, wie zum Beispiel, dass ein Kühlmittel von einer CDU unwirksam ist oder bei Eintritt in ein Rack zu viel Wärme beibehält. In mindestens einer Ausführungsform können ein oder mehrere Schaltkreise dazu ausgelegt sein, zu bewirken, dass mindestens ein Durchflussregler eine Kühlmittelreaktion von einem lokalen Kühlkreislauf einer modularen Einheit bereitstellt.
  • In mindestens einer Ausführungsform kann Steuerlogik, die einem oder mehreren Schaltkreisen zugeordnet ist, ein erstes Signal (zusammen mit allen zugehörigen Signalen) an mindestens einen Durchflussregler veranlassen, um eine Kühlmittelreaktion zu ermöglichen. In mindestens einer Ausführungsform kann ein zweites Signal an mindestens einen drehzahlveränderbaren Lüfter ebenfalls eine Kühlmittelreaktion ermöglichen. In mindestens einer Ausführungsform wird durch einen oder mehrere Schaltkreise mindestens eines Prozessors eine verteilte oder eine integrierte Architektur ermöglicht. In mindestens einer Ausführungsform kann eine verteilte Architektur durch gesondert angeordnete Schaltkreise von einem oder mehreren Schaltkreisen unterstützt werden.
  • In mindestens einer Ausführungsform können ein oder mehrere neuronale Netze einer Inferenz- und/oder Trainingslogik 1815 ausgelegt sein, einen Anstieg oder einen Abfall an Kühlbedarf mindestens einer Rechenkomponente mindestens eines Servers abzuleiten. In mindestens einer Ausführungsform können ein oder mehrere Schaltkreise dazu ausgelegt sein, einen Kühlkreislauf mit einer modularen Einheit und einen Flüssigkeit-Luft-Wärmetauscher zu veranlassen, um verringerte Kühlanforderungen wirtschaftlich zu behandeln oder erhöhte Kühlanforderungen für mindestens eine Rechenkomponente zu ergänzen. In mindestens einer Ausführungsform stellt das Aktivieren eines Kühlkreislaufs eine Kühlmittelreaktion von einem lokalen Kühlkreislauf dar, um einer jeweiligen Erhöhung oder einer jeweiligen Verringerung von Kühlanforderungen von mindestens einer Rechenkomponente von mindestens einem Server teilweise basierend auf Arbeitslast zuvorzukommen, die von mindestens einer Rechenkomponente übermittelt wird.
  • In mindestens einer Ausführungsform beinhaltet mindestens ein Prozessor einen oder mehrere Schaltkreise, wie etwa eine Inferenz- und/oder Trainingslogik 1815, um ein oder mehrere neuronale Netze zu trainieren, um Schlussfolgerungen aus bereitgestellten Daten vorzunehmen. In mindestens einer Ausführungsform kann die Inferenz- und/oder Trainingslogik 1815 aus Sensoreingaben, die mindestens einem Server oder mindestens einem Rack zugeordnet sind, eine Veränderung eines Kühlmittelzustands ableiten. In mindestens einer Ausführungsform kann eine Inferenz verwendet werden, um einen oder mehrere Schaltkreise zu aktivieren, um mindestens einen Durchflussregler eines alternativen Kühlkreislaufs zu veranlassen, eine Kühlmittelreaktion bereitzustellen. In mindestens einer Ausführungsform kann eine Kühlmittelreaktion sein, dass eine Kühlmittelreaktion von einem lokalen Kühlkreislauf veranlasst wird, um Wärme in einem lokalen Kühlmittel einer modularen Einheit aufzunehmen und aufgenommene Wärme mit einer Umgebung von einem Flüssigkeit-Luft-Wärmetauscher anstelle eines sekundären Kühlkreislaufs mit einer CDU auszutauschen.
  • In mindestens einer Ausführungsform können ein oder mehrere Schaltkreise ausgelegt sein, ein oder mehrere neuronale Netze zu trainieren, um einen Anstieg oder einen Abfall an Kühlbedarf mindestens einer Rechenkomponente mindestens eines Servers abzuleiten. In mindestens einer Ausführungsform können ein oder mehrere Schaltkreise dazu ausgelegt sein, ein oder mehrere neuronale Netze dazu zu trainieren abzuleiten, dass eine Erhöhung oder eine Verringerung der Durchflussmenge aus einem sekundären Kühlkreislauf mit einem inkorrekten Durchfluss von sekundärem Kühlmittel aufgrund einer ausgefallenen CDU oder einer jeweiligen Erhöhung oder einer jeweiligen Verringerung der Leistungsanforderungen mindestens einer Rechenkomponente mindestens eines Servers verbunden ist.
  • In mindestens einer Ausführungsform können ein oder mehrere neuronale Netze dazu trainiert sein, Schlussfolgerungen aus vorherigen zugeordneten Wärmemerkmalen oder Kühlanforderungen von Rechenvorrichtern, Servern oder Racks und Kühlleistung oder - leistungen, die durch eine Fluidquelle eines lokalen Kühlkreislaufs angegeben sind, vorzunehmen. In mindestens einer Ausführungsform können vorherige Kühlanforderungen, die durch einen lokalen Kühlkreislauf erfüllt werden, verwendet werden, um ein oder mehrere neuronale Netze zu veranlassen, ähnliche Schlussfolgerungen für zukünftige ähnliche Kühlanforderungen (unter Berücksichtigung kleiner Abweichungen davon) vorzunehmen, die durch Einstellen eines oder mehrerer Durchflussregler erfüllt werden sollen, um einen lokalen Kühlkreislauf einzukoppeln.
  • 5 veranschaulicht ein Verfahren 500, das gemäß mindestens einer Ausführungsform einem Kühlsystem eines Rechenzentrums aus den 2-4 zugeordnet ist. In mindestens einer Ausführungsform beinhaltet ein Verfahren 500 einen Schritt 502 zum Bereitstellen einer modularen Einheit, die einen Wärmetauscher, einen drehzahlveränderbaren Lüfter und mindestens einen Durchflussregler aufweist. In mindestens einer Ausführungsform beinhaltet Schritt 502 ein Auslegen einer modularen Einheit dazu, austauschbar oder während des Betriebs austauschbar zu sein. In mindestens einer Ausführungsform ermöglicht Schritt 504 eine Fluidkopplung zwischen einer modularen Einheit und einer Kühlplatte, die Mikrokanäle aufweisen kann. In mindestens einer Ausführungsform führt Schritt 506 eine Ermittlung durch, ob eine Kühlung für mindestens eine Rechenvorrichtung erforderlich ist, die einer Kühlplatte zugeordnet ist. In mindestens einer Ausführungsform ermöglicht Schritt 508 mindestens einem Durchflussregler, Fluid durch Mikrokanäle einer Kühlplatte nach Ermittlung in Schritt 506 zu leiten, dass eine Kühlung erforderlich ist.
  • In mindestens einer Ausführungsform kann die Erforderlichkeit der Kühlung zumindest teilweise auf Grundlage von Sensoren sein, die eine Eingabe bereitstellen, sodass eine derartige Ermittlung erfolgen kann. In mindestens einer Ausführungsform kann die Erforderlichkeit der Kühlung zusätzlich zu bestehender bereitgestellter Kühlung sein, die jedoch als unzureichend betrachtet wird. In mindestens einer Ausführungsform kann die Erforderlichkeit der Kühlung in Bezug auf wirtschaftlicherer Kühlung als eine bestehende sein, die bereits Wärme von mindestens einer Rechenvorrichtung ableitet. In mindestens einer Ausführungsform stellt eine modulare Einheit eine wirksame Abfuhr von Wärme mit hoher Dichte mit geringerer Wahrscheinlichkeit von Lecks sicher, aber kann auf eine Behandlung eines Schwellenwerts einer Kühlanforderung beschränkt sein, der geringer als eine Kühlanforderung sein kann, die von einem sekundären Kühlkreislauf behandelt wird. In mindestens einer Ausführungsform ermöglicht Schritt 510 ein Leiten von Fluid, das abgeleitete Wärme von einer Kühlplatte beinhaltet, durch einen Wärmetauscher. In mindestens einer Ausführungsform, falls keine Kühlung erforderlich ist, kann eine Fluidkopplung wie in Schritt 504 weiterhin aktiviert sein. In mindestens einer Ausführungsform führt Schritt 512 eine Ableitung von Wärme durch Gebläseluft von einem drehzahlveränderbaren Lüfter durch.
  • In mindestens einer Ausführungsform beinhaltet das Verfahren 500 einen Schritt oder Teilschritt zum Ermitteln, durch mindestens einen Prozessor, einer mindestens einer Rechenvorrichtung oder einem Fluid zugeordneten Temperatur und Bewirken einer Drehzahländerung eines drehzahlveränderbaren Lüfters als Teil eines letzten Schritts 512. In mindestens einer Ausführungsform enthält das Verfahren 500 einen Schritt oder Teilschritt zum Ermöglichen einer Kupferspirale oder -platte, ein Wärmetauscher zu sein.
  • In mindestens einer Ausführungsform enthält das Verfahren 500 einen Schritt oder Teilschritt zum Ermöglichen, dass eine Kühlplatte erste Anschlüsse für einen ersten Abschnitt von Mikrokanälen aufnimmt, um ein Kühlmittel zu unterstützen, verschieden von einem zweiten Abschnitt von Mikrokanälen, die ein anderes Fluid unterstützen. In mindestens einer Ausführungsform enthält das Verfahren 500 einen Schritt oder Teilschritt zum Ermöglichen, dass mindestens ein Prozessor Sensoreingaben von Sensoren empfängt, die mindestens einer Rechenvorrichtung oder einem Fluid zugeordnet sind, wie zum Beispiel einem sekundären Kühlmittel, einem lokalen Kühlmittel oder einem anderen Fluid. In mindestens einer Ausführungsform enthält das Verfahren 500 einen Schritt oder Teilschritt zum Ermitteln, durch mindestens einen Prozessor, einer Veränderung in einem Kühlmittelzustand, zumindest teilweise auf Grundlage von Sensoreingaben von Sensoren, die einer Rechenvorrichtung, einer modularen Einheit, einem sekundären Kühlmittel, einem lokalen Kühlmittel oder einem anderen Fluid zugeordnet sind. In mindestens einer Ausführungsform enthält das Verfahren 500 einen Schritt oder Teilschritt zum Bewirken oder Aktivieren von einem oder mehreren von Folgendem: dass mindestens ein Durchflussregler einen Durchfluss eines Fluids durch eine modulare Einheit und/oder eine Kühlplatte anhält oder eine Änderung dieses bewirkt; dass mindestens ein Prozessor eine Veränderung am drehzahlveränderbaren Lüfter bewirkt; oder eine Verwendung einer modularen Einheit. In mindestens einer Ausführungsform ermöglicht ein Anhalten eines Durchflusses eine rasche Trennung von Durchflussreglern, die zu trennen sind, und ermöglicht eine Entfernung und einen Austausch einer modularen Einheit.
  • Server und Rechenzentren
  • Die folgenden Figuren legen ohne Einschränkung beispielhafte Netzwerkserver und System auf Basis von Rechenzentren dar, die verwendet werden können, um mindestens eine Ausführungsform zu implementieren.
  • 6 veranschaulicht ein verteiltes System 600 gemäß mindestens einer Ausführungsform. In mindestens einer Ausführungsform beinhaltet das verteilte System 600 eine oder mehrere Client-Rechenvorrichtungen 602, 604, 606 und 608, die dazu konfiguriert sind, eine Client-Anwendung, wie etwa einen Webbrowser, einen proprietären Client und/oder Variationen davon, über ein oder mehrere Netzwerke 610 auszuführen und zu betreiben. In mindestens einer Ausführungsform kann der Server 612 über das Netzwerk 610 kommunikativ mit entfernten Client-Rechenvorrichtungen 602, 604, 606 und 608 gekoppelt sein.
  • In mindestens einer Ausführungsform kann der Server 612 ausgelegt sein, um einen oder mehrere Dienste oder eine oder mehrere Softwareanwendungen auszuführen, wie etwa Dienste und Anwendungen, die Sitzungsaktivitäten des Zugriffs mit einmaliger Anmeldung (single signon - SSO) über mehrere Rechenzentren hinweg verwalten können. In mindestens einer Ausführungsform kann der Server 612 auch andere Dienste bereitstellen oder können Softwareanwendungen nicht virtuelle und virtuelle Umgebungen beinhalten. In mindestens einer Ausführungsform können diese Dienste Benutzern der Client-Rechenvorrichtungen 602, 604, 606 und/oder 608 als webbasierte oder Cloud-Dienste oder im Rahmen eines Software-as-a-Service (SaaS)-Modells angeboten werden. In mindestens einer Ausführungsform können Benutzer, die Client-Rechenvorrichtungen 602, 604, 606 und/oder 608 betreiben, wiederum eine oder mehrere Client-Anwendungen nutzen, um mit dem Server 612 zu interagieren, um durch diese Komponenten bereitgestellte Dienste zu nutzen.
  • In mindestens einer Ausführungsform sind die Softwarekomponenten 618, 620 und 622 des Systems 600 auf dem Server 612 implementiert. In mindestens einer Ausführungsform können eine oder mehrere Komponenten des Systems 600 und/oder durch diese Komponenten bereitgestellte Dienste auch durch eine oder mehrere der Client-Rechenvorrichtungen 602, 604, 606 und/oder 608 implementiert sein. In mindestens einer Ausführungsform können Benutzer, die Client-Rechenvorrichtungen betreiben, dann eine oder mehrere Client-Anwendungen nutzen, um durch diese Komponenten bereitgestellte Dienste zu nutzen. In mindestens einer Ausführungsform können diese Komponenten in Hardware, Software, Firmware oder Kombinationen davon implementiert sein. Es versteht sich, dass verschiedene unterschiedliche Systemkonfigurationen möglich sind, die sich von dem verteilten System 600 unterscheiden können. Die in 6 dargestellte Ausführungsform ist somit mindestens eine Ausführungsform eines verteilten Systems zum Implementieren einer Ausführungsform eines Systems und soll nicht einschränkend sein.
  • In mindestens einer Ausführungsform können die Client-Rechenvorrichtungen 602, 604, 606 und/oder 608 verschiedene Arten von Computersystemen beinhalten. In mindestens einer Ausführungsform kann eine Client-Rechenvorrichtung transportable Vorrichtungen (z. B. ein iPhone®, Mobiltelefon, ein iPad®, ein Computertablet, einen persönlichen digitalen Assistenten (PDA)) oder tragbare Vorrichtungen (z. B. ein Google Glass® mit am Kopf montierter Anzeige) beinhalten, auf denen Software wie Microsoft Windows Mobile® und/oder eine Vielzahl von mobilen Betriebssystemen wie iOS, Windows Phone, Android, BlackBerry 10, Palm OS und/oder Variationen davon ausgeführt wird. In mindestens einer Ausführungsform können Vorrichtungen verschiedene Anwendungen unterstützen, wie etwa verschiedene internetbezogene Anwendungen, E-Mail, Kurznachrichtendienst(SMS)-Anwendungen und können verschiedene andere Kommunikationsprotokolle verwenden. In mindestens einer Ausführungsform können Client-Rechenvorrichtungen auch Allzweck-Personalcomputer beinhalten, einschließlich, mittels mindestens einer Ausführungsform, Personalcomputer und/oder Laptop-Computer, auf denen verschiedene Versionen von Microsoft Windows®, Apple Macintosh® und/oder Linux-Betriebssysteme laufen.
  • In mindestens einer Ausführungsform können Client-Rechenvorrichtungen Workstation-Computer sein, auf denen ein beliebiges von einer Vielzahl von kommerziell erhältlichen UNIX® oder UNIX-ähnlichen Betriebssystemen läuft, einschließlich ohne Einschränkung eine Vielzahl von GNU/Linux-Betriebssystemen, wie beispielsweise Google Chrome OS. In mindestens einer Ausführungsform können Client-Rechenvorrichtungen auch elektronische Vorrichtungen beinhalten, wie etwa einen Thin-Client-Computer, ein internetfähiges Spielsystem (z. B. eine Microsoft Xbox-Spielekonsole mit oder ohne Kinect®-Gesteneingabevorrichtung) und/oder eine persönliche Nachrichtenvorrichtung, die in der Lage ist, über Netzwerk(e) 610 zu kommunizieren. Auch wenn das verteilte System 600 in 6 mit vier Client-Rechenvorrichtungen dargestellt ist, kann eine beliebige Anzahl von Client-Rechenvorrichtungen unterstützt werden. Andere Vorrichtungen, wie etwa Vorrichtungen mit Sensoren usw., können mit dem Server 612 interagieren.
  • In mindestens einer Ausführungsform kann/können das/die Netzwerk(e) 610 in dem verteilten System 600 jede Art von Netzwerk sein, das Datenkommunikationen unter Verwendung eines beliebigen einer Vielzahl von verfügbaren Protokollen unterstützen kann, einschließlich ohne Einschränkung TCP/IP (transmission control protocol/Internet protocol - Übertragungssteuerungsprotokoll/Internetprotokoll), SNA (Systemnetzwerkarchitektur), IPX (Internet Packet Exchange), AppleTalk und/oder Variationen davon. In mindestens einer Ausführungsform kann/können das/die Netzwerk(e) 610 ein lokales Netzwerk (LAN), Netzwerke basierend auf Ethernet, Token-Ring, ein Weitverkehrsnetzwerk, Internet, ein virtuelles Netzwerk, ein virtuelles privates Netzwerk (VPN), ein Intranet, ein Extranet, ein öffentliches Telefonnetz (PSTN), ein Infrarotnetz, ein drahtloses Netz (z. B. ein Netzwerk, das gemäß einem beliebigen von Institute of Electrical and Electronics (IEEE) 802.11 Protokollsuite, Bluetooth® und/oder einem beliebigen anderen drahtlosen Protokoll arbeitet) und/oder eine beliebige Kombination dieser und/oder anderer Netzwerke sein.
  • In mindestens einer Ausführungsform kann der Server 612 aus einem oder mehreren Allzweckcomputern, spezialisierten Server-Computern (einschließlich mittels mindestens einer Ausführungsform PC(Personal Computer)-Servern, UNIX®-Servern, Midrange-Servern, Mainframes, Rack-montierten Servern usw.), Serverfarmen, Serverclustem oder jede andere geeignete Anordnung und/oder Kombination bestehen. In mindestens einer Ausführungsform kann der Server 612 eine oder mehrere virtuelle Maschinen, auf denen virtuelle Betriebssysteme laufen, oder andere Rechenarchitekturen mit Virtualisierung beinhalten. In mindestens einer Ausführungsform können ein oder mehrere flexible Pools logischer Speichervorrichtungen virtualisiert werden, um virtuelle Speichervorrichtungen für einen Server zu verwalten. In mindestens einer Ausführungsform können virtuelle Netzwerke durch den Server 612 unter Verwendung von softwaredefinierten Netzwerken gesteuert werden. In mindestens einer Ausführungsform kann der Server 612 ausgelegt sein, um einen oder mehrere Dienste oder eine oder mehrere Softwareanwendungen auszuführen.
  • In mindestens einer Ausführungsform kann der Server 612 ein beliebiges Betriebssystem sowie ein beliebiges im Handel erhältliches Server-Betriebssystem ausführen. In mindestens einer Ausführungsform kann der Server 612 auch eine beliebige einer Vielzahl zusätzlicher Serveranwendungen und/oder Mid-Tier-Anwendungen ausführen, einschließlich HTTP-Server (Hypertext Transport Protocol), FTP-Server (File Transfer Protocol), CGI-Server (Common Gateway Interface), JAVA®-Server, Datenbankserver und/oder Variationen davon. In mindestens einer Ausführungsform beinhalten beispielhafte Datenbankserver ohne Einschränkung diejenigen, die im Handel von Oracle, Microsoft, Sybase, IBM (International Business Machines) erhältlich sind, und/oder Variationen davon.
  • In mindestens einer Ausführungsform kann der Server 612 eine oder mehrere Anwendungen beinhalten, um Datenfeeds und/oder Ereignisaktualisierungen zu analysieren und zu konsolidieren, die von Benutzern der Client-Rechenvorrichtungen 602, 604, 606 und 608 empfangen werden. In mindestens einer Ausführungsform können Datenfeeds und/oder Ereignisaktualisierungen Twitter®-Feeds, Facebook®-Aktualisierungen oder Echtzeitaktualisierungen, die von einer oder mehreren Drittanbieter-Informationsquellen empfangen werden, und kontinuierliche Datenströme, die Echtzeitereignisse in Bezug auf Sensordatenanwendungen, Finanzticker, Netzwerkleistungsmesstools (z. B. Netzwerküberwachungs- und Verkehrsverwaltungsanwendungen), Clickstream-Analysetools, Automobilverkehrsüberwachung beinhalten können, und/oder Variationen davon beinhalten, ohne darauf beschränkt zu sein. In mindestens einer Ausführungsform kann der Server 612 auch eine oder mehrere Anwendungen beinhalten, um Datenfeeds und/oder Ereignisaktualisierungen über eine oder mehrere Anzeigevorrichtungen der Client-Rechenvorrichtungen 602, 604, 606 und 608 anzuzeigen.
  • In mindestens einer Ausführungsform kann das verteilte System 600 zudem eine oder mehrere Datenbanken 614 und 616 beinhalten. In mindestens einer Ausführungsform können Datenbanken einen Mechanismus zum Speichern von Informationen bereitstellen, wie etwa Benutzerinteraktionsinformationen, Nutzungsmusterinformationen, Anpassungsregelinformationen und andere Informationen. In mindestens einer Ausführungsform können sich die Datenbanken 614 und 616 an einer Vielzahl von Standorten befinden. In mindestens einer Ausführungsform können sich eine oder mehrere der Datenbanken 614 und 616 auf einem nichttransitorischen Speichermedium lokal auf (und/oder in) dem Server 612 befinden. In mindestens einer Ausführungsform können die Datenbanken 614 und 616 vom Server 612 entfernt sein und mit dem Server 612 über eine netzwerkbasierte oder dedizierte Verbindung kommunizieren. In mindestens einer Ausführungsform können sich die Datenbanken 614 und 616 in einem Speicherbereichsnetzwerk (SAN) befinden. In mindestens einer Ausführungsform können alle erforderlichen Dateien zum Durchführen von Funktionen, die dem Server 612 zugeschrieben werden, je nach Bedarf lokal auf dem Server 612 und/oder entfernt gespeichert sein. In mindestens einer Ausführungsform können die Datenbanken 614 und 616 relationale Datenbanken beinhalten, wie etwa Datenbanken, die ausgelegt sind, um Daten als Reaktion auf SQL-formatierte Befehle zu speichern, zu aktualisieren und abzurufen.
  • 7 veranschaulicht ein beispielhaftes Rechenzentrum 700 gemäß mindestens einer Ausführungsform. In mindestens einer Ausführungsform beinhaltet das Rechenzentrum 700 ohne Einschränkung eine Rechenzentrumsinfrastrukturschicht 710, eine Framework-Schicht 720, eine Softwareschicht 730 und eine Anwendungsschicht 740.
  • In mindestens einer Ausführungsform kann, wie in 7 dargestellt, die Rechenzentrumsinfrastrukturschicht 710 einen Ressourcen-Orchestrator 712, gruppierte Rechenressourcen 714 und Knoten-Rechenressourcen („Knoten-CRs“) 716(1)-716(N) beinhalten, wobei „N“ eine beliebige ganze positive Zahl darstellt. In mindestens einer Ausführungsform können die Knoten-CRs 716(1)-716(N) eine beliebige Anzahl von Zentraleinheiten („CPU“) oder andere Prozessoren (die Beschleuniger, feldprogrammierbare Gatearrays („FPGA“), Grafikprozessoren usw.), Arbeitsspeichervorrichtungen (z. B. dynamischer Nur-Lese-Speicher), Datenspeichervorrichtungen (z. B. Festkörper- oder Festplattenlaufwerke), Netzwerk-Ein-/Ausgabevorrichtungen („NW E/A“), Netzwerk-Switches, virtuellen Maschinen („VM“), Leistungsmodule und Kühlmodule usw. beinhalten, ohne darauf beschränkt zu sein. In mindestens einer Ausführungsform können einer oder mehrere Knoten-CRs von den Knoten-CRs 716(1)-716(N) ein Server mit einer oder mehreren oben genannten Rechenressourcen sein.
  • In mindestens einer Ausführungsform können gruppierte Rechenressourcen 714 getrennte Gruppierungen von Knoten-CRs beinhalten, die in einem oder mehreren Racks (nicht dargestellt) untergebracht sind, oder vielen Racks, die in Rechenzentren an verschiedenen geografischen Standorten (ebenfalls nicht dargestellt) untergebracht sind. Getrennte Gruppierungen von Knoten-CRs innerhalb gruppierter Rechenressourcen 714 können gruppierte Rechen-, Netzwerk-, Arbeitsspeicher- oder Datenspeicherressourcen beinhalten, die konfiguriert oder zugewiesen sein können, um eine oder mehrere Rechenlasten zu unterstützen. In mindestens einer Ausführungsform können mehrere Knoten-CRs, die CPUs oder Prozessoren beinhalten, in einem oder mehreren Racks gruppiert sein, um Rechenressourcen bereitzustellen, um eine oder mehrere Rechenlasten zu unterstützen. In mindestens einer Ausführungsform können ein oder mehrere Racks zudem eine beliebige Anzahl von Leistungsmodulen, Kühlmodulen und Netzwerk-Switches in beliebiger Kombination beinhalten.
  • In mindestens einer Ausführungsform kann der Ressourcen-Orchestrator 712 einen oder mehrere Knoten-CRs 716(1)-716(N) und/oder gruppierte Rechenressourcen 714 konfigurieren oder anderweitig steuern. In mindestens einer Ausführungsform kann der Ressourcen-Orchestrator 712 eine Softwaredesigninfrastruktur(„SDI“-)Verwaltungsinstanz für das Rechenzentrum 700 beinhalten. In mindestens einer Ausführungsform kann der Ressourcen-Orchestrator 712 Hardware, Software oder eine Kombination davon beinhalten.
  • In mindestens einer Ausführungsform beinhaltet die Framework-Schicht 720, wie in 7 dargestellt, ohne Einschränkung einen Aufgaben-Scheduler 732, einen Konfigurationsmanager 734, einen Ressourcenmanager 736 und ein verteiltes Dateisystem 738. In mindestens einer Ausführungsform kann die Framework-Schicht 720 ein Framework beinhalten, um Software 752 der Softwareschicht 730 und/oder eine oder mehrere Anwendung(en) 742 der Anwendungsschicht 740 zu unterstützen. In mindestens einer Ausführungsform kann/können die Software 752 oder die Anwendung(en) 742 jeweils webbasierte Dienstsoftware oder -anwendungen beinhalten, wie etwa diejenigen, die von Amazon Web Services, Google Cloud und Microsoft Azure bereitgestellt sind. In mindestens einer Ausführungsform kann die Framework-Schicht 720 eine Art von freiem und Open-Source-Software-Webanwendungs-Framework sein, ohne darauf beschränkt zu sein, wie etwa Apache SparkTM (im Folgenden „Spark“), das das verteilte Dateisystem 738 für umfangreiche Datenverarbeitungen (z. B. „Big Data“) nutzen kann. In mindestens einer Ausführungsform kann der Aufgaben-Scheduler 732 einen Spark-Treiber beinhalten, um die Planung von Rechenlasten zu erleichtern, die durch verschiedene Schichten des Rechenzentrums 700 unterstützt werden. In mindestens einer Ausführungsform kann der Konfigurationsmanager 734 in der Lage sein, unterschiedliche Schichten zu konfigurieren, wie etwa die Softwareschicht 730 und die Framework-Schicht 720, was Spark und das verteilte Dateisystem 738 zum Unterstützen einer umfangreicher Datenverarbeitung beinhaltet. In mindestens einer Ausführungsform kann der Ressourcenmanager 736 in der Lage sein, geclusterte oder gruppierte Rechenressourcen zu verwalten, die auf das verteilte Dateisystem 738 und den Aufgaben-Scheduler 732 zur Unterstützung abgebildet oder diesen zugewiesen sind. In mindestens einer Ausführungsform können geclusterte oder gruppierte Rechenressourcen eine gruppierte Rechenressource 714 auf der Rechenzentrumsinfrastrukturschicht 710 beinhalten. In mindestens einer Ausführungsform kann sich der Ressourcenmanager 736 mit dem Ressourcen-Orchestrator 712 koordinieren, um diese abgebildeten oder zugewiesenen Rechenressourcen zu verwalten.
  • In mindestens einer Ausführungsform kann die in der Softwareschicht 730 beinhaltete Software 752 Software beinhalten, die durch mindestens Teile der Knoten-CR 716(1)-716(N), gruppierte Rechenressourcen 714 und/oder das verteilte Dateisystem 738 der Framework-Schicht 720 verwendet werden. Eine oder mehrere Arten von Software können Internet-Webseiten-Suchsoftware, E-Mail-Virenscan-Software, Datenbanksoftware und Streaming-Videoinhalt-Software beinhalten, ohne darauf beschränkt zu sein.
  • In mindestens einer Ausführungsform kann/können die Anwendung(en) 742, die in der Anwendungsschicht 740 beinhaltet ist/sind, eine oder mehrere Arten von Anwendungen beinhalten, die durch mindestens Teile der Knoten-CRs 716(1)-716(N), gruppierte Rechenressourcen 714 und/oder das verteilte Dateisystem 738 der Framework-Schicht 720 verwendet werden. In mindestens einer Ausführungsform können eine oder mehrere Arten von Anwendungen ohne Einschränkung CUDA-Anwendungen, 5G-Netzanwendungen, Anwendungen künstlicher Intelligenz, Rechenzentrumsanwendungen und/oder Variationen davon beinhalten.
  • In mindestens einer Ausführungsform können beliebige von dem Konfigurationsmanager 734, Ressourcenmanager 736 und Ressourcen-Orchestrator 712 eine beliebige Anzahl und Art von selbstmodifizierenden Handlungen auf Grundlage einer beliebigen Menge und Art von Daten implementieren, die auf jede technisch machbare Weise erfasst werden. In mindestens einer Ausführungsform können selbstmodifizierende Handlungen einen Rechenzentrumsbetreiber des Rechenzentrums 700 davon befreien, möglicherweise schlechte Konfigurationsentscheidungen zu treffen, und möglicherweise vermeiden, dass Teile eines Rechenzentrums nicht ausgelastet und/oder leistungsschwach sind.
  • 8 veranschaulicht ein Client-Server-Netzwerk 804, das durch eine Vielzahl von Netzwerk-Server-Computern 802 gebildet wird, die miteinander verbunden sind, gemäß mindestens einer Ausführungsform. In mindestens einer Ausführungsform speichert jeder Netzwerk-Server-Computer 802 Daten, auf die andere Netzwerk-Server-Computer 802 und Client-Computer 806 und Netzwerke 808 zugreifen können, die mit einem Weitverkehrsnetzwerk 804 verbunden sind. In mindestens einer Ausführungsform kann sich die Konfiguration eines Client-Server-Netzwerks 804 im Laufe der Zeit ändern, wenn Client-Computer 806 und ein oder mehrere Netzwerke 808 sich mit einem Netzwerk 804 verbinden und von diesem trennen, und wenn ein oder mehrere Hauptleitungs-Server-Computer 802 hinzugefügt oder aus einem Netzwerk 804 entfernt werden. In mindestens einer Ausführungsform, wenn ein Client-Computer 806 und ein Netzwerk 808 mit Netzwerk-Server-Computern 802 verbunden sind, beinhaltet das Client-Server-Netzwerk einen solchen Client-Computer 806 und ein Netzwerk 808. In mindestens einer Ausführungsform beinhaltet der Begriff Computer jede Vorrichtung oder jede Maschine, die in der Lage ist, Daten zu akzeptieren, vorgeschriebene Prozesse auf Daten anzuwenden und Ergebnisse von Prozessen bereitzustellen.
  • In mindestens einer Ausführungsform speichert das Client-Server-Netzwerk 804 Informationen, auf die Netzwerk-Server-Computer 802, entfernte Netzwerke 808 und Client-Computer 806 zugreifen können. In mindestens einer Ausführungsform werden die Netzwerk-Server-Computer 802 durch Mainframe-Computer, Minicomputer und/oder Mikrocomputer mit jeweils einem oder mehreren Prozessoren gebildet. In mindestens einer Ausführungsform sind die Server-Computer 802 durch drahtgebundene und/oder drahtlose Übertragungsmedien miteinander verbunden, wie etwa leitfähige Drähte, Glasfaserkabel und/oder Mikrowellenübertragungsmedien, Satellitenübertragungsmedien oder andere leitfähige, optische oder elektromagnetische Wellenübertragungsmedien. In mindestens einer Ausführungsform greifen Client-Computer 806 auf einen Netzwerk-Server-Computer 802 durch ein ähnliches drahtgebundenes oder ein drahtloses Übertragungsmedium zu. In mindestens einer Ausführungsform kann sich ein Client-Computer 806 mit einem Client-Server-Netzwerk 804 unter Verwendung eines Modems und eines standardmäßigen Telefonkommunikationsnetzwerks verbinden. In mindestens einer Ausführungsform können auch alternative Trägersysteme wie Kabel- und Satellitenkommunikationssysteme verwendet werden, um sich mit dem Client-Server-Netzwerk 804 zu verbinden. In mindestens einer Ausführungsform können andere nichtöffentliche oder zeitgeteilte Trägersysteme verwendet werden. In mindestens einer Ausführungsform ist das Netzwerk 804 ein globales Informationsnetzwerk, wie etwa das Internet. In mindestens einer Ausführungsform ist das Netzwerk ein nichtöffentliches Intranet, das ähnliche Protokolle wie das Internet verwendet, jedoch mit zusätzlichen Sicherheitsmaßnahmen und eingeschränkten Zugriffskontrollen. In mindestens einer Ausführungsform ist das Netzwerk 804 ein nichtöffentliches oder halbprivates Netzwerk, das proprietäre Kommunikationsprotokolle verwendet.
  • In mindestens einer Ausführungsform ist der Client-Computer 806 ein beliebiger Endbenutzer-Computer und kann auch ein Mainframe-Computer, ein Minicomputer oder ein Mikrocomputer mit einem oder mehreren Mikroprozessoren sein. In mindestens einer Ausführungsform kann der Server-Computer 802 manchmal als ein Client-Computer fungieren, der auf einen anderen Server-Computer 802 zugreift. In mindestens einer Ausführungsform kann das entfernte Netzwerk 808 ein lokales Netzwerk sein, ein Netzwerk, das durch einen unabhängigen Dienstanbieter (ISP) für das Internet zu einem Weitverkehrsnetzwerk hinzugefügt wird, oder eine andere Gruppe von Computern, die durch drahtgebundene oder drahtlose Übertragungsmedien mit einer Konfiguration sein, die entweder feststehend ist oder sich im Laufe der Zeit ändert. In mindestens einer Ausführungsform können sich Client-Computer 806 unabhängig oder über ein entferntes Netzwerk 808 mit einem Netzwerk 804 verbinden und darauf zugreifen.
  • 9 veranschaulicht ein Computernetzwerk 908, das eine oder mehrere Rechenmaschinen verbindet, gemäß mindestens einer Ausführungsform. In mindestens einer Ausführungsform kann das Netzwerk 908 eine beliebige Art einer elektronisch verbundenen Gruppe von Computern sein, einschließlich beispielsweise der folgenden Netzwerke: Internet, Intranet, lokale Netzwerke (LAN), Weitverkehrsnetzwerke (WAN) oder eine miteinander verbundene Kombination dieser Netzwerkarten. In mindestens einer Ausführungsform kann die Konnektivität innerhalb eines Netzwerks 908 ein entferntes Modem, Ethernet (IEEE 802.3), Token Ring (IEEE 802.5), Fiber Distributed Datalink Interface (FDDI), Asynchronous Transfer Mode (ATM) oder ein beliebiges anderes Kommunikationsprotokoll sein. In mindestens einer Ausführungsform können Rechenvorrichtungen, die mit einem Netzwerk verbunden sind, ein Desktop, ein Server, eine transportable Vorrichtung, ein Handgerät, eine Set-Top-Box, ein persönlicher digitaler Assistent (PDA), ein Terminal oder eine beliebige andere gewünschte Art oder Konfiguration sein. In mindestens einer Ausführungsform können netzwerkverbundene Vorrichtungen abhängig von ihrer Funktionalität in der Verarbeitungsleistung, dem internen Speicher und anderen Leistungsaspekten stark variieren.
  • In mindestens einer Ausführungsform kann die Kommunikation innerhalb eines Netzwerks und zu oder von Rechenvorrichtungen, die mit einem Netzwerk verbunden sind, entweder drahtgebunden oder drahtlos sein. In mindestens einer Ausführungsform kann das Netzwerk 908 zumindest teilweise das weltweite öffentliche Internet beinhalten, das im Allgemeinen eine Vielzahl von Benutzern gemäß einem Client-Server-Modell gemäß einer Spezifikation für Übertragungssteuerungsprotokoll/Internetprotokoll (TCP/ IP) verbindet. In mindestens einer Ausführungsform ist das Client-Server-Netzwerk ein vorherrschendes Modell für die Kommunikation zwischen zwei Computern. In mindestens einer Ausführungsform gibt ein Client-Computer („Client“) einen oder mehrere Befehle an einen Server-Computer („Server“) aus. In mindestens einer Ausführungsform führt der Server Client-Befehle aus, indem er auf verfügbare Netzwerkressourcen zugreift und Informationen gemäß den Client-Befehlen an einen Client zurückgibt. In mindestens einer Ausführungsform wird Client-Computersystemen und Netzwerkressourcen, die auf Netzwerkservern resident sind, eine Netzwerkadresse zur Identifizierung während der Kommunikation zwischen Elementen eines Netzwerks zugewiesen. In mindestens einer Ausführungsform beinhalten Kommunikationen von anderen netzwerkverbundenen Systemen zu Servern eine Netzwerkadresse eines relevanten Servers/einer relevanten Netzwerkressource als Teil der Kommunikation, sodass ein geeignetes Ziel von Daten bzw. einer Anfrage als ein Empfänger identifiziert wird. In mindestens einer Ausführungsform, wenn ein Netzwerk 908 das globale Internet umfasst, ist eine Netzwerkadresse eine IP-Adresse in einem TCP/IP-Format, die Daten zumindest teilweise an ein E-Mail-Konto, eine Website oder ein anderes auf einem Server residentes Internet-Tool routen kann. In mindestens einer Ausführungsform können Informationen und Dienste, die auf Netzwerkservern resident sind, für einen Webbrowser eines Client-Computers über einen Domänennamen (z. B. www.site.com) verfügbar sein, der auf eine IP-Adresse eines Netzwerk-Servers abgebildet ist.
  • In mindestens einer Ausführungsform ist eine Vielzahl von Clients 902, 904 und 906 über jeweilige Kommunikationsverbindungen mit einem Netzwerk 908 verbunden. In mindestens einer Ausführungsform kann jeder dieser Clients über eine beliebige gewünschte Kommunikationsform auf ein Netzwerk 908 zugreifen, wie etwa über eine Einwahlmodemverbindung, eine Kabelverbindung, eine digitale Teilnehmerleitung (DSL), eine drahtlose oder eine Satellitenverbindung oder eine beliebige andere Form der Kommunikation. In mindestens einer Ausführungsform kann jeder Client unter Verwendung einer beliebigen Maschine kommunizieren, die mit einem Netzwerk 908 kompatibel ist, wie etwa ein Personal Computer (PC), eine Arbeitsstation, ein dediziertes Terminal, ein persönlicher Datenassistent (PDA) oder eine andere ähnliche Einrichtung. In mindestens einer Ausführungsform können sich die Clients 902, 904 und 906 in einem gleichen geografischen Gebiet befinden oder nicht.
  • In mindestens einer Ausführungsform ist eine Vielzahl von Servern 910, 912 und 914 mit einem Netzwerk 918 verbunden, um Clients zu bedienen, die mit einem Netzwerk 918 kommunizieren. In mindestens einer Ausführungsform ist jeder Server typischerweise ein leistungsstarker Computer oder eine leistungsstarke Vorrichtung, die Netzwerkressourcen verwaltet und auf Client-Befehle reagiert. In mindestens einer Ausführungsform beinhalten Server computerlesbare Datenspeichermedien wie etwa Festplattenlaufwerke und RAM-Speicher, die Programmanweisungen und Daten speichern. In mindestens einer Ausführungsform führen die Server 910, 912, 914 Anwendungsprogramme aus, die auf Client-Befehle reagieren. In mindestens einer Ausführungsform kann der Server 910 eine Webserver-Anwendung zum Reagieren auf Client-Anfragen nach HTML-Seiten ausführen und kann auch eine Mail-Server-Anwendung zum Empfangen und Weiterleiten von elektronischer Post ausführen. In mindestens einer Ausführungsform können auch andere Anwendungsprogramme, wie etwa ein FTP-Server oder ein Medienserver zum Streamen von Audio-/Videodaten an Clients, auf einem Server 910 ausgeführt werden. In mindestens einer Ausführungsform können unterschiedliche Server dazu bestimmt sein, unterschiedliche Tasks auszuführen. In mindestens einer Ausführungsform kann der Server 910 ein dedizierter Webserver sein, der Ressourcen in Bezug auf Websites für verschiedene Benutzer verwaltet, während ein Server 912 dazu bestimmt sein kann, eine Verwaltung von elektronischer Post (E-Mail) bereitzustellen. In mindestens einer Ausführungsform können andere Server für Medien (Audio, Video usw.), ein Dateiübertragungsprotokoll (file transfer protocol - FTP) oder eine Kombination von beliebigen zwei oder mehr Diensten, die typischerweise über ein Netzwerk verfügbar sind oder bereitgestellt werden, bestimmt sein. In mindestens einer Ausführungsform kann sich jeder Server an einem Standort befinden, der mit dem anderer Server identisch ist oder sich davon unterscheidet. In mindestens einer Ausführungsform kann es mehrere Server geben, die gespiegelte Tasks für Benutzer ausführen, wodurch Datenstaus verringert werden oder Datenverkehr, der zu und von einem einzelnen Server geleitet wird, minimiert wird. In mindestens einer Ausführungsform stehen die Server 910, 912, 914 unter der Kontrolle eines Webhosting-Anbieters in einem Unternehmen zur Pflege und Bereitstellung von Inhalten Dritter über ein Netzwerk 918.
  • In mindestens einer Ausführungsform liefern Webhosting-Anbieter Dienste an zwei unterschiedliche Arten von Clients. In mindestens einer Ausführungsform fordert eine Art, die als Browser bezeichnet werden kann, Inhalt von den Servern 910, 912, 914 an, wie etwa Webseiten, E-Mail-Nachrichten, Videoclips usw. In mindestens einer Ausführungsform beauftragt eine zweite Art, die als Benutzer bezeichnet werden kann, einen Webhosting-Anbieter eine Netzwerkressource, wie etwa eine Website, zu pflegen und für Browser verfügbar zu machen. In mindestens einer Ausführungsform schließen Benutzer einen Vertrag mit einem Webhosting-Anbieter ab, um Speicherplatz, Prozessorkapazität und Kommunikationsbandbreite für ihre gewünschte Netzwerkressource gemäß einer Menge von Serverressourcen verfügbar zu machen, die ein Benutzer nutzen möchte.
  • Damit ein Webhosting-Anbieter Dienste für diese beiden Clients bereitstellen kann, müssen in mindestens einer Ausführungsform Anwendungsprogramme, die durch Server gehostete Netzwerkressourcen verwalten, richtig konfiguriert sein. In mindestens einer Ausführungsform involviert der Programmkonfigurationsprozess das Definieren eines Satzes von Parametern, die zumindest teilweise die Reaktion eines Anwendungsprogramms auf Browseranfragen steuern und die auch zumindest teilweise Serverressourcen definieren, die einem konkreten Benutzer zur Verfügung stehen.
  • In einer Ausführungsform steht ein Intranet-Server 916 mit einem Netzwerk 908 über eine Kommunikationsverbindung in Kommunikation. In mindestens einer Ausführungsform steht der Intranet-Server 916 mit einem Servermanager 918 in Kommunikation. In mindestens einer Ausführungsform umfasst der Servermanager 918 eine Datenbank mit Konfigurationsparametern eines Anwendungsprogramms, die in den Servern 910, 912, 914 genutzt werden. In mindestens einer Ausführungsform modifizieren Benutzer eine Datenbank 920 über ein Intranet 916 und interagiert ein Servermanager 918 mit Servern 910, 912, 914, um Anwendungsprogrammparameter so zu modifizieren, dass sie mit einem Inhalt einer Datenbank übereinstimmen. In mindestens einer Ausführungsform meldet sich ein Benutzer bei einem Intranet-Server 916 an, indem er über den Computer 902 eine Verbindung zu einem Intranet 916 herstellt und Authentifizierungsinformationen wie etwa einen Benutzernamen und ein Passwort eingibt.
  • In mindestens einer Ausführungsform authentifiziert ein Intranet-Server 916 einen Benutzer, wenn sich ein Benutzer für einen neuen Dienst anmelden oder einen bestehenden Dienst modifizieren möchte, und stellt einem Benutzer eine interaktive Bildschirmanzeige/ein Bedienfeld bereit, die bzw. das einem Benutzer den Zugriff auf Konfigurationsparameter für ein konkretes Anwendungsprogramm erlaubt. In mindestens einer Ausführungsform wird einem Benutzer eine Reihe von modifizierbaren Textfeldern präsentiert, die Aspekte einer Konfiguration einer Benutzerwebsite oder einer anderen Netzwerkressource beschreiben. Wenn ein Benutzer in mindestens einer Ausführungsform den auf einem Server für seine Website reservierten Speicherplatz erhöhen möchte, wird einem Benutzer ein Feld bereitgestellt, in dem ein Benutzer einen gewünschten Speicherplatz festlegt. In mindestens einer Ausführungsform aktualisiert ein Intranet-Server 916 als Reaktion auf den Empfang dieser Informationen eine Datenbank 920. In mindestens einer Ausführungsform leitet der Servermanager 918 diese Informationen an einen geeigneten Server weiter, und ein neuer Parameter wird während des Anwendungsprogrammbetriebs verwendet. In mindestens einer Ausführungsform ist ein Intranet-Server 916 konfiguriert, um Benutzern Zugriff auf Konfigurationsparameter von gehosteten Netzwerkressourcen (z. B. Webseiten, E-Mail, FTP-Sites, Mediensites usw.) bereitzustellen, für die ein Benutzer einen Vertrag mit einem Webhosting-Dienstanbieter abgeschlossen hat.
  • 10A veranschaulicht ein vernetztes Computersystem 1000A gemäß mindestens einer Ausführungsform. In mindestens einer Ausführungsform umfasst das vernetzte Computersystem 1000A eine Vielzahl von Knoten oder Personalcomputern („PCs“) 1002, 1018, 1020. In mindestens einer Ausführungsform umfasst der Personalcomputer oder Knoten 1002 einen Prozessor 1014, einen Speicher 1016, eine Videokamera 1004, ein Mikrofon 1006, eine Maus 1008, Lautsprecher 1010 und einen Monitor 1012. In mindestens einer Ausführungsform können die PCs 1002, 1018, 1020 beispielsweise jeweils einen oder mehrere Desktop-Server eines internen Netzwerks innerhalb einer gegebenen Firma ausführen oder können Server eines allgemeinen Netzwerks sein, das nicht auf eine spezifische Umgebung beschränkt ist. In mindestens einer Ausführungsform gibt es einen Server pro PC-Knoten eines Netzwerks, sodass jeder PC-Knoten eines Netzwerks einen konkreten Netzwerkserver mit einer konkreten Netzwerk-URL-Adresse darstellt. In mindestens einer Ausführungsform verwendet jeder Server standardmäßig eine Standardwebseite für den Benutzer dieses Servers, die selbst eingebettete URLs enthalten kann, die auf weitere Unterseiten dieses Benutzers auf diesem Server oder auf andere Server oder Seiten auf anderen Servern in einem Netzwerk zeigen.
  • In mindestens einer Ausführungsform sind die Knoten 1002, 1018, 1020 und andere Knoten eines Netzwerks über ein Medium 1022 miteinander verbunden. In mindestens einer Ausführungsform kann das Medium 1022 ein Kommunikationskanal sein, wie etwa ein Integrated Services Digital Network („ISDN“). In mindestens einer Ausführungsform können verschiedene Knoten eines vernetzten Computersystems durch eine Vielzahl von Kommunikationsmedien verbunden sein, einschließlich lokaler Netze („LAN“), einfacher alter Telefonleitungen („POTS“), die manchmal als öffentlich vermittelte Telefonnetze („PSTN“) bezeichnet werden, und/oder Variationen davon. In mindestens einer Ausführungsform können verschiedene Knoten eines Netzwerks auch Computersystembenutzer darstellen, die über ein Netzwerk wie das Internet miteinander verbunden sind. In mindestens einer Ausführungsform hat jeder Server in einem Netzwerk (der von einem konkreten Knoten eines Netzwerks in einer gegebenen Instanz ausgeht) eine eindeutige Adresse oder Identifikation innerhalb eines Netzwerks, die in Form einer URL spezifiziert werden kann.
  • In mindestens einer Ausführungsform kann somit eine Vielzahl von Mehrpunkt-Konferenzeinheiten („MCU“) verwendet werden, um Daten zu und von verschiedenen Knoten oder „Endpunkten“ eines Konferenzsystems zu übertragen. In mindestens einer Ausführungsform können Knoten und/oder MCU zusätzlich zu verschiedenen anderen Kommunikationsmedien wie Knoten, die durch das Internet verbunden sind, über eine ISDN-Verbindung oder über ein lokales Netzwerk („LAN“) miteinander verbunden sein. In mindestens einer Ausführungsform können Knoten eines Konferenzsystems im Allgemeinen direkt mit einem Kommunikationsmedium wie etwa einem LAN oder durch eine MCU verbunden sein, und dieses Konferenzsystem kann andere Knoten oder Elemente wie etwa Router, Server und/oder Variationen davon umfassen.
  • In mindestens einer Ausführungsform ist der Prozessor 1014 ein programmierbarer Allzweckprozessor. In mindestens einer Ausführungsform können Prozessoren von Knoten des vernetzten Computersystems 1000A auch Spezial-Videoprozessoren sein. In mindestens einer Ausführungsform können verschiedene Peripheriegeräte und Komponenten eines Knotens, wie die des Knotens 1002, von denen anderer Knoten abweichen. In mindestens einer Ausführungsform können der Knoten 1018 und der Knoten 1020 identisch wie oder anders als der Knoten 1002 konfiguriert sein. In mindestens einer Ausführungsform kann ein Knoten zusätzlich zu PC-Systemen auf jedem geeigneten Computersystem implementiert sein.
  • 10B veranschaulicht ein vernetztes Computersystem 1000B gemäß mindestens einer Ausführungsform. In mindestens einer Ausführungsform veranschaulicht das System 1000B ein Netzwerk wie ein LAN 1024, das verwendet werden kann, um eine Vielzahl von Knoten zu verbinden, die miteinander kommunizieren kann. In mindestens einer Ausführungsform ist eine Vielzahl von Knoten an das LAN 1024 angeschlossen, wie etwa PC-Knoten 1026, 1028, 1030. In mindestens einer Ausführungsform kann ein Knoten auch über einen Netzwerkserver oder andere Mittel mit dem LAN verbunden sein. In mindestens einer Ausführungsform umfasst das System 1000B andere Arten von Knoten oder Elementen, wobei mindestens eine Ausführungsform Router, Server und Knoten beinhaltet.
  • 10C veranschaulicht ein vernetztes Computersystem 1000C gemäß mindestens einer Ausführungsform. In mindestens einer Ausführungsform veranschaulicht das System 1000C ein WWW-System, das Kommunikationen über ein Backbone-Kommunikationsnetzwerk wie etwa das Internet 1032 aufweist, das verwendet werden kann, um eine Vielzahl von Knoten eines Netzes miteinander zu verbinden. In mindestens einer Ausführungsform ist das WWW ein Satz von Protokollen, der auf dem Internet arbeitet und ermöglicht, dass ein grafisches Schnittstellensystem darauf arbeitet, um auf Informationen über das Internet zuzugreifen. In mindestens einer Ausführungsform ist eine Vielzahl von Knoten an das Internet 1032 im WWW angeschlossen, wie etwa PCs 1040, 1042, 1044. In mindestens einer Ausführungsform bildet ein Knoten über einen WWW-HTTP-Server, wie etwa die Server 1034, 1036, eine Schnittstelle mit anderen Knoten des WWW. In mindestens einer Ausführungsform kann der PC 1044 ein PC sein, der einen Knoten des Netzwerks 1032 bildet und selbst seinen Server 1036 betreibt, obwohl der PC 1044 und der Server 1036 in 10C zur Veranschaulichung getrennt veranschaulicht sind.
  • In mindestens einer Ausführungsform ist WWW ein verteilter Anwendungstyp, gekennzeichnet durch WWW HTTP, das WWW-Protokoll, das auf dem Übertragungssteuerungsprotokoll/Internetprotokoll („TCP/IP“) des Internets läuft. In mindestens einer Ausführungsform kann das WWW somit durch einen Satz von Protokollen (d. h. HTTP) gekennzeichnet sein, die im Internet als sein „Backbone“ laufen.
  • In mindestens einer Ausführungsform ist ein Webbrowser eine Anwendung, die auf einem Knoten eines Netzwerks läuft, die in WWW-kompatiblen Netzwerksystemen Benutzern eines konkreten Servers oder Knotens erlaubt, solche Informationen anzuzeigen, und es somit einem Benutzer erlaubt, grafische und textbasierte Dateien zu suchen, die über Hypertext-Links miteinander verknüpft sind, die in Dokumente oder Dateien eingebettet sind, die von Servern in einem Netzwerk verfügbar sind, die HTTP verstehen. In mindestens einer Ausführungsform kann ein abgerufenes Dokument verschiedene darin eingebettete Hypertext-Links und eine lokale Kopie einer Seite aufweisen, die lokal für einen abrufenden Benutzer erstellt wird, wenn eine gegebene Webseite eines ersten Servers, der einem ersten Knoten zugeordnet ist, durch einen Benutzer unter Verwendung eines anderen Servers in einem Netzwerk wie dem Internet abgerufen wird. Wenn ein Benutzer auf einen Hypertext-Link klickt, reichen in mindestens einer Ausführungsform lokal gespeicherte Informationen in Bezug auf einen ausgewählten Hypertext-Link in der Regel aus, um es der Maschine eines Benutzers zu ermöglichen, eine Verbindung über das Internet zu einem Server zu öffnen, der durch einen Hypertext-Link angegeben wird.
  • In mindestens einer Ausführungsform kann mehr als ein Benutzer mit jedem HTTP-Server über ein LAN, wie etwa das LAN 1038, gekoppelt sein, wie in Bezug auf den WWW- HTTP-Server 1034 veranschaulicht. In mindestens einer Ausführungsform kann das System 1000C auch andere Arten von Knoten oder Elementen umfassen. In mindestens einer Ausführungsform ist ein WWW-HTTP-Server eine Anwendung, die auf einer Maschine, wie etwa einem PC, läuft. In mindestens einer Ausführungsform kann davon ausgegangen werden, dass jeder Benutzer einen eindeutigen „Server“ aufweist, wie in Bezug auf den PC 1044 veranschaulicht. In mindestens einer Ausführungsform kann ein Server als ein Server betrachtet werden, wie etwa der WWW-HTTP-Server 1034, der Zugriff auf ein Netzwerk für ein LAN oder eine Vielzahl von Knoten oder eine Vielzahl von LAN bereitstellt. In mindestens einer Ausführungsform gibt es eine Vielzahl von Benutzern, von der jeder einen Desktop-PC oder Knoten eines Netzwerks aufweist, wobei jeder Desktop-PC potenziell einen Server für einen Benutzer davon herstellt. In mindestens einer Ausführungsform ist jeder Server einer konkreten Netzwerkadresse oder URL zugeordnet, die, wenn darauf zugegriffen wird, eine Standardwebseite für diesen Benutzer bereitstellt. In mindestens einer Ausführungsform kann eine Webseite weitere Links (eingebettete URL) enthalten, die auf weitere Unterseiten dieses Benutzers auf diesem Server oder auf andere Server in einem Netzwerk oder Seiten auf anderen Servern in einem Netzwerk zeigen.
  • Cloud-Computing und -Dienste
  • Die folgenden Figuren legen ohne Einschränkung beispielhafte Cloud-basierte Systeme dar, die verwendet werden können, um mindestens eine Ausführungsform zu implementieren.
  • In mindestens einer Ausführungsform ist Cloud-Computing ein Rechenstil, bei dem dynamisch skalierbare und oft virtualisierte Ressourcen als Dienst über das Internet bereitgestellt werden. In mindestens einer Ausführungsform müssen die Benutzer keine Kenntnisse, kein Fachwissen oder keine Kontrolle über die Technologieinfrastruktur haben, die als „in der Cloud“ bezeichnet werden kann, die sie unterstützt. In mindestens einer Ausführungsform umfasst Cloud-Computing Infrastruktur-as-a-Service, Plattform-as-a-Service, Software-as-a-Service und andere Variationen, die ein gemeinsames Leitmotiv der Abhängigkeit vom Internet zum Erfüllen von Rechenbedürfnissen von Benutzern aufweisen. In mindestens einer Ausführungsform kann ein typischer Cloud-Einsatz, wie etwa in einer privaten Cloud (z. B. Unternehmensnetzwerk) oder einem Rechenzentrum (DC) in einer öffentlichen Cloud (z. B. Internet) aus Tausenden von Servern (oder alternativ VM), Hunderten von Ethernet-, Fibre Channel- oder Fibre Channel over Ethernet (FCoE)-Ports, Switching- und Speicherinfrastruktur usw. bestehen. In mindestens einer Ausführungsform kann die Cloud auch aus einer Netzwerkdienstinfrastruktur wie IPsec-VPN-Hubs, Firewalls, Lastausgleichem, Weitverkehrsnetz (WAN)-Optimierern usw. bestehen.
  • In mindestens einer Ausführungsform können entfernte Teilnehmer sicher auf Cloud-Anwendungen und -Dienste zugreifen, indem sie sich über einen VPN-Tunnel, wie etwa einen IPsec-VPN-Tunnel, verbinden. In mindestens einer Ausführungsform ist Cloud-Computing ein Modell zum Ermöglichen eines bequemen On-Demand-Netzwerkzugriffs auf einen gemeinsam genutzten Pool konfigurierbarer Rechenressourcen (z. B. Netzwerke, Server, Speicher, Anwendungen und Dienste), die mit minimalem Verwaltungsaufwand oder Dienstanbieterinteraktion schnell bereitgestellt und freigegeben werden können.
  • In mindestens einer Ausführungsform ist Cloud-Computing durch On-Demand-Selbstbedienung gekennzeichnet, bei der ein Verbraucher einseitig Rechenfähigkeiten, wie etwa Serverzeit und Netzwerkspeicher, nach Bedarf automatisch bereitstellen kann, ohne dass eine menschliche Interaktion mit dem jeweiligen Dienstanbieter erforderlich ist. In mindestens einer Ausführungsform ist Cloud-Computing durch einen breiten Netzwerkzugriff gekennzeichnet, bei dem Fähigkeiten über ein Netzwerk verfügbar sind und auf die über Standardmechanismen zugegriffen wird, die die Verwendung durch heterogene Thin- oder Thick-Client-Plattformen (z. B. Mobiltelefone, Laptops und PDA) fördern. In mindestens einer Ausführungsform ist Cloud-Computing gekennzeichnet durch Ressourcen-Pooling, bei dem die Rechenressourcen eines Anbieters gepoolt werden, um mehrere Verbraucher unter Verwendung eines mehrmandantenfähigen Modells zu bedienen, wobei verschiedene physische und virtuelle Ressourcen gemäß Verbrauchernachfrage dynamisch zugewiesen und neu zugewiesen werden. In mindestens einer Ausführungsform besteht ein Gefühl der Standortunabhängigkeit darin, dass ein Kunde im Allgemeinen keine Kontrolle oder Kenntnis über einen genauen Standort der bereitgestellten Ressourcen hat, aber in der Lage sein kann, den Standort auf einer höheren Abstraktionsebene (z. B. Land, Staat oder Rechenzentrum) festzulegen.
  • In mindestens einer Ausführungsform beinhalten Ressourcen Datenspeicher, Verarbeitung, Speicher, Netzwerkbandbreite und virtuelle Maschinen. In mindestens einer Ausführungsform ist Cloud-Computing durch eine schnelle Elastizität gekennzeichnet, bei der Fähigkeiten schnell und elastisch, in einigen Fällen automatisch, für ein schnelles Scale-Out bereitgestellt werden können und für ein schnelles Scale-In schnell freigegeben werden. In einigen Fällen automatisch, für ein schnelles Scale-Out bereitgestellt werden können und für ein schnelles Scale-In schnell freigegeben werden. In mindestens einer Ausführungsform ist Cloud-Computing durch einen gemessenen Dienst gekennzeichnet, bei dem Cloud-Systeme die Ressourcennutzung automatisch steuern und optimieren, indem sie eine Messfähigkeit auf einer bestimmten Abstraktionsebene nutzen, die für eine Art von Dienst (z. B. Speicherung, Verarbeitung, Bandbreite und aktive Benutzerkonten) geeignet ist. In mindestens einer Ausführungsform kann die Ressourcennutzung überwacht, gesteuert und gemeldet werden, um Transparenz sowohl für einen Anbieter als auch für einen Verbraucher eines genutzten Dienstes bereitzustellen.
  • In mindestens einer Ausführungsform kann Cloud-Computing verschiedenen Diensten zugeordnet sein. In mindestens einer Ausführungsform kann sich Cloud-Software-as-a-Service (SaaS) auf einen Dienst beziehen, bei dem eine einem Verbraucher bereitgestellte Fähigkeit darin besteht, die Anwendungen eines Anbieters zu verwenden, die auf einer Cloud-Infrastruktur laufen. In mindestens einer Ausführungsform sind Anwendungen von verschiedenen Client-Vorrichtungen über eine Thin-Client-Schnittstelle wie etwa einen Webbrowser (z. B. webbasierte E-Mail) zugänglich. In mindestens einer Ausführungsform verwaltet oder kontrolliert der Verbraucher die zugrunde liegende Cloud-Infrastruktur, einschließlich Netzwerk, Server, Betriebssysteme, Speicher oder sogar individuelle Anwendungsfähigkeiten, nicht, mit einer möglichen Ausnahme von eingeschränkten benutzerspezifischen Anwendungskonfigurationseinstellungen.
  • In mindestens einer Ausführungsform kann sich Cloud-Plattform-as-a-Service (PaaS) auf einen Dienst beziehen, bei dem eine einem Verbraucher bereitgestellte Fähigkeit darin besteht, vom Verbraucher erstellte oder erworbene Anwendungen, die unter Verwendung von Programmiersprachen und Tools erstellt wurden, die durch einen Anbieter unterstützt werden, auf einer Cloud-Infrastruktur einzusetzen. In mindestens einer Ausführungsform verwaltet oder kontrolliert der Verbraucher die zugrunde liegende Cloud-Infrastruktur, einschließlich Netzwerke, Server, oder Speicher, nicht, hat aber die Kontrolle über eingesetzte Anwendungen und möglicherweise Anwendungshosting-Umgebungskonfigurationen.
  • In mindestens einer Ausführungsform kann sich Cloud-Infrastructure-as-a-Service (IaaS) auf einen Dienst beziehen, bei dem eine einem Verbraucher bereitgestellte Fähigkeit darin besteht, Verarbeitungs-, Speicher-, Netzwerk- und andere grundlegende Rechenressourcen bereitzustellen, wobei ein Verbraucher in der Lage ist, frei wählbare Software einzusetzen und auszuführen, was Betriebssysteme und Anwendungen beinhalten kann. In mindestens einer Ausführungsform verwaltet oder kontrolliert der Verbraucher die zugrunde liegende Cloud-Infrastruktur nicht, hat aber die Kontrolle über Betriebssysteme, Speicher, eingesetzte Anwendungen und möglicherweise begrenzte Kontrolle über ausgewählte Netzwerkkomponenten (z. B. Host-Firewalls).
  • In mindestens einer Ausführungsform kann Cloud-Computing auf verschiedene Art und Weise eingesetzt werden. In mindestens einer Ausführungsform kann sich eine nichtöffentliche Cloud auf eine Cloud-Infrastruktur beziehen, die ausschließlich für eine Organisation betrieben wird. In mindestens einer Ausführungsform kann eine nichtöffentliche Cloud durch eine Organisation oder einen Dritten verwaltet werden und kann innerhalb oder außerhalb des Betriebsgeländes existieren. In mindestens einer Ausführungsform kann sich eine gemeinschaftliche Cloud auf eine Cloud-Infrastruktur beziehen, die von mehreren Organisationen gemeinsam genutzt wird und eine bestimmte Gemeinschaft unterstützt, die gemeinsame Anliegen hat (z. B. Zielsetzung, Sicherheitsanforderungen, Richtlinien und Compliance-Überlegungen). In mindestens einer Ausführungsform kann eine gemeinschaftliche Cloud durch eine Organisation oder einen Dritten verwaltet werden und kann innerhalb oder außerhalb des Betriebsgeländes existieren. In mindestens einer Ausführungsform kann sich eine öffentliche Cloud auf eine Cloud-Infrastruktur beziehen, die einer breiten Öffentlichkeit oder einer großen Industriegruppe zur Verfügung gestellt wird und sich im Besitz einer Organisation befindet, die Cloud-Dienste bereitstellt. In mindestens einer Ausführungsform kann sich eine Hybrid-Cloud auf eine Cloud-Infrastruktur beziehen, die eine Zusammensetzung aus zwei oder mehr Clouds (nichtöffentlich, gemeinschaftlich oder öffentlich) ist, die eigenständige Einheiten bleiben, aber durch standardisierte oder proprietäre Technologie miteinander verbunden sind, die Daten- und Anwendungsportabilität ermöglicht (z. B. Cloud Bursting für den Lastausgleich zwischen Clouds). In mindestens einer Ausführungsform ist eine Cloud-Computing-Umgebung dienstorientiert mit einem Fokus auf Staatenlosigkeit, geringe Kopplung, Modularität und semantische Interoperabilität.
  • 11 veranschaulicht eine oder mehrere Komponenten einer Systemumgebung 1100, in der Dienste als Drittanbieter-Netzwerkdienste angeboten werden können, gemäß mindestens einer Ausführungsform. In mindestens einer Ausführungsform kann ein Drittanbieter-Netzwerk als Cloud, Cloud-Netzwerk, Cloud-Computing-Netzwerk und/oder Variationen davon bezeichnet werden. In mindestens einer Ausführungsform beinhaltet die Systemumgebung 1100 eine oder mehrere Client-Rechenvorrichtungen 1104, 1106 und 1108, die durch Benutzer verwendet werden können, um mit einem Drittanbieter-Netzwerkinfrastruktursystem 1102 zu interagieren, das Drittanbieter-Netzwerkdienste bereitstellt, die als Cloud-Computing-Dienste bezeichnet werden können. In mindestens einer Ausführungsform kann das Drittanbieter-Netzwerkinfrastruktursystem 1102 einen oder mehrere Computer und/oder Server umfassen.
  • Es versteht sich, dass das in 11 dargestellte Drittanbieter-Netzwerkinfrastruktursystem 1102 andere Komponenten als die dargestellten aufweisen kann. Ferner zeigt 11 eine Ausführungsform eines Drittanbieter-Netzwerkinfrastruktursystems. In mindestens einer Ausführungsform kann das Drittanbieter-Netzwerkinfrastruktursystem 1102 mehr oder weniger Komponenten aufweisen als in 11 dargestellt, kann zwei oder mehr Komponenten kombinieren oder kann eine andere Konfiguration oder Anordnung von Komponenten aufweisen.
  • In mindestens einer Ausführungsform können die Client-Rechenvorrichtungen 1104, 1106 und 1108 konfiguriert sein, um eine Client-Anwendung, wie etwa einen Webbrowser, eine proprietäre Client-Anwendung oder eine andere Anwendung, zu betreiben, die durch einen Benutzer einer Client-Rechenvorrichtung verwendet werden kann, um mit dem Drittanbieter-Netzwerkinfrastruktursystem 1102 zu interagieren, um Dienste zu nutzen, die durch das Drittanbieter-Netzwerkinfrastruktursystem 1102 bereitgestellt werden. Auch wenn die beispielhafte Systemumgebung 1100 mit drei Client-Rechenvorrichtungen dargestellt ist, kann eine beliebige Anzahl von Client-Rechenvorrichtungen unterstützt werden. In mindestens einer Ausführungsform können andere Vorrichtungen, wie etwa Vorrichtungen mit Sensoren usw., mit dem Drittanbieter-Netzwerkinfrastruktursystem 1102 interagieren. In mindestens einer Ausführungsform können das/die Netzwerk(e) 1110 die Kommunikation und den Austausch von Daten zwischen den Client-Rechenvorrichtungen 1104, 1106 und 1108 und dem Drittanbieter-Netzwerkinfrastruktursystem 1102 ermöglichen.
  • In mindestens einer Ausführungsform können Dienste, die durch das Drittanbieter-Netzwerkinfrastruktursystem 1102 bereitgestellt werden, einen Host von Diensten beinhalten, die Benutzern eines Drittanbieter-Netzwerkinfrastruktursystems auf Anfrage zur Verfügung gestellt werden. In mindestens einer Ausführungsform können auch verschiedene Dienste angeboten werden, einschließlich ohne Einschränkung Online-Datenspeicher- und Sicherungslösungen, webbasierte E-Mail-Dienste, gehostete Office-Suiten und Dienste für die Zusammenarbeit von Dokumenten, Datenbankverwaltung und -verarbeitung, verwaltete technische Supportdienste und/oder Variationen davon. In mindestens einer Ausführungsform können Dienste, die durch ein Drittanbieter-Netzwerkinfrastruktursystem bereitgestellt werden, dynamisch skalieren, um die Bedürfnisse ihrer Benutzer zu erfüllen.
  • In mindestens einer Ausführungsform kann eine spezifische Instanziierung eines Dienstes, der durch das Drittanbieter-Netzwerkinfrastruktursystem 1102 bereitgestellt wird, als eine „Dienstinstanz“ bezeichnet werden. In mindestens einer Ausführungsform wird im Allgemeinen jeder Dienst, der einem Benutzer über ein Kommunikationsnetzwerk, wie etwa das Internet, von einem System eines Drittanbieter-Netzwerkdienstanbieters zur Verfügung gestellt wird, als ein „Drittanbieter-Netzwerkdienst“ bezeichnet. In mindestens einer Ausführungsform unterscheiden sich in einer öffentlichen Drittanbieter-Netzwerkumgebung Server und Systeme, die das System eines Drittanbieter-Netzwerkdienstanbieters bilden, von den eigenen lokalen Servern und Systemen eines Kunden. In mindestens einer Ausführungsform kann das System eines Drittanbieter-Netzwerkdienstanbieters eine Anwendung hosten, und ein Benutzer kann über ein Kommunikationsnetzwerk wie das Internet auf Anfrage eine Anwendung bestellen und verwenden.
  • In mindestens einer Ausführungsform kann ein Dienst in einer Computernetzwerk-Netzwerkinfrastruktur eines Drittanbieters einen geschützten Computernetzwerkzugriff auf Speicher, eine gehostete Datenbank, einen gehosteten Webserver, eine Softwareanwendung oder einen anderen Dienst beinhalten, die einem Benutzer durch einen Drittanbieter-Netzwerkhersteller bereitgestellt werden. In mindestens einer Ausführungsform kann ein Dienst einen passwortgeschützten Zugriff auf einen entfernten Speicher in einem Drittanbieter-Netzwerk über das Internet beinhalten. In mindestens einer Ausführungsform kann ein Dienst eine auf einem Webdienst basierende gehostete relationale Datenbank und eine Middleware-Engine in Skriptsprache zur privaten Verwendung durch einen vernetzten Entwickler beinhalten. In mindestens einer Ausführungsform kann ein Dienst Zugriff auf eine E-Mail-Softwareanwendung beinhalten, die auf der Website eines Drittanbieter-Netzwerkherstellers gehostet wird.
  • In mindestens einer Ausführungsform kann das Drittanbieter-Netzwerkinfrastruktursystem 1102 eine Suite von Anwendungen, Middleware und Datenbankdienstangeboten beinhalten, die einem Kunden in Selbstbedienung, abonnementbasiert, elastisch skalierbar, zuverlässig, hochverfügbar und sicher geliefert werden. In mindestens einer Ausführungsform kann das Drittanbieter-Netzwerkinfrastruktursystem 1102 auch „Big Data“-bezogene Berechnungs- und Analysedienste bereitstellen. In mindestens einer Ausführungsform wird der Begriff „Big Data“ allgemein verwendet, um sich auf extrem große Datensätze zu beziehen, die von Analysten und Forschern gespeichert und manipuliert werden können, um große Datenmengen zu visualisieren, Trends zu erkennen und/oder anderweitig mit Daten zu interagieren. In mindestens einer Ausführungsform können Big Data und zugehörige Anwendungen durch ein Infrastruktursystem auf vielen Ebenen und in unterschiedlichen Maßstäben gehostet und/oder manipuliert werden. In mindestens einer Ausführungsform können Dutzende, Hunderte oder Tausende parallel verbundener Prozessoren auf solche Daten einwirken, um sie darzustellen oder externe Kräfte auf Daten oder das, was sie darstellen, zu simulieren. In mindestens einer Ausführungsform können diese Datensätze strukturierte Daten, die etwa in einer Datenbank oder anderweitig gemäß einem strukturierten Modell organisiert sind, und/oder unstrukturierte Daten (z. B. E-Mails, Bilder, Datenblobs (binäre große Objekte), Web-Seiten, komplexe Ereignisverarbeitung) involvieren. In mindestens einer Ausführungsform kann durch Nutzung der Fähigkeit einer Ausführungsform, relativ schnell mehr (oder weniger) Rechenressourcen auf ein Ziel zu konzentrieren, ein Drittanbieter-Netzwerkinfrastruktursystem besser verfügbar sein, um Tasks an großen Datensätzen basierend auf der Nachfrage von einem Unternehmen, einer Regierungsbehörde, einer Forschungseinrichtung, einer Privatperson, einer Gruppe gleichgesinnter Personen oder Organisationen oder einer anderen Einheit auszuführen.
  • In mindestens einer Ausführungsform kann das Drittanbieter-Netzwerkinfrastruktursystem 1102 angepasst sein, um das Abonnement eines Kunden für Dienste, die durch das Drittanbieter-Netzwerkinfrastruktursystem 1102 angeboten werden, automatisch bereitzustellen, zu verwalten und zu verfolgen. In mindestens einer Ausführungsform kann das Drittanbieter-Netzwerkinfrastruktursystem 1102 über verschiedene Einsatzmodelle Drittanbieter-Netzwerkdienste bereitstellen. In mindestens einer Ausführungsform können Dienste im Rahmen eines öffentlichen Drittanbieter-Netzwerkmodells bereitgestellt werden, bei dem das Drittanbieter-Netzwerkinfrastruktursystem 1102 im Besitz einer Organisation ist, die Drittanbieter-Netzwerkdienste verkauft und Dienste einer breiten Öffentlichkeit oder unterschiedlichen Industrieunternehmen zur Verfügung stellt. In mindestens einer Ausführungsform können Dienste im Rahmen eines nichtöffentlichen Drittanbieter-Netzwerkmodells bereitgestellt werden, bei dem das Drittanbieter-Netzwerkinfrastruktursystem 1102 ausschließlich für eine einzelne Organisation betrieben wird und Dienste für eine oder mehrere Entitäten innerhalb einer Organisation bereitstellen kann. In mindestens einer Ausführungsform können Drittanbieter-Netzwerkdienste auch im Rahmen eines gemeinschaftlichen Drittanbieter-Netzwerkmodells bereitgestellt werden, bei dem das Drittanbieter-Netzwerkinfrastruktursystem 1102 und Dienste, die durch das Drittanbieter-Netzwerkinfrastruktursystem 1102 bereitgestellt werden, von mehreren Organisationen in einer zusammenhängenden Gemeinschaft gemeinsam genutzt werden. In mindestens einer Ausführungsform können Drittanbieter-Netzwerkdienste auch unter einem hybriden Drittanbieter-Netzwerkmodell bereitgestellt werden, das eine Kombination von zwei oder mehr unterschiedlichen Modellen ist.
  • In mindestens einer Ausführungsform können Dienste, die durch das Drittanbieter-Netzwerkinfrastruktursystem 1102 bereitgestellt werden, einen oder mehrere Dienste beinhalten, die unter der Kategorie Software-as-a-Service (SaaS), der Kategorie Platform-as-a-Service (PaaS), der Kategorie Infrastructure-as-a-Service (IaaS) bereitgestellt werden, oder andere Kategorien von Diensten, einschließlich Hybriddienste. In mindestens einer Ausführungsform kann ein Kunde über einen Abonnementauftrag einen oder mehrere Dienste bestellen, die durch das Drittanbieter-Netzwerkinfrastruktursystem 1102 bereitgestellt werden. In mindestens einer Ausführungsform führt das Drittanbieter-Netzwerkinfrastruktursystem 1102 dann die Verarbeitung durch, um Dienste in einem Abonnementauftrag des Kunden bereitzustellen.
  • In mindestens einer Ausführungsform können Dienste, die durch das Drittanbieter-Netzwerkinfrastruktursystem 1102 bereitgestellt werden, ohne Einschränkung Anwendungsdienste, Plattformdienste und Infrastrukturdienste beinhalten. In mindestens einer Ausführungsform können Anwendungsdienste durch ein Drittanbieter-Netzwerkinfrastruktursystem über eine SaaS-Plattform bereitgestellt werden. In mindestens einer Ausführungsform kann die SaaS-Plattform konfiguriert sein, um Drittanbieter-Netzwerkdienste bereitzustellen, die in eine SaaS-Kategorie fallen. In mindestens einer Ausführungsform kann die SaaS-Plattform Fähigkeiten zum Erstellen und Liefern einer Suite von On-Demand-Anwendungen auf einer integrierten Entwicklungs- und Einsatzplattform bereitstellen. In mindestens einer Ausführungsform kann die SaaS-Plattform die zugrundeliegende Software und Infrastruktur zum Bereitstellen von SaaS-Diensten verwalten und steuern. In mindestens einer Ausführungsform können Kunden durch Nutzung von durch eine SaaS-Plattform bereitgestellten Diensten Anwendungen nutzen, die in einem Drittanbieter-Netzwerkinfrastruktursystem ausgeführt werden. In mindestens einer Ausführungsform können Kunden Anwendungsdienste erwerben, ohne dass Kunden separate Lizenzen und Support erwerben müssen. In mindestens einer Ausführungsform können verschiedene unterschiedliche SaaS-Dienste bereitgestellt sein. In mindestens einer Ausführungsform kann dies ohne Einschränkung Dienste beinhalten, die Lösungen für das Vertriebsleistungsmanagement, die Unternehmensintegration und die Geschäftsflexibilität für große Organisationen bereitstellen.
  • In mindestens einer Ausführungsform können Plattformdienste durch das Drittanbieter-Netzwerkinfrastruktursystem 1102 über eine PaaS-Plattform bereitgestellt werden. In mindestens einer Ausführungsform kann die PaaS-Plattform konfiguriert sein, um Drittanbieter-Netzwerkdienste bereitzustellen, die in eine PaaS-Kategorie fallen. In mindestens einer Ausführungsform können Plattformdienste ohne Einschränkung Dienste beinhalten, die es Organisationen ermöglichen, vorhandene Anwendungen auf einer geteilten, gemeinsamen Architektur zu konsolidieren, sowie die Fähigkeit, neue Anwendungen zu erstellen, die durch eine Plattform bereitgestellte geteilte Dienste einsetzen. In mindestens einer Ausführungsform kann die PaaS-Plattform die zugrundeliegende Software und Infrastruktur zum Bereitstellen von PaaS-Diensten verwalten und steuern. In mindestens einer Ausführungsform können Kunden PaaS-Dienste, die durch das Drittanbieter-Netzwerkinfrastruktursystem 1102 bereitgestellt werden, erwerben, ohne dass Kunden separate Lizenzen und Support erwerben müssen.
  • In mindestens einer Ausführungsform können Kunden durch die Nutzung von Diensten, die durch eine PaaS-Plattform bereitgestellt werden, Programmiersprachen und Tools einsetzen, die durch ein Drittanbieter-Netzwerkinfrastruktursystem unterstützt werden, und auch eingesetzte Dienste steuern. In mindestens einer Ausführungsform können Plattformdienste, die durch ein Drittanbieter-Netzwerkinfrastruktursystem bereitgestellt werden, Datenbank-Drittanbieter-Netzwerkdienste, Middleware-Drittanbieter-Netzwerkdienste und Drittanbieter-Netzwerkdienste beinhalten. In mindestens einer Ausführungsform können Datenbank-Drittanbieter-Netzwerkdienste gemeinsame Diensteinsatzmodelle unterstützen, die es Organisationen ermöglichen, Datenbankressourcen zu poolen und Kunden eine Datenbank-as-a-Service in Form eines Datenbank-Drittanbieter-Netzwerks anzubieten. In mindestens einer Ausführungsform können Middleware-Drittanbieter-Netzwerkdienste eine Plattform für Kunden bereitstellen, um verschiedene Geschäftsanwendungen zu entwickeln und bereitzustellen, und die Drittanbieter-Netzwerkdienste können eine Plattform für Kunden bereitstellen, um Anwendungen in einem Drittanbieter-Netzwerkinfrastruktursystem einzusetzen.
  • In mindestens einer Ausführungsform können verschiedene unterschiedliche Infrastrukturdienste durch eine IaaS-Plattform in einem Drittanbieter-Netzwerkinfrastruktursystem bereitgestellt werden. In mindestens einer Ausführungsform ermöglichen Infrastrukturdienste die Verwaltung und Kontrolle von zugrunde liegenden Rechenressourcen, wie etwa Speicher, Netzwerke und andere grundlegende Rechenressourcen für Kunden, die Dienste nutzen, die durch eine SaaS-Plattform und eine PaaS-Plattform bereitgestellt werden.
  • In mindestens einer Ausführungsform kann das Drittanbieter-Netzwerkinfrastruktursystem 1102 auch Infrastrukturressourcen 1130 zum Bereitstellen von Ressourcen beinhalten, die verwendet werden, um Kunden eines Drittanbieter-Netzwerkinfrastruktursystems verschiedene Dienste bereitzustellen. In mindestens einer Ausführungsform können die Infrastrukturressourcen 1130 vorintegrierte und optimierte Kombinationen von Hardware, wie etwa Server, Speicher und Netzwerkressourcen, um Dienste auszuführen, die durch eine PaaS-Plattform und eine SaaS-Plattform bereitgestellt werden, und andere Ressourcen beinhalten.
  • In mindestens einer Ausführungsform können Ressourcen im Drittanbieter-Netzwerkinfrastruktursystem 1102 von mehreren Benutzern gemeinsam genutzt und je nach Bedarf dynamisch neu zugewiesen werden. In mindestens einer Ausführungsform können Benutzern in unterschiedlichen Zeitzonen Ressourcen zugewiesen werden. In mindestens einer Ausführungsform kann das Drittanbieter-Netzwerkinfrastruktursystem 1102 einer ersten Gruppe von Benutzern in einer ersten Zeitzone ermöglichen, Ressourcen eines Drittanbieter-Netzwerkinfrastruktursystems für eine festgelegte Anzahl von Stunden zu nutzen, und dann eine Neuzuweisung derselben Ressourcen für eine andere Gruppe von Benutzern, die sich in einer anderen Zeitzone befinden, ermöglichen, wodurch die Nutzung der Ressourcen maximiert wird.
  • In mindestens einer Ausführungsform kann eine Reihe interner gemeinsam genutzter Dienste 1132 bereitgestellt werden, die von verschiedenen Komponenten oder Modulen des Drittanbieter-Netzwerkinfrastruktursystems 1102 gemeinsam genutzt werden, um die Bereitstellung von Diensten durch das Drittanbieter-Netzwerkinfrastruktursystem 1102 zu ermöglichen. In mindestens einer Ausführungsform können diese internen gemeinsam genutzten Dienste ohne Einschränkung einen Sicherheits- und Identitätsdienst, einen Integrationsdienst, einen Unternehmens-Repository-Dienst, einen Unternehmensmanagerdienst, einen Virenscan- und Whitelist-Dienst, einen Hochverfügbarkeits-, Sicherungs- und Wiederherstellungsdienst, Dienst zum Ermöglichen von Drittanbieter-Netzwerkunterstützung, einen E-Mail-Dienst, einen Benachrichtigungsdienst, einen Dateiübertragungsdienst und/oder Variationen davon beinhalten.
  • In mindestens einer Ausführungsform kann das Drittanbieter-Netzwerkinfrastruktursystem 1102 eine umfassende Verwaltung von Drittanbieter-Netzwerkdiensten (z. B. SaaS-, PaaS- und IaaS-Dienste) in einem Drittanbieter-Netzwerkinfrastruktursystem bereitstellen. In mindestens einer Ausführungsform kann die Drittanbieter-Netzwerkverwaltungsfunktionalität Fähigkeiten zum Bereitstellen, Verwalten und Verfolgen eines durch das Drittanbieter-Netzwerkinfrastruktursystem 1102 empfangenen Abonnements eines Kunden und/oder Variationen davon beinhalten.
  • In mindestens einer Ausführungsform kann, wie in 11 dargestellt, die Drittanbieter-Netzwerkverwaltungsfunktionalität durch ein oder mehrere Module bereitgestellt werden, wie etwa ein Auftragsverwaltungsmodul 1120, ein Auftragsorchestrierungsmodul 1122, ein Auftragsbereitstellungsmodul 1124, ein Auftragsverwaltungs- und -überwachungsmodul 1126 und ein Identitätsverwaltungsmodul 1128. In mindestens einer Ausführungsform können diese Module einen oder mehrere Computer und/oder Server beinhalten oder unter Verwendung derselben bereitgestellt werden, die Allzweckcomputer, spezialisierte Server-Computer, Serverfarmen, Servercluster oder jede andere geeignete Anordnung und/oder Kombination sein können.
  • In mindestens einer Ausführungsform kann ein Kunde, der eine Client-Vorrichtung, wie etwa die Client-Rechenvorrichtungen 1104, 1106 oder 1108, verwendet, in Schritt 1134 mit dem Drittanbieter-Netzwerkinfrastruktursystem 1102 interagieren, indem er einen oder mehrere Dienste anfordert, die durch das Drittanbieter-Netzwerkinfrastruktursystem 1102 bereitgestellt werden, und einen Auftrag für ein Abonnement für einen oder mehrere Dienste erteilt, die durch das Drittanbieter-Netzwerkinfrastruktursystem 1102 angeboten werden. In mindestens einer Ausführungsform kann ein Kunde auf eine Benutzerschnittstelle (UI) eines Drittanbieter-Netzwerks zugreifen, wie etwa eine Drittanbieter-Netzwerk-UI 1112, eine Drittanbieter-Netzwerk-UI 1114 und/oder eine Drittanbieter-Netzwerk-UI 1116, und einen Abonnementauftrag über diese UI erteilen. In mindestens einer Ausführungsform können Auftragsinformationen, die durch das Drittanbieter-Netzwerkinfrastruktursystem 1102 als Reaktion darauf, dass ein Kunde einen Auftrag erteilt, empfangen werden, Informationen beinhalten, die einen Kunden und einen oder mehrere Dienste identifizieren, die durch ein Drittanbieter-Netzwerkinfrastruktursystem 1102 angeboten werden, die ein Kunde abonnieren möchte.
  • In mindestens einer Ausführungsform können bei Schritt 1136 von einem Kunden empfangene Auftragsinformationen in einer Auftragsdatenbank 1118 gespeichert werden. In mindestens einer Ausführungsform kann, wenn es sich um einen neuen Auftrag handelt, ein neuer Datensatz für einen Auftrag erstellt werden. In mindestens einer Ausführungsform kann die Auftragsdatenbank 1118 eine von mehreren Datenbanken sein, die durch das Drittanbieter-Netzwerkinfrastruktursystem 1118 betrieben und in Verbindung mit anderen Systemelementen betrieben werden.
  • In mindestens einer Ausführungsform können bei Schritt 1138 Auftragsinformation an ein Auftragsverwaltungsmodul 1120 weitergeleitet werden, das konfiguriert sein kann, um Abrechnungs- und Buchhaltungsfunktionen in Bezug auf einen Auftrag auszuführen, wie zum Beispiel das Verifizieren eines Auftrags, und nach der Verifizierung das Verbuchen eines Auftrags.
  • In mindestens einer Ausführungsform können bei Schritt 1140 Informationen bezüglich eines Auftrags an ein Auftragsorchestrierungsmodul 1122 übermittelt werden, das konfiguriert ist, um die Bereitstellung von Diensten und Ressourcen für einen durch einen Kunden erteilten Auftrag zu koordinieren. In mindestens einer Ausführungsform kann das Auftragsorchestrierungsmodul 1122 Dienste des Auftragsbereitstellungsmoduls 1124 für die Bereitstellung verwenden. In mindestens einer Ausführungsform ermöglicht das Auftragsorchestrierungsmodul 1122 die Verwaltung von Geschäftsprozessen, die jedem Auftrag zugeordnet sind, und wendet Geschäftslogik an, um zu bestimmen, ob ein Auftrag zur Bereitstellung fortfahren sollte.
  • In mindestens einer Ausführungsform sendet das Auftragsorchestrierungsmodul 1122 bei Schritt 1142 nach Erhalt eines Auftrags für ein neues Abonnement eine Anforderung an das Auftragsbereitstellungsmodul 1124, Ressourcen zuzuweisen und Ressourcen zu konfigurieren, die zum Erfüllen eines Abonnementauftrags benötigt werden. In mindestens einer Ausführungsform ermöglicht das Auftragsbereitstellungsmodul 1124 eine Zuweisung von Ressourcen für durch einen Kunden beauftragte Dienste. In mindestens einer Ausführungsform stellt das Auftragsbereitstellungsmodul 1124 eine Abstraktionsebene zwischen Drittanbieter-Netzwerkdiensten, die durch das Drittanbieter-Netzwerkinfrastruktursystem 1100 bereitgestellt werden, und einer physischen Implementierungsschicht bereit, die verwendet wird, um Ressourcen zum Bereitstellen angeforderter Dienste bereitzustellen. In mindestens einer Ausführungsform ermöglicht dies, das Auftragsorchestrierungsmodul 1122 von Implementierungsdetails zu isolieren, beispielsweise ob Dienste und Ressourcen tatsächlich in Echtzeit bereitgestellt oder vorab bereitgestellt und nur auf Anfrage zugewiesen werden.
  • In mindestens einer Ausführungsform kann bei Schritt 1144, sobald Dienste und Ressourcen bereitgestellt sind, eine Benachrichtigung an Abonnementkunden gesendet werden, die angibt, dass ein angeforderter Dienst jetzt einsatzbereit ist. In mindestens einer Ausführungsform können Informationen (z. B. ein Link) an einen Kunden gesendet werden, die es einem Kunden ermöglichen, mit der Verwendung der angeforderten Dienste zu beginnen.
  • In mindestens einer Ausführungsform kann bei Schritt 1146 ein Abonnementauftrag eines Kunden durch ein Auftragsverwaltungs- und -überwachungsmodul 1126 verwaltet und verfolgt werden. In mindestens einer Ausführungsform kann das Auftragsverwaltungs- und - überwachungsmodul 1126 konfiguriert sein, um Nutzungsstatistiken bezüglich einer Kundennutzung von abonnierten Diensten zu sammeln. In mindestens einer Ausführungsform können Statistiken für eine verwendete Speichermenge, eine übertragene Datenmenge, eine Anzahl von Benutzern und eine Menge an Systembetriebszeit und Systemausfallzeit und/oder Variationen davon gesammelt werden.
  • In mindestens einer Ausführungsform kann das Drittanbieter-Netzwerkinfrastruktursystem 1100 ein Identitätsverwaltungsmodul 1128 beinhalten, das konfiguriert ist, um Identitätsdienste bereitzustellen, wie etwa Zugriffsverwaltungs- und Autorisierungsdienste im Drittanbieter-Netzwerkinfrastruktursystem 1100. In mindestens einer Ausführungsform kann das Identitätsverwaltungsmodul 1128 Informationen über Kunden steuern, die Dienste nutzen möchten, die durch das Drittanbieter-Netzwerkinfrastruktursystem 1102 bereitgestellt werden. In mindestens einer Ausführungsform können solche Informationen Informationen, die Identitäten solcher Kunden authentifizieren, und Informationen beinhalten, die beschreiben, zu welchen Handlungen diese Kunden in Bezug auf verschiedene Systemressourcen (z. B. Dateien, Verzeichnisse, Anwendungen, Kommunikationsports, Speichersegmente usw.) autorisiert sind. In mindestens einer Ausführungsform kann das Identitätsverwaltungsmodul 1128 auch die Verwaltung von beschreibenden Informationen über jeden Kunden und darüber, wie und von wem auf diese beschreibenden Informationen zugegriffen und diese modifiziert werden können, beinhalten.
  • 12 veranschaulicht eine Cloud-Computing-Umgebung 1202 gemäß mindestens einer Ausführungsform. In mindestens einer Ausführungsform umfasst die Cloud-Computing-Umgebung 1202 ein oder mehrere Computersysteme/Server 1204, mit denen Rechenvorrichtungen wie ein persönlicher digitaler Assistent (PDA) oder ein Mobiltelefon 1206A, ein Desktop-Computer 1206B, ein Laptop-Computer 1206C und/oder ein Autocomputersystem 1206N kommunizieren. In mindestens einer Ausführungsform ermöglicht dies, dass Infrastruktur, Plattformen und/oder Software als Dienste von der Cloud-Computing-Umgebung 1202 angeboten werden, sodass nicht jeder Client diese Ressourcen separat pflegen muss. Es versteht sich, dass die in 12 dargestellten Arten von Rechenvorrichtungen 1206A-N nur veranschaulichend sein sollen und dass die Cloud-Computing-Umgebung 1202 mit jeder Art von computergestützter Vorrichtung über jede Art von Netzwerk und/oder Netzwerk-/adressierbare Verbindung (z. B. über einen Webbrowser) kommunizieren kann.
  • In mindestens einer Ausführungsform ist ein Computersystem/Server 1204, das bzw. der als ein Cloud-Computing-Knoten bezeichnet werden kann, mit zahlreichen anderen Allzweck- oder Spezialzweck-Rechensystemumgebungen oder -konfigurationen betriebsfähig. In mindestens einer Ausführungsform beinhalten Rechensysteme, -umgebungen und/oder -konfigurationen, die zur Verwendung mit dem Computersystem/Server 1204 geeignet sein können, Personalcomputersysteme, Server-Computersysteme, Thin Clients, Thick Clients, Handheld- oder Laptop-Vorrichtungen, Multiprozessorsysteme, mikroprozessorbasierte Systeme, Set-Top-Boxen, programmierbare Unterhaltungselektronik, Netzwerk-PCs, Minicomputersysteme, Mainframe-Computersysteme und verteilte Cloud-Computing-Umgebungen, die ein beliebiges der oben genannten Systeme oder eine beliebige der oben genannten Vorrichtungen beinhalten, und/oder Variationen davon, ohne darauf beschränkt zu sein.
  • In mindestens einer Ausführungsform kann das Computersystem/der Server 1204 in einem allgemeinen Kontext von durch ein Computersystem ausführbaren Anweisungen, wie etwa Programmmodulen, die durch ein Computersystem ausgeführt werden, beschrieben werden. In mindestens einer Ausführungsform enthalten Programmmodule Routinen, Programme, Objekte, Komponenten, Logik, Datenstrukturen und so weiter, die bestimmte Aufgaben durchführen oder bestimmte abstrakte Datentypen implementieren. In mindestens einer Ausführungsform kann das beispielhafte Computersystem/der beispielhafte Server 1204 in verteilten Cloud-Computing-Umgebungen in die Praxis umgesetzt sein, in denen Tasks durch entfernte Verarbeitungsvorrichtungen durchgeführt werden, die über ein Kommunikationsnetzwerk miteinander verbunden sind. In mindestens einer Ausführungsform können sich in einer verteilten Cloud-Computing-Umgebung Programmmodule sowohl auf lokalen als auch entfernten Computersystemspeichermedien, einschließlich Speichervorrichtungen, befinden.
  • 13 veranschaulicht einen Satz funktionaler Abstraktionsschichten, der durch die Cloud-Computing-Umgebung 1202 (12) bereitgestellt wird, gemäß mindestens einer Ausführungsform. Es sollte im Voraus verstanden werden, dass die in 13 dargestellten Komponenten, Schichten und Funktionen nur zur Veranschaulichung gedacht sind und die Komponenten, Schichten und Funktionen variieren können.
  • In mindestens einer Ausführungsform beinhaltet die Hardware- und Softwareschicht 1302 Hardware- und Softwarekomponenten. In mindestens einer Ausführungsform beinhalten die Hardwarekomponenten Mainframes, verschiedene Server, die auf einer RISC-Architektur (Reduced Instruction Set Computer) basieren, verschiedene Rechensysteme, Superrechensysteme, Speichervorrichtungen, Netzwerke, Netzwerkkomponenten und/oder Variationen davon. In mindestens einer Ausführungsform beinhalten die Softwarekomponenten Netzwerkanwendungsserversoftware, verschiedene Anwendungsserversoftware, verschiedene Datenbanksoftware und/oder Variationen davon.
  • In mindestens einer Ausführungsform stellt die Virtualisierungsschicht 1304 eine Abstraktionsschicht bereit, von der die folgenden beispielhaften virtuellen Einheiten bereitgestellt werden können: virtuelle Server, virtueller Speicher, virtuelle Netzwerke, einschließlich virtueller privater Netzwerke, virtuelle Anwendungen, virtuelle Clients und/oder Variationen davon.
  • In mindestens einer Ausführungsform stellt die Verwaltungsschicht 1306 verschiedene Funktionen bereit. In mindestens einer Ausführungsform stellt Ressourcenbereitstellung eine dynamische Beschaffung von Rechenressourcen und anderen Ressourcen bereit, die genutzt werden, um Tasks innerhalb einer Cloud-Computing-Umgebung durchzuführen. In mindestens einer Ausführungsform stellt eine Verbrauchserfassung eine Nutzungsverfolgung, wenn Ressourcen innerhalb einer Cloud-Computing-Umgebung genutzt werden, und eine Abrechnung oder Fakturierung für den Verbrauch dieser Ressourcen bereit. In mindestens einer Ausführungsform können Ressourcen Anwendungssoftwarelizenzen umfassen. In mindestens einer Ausführungsform stellt eine Sicherheit eine Identitätsprüfung für Benutzer und Tasks sowie Schutz für Daten und andere Ressourcen bereit. In mindestens einer Ausführungsform stellt die Benutzerschnittstelle sowohl Benutzern als auch Systemadministratoren Zugriff auf eine Cloud-Computing-Umgebung bereit. In mindestens einer Ausführungsform stellt die Dienstebenenverwaltung die Zuweisung und Verwaltung von Cloud-Computing-Ressourcen bereit, sodass die erforderlichen Dienstebenen erfüllt werden. In mindestens einer Ausführungsform stellt die Verwaltung der Dienstgütevereinbarung (SLA) eine Vorab-Anordnung für und Beschaffung von Cloud-Computing-Ressourcen bereit, für die gemäß einem SLA eine zukünftige Anforderung erwartet wird.
  • In mindestens einer Ausführungsform stellt die Rechenlastschicht 1308 eine Funktionalität bereit, für die eine Cloud-Computing-Umgebung verwendet wird. In mindestens einer Ausführungsform beinhalten Rechenlasten und Funktionen, die von dieser Schicht bereitgestellt werden können: Kartierung und Navigation, Softwareentwicklung und -verwaltung, Bildungsdienste, Datenanalyse und -verarbeitung, Transaktionsverarbeitung und Dienstbereitstellung.
  • Supercomputer
  • Die folgenden Figuren legen ohne Einschränkung beispielhafte supercomputerbasierte Systeme dar, die verwendet werden können, um mindestens eine Ausführungsform zu implementieren.
  • In mindestens einer Ausführungsform kann sich ein Supercomputer auf ein Hardwaresystem beziehen, das im Wesentlichen Parallelität aufweist und mindestens einen Chip umfasst, wobei Chips in einem System durch ein Netzwerk miteinander verbunden und in hierarchisch organisierten Gehäusen platziert sind. In mindestens einer Ausführungsform ist ein großes Hardwaresystem, das einen Maschinenraum mit mehreren Racks füllt, von denen jedes mehrere Platinen/Rack-Module enthält, von denen jedes mehrere Chips enthält, die alle durch ein skalierbares Netzwerk miteinander verbunden sind, mindestens eine Ausführungsform eines Supercomputers. In mindestens einer Ausführungsform ist ein einzelnes Rack eines solchen großen Hardwaresystems mindestens eine andere Ausführungsform eines Supercomputers. In mindestens einer Ausführungsform kann ein einzelner Chip, der eine beträchtliche Parallelität aufweist und mehrere Hardwarekomponenten enthält, gleichermaßen als Supercomputer angesehen werden, da mit abnehmenden Merkmalsgrößen auch eine Menge an Hardware, die in einen einzelnen Chip integriert werden kann, zunehmen kann.
  • 14 veranschaulicht einen Supercomputer auf Chipebene gemäß mindestens einer Ausführungsform. In mindestens einer Ausführungsform wird innerhalb eines FPGA- oder ASIC-Chips der Hauptrechenaufwand in endlichen Zustandsmaschinen (SM) (1404) durchgeführt, die als Thread-Einheiten bezeichnet werden. In mindestens einer Ausführungsform verbinden Task- und Synchronisationsnetzwerke (1402) endliche Zustandsmaschinen und werden verwendet, um Threads abzuschicken und Vorgänge in der richtigen Reihenfolge auszuführen. In mindestens einer Ausführungsform wird unter Verwendung von Speichernetzwerken (1406, 1410) auf eine partitionierte Mehrebenen-Cache-Hierarchie (1408, 1412) auf einem Chip zugegriffen. In mindestens einer Ausführungsform wird auf einen chipexternen Speicher unter Verwendung von Speichersteuerungen (MC) (1416) und einem chipexternen Speichernetzwerk (1414) zugegriffen. In mindestens einer Ausführungsform wird eine E/A-Steuerung (1418) für die chipübergreifende Kommunikation verwendet, wenn eine Ausgestaltung nicht in einen einzelnen Logikchip passt.
  • 15 veranschaulicht einen Supercomputer auf Rackmodulebene gemäß mindestens einer Ausführungsform. In mindestens einer Ausführungsform gibt es innerhalb eines Rack-Moduls mehrere FPGA- oder ASIC-Chips (1502), die mit einer oder mehreren DRAM-Einheiten (1504) verbunden sind, die einen Hauptbeschleunigerspeicher bilden. In mindestens einer Ausführungsform ist jeder FPGA/ASIC-Chip mit seinem benachbarten FPGA/ASIC-Chip unter Verwendung von breiten Bussen auf einer Platine mit differentieller Hochgeschwindigkeitssignalisierung (1506) verbunden. In mindestens einer Ausführungsform ist jeder FPGA/ASIC-Chip auch mit mindestens einem seriellen Hochgeschwindigkeitskommunikationskabel verbunden.
  • 16 veranschaulicht einen Supercomputer auf Rackebene gemäß mindestens einer Ausführungsform. 17 veranschaulicht einen Supercomputer auf Gesamtsystemebene gemäß mindestens einer Ausführungsform. In mindestens einer Ausführungsform werden unter Bezugnahme auf 16 und 17 zwischen Rack-Modulen in einem Rack und über Racks hinweg durch ein gesamtes System serielle optische Hochgeschwindigkeits- oder Kupferkabel (1602, 1702) verwendet, um ein skalierbares, möglicherweise unvollständiges Hypercube-Netzwerk zu realisieren. In mindestens einer Ausführungsform ist einer der FPGA/ASIC-Chips eines Beschleunigers über eine PCI-Express-Verbindung (1704) mit einem Host-System verbunden. In mindestens einer Ausführungsform umfasst das Host-System einen Host-Mikroprozessor (1708), auf dem ein Softwareteil einer Anwendung läuft, und einen Speicher, der aus einer oder mehreren Host-Speicher-DRAM-Einheiten (1706) besteht, der mit dem Speicher auf einem Beschleuniger kohärent gehalten wird. In mindestens einer Ausführungsform kann das Host-System ein separates Modul auf einem der Racks sein oder kann in eines der Module eines Supercomputers integriert sein. In mindestens einer Ausführungsform stellt eine Cube-verbundene Zyklen-Topologie Kommunikationsverbindungen bereit, um ein Hypercube-Netzwerk für einen großen Supercomputer zu schaffen. In mindestens einer Ausführungsform kann eine kleine Gruppe von FPGA/ASIC-Chips auf einem Rack-Modul als ein einzelner Hypercube-Knoten fungieren, sodass eine Gesamtzahl von externen Verbindungen jeder Gruppe im Vergleich zu einem einzelnen Chip erhöht ist. In mindestens einer Ausführungsform enthält eine Gruppe die Chips A, B, C und D auf einem Rack-Modul mit internen breiten differentiellen Bussen, die A, B, C und D in einer Torus-Organisation verbinden. In mindestens einer Ausführungsform gibt es 12 serielle Kommunikationskabel, die ein Rack-Modul mit der Außenwelt verbinden. In mindestens einer Ausführungsform ist Chip A auf einem Rack-Modul mit den seriellen Kommunikationskabeln 0, 1, 2 verbunden. In mindestens einer Ausführungsform ist Chip B mit den Kabeln 3, 4, 5 verbunden. In mindestens einer Ausführungsform ist Chip C mit 6, 7, 8 verbunden. In mindestens einer Ausführungsform ist Chip D mit 9, 10, 11 verbunden. In mindestens einer Ausführungsform kann eine gesamte Gruppe {A, B, C, D}, die ein Rack-Modul bildet, einen Hypercube-Knoten innerhalb eines Supercomputersystems mit bis zu 212 = 4096 Rack-Modulen (16384 FPGA/ASIC-Chips) bilden. In mindestens einer Ausführungsform muss, damit Chip A eine Nachricht auf Verbindung 4 der Gruppe {A, B, C, D} senden kann, eine Nachricht mit einer integrierten differentiellen breiten Busverbindung am Chip B geroutet werden. In mindestens einer Ausführungsform muss eine Nachricht, die in einer Gruppe {A, B, C, D} auf Verbindung 4 ankommt (d. h. bei B ankommt), die für Chip A bestimmt ist, auch zuerst an einen korrekten Zielchip (A) innerhalb einer Gruppe {A, B, C, D} intern geroutet werden. In mindestens einer Ausführungsform können auch parallele Supercomputersysteme anderer Größen implementiert sein.
  • Künstliche Intelligenz
  • Die folgenden Figuren legen ohne Einschränkung beispielhafte Systeme auf Basis künstlicher Intelligenz dar, die verwendet werden können, um mindestens eine Ausführungsform zu implementieren.
  • 18A veranschaulicht Inferenz- und/oder Trainingslogik 1815, die verwendet wird, um Inferenz- und/oder Trainingsvorgänge in Verbindung mit einer oder mehreren Ausführungsformen durchzuführen. Details bezüglich der Inferenz- und/oder Trainingslogik 1815 werden nachfolgend in Verbindung mit den 18A und/oder 18B bereitgestellt.
  • In mindestens einer Ausführungsform kann die Inferenz- und/oder Trainingslogik 1815 ohne Einschränkung einen Code- und/oder Datenspeicher 1801 beinhalten, um Vorwärts- und/oder Ausgabegewichts- und/oder Eingabe-/Ausgabedaten und/oder andere Parameter zu speichern, um Neuronen oder Schichten eines neuronalen Netzes zu konfigurieren, das in Aspekten einer oder mehrerer Ausführungsformen trainiert und/oder zum Schlussfolgern verwendet wird. In mindestens einer Ausführungsform kann die Trainingslogik 1815 einen Code- und/oder Datenspeicher 1801 beinhalten oder mit diesem gekoppelt sein, um einen Graphencode oder eine andere Software zu speichern, die das Timing und/oder die Reihenfolge steuert, in der Gewichts- und/oder andere Parameterinformationen geladen werden sollen, um eine Logik zu konfigurieren, einschließlich Ganzzahl- und/oder Gleitkommaeinheiten (zusammenfassend als arithmetische Logikeinheiten (ALUs) bezeichnet). In mindestens einer Ausführungsform lädt Code, wie etwa Graphencode, Gewichts- oder andere Parameterinformationen in Prozessor-ALUs basierend auf einer Architektur eines neuronalen Netzes, dem derartiger Code entspricht. In mindestens einer Ausführungsform speichert der Code- und/oder Datenspeicher 1801 Gewichtsparameter und/oder Eingabe-/Ausgabedaten jeder Schicht eines neuronalen Netzes, das in Verbindung mit einer oder mehreren Ausführungsformen trainiert oder verwendet wird, während der Vorwärtspropagierung von Eingabe-/Ausgabedaten und/oder Gewichtsparametern während des Trainierens und/oder Ableitens unter Verwendung von Aspekten einer oder mehrerer Ausführungsformen. In mindestens einer Ausführungsform kann ein beliebiger Teil des Code- und/oder Datenspeichers 1801 in einem anderen chipinternen oder chipexternen Datenspeicher beinhaltet sein, was einen L1-, L2- oder L3-Cache oder Systemspeicher eines Prozessors beinhaltet.
  • In mindestens einer Ausführungsform kann ein beliebiger Teil des Code- und/oder Datenspeichers 1801 intern oder extern von einem oder mehreren Prozessoren oder anderen Hardwarelogikvorrichtungen oder -schaltungen sein. In mindestens einer Ausführungsform kann der Code und/oder Code- und/oder Datenspeicher 1801 Cache-Speicher, dynamischer zufällig adressierbarer Speicher (dynamic randomly addressable memory - „DRAM“), statischer zufällig adressierbarer Speicher (static randomly addressable memory - „SRAM“), nichtflüchtiger Speicher (z. B. Flash-Speicher) oder anderer Speicher sein. In mindestens einer Ausführungsform kann eine Wahl, ob der Code und/oder Code- und/oder Datenspeicher 1801 in mindestens einer Ausführungsform zu einem Prozessor intern oder extern ist oder DRAM, SRAM, Flash oder einen anderen Speichertyp umfasst, von dem verfügbaren chipinternen oder chipexternen Speicher, den Latenzanforderungen der Trainings- und/oder Inferenzfunktionen, die durchgeführt werden, der Batch-Größe der Daten, die beim Schlussfolgern und/oder Trainieren eines neuronalen Netzes verwendet werden, oder einer Kombination dieser Faktoren abhängen.
  • In mindestens einer Ausführungsform kann die Inferenz- und/oder Trainingslogik 1815 ohne Einschränkung Folgendes beinhalten: einen Code- und/oder Datenspeicher 1805, um Gewichts- und/oder Eingabe-/Ausgabedaten rückwärtsgerichtet zu speichern und/oder auszugeben, die Neuronen oder Schichten eines neuronalen Netzwerks entsprechen, das in Aspekten einer oder mehrerer Ausführungsformen trainiert und/oder zum Schlussfolgern verwendet wird. In mindestens einer Ausführungsform speichert der Code- und/oder Datenspeicher 1805 Gewichtsparameter und/oder Eingabe-/Ausgabedaten jeder Schicht eines neuronalen Netzes, das trainiert oder in Verbindung mit einer oder mehreren Ausführungsformen während der Rückwärtspropagation von Eingabe-/Ausgabedaten und/oder Gewichtsparametern während des Trainings und/oder dem Schlussfolgern unter Verwendung von Aspekten einer oder mehrerer Ausführungsformen verwendet wird. In mindestens einer Ausführungsform kann die Trainingslogik 1815 einen Code- und/oder Datenspeicher 1805 beinhalten oder an diesen gekoppelt sein, um Graphencode oder andere Software zu speichern, um die Zeitsteuerung und/oder die Reihenfolge zu steuern, in der Gewichtsinformationen und/oder Informationen zu anderen Parametern gespeichert werden sollen, um Logik zu konfigurieren, die Ganzzahl- und/oder Gleitkommaeinheiten (zusammen arithmetische Logikeinheiten (arithmetic logic units - ALUs)) beinhalten.
  • In mindestens einer Ausführungsform bewirkt Code, wie etwa Graphencode, das Laden von Gewichts- oder anderen Parameterinformationen in Prozessor-ALUs auf Grundlage einer Architektur eines neuronalen Netzes, dem derartiger Code entspricht. In mindestens einer Ausführungsform kann ein beliebiger Teil des Code- und/oder Datenspeichers 1805 in einem anderen chipinternen oder chipexternen Datenspeicher beinhaltet sein, was einen L1-, L2- oder L3-Cache oder Systemspeicher eines Prozessors beinhaltet. In mindestens einer Ausführungsform kann ein beliebiger Teil des Code- und/oder Datenspeichers 1805 intern oder extern von einem oder mehreren Prozessoren oder anderen Hardwarelogikvorrichtungen oder -schaltungen sein. In mindestens einer Ausführungsform kann der Code- und/oder Datenspeicher 1805 Cache-Speicher, DRAM, SRAM, nichtflüchtiger Speicher (z. B. Flash-Speicher) oder anderer Speicher sein. In mindestens einer Ausführungsform kann die Wahl, ob der Code- und/oder Datenspeicher 1805 zum Beispiel intern oder extern von einem Prozessor ist oder DRAM, SRAM, Flash oder eine andere Speicherart umfasst, von verfügbarem chipinternen im Vergleich zu chipexternen Speicher, Latenzanforderungen von ausgeführten Trainings- und/oder Inferenzfunktionen, Batchgröße von Daten, die beim Schlussfolgern und/oder Trainieren eines neuronalen Netzwerkes verwendet werden, oder einer Kombination dieser Faktoren abhängen.
  • In mindestens einer Ausführungsform können der Code- und/oder Datenspeicher 1801 und der Code- und/oder Datenspeicher 1805 getrennte Speicherstrukturen sein. In mindestens einer Ausführungsform können der Code- und/oder Datenspeicher 1801 und der Code- und/oder Datenspeicher 1805 eine kombinierte Speicherstruktur sein. In mindestens einer Ausführungsform können der Code- und/oder Datenspeicher 1801 und der Code- und/oder Datenspeicher 1805 teilweise kombiniert und teilweise getrennt sein. In mindestens einer Ausführungsform kann ein beliebiger Teil des Code- und/oder Datenspeichers 1801 und des Code- und/oder Datenspeichers 1805 in einem anderen chipinternen oder chipexternen Datenspeicher beinhaltet sein, was einen L1-, L2- oder L3-Cache oder Systemspeicher eines Prozessors beinhaltet.
  • In mindestens einer Ausführungsform kann die Inferenz- und/oder Trainingslogik 1815 ohne Einschränkung eine oder mehrere arithmetisch-logische Einheit(en) („ALU(s)“) 1810 beinhalten, einschließlich Ganzzahl- und/oder Gleitkommaeinheiten, um logische und/oder mathematische Operationen durchzuführen, die zumindest zum Teil auf Trainings- und/oder Inferenzcode (z. B. Graphencode) basieren oder dadurch angegeben werden, wobei ein Ergebnis davon Aktivierungen (z. B. Ausgabewerte von Schichten oder Neuronen innerhalb eines neuronalen Netzes) produzieren kann, die in einem Aktivierungsspeicher 1820 gespeichert sind und von Eingabe/Ausgabe- und/oder Gewichtsparameterdaten abhängig sind, die in dem Code- und/oder Datenspeicher 1801 und/oder dem Code- und/oder Datenspeicher 1805 gespeichert sind. In mindestens einer Ausführungsform werden im Aktivierungsspeicher 1820 gespeicherte Aktivierungen gemäß linearer algebraischer und/oder matrixbasierter Mathematik erzeugt, die durch die ALU(s) 1810 als Reaktion auf das Durchführen von Anweisungen oder anderem Code durchgeführt wird, wobei in dem Code und/oder Datenspeicher 1805 und/oder dem Code- und/oder Datenspeicher 1801 gespeicherte Gewichtswerte als Operanden zusammen mit anderen Werten verwendet werden, wie etwa Biaswerten, Gradienteninformationen, Impulswerten oder anderen Parametern oder Hyperparametern, von denen einige oder alle in dem Code und/oder Datenspeicher 1805 oder dem Code- und/oder Datenspeicher 1801 oder einem anderen Speicher chipintern oder -extern gespeichert werden können.
  • In mindestens einer Ausführungsform sind die ALU(s) 1810 in einem oder mehreren Prozessoren oder anderen Hardwarelogikvorrichtungen oder -schaltungen beinhaltet, wohingegen in einer weiteren Ausführungsform die ALU(s) 1810 außerhalb eines Prozessors oder einer anderen Hardwarelogikvorrichtung oder -schaltung liegen können, die sie verwendet (z. B. ein Co-Prozessor). In mindestens einer Ausführungsform können die ALUs 1810 in den Ausführungseinheiten eines Prozessors oder anderweitig in einer Bank von ALUs beinhaltet sein, auf welche die Ausführungseinheiten eines Prozessors, entweder innerhalb desselben Prozessors oder zwischen verschiedenen Prozessoren unterschiedlicher Arten (z. B. Zentraleinheiten, Grafikverarbeitungseinheiten, Einheiten mit fester Funktion usw.) verteilt, zugreifen können. In mindestens einer Ausführungsform können sich der Code- und/oder Datenspeicher 1801, der Code- und/oder Datenspeicher 1805 und der Aktivierungsspeicher 1820 auf demselben Prozessor oder einer anderen Hardwarelogikvorrichtung oder -schaltung befinden, wohingegen sie sich in einer weiteren Ausführungsform in unterschiedlichen Prozessoren oder anderen Hardwarelogikvorrichtungen oder -schaltungen oder einer Kombination von gleichen und unterschiedlichen Prozessoren oder anderen Hardwarelogikvorrichtungen oder -schaltungen befinden können. In mindestens einer Ausführungsform kann ein beliebiger Teil des Aktivierungsspeichers 1820 in einem anderen chipinternen oder chipexternen Datenspeicher beinhaltet sein, was einen L1-, L2- oder L3-Cache oder Systemspeicher eines Prozessors beinhaltet. Darüber hinaus kann Inferenz- und/oder Trainingscode mit anderem Code gespeichert werden, auf den ein Prozessor oder eine andere Hardwarelogik oder -schaltung zugreifen kann, und unter Verwendung der Abruf-, Decodier-, Planungs-, Ausführungs-, Stilllegungs- und/oder anderen logischen Schaltungen eines Prozessors abgerufen und/oder verarbeitet werden.
  • In mindestens einer Ausführungsform kann der Aktivierungsspeicher 1820 Cache-Speicher, DRAM, SRAM, nichtflüchtiger Speicher (z. B. Flash-Speicher) oder anderer Speicher sein. In mindestens einer Ausführungsform kann sich der Aktivierungsspeicher 1820 vollständig oder teilweise innerhalb oder außerhalb von einem oder mehreren Prozessoren oder anderen logischen Schaltungen befinden. In mindestens einer Ausführungsform kann die Wahl, ob der Aktivierungsspeicher 1820 in mindestens einer Ausführungsform intern oder extern von einem Prozessor ist oder DRAM, SRAM, Flash oder eine andere Speicherart umfasst, von verfügbarem chipinternen im Vergleich zu chipexternen Speicher, Latenzanforderungen von ausgeführten Trainings- und/oder Inferenzfunktionen, Batchgröße von Daten, die beim Schlussfolgern und/oder Trainieren eines neuronalen Netzwerkes verwendet werden, oder einer Kombination dieser Faktoren abhängen.
  • In mindestens einer Ausführungsform kann die Inferenz- und/oder Trainingslogik 1815, die in 18A veranschaulicht ist, in Verbindung mit einer anwendungsspezifischen integrierten Schaltung („ASIC“) verwendet werden, wie etwa einer Tensorflow® Verarbeitungseinheit von Google, einer Inferenzverarbeitungseinheit (inference processing unit - IPU) von Graphcore™ oder einem Nervana® (z. B. „Lake Crest“)-Prozessor von Intel Corp. In mindestens einer Ausführungsform kann die Inferenz-und/oder Trainingslogik 1815, die in 18A veranschaulicht ist, in Verbindung mit Hardware einer Zentraleinheit („CPU“), Hardware einer Grafikverarbeitungseinheit („GPU“) oder anderer Hardware, wie etwa feldprogrammierbaren Gatearrays („FPGAs“) verwendet werden.
  • 18B veranschaulicht die Inferenz- und/oder Trainingslogik 1815 gemäß mindestens einer Ausführungsform. In mindestens einer Ausführungsform kann die Inferenz- und/oder Trainingslogik 1815 ohne Einschränkung Folgendes beinhalten: Hardwarelogik, bei der Rechenressourcen dediziert oder anderweitig ausschließlich in Verbindung mit Gewichtswerten oder anderen Informationen verwendet werden, die einer oder mehreren Schichten von Neuronen innerhalb eines neuronalen Netzes entsprechen. In mindestens einer Ausführungsform kann die Inferenz- und/oder Trainingslogik 1815, die in 18B veranschaulicht ist, in Verbindung mit einer anwendungsspezifischen integrierten Schaltung (ASIC) verwendet werden, wie etwa einer Tensorflow® Verarbeitungseinheit von Google, einer Inferenzverarbeitungseinheit (IPU) von Graphcore™ oder einem Nervana® (z. B. „Lake Crest“)-Prozessor von Intel Corp. In mindestens einer Ausführungsform kann die Inferenz-und/oder Trainingslogik 1815, die in 18B veranschaulicht ist, in Verbindung mit Hardware einer Zentraleinheit (CPU), Hardware einer Grafikverarbeitungseinheit (GPU) oder anderer Hardware, wie etwa feldprogrammierbaren Gatearrays (FPGAs) verwendet werden. In mindestens einer Ausführungsform beinhaltet die Inferenz- und/oder Trainingslogik 1815 ohne Einschränkung den Code- und/oder Datenspeicher 1801 und den Code- und/oder Datenspeicher 1805, die zum Speichern von Code (z. B. Graphencode), Gewichtswerten und/oder anderen Informationen, einschließlich Biaswerten, Gradienteninformationen, Momentwerten und/oder anderer Parameter- oder Hyperparameterinformationen, verwendet werden können. In mindestens einer Ausführungsform, die in 18B veranschaulicht ist, ist jeder von dem Code- und/oder Datenspeicher 1801 und dem Code- und/oder Datenspeicher 1805 einer dedizierten Rechenressource, wie etwa der Rechenhardware 1802 bzw. der Rechenhardware 1806, zugeordnet. In mindestens einer Ausführungsform umfasst jede von der Rechenhardware 1802 und der Rechenhardware 1806 eine oder mehrere ALU, die mathematische Funktionen, wie etwa lineare algebraische Funktionen, nur an Informationen durchführen, die im Code- und/oder Datenspeicher 1801 und Code- und/oder Datenspeicher 1805 gespeichert sind, deren Ergebnis im Aktivierungsspeicher 1820 gespeichert ist.
  • In mindestens einer Ausführungsform entspricht jeder von dem Code- und/oder Datenspeicher 1801 und 1805 und die entsprechende Rechenhardware 1802 bzw. 1806 unterschiedlichen Schichten eines neuronalen Netzes, sodass die sich ergebende Aktivierung von einem Speicher/Berechnungspaar 1801/1802 des Code- und/oder Datenspeichers 1801 und der Rechenhardware 1802 als eine Eingabe für das nächste Speicher/Berechnungspaar 1805/1806 des Code- und/oder Datenspeichers 1805 und der Rechenhardware 1806 bereitgestellt wird, um die konzeptionelle Organisation eines neuronalen Netzes widerzuspiegeln. In mindestens einer Ausführungsform kann jedes der Speicher/Berechnungspaare 1801/1802 und 1805/1806 mehr als einer Schicht des neuronalen Netzes entsprechen. In mindestens einer Ausführungsform können zusätzliche Speicher/Berechnungspaare (nicht dargestellt) nach oder parallel zu den Speicher/Berechnungspaaren 1801/1802 und 1805/1806 in der Inferenz- und/oder Trainingslogik 1815 beinhaltet sein.
  • 19 veranschaulicht das Training und den Einsatz eines tiefen neuronalen Netzes gemäß mindestens einer Ausführungsform. In mindestens einer Ausführungsform wird das untrainierte neuronale Netz 1906 unter Verwendung eines Trainingsdatensatzes 1902 trainiert. In mindestens einer Ausführungsform ist das Trainings-Framework 1904 ein PyTorch-Framework, wohingegen in anderen Ausführungsformen das Trainings-Framework 1904 ein TensorFlow, Boost, Caffe, Microsoft Cognitive Toolkit/CNTK, MXNet, Chainer, Keras, Deeplearning4j oder ein anderes Trainings-Framework ist. In mindestens einer Ausführungsform trainiert das Trainings-Framework 1904 ein untrainiertes neuronales Netz 1906 und ermöglicht, dass es unter Verwendung von hierin beschriebenen Verarbeitungsressourcen trainiert wird, um ein trainiertes neuronales Netz 1908 zu erzeugen. In mindestens einer Ausführungsform können Gewichte zufällig oder durch Vortraining unter Verwendung eines Deep-Belief-Netzes gewählt werden. In mindestens einer Ausführungsform kann das Training entweder überwacht, teilweise überwacht oder unüberwacht durchgeführt werden.
  • In mindestens einer Ausführungsform wird das untrainierte neuronale Netz 1906 unter Verwendung von überwachtem Lernen trainiert, wobei der Trainingsdatensatz 1902 eine Eingabe beinhaltet, die mit einer gewünschten Ausgabe für eine Eingabe gepaart ist, oder wobei der Trainingsdatensatz 1902 eine Eingabe mit einer bekannten Ausgabe beinhaltet und eine Ausgabe des neuronalen Netzes 1906 manuell bewertet wird. In mindestens einer Ausführungsform wird das untrainierte neuronale Netz 1906 auf überwachte Weise trainiert und verarbeitet Eingaben aus dem Trainingsdatensatz 1902 und vergleicht die resultierenden Ausgaben mit einem Satz von erwarteten oder gewünschten Ausgaben. In mindestens einer Ausführungsform werden Fehler dann durch das untrainierte neuronale Netz 1906 rückpropagiert. In mindestens einer Ausführungsform passt das Trainings-Framework 1904 Gewichte an, die das untrainierte neuronale Netz 1906 steuern. In mindestens einer Ausführungsform beinhaltet das Trainings-Framework 1904 Tools, um zu überwachen, wie gut das untrainierte neuronale Netz 1906 zu einem Modell konvergiert, wie etwa einem trainierten neuronalen Netz 1908, das dazu geeignet ist, korrekte Antworten zu erzeugen, wie etwa in einem Ergebnis 1914, die auf Eingabedaten, wie etwa einem neuen Datensatz 1912, basieren. In mindestens einer Ausführungsform trainiert das Trainings-Framework 1904 das untrainierte neuronale Netz 1906 wiederholt, während Gewichte angepasst werden, um eine Ausgabe des untrainierten neuronalen Netzes 1906 unter Verwendung einer Verlustfunktion und eines Anpassungsalgorithmus, wie etwa des stochastischen Gradientenabstiegs, zu verfeinern. In mindestens einer Ausführungsform trainiert das Trainings-Framework 1904 das untrainierte neuronale Netzwerk 1906, bis das untrainierte neuronale Netz 1906 eine gewünschte Genauigkeit erreicht. In mindestens einer Ausführungsform kann das trainierte neuronale Netz 1908 dann eingesetzt werden, um eine beliebige Anzahl von Maschinenlernoperationen zu implementieren.
  • In mindestens einer Ausführungsform wird das untrainierte neuronale Netz 1906 unter Verwendung von unüberwachtem Lernen trainiert, wobei das untrainierte neuronale Netz 1906 versucht, sich selbst unter Verwendung von nicht markierten Daten zu trainieren. In mindestens einer Ausführungsform beinhaltet der Trainingsdatensatz 1902 für unüberwachtes Lernen Eingabedaten ohne zugehörige Ausgabedaten oder „Ground-Truth“-Daten. In mindestens einer Ausführungsform kann das untrainierte neuronale Netz 1906 Gruppierungen innerhalb des Trainingsdatensatzes 1902 lernen und bestimmen, wie einzelne Eingaben mit dem untrainierten Datensatz 1902 in Bezug stehen. In mindestens einer Ausführungsform kann unüberwachtes Training verwendet werden, um eine selbstorganisierende Karte in dem trainierten neuronalen Netz 1908 zu erzeugen, die dazu in der Lage ist, Operationen durchzuführen, die beim Reduzieren der Dimensionalität des neuen Datensatzes 1912 nützlich sind. In mindestens einer Ausführungsform kann auch ein unüberwachtes Training verwendet werden, um eine Anomalieerkennung durchzuführen, was die Identifizierung von Datenpunkten im neuen Datensatz 1912 erlaubt, die von normalen Mustern des neuen Datensatzes 1912 abweichen.
  • In mindestens einer Ausführungsform kann halbüberwachtes Lernen verwendet werden, wobei es sich um eine Technik handelt, bei der der Trainingsdatensatz 1902 eine Mischung aus markierten und nicht markierten Daten beinhaltet. In mindestens einer Ausführungsform kann das Trainings-Framework 1904 verwendet werden, um inkrementelles Lernen durchzuführen, wie etwa durch Transferlerntechniken. In mindestens einer Ausführungsform ermöglicht das inkrementelle Lernen es dem trainierten neuronalen Netz 1908, sich an den neuen Datensatz 1912 anzupassen, ohne das Wissen zu vergessen, das dem trainierten neuronalen Netz 1408 während des anfänglichen Trainings beigebracht wurde.
  • 5G-Netze
  • Die folgenden Figuren legen ohne Einschränkung beispielhafte 5G-Netz-basierte Systeme dar, die verwendet werden können, um mindestens eine Ausführungsform zu implementieren.
  • 20 veranschaulicht eine Architektur eines Systems 2000 eines Netzwerks gemäß mindestens einer Ausführungsform. In mindestens einer Ausführungsform beinhaltet das System 2000 der Darstellung nach ein Endgerät (user equipment - UE) 2002 und ein UE 2004. In mindestens einer Ausführungsform sind die UEs 2002 und 2004 als Smartphones (z. B. transportable mobile Touchscreen-Rechenvorrichtungen, die mit einem oder mehreren Mobilfunknetzen verbindbar sind) veranschaulicht, können aber auch eine beliebige mobile oder nicht mobile Rechenvorrichtung umfassen, wie beispielsweise Personal Data Assistants (PDAs), Pager, Laptop-Computer, Desktop-Computer, drahtlose Handgeräte oder jede beliebige Rechenvorrichtung mit einer drahtlosen Kommunikationsschnittstelle.
  • In mindestens einer Ausführungsform kann jede der UEs 2002 und 2004 eine UE für das Internet der Dinge (Internet of Things - IoT) umfassen, das eine Netzwerkzugriffsschicht umfassen kann, die für IoT-Anwendungen mit geringer Leistung ausgelegt ist, die kurzlebige UE-Verbindungen nutzen. In mindestens einer Ausführungsform kann ein IoT-UE Technologien wie Maschine-Maschine- (machine-to-machine - M2M) oder Maschine-Typ-Kommunikationen (machine-type communication - MTC) zum Austauschen von Daten mit einem MTC-Server oder einer MTC-Vorrichtung über ein öffentliches mobiles Landnetzwerk (public land mobile network - PLMN), näherungsbasierten Dienst (Proximity-Based Service - ProSe) oder Vorrichtung-Vorrichtung- (device-to-device - D2D) Kommunikation, Sensornetzwerke oder IoT-Netzwerke nutzen. In mindestens einer Ausführungsform kann ein M2M- oder MTC-Datenaustausch ein maschineninitiierter Datenaustausch sein. In mindestens einer Ausführungsform beschreibt ein IoT-Netzwerk das Verbinden von IoT-UE, die eindeutig identifizierbare eingebettete Rechenvorrichtungen (innerhalb der Internet-Infrastruktur) beinhalten können, mit kurzlebigen Verbindungen. In mindestens einer Ausführungsform können IoT-UEs Hintergrundanwendungen ausführen (z. B. Keep-Alive-Nachrichten, Statusaktualisierungen usw.), um Verbindungen eines IoT-Netzwerks zu ermöglichen.
  • In mindestens einer Ausführungsform können die UEs 2002 und 2004 konfiguriert sein, um sich mit einem Funkzugangsnetzwerk (radio access network - RAN) 2016 zu verbinden, z. B. kommunikativ zu koppeln. In mindestens einer Ausführungsform kann das RAN 2016 in mindestens einer Ausführungsform ein Evolved Universal Mobile Telecommunications System (UMTS) Terrestrial Radio Access Network (E-UTRAN), ein NextGen RAN (NG RAN) oder eine andere Art von RAN sein. In mindestens einer Ausführungsform verwenden die UEs 2002 und 2004 Verbindungen 2012 bzw. 2014, von denen jede eine physische Kommunikationsschnittstelle oder -schicht umfasst. In mindestens einer Ausführungsform sind die Verbindungen 2012 und 2014 als eine Luftschnittstelle veranschaulicht, um eine kommunikative Kopplung zu ermöglichen, und können mit Mobilfunk-Kommunikationsprotokollen, wie etwa die Protokolle für Global System for Mobile Communications (GSM), Code-Division Multiple Access (CDMA), Push-to-Talk (PTT), PTT over Cellular (POC), Universal Mobile Telecommunications System (UMTS), 3GPP Long Term Evolution (LTE), fünfte Generation (5G), New-Radio-(NR) und Variationen davon übereinstimmen.
  • In mindestens einer Ausführungsform können die UEs 2002 und 2004 ferner Kommunikationsdaten direkt über eine ProSe-Schnittstelle 2006 austauschen. In mindestens einer Ausführungsform kann die ProSe-Schnittstelle 2006 alternativ als eine Sidelink-Schnittstelle bezeichnet werden, die einen oder mehrere logische Kanäle umfasst, einschließlich eines Physical Sidelink Control Channel (PSCCH), Physical Sidelink Shared Channel (PSSCH), Physical Sidelink Discovery Channel (PSDCH) und Physical Sidelink Broadcast Channel (PSBCH), ohne darauf beschränkt zu sein.
  • In mindestens einer Ausführungsform ist das UE 2004 der Darstellung nach dazu konfiguriert, über die Verbindung 2008 auf einen Zugangspunkt (access point - AP) 2010 zuzugreifen. In mindestens einer Ausführungsform kann die Verbindung 2008 eine lokale drahtlose Verbindung umfassen, wie etwa eine Verbindung, die mit einem beliebigen IEEE-802.11-Protokoll übereinstimmt, wobei der AP 2010 einen Wireless-Fidelity(WiFi®)-Router umfassen würde. In mindestens einer Ausführungsform ist der AP 2010 der Darstellung nach mit einem Internet verbunden, ohne sich mit einem Kernnetz eines drahtlosen Systems zu verbinden.
  • In mindestens einer Ausführungsform kann das RAN 2016 einen oder mehrere Zugangsknoten beinhalten, die Verbindungen 2012 und 2014 ermöglichen. In mindestens einer Ausführungsform können diese Zugangsknoten (access nodes - ANs) als Basisstationen (BSs), NodeBs, weiterentwickelte NodeBs (eNBs), NodeBs der nächsten Generation (gNB), RAN-Knoten usw. bezeichnet werden und können Bodenstationen (z. B. terrestrische Zugangspunkte) oder Satellitenstationen, die eine Abdeckung innerhalb eines geografischen Gebiets (z. B. einer Zelle) bereitstellen, umfassen. In mindestens einer Ausführungsform kann das RAN 2016 einen oder mehrere RAN-Knoten zum Bereitstellen von Makrozellen, z B. Makro-RAN-Knoten 2018, und einen oder mehrere RAN-Knoten zum Bereitstellen von Femtozellen oder Picozellen (z. B. Zellen mit größeren Abdeckungsgebieten, kleinerer Benutzerkapazität oder größerer Bandbreite im Vergleich zu Makrozellen), z. B. RAN-Knoten 2020 mit geringer Leistung (low power - LP) beinhalten.
  • In mindestens einer Ausführungsform kann ein beliebiger der RAN-Knoten 2018 und 2020 ein Luftschnittstellenprotokoll beenden und kann ein erster Kontaktpunkt für UEs 2002 und 2004 sein. In mindestens einer Ausführungsform kann ein beliebiger der RAN-Knoten 2018 und 2020 verschiedene logische Funktionen für das RAN 2016 erfüllen, einschließlich Funknetzwerk-Controller-(radio network controller - RNC)-Funktionen wie Funkträgerverwaltung, dynamische Uplink- und Downlink-Funkressourcenverwaltung und Datenpaket-Scheduling und Mobilitätsverwaltung, ohne darauf beschränkt zu sein.
  • In mindestens einer Ausführungsform können die UE 2002 und 2004 konfiguriert sein, um unter Verwendung von Orthogonal Frequency-Division Multiplexing (OFDM)-Kommunikationssignalen miteinander oder mit einem beliebigen RAN-Knoten 2018 und 2020 über einen Mehrträger-Kommunikationskanal gemäß verschiedenen Kommunikationstechniken zu kommunizieren, wie etwa Kommunikationstechnik für Orthogonal Frequency Division Multiple Access (OFDMA) (z. B. für Downlink-Kommunikation) oder eine Kommunikationstechnik für Single Carrier Frequency Division Multiple Access (SC-FDMA) (z. B. für Uplink- und ProSe- oder Sidelink-Kommunikation) und/oder Variationen davon, ohne darauf beschränkt zu sein. In mindestens einer Ausführungsform können OFDM-Signale eine Vielzahl von orthogonalen Unterträgern umfassen.
  • In mindestens einer Ausführungsform kann ein Downlink-Ressourcenraster für Downlink-Übertragungen von einem beliebigen der RAN-Knoten 2018 und 2020 zu den UEs 2002 und 2004 verwendet werden, während Uplink-Übertragungen ähnliche Techniken verwenden können. In mindestens einer Ausführungsform kann ein Raster ein Zeit-Frequenz-Raster sein, das als Ressourcenraster oder Zeit-Frequenz-Ressourcenraster bezeichnet wird, das eine physische Ressource in einem Downlink in jedem Zeitfenster ist. In mindestens einer Ausführungsform ist eine solche Zeit-Frequenz-Ebenen-Darstellung eine gängige Praxis für OFDM-Systeme, was sie für die Funkressourcenzuweisung intuitiv macht. In mindestens einer Ausführungsform entspricht jede Spalte und jede Zeile eines Ressourcenrasters einem OFDM-Symbol bzw. einem OFDM-Unterträger. In mindestens einer Ausführungsform entspricht eine Dauer eines Ressourcenrasters in einer Zeitdomain einem Zeitfenster in einem Funkrahmen. In mindestens einer Ausführungsform wird eine kleinste Zeit-Frequenz-Einheit in einem Ressourcenraster als Ressourcenelement bezeichnet. In mindestens einer Ausführungsform umfasst jedes Ressourcenraster eine Reihe von Ressourcenblöcken, die eine Abbildung bestimmter physischer Kanäle auf Ressourcenelemente beschreiben. In mindestens einer Ausführungsform umfasst jeder Ressourcenblock eine Sammlung von Ressourcenelementen. In mindestens einer Ausführungsform kann dies in einer Frequenzdomain eine kleinste Menge an Ressourcen darstellen, die derzeit zugewiesen werden kann. In mindestens einer Ausführungsform gibt es mehrere unterschiedliche physische Downlink-Kanäle, die unter Verwendung solcher Ressourcenblöcke übermittelt werden.
  • In mindestens einer Ausführungsform kann ein gemeinsamer physischer Downlink-Kanal (physical downlink shared channel - PDSCH) Benutzerdaten und Signalisierung höherer Schichten zu den UEs 2002 und 2004 übertragen. In mindestens einer Ausführungsform kann ein physischer Downlink-Steuerkanal (PDCCH) unter anderem Informationen über ein Transportformat und Ressourcenzuweisungen in Bezug auf den PDSCH-Kanal übertragen. In mindestens einer Ausführungsform kann er die UEs 2002 und 2004 auch über ein Transportformat, eine Ressourcenzuweisung und HARQ (Hybrid Automatic Repeat Request)-Informationen bezüglich eines gemeinsam genutzten Uplink-Kanals informieren. In mindestens einer Ausführungsform kann typischerweise das Downlink-Scheduling (Zuweisen von Steuer- und gemeinsamen Kanal-Ressourcenblöcken zum UE 2002 innerhalb einer Zelle) an einem beliebigen der RAN-Knoten 2018 und 2020 basierend auf Kanalqualitätsinformationen durchgeführt werden, die von einer beliebigen der UEs 2002 und 2004 zurückgegeben werden. In mindestens einer Ausführungsform können Downlink-Ressourcenzuweisungsinformationen auf einem PDCCH gesendet werden, der für jedes der UEs 2002 und 2004 verwendet (z. B. zugewiesen) wird.
  • In mindestens einer Ausführungsform kann ein PDCCH Steuerkanalelemente (control channel elements - CCEs) verwenden, um Steuerinformationen zu übermitteln. In mindestens einer Ausführungsform können komplexwertige PDCCH-Symbole, bevor sie auf Ressourcenelementen abgebildet werden, zuerst in Quadruplets organisiert werden, die dann unter Verwendung eines Unterblock-Interleavers zur Ratenanpassung permutiert werden können. In mindestens einer Ausführungsform kann jeder PDCCH unter Verwendung einer oder mehrerer dieser CCEs übertragen werden, wobei jedes CCE neun Sätzen von vier physischen Ressourcenelementen entsprechen kann, die als Ressourcenelementgruppen (REGs) bekannt sind. In mindestens einer Ausführungsform können auf jede REG vier Quadrature-Phase-Shift-Keying(QPSK)-Symbole abgebildet sein. In mindestens einer Ausführungsform kann der PDCCH unter Verwendung eines oder mehrerer CCEs übertragen werden, abhängig von einer Größe einer Downlink-Steuerinformation (downlink control information - DCI) und einer Kanalbedingung. In mindestens einer Ausführungsform können vier oder mehr unterschiedliche PDCCH-Formate in LTE mit unterschiedlichen Anzahlen von CCEs definiert sein (z. B. Aggregationsebene, Ebene (L) = 1, 2, 4 oder 8).
  • In mindestens einer Ausführungsform kann ein erweiterter physischer Downlink-Steuerkanal (EPDCCH), der PDSCH-Ressourcen verwendet, für die Übertragung von Steuerinformationen genutzt werden. In mindestens einer Ausführungsform kann der EPDCCH unter Verwendung eines oder mehrerer erweiterter Steuerkanalelemente (ECCEs) gesendet werden. In mindestens einer Ausführungsform kann jedes ECCE neun Sätzen von vier physischen Ressourcenelementen entsprechen, die als erweiterte Ressourcenelementgruppen (EREGs) bekannt sind. In mindestens einer Ausführungsform kann ein ECCE in einigen Situationen eine andere Anzahl von EREGs aufweisen.
  • In mindestens einer Ausführungsform ist das RAN 2016 der Darstellung nach über eine S1-Schnittstelle 2022 kommunikativ an ein Kernnetz (core network - CN) 2038 gekoppelt. In mindestens einer Ausführungsform kann das CN 2038 ein EPC-Netzwerk (Evolved Packet Core), ein NPC-Netzwerk (NextGen Packet Core) oder eine andere Art von CN sein. In mindestens einer Ausführungsform ist die S1-Schnittstelle 2022 in zwei Teile aufgeteilt: S1-U-Schnittstelle 2026, die Datenverkehrsdaten zwischen den RAN-Knoten 2018 und 2020 und dem Serving Gateway (S-GW) 2030 überträgt, und eine S1-Mobilitätsverwaltungseinheit (mobiliy management entity - MME)-Schnittstelle 2024, die eine Signalisierungsschnittstelle zwischen den RAN-Knoten 2018 und 2020 und den MMEs 2028 ist.
  • In mindestens einer Ausführungsform umfasst das CN 2038 MME 2028, S-GW 2030, Packet Data Network (PDN) Gateway (P-GW) 2034 und einen Heimatteilnehmerserver (Home Subscriber Server - HSS) 2032. In mindestens einer Ausführungsform können die MME 2028 in ihrer Funktion einer Steuerebene von Legacy Serving General Packet Radio Service (GPRS) Support Nodes (SGSN) ähnlich sein. In mindestens einer Ausführungsform können die MMEs 2028 Mobilitätsaspekte beim Zugriff verwalten, wie etwa die Gateway-Auswahl und die Verwaltung von Verfolgungsbereichslisten. In mindestens einer Ausführungsform kann der HSS 2032 eine Datenbank für Netzwerkbenutzer umfassen, einschließlich abonnementbezogener Informationen, um die Handhabung von Kommunikationssitzungen durch eine Netzwerkeinheit zu unterstützen. In mindestens einer Ausführungsform kann das CN 2038 einen oder mehrere HSSs 2032 umfassen, abhängig von einer Anzahl von Mobilfunkteilnehmern, von einer Kapazität einer Ausrüstung, von einer Organisation eines Netzwerks usw. In mindestens einer Ausführungsform kann der HSS 2032 Unterstützung für Routing/Roaming, Authentifizierung, Autorisierung, Namens-/Adressierungsauflösung, Standortabhängigkeiten usw. bereitstellen.
  • In mindestens einer Ausführungsform kann das S-GW 2030 eine S1-Schnittstelle 2022 in Richtung des RAN 2016 beenden und Datenpakete zwischen RAN 2016 und CN 2038 routen. In mindestens einer Ausführungsform kann das S-GW 2030 ein lokaler Mobilitätsankerpunkt für Inter-RAN-Knotenübergaben sein und kann auch einen Anker für Inter-3GPP-Mobilität bereitstellen. In mindestens einer Ausführungsform können andere Verantwortlichkeiten legales Abfangen, Gebühren und eine Durchsetzung gewisser Richtlinien beinhalten.
  • In mindestens einer Ausführungsform kann das P-GW 2034 eine SGi-Schnittstelle in Richtung eines PDN beenden. In mindestens einer Ausführungsform kann das P-GW 2034 Datenpakete zwischen einem EPC-Netzwerk 2038 und externen Netzwerken, wie etwa einem Netzwerk, das den Anwendungsserver 2040 (alternativ als Anwendungsfunktion (AF) bezeichnet) beinhaltet, über eine Internetprotokoll-(IP-)Schnittstelle 2042 routen. In mindestens einer Ausführungsform kann der Anwendungsserver 2040 ein Element sein, das Anwendungen bietet, die IP-Trägerressourcen mit einem Kernnetz verwenden (z. B. UMTS-Paketdienste-(PS-)Domäne, LTE-PS-Datendienste usw.). In mindestens einer Ausführungsform ist das P-GW 2034 der Darstellung nach über eine IP-Kommunikationsschnittstelle 2042 kommunikativ an einen Anwendungsserver 2040 gekoppelt. In mindestens einer Ausführungsform kann der Anwendungsserver 2040 zudem dazu konfiguriert sein, einen oder mehrere Kommunikationsdienste (z. B. Voice-over-Internet Protocol (VoIP)-Sitzungen, PTT-Sitzungen, Gruppenkommunikationssitzungen, soziale Netzwerkdienste usw.) für die UEs 2002 und 2004 über das CN 2038 zu unterstützen.
  • In mindestens einer Ausführungsform kann das P-GW 2034 ferner ein Knoten zur Richtliniendurchsetzung und zur Erhebung von Gebührendaten sein. In mindestens einer Ausführungsform ist die Richtlinien- und Gebührendurchsetzungsfunktion (policy and charging enforcement function - PCRF) 2036 ein Richtlinien- und Gebührensteuerelement des CN 2038. In mindestens einer Ausführungsform kann es in einem Nicht-Roaming-Szenario ein einzelnes PCRF in einem Home Public Land Mobile Network (HPLMN) geben, das einer Sitzung des Internet Protocol Connectivity Access Network (IP-CAN) einem UE zugeordnet ist. In mindestens einer Ausführungsform kann es in einem Roaming-Szenario mit lokalem Datenverkehrsausbruch zwei PCRFs geben, die einer IP-CAN-Sitzung einem UE zugeordnet sind: eine Heim-PCRF (H-PCRF) innerhalb eines HPLMN und eine besuchte PCRF (V-PCRF) innerhalb eines Visited Public Land Mobile Network (VPLMN). In mindestens einer Ausführungsform kann die PCRF 2036 über das P-GW 2034 kommunikativ an einen Anwendungsserver 2040 gekoppelt sein. In mindestens einer Ausführungsform kann der Anwendungsserver 2040 der PCRF 2036 signalisieren, einen neuen Dienstfluss anzugeben und eine geeignete Dienstgüte (Quality of Service - QoS) und Gebührenparameter auszuwählen. In mindestens einer Ausführungsform kann die PCRF 2036 diese Regel in einer Richtlinien- und Gebührendurchsetzungsfunktion (Policy and Charging Enforcement Function - PCEF) (nicht dargestellt) mit einer geeigneten Datenverkehrsschablone (Traffic Flow Template - TFT) und QoS-Kennungsklasse (QoS class of identifier - QCI) bereitstellen, die eine QoS und eine Abrechnung, wie durch Anwendungsserver 2040 festgelegt, beginnt.
  • 21 veranschaulicht eine Architektur eines Systems 2100 eines Netzwerks gemäß einigen Ausführungsformen. In mindestens einer Ausführungsform beinhaltet das System 2100 der Darstellung nach ein UE 2102, einen 5G-Zugangsknoten oder RAN-Knoten (dargestellt als (R)AN-Knoten 2108), eine Benutzerebenenfunktion (dargestellt als UPF 2104), ein Datennetz (DN 2106), das in mindestens einer Ausführungsform Betreiberdienste, Internetzugang oder Dienste von Drittanbietern sein können, und ein 5G-Kernnetz (5GC) (dargestellt als CN 2110).
  • In mindestens einer Ausführungsform beinhaltet das CN 2110 eine Authentifizierungsserverfunktion (Authentification Server Function - AUSF 2114); eine Kernzugangs- und Mobilitätsverwaltungsfunktion (Access and Mobilty Function - AMF 2112); eine Sitzungsverwaltungsfunktion (Session Management Function - SMF 2118); eine Netzwerkoffenlegungsfunktion (Network Exposure Function - NEF 2116); eine Richtliniensteuerfunktion (Policy Control Function - PCF 2122); eine Netzwerkfunktions (NF)-Repository-Funktion (NRF 2120); eine vereinheitlichte Datenverwaltung (Unified Data Management - UDM 2124); und eine Anwendungsfunktion (AF 2126). In mindestens einer Ausführungsform kann das CN 2110 zudem andere Elemente beinhalten, die nicht dargestellt sind, wie etwa eine strukturierte Datenspeichernetzfunktion (Structured Data Storage network function - SDSF), eine unstrukturierte Datenspeichernetzfunktion (Unstructured Data Storage network function - UDSF) und Variationen davon.
  • In mindestens einer Ausführungsform kann die UPF 2104 als Ankerpunkt für Intra-RAT- und Inter-RAT-Mobilität, ein externer PDU-Sitzungspunkt der Zwischenverbindung mit dem DN 2106 und ein Verzweigungspunkt zum Unterstützen einer mehrfach vernetzten PDU-Sitzung dienen. In mindestens einer Ausführungsform kann die UPF 2104 auch Paket-Routing und - Weiterleitung, Paket-Inspektion durchführen, einen Teil von Richtlinienregeln auf Benutzerebene durchsetzen, Pakete legal abfangen (UP-Sammlung); Datenverkehrsnutzungsberichte, QoS-Handling für die Benutzerebene durchführen (z. B. Paketfilterung, Gating, UL/DL-Ratendurchsetzung), Uplink-Datenverkehrsverifizierung (z. B. SDF-zu-QoS-Flow-Mapping), Paketmarkierung auf Transportebene in Uplink und Downlink und Downlink-Paketpufferung und Downlink-Datenbenachrichtigungsauslösung durchführen. In mindestens einer Ausführungsform kann die UPF 2104 einen Uplink-Klassifizierer beinhalten, um das Routing von Datenverkehrsflüssen zu einem Datennetzwerk zu unterstützen. In mindestens einer Ausführungsform kann das DN 2106 verschiedene Netzbetreiberdienste, Internetzugang oder Drittanbieterdienste darstellen.
  • In mindestens einer Ausführungsform kann die AUSF 2114 Daten zur Authentifizierung der UE 2102 speichern und authentifizierungsbezogene Funktionalität handhaben. In mindestens einer Ausführungsform kann die AUSF 2114 ein gemeinsames Authentifizierungsframework für verschiedene Zugriffsarten ermöglichen.
  • In mindestens einer Ausführungsform kann die AMF 2112 für die Registrierungsverwaltung (z. B. für die Registrierung des UE 2102 usw.), die Verbindungsverwaltung, die Erreichbarkeitsverwaltung, die Mobilitätsverwaltung und das legale Abfangen von AMF-bezogenen Ereignissen und die Zugriffsauthentifizierung und -autorisierung verantwortlich sein. In mindestens einer Ausführungsform kann die AMF 2112 den Transport von SM-Nachrichten für die SMF 2118 bereitstellen und als transparenter Proxy zum Routen von SM-Nachrichten fungieren. In mindestens einer Ausführungsform kann die AMF 2112 auch den Transport von Kurznachrichtendienst (SMS)-Nachrichten zwischen dem UE 2102 und einer SMS-Funktion (SMSF) (in 21 nicht dargestellt) bereitstellen. In mindestens einer Ausführungsform kann die AMF 2112 als Sicherheitsankerfunktion (Security Anchor Function - SEA) fungieren, die eine Interaktion mit der AUSF 2114 und dem UE 2102 und den Empfang eines Zwischenschlüssels beinhalten kann, der als Ergebnis des Authentifizierungsprozesses des UE 2102 erstellt wurde. In mindestens einer Ausführungsform, bei der eine USIM-basierte Authentifizierung verwendet wird, kann die AMF 2112 Sicherheitsmaterial von der AUSF 2114 abrufen. In mindestens einer Ausführungsform kann die AMF 2112 auch eine Sicherheitskontextverwaltungsfunktion (Security Context Management - SCM) beinhalten, die einen Schlüssel von der SEA empfängt, den sie verwendet, um zugangsnetzspezifische Schlüssel abzuleiten. In mindestens einer Ausführungsform kann die AMF 2112 außerdem ein Abschlusspunkt der RAN-CP-Schnittstelle (N2-Referenzpunkt), ein Abschlusspunkt der NAS (NI)-Signalisierung sein und NAS-Verschlüsselung und Integritätsschutz durchführen.
  • In mindestens einer Ausführungsform kann die AMF 2112 auch NAS-Signalisierung mit einer UE 2102 über eine N3-Interworking-Function-(IWF)-Schnittstelle unterstützen. In mindestens einer Ausführungsform kann die N3IWF verwendet werden, um Zugriff auf nicht vertrauenswürdige Einheiten bereitzustellen. In mindestens einer Ausführungsform kann die N3IWF ein Abschlusspunkt für N2- und N3-Schnittstellen für die Steuerebene bzw. die Benutzerebene sein und kann somit N2-Signalisierung von der SMF und der AMF für PDU-Sitzungen und QoS handhaben, Datenpakete für IPSec- und N3-Tunneling einkapseln/entkapseln, N3-Benutzerebenen-Pakete im Uplink markieren und QoS entsprechend der N3-Paketmarkierung unter Berücksichtigung der QoS-Anforderungen durchsetzen, die einer solchen über N2 empfangenen Markierung zugeordnet sind. In mindestens einer Ausführungsform kann die N3IWF auch Uplink- und Downlink-Steuerebenen-NAS(NI)-Signalisierung zwischen dem UE 2102 und der AMF 2112 weiterleiten und Uplink- und Downlink-Benutzerebenenpakete zwischen dem UE 2102 und der UPF 2104 weiterleiten. In mindestens einer Ausführungsform stellt die N3IWF auch Mechanismen für den IPsec-Tunnelaufbau mit der UE 2102 bereit.
  • In mindestens einer Ausführungsform kann die SMF 2118 für die Sitzungsverwaltung (z. B. Sitzungsaufbau, Modifizierung und Freigabe, einschließlich Aufrechterhaltung des Tunnels zwischen der UPF und dem AN-Knoten); UE-IP-Adresszuweisung und -verwaltung (einschließlich optionaler Autorisierung); Auswahl und Steuerung der UP-Funktion; Konfiguration der Verkehrssteuerung an der UPF, um den Verkehr an das richtige Ziel zu routen; Beendigung von Schnittstellen zu Richtlinienkontrollfunktionen; Kontrolle eines Teils der Richtliniendurchsetzung und QoS; legales Abfangen (für SM-Ereignisse und Schnittstelle zum LI-System); Beendigung von SM-Teilen von NAS-Nachrichten; Downlink-Datenbenachrichtigung; Initiator von AN-spezifischen SM-Informationen, die über AMF über N2 an AN gesendet werden; Bestimmen des SSC-Modus einer Sitzung verantwortlich sein. In mindestens einer Ausführungsform kann die SMF 2118 die folgende Roaming-Funktionalität beinhalten:
    • Handhaben der lokalen Durchsetzung, um QoS SLAB (VPLMN) anzuwenden; Gebührendatensammlung und Gebührenschnittstelle (VPLMN); legales Abfangen (im VPLMN für SM-Ereignisse und Schnittstelle zum LI-System); Unterstützung für die Interaktion mit dem externen DN für den Transport von Signalisierung für die PDU-Sitzungsautorisierung/- authentifizierung durch das externe DN.
  • In mindestens einer Ausführungsform kann die NEF 2116 Mittel zum sicheren Offenlegen von Diensten und Fähigkeiten bereitstellen, die durch 3GPP-Netzwerkfunktionen für Dritte bereitgestellt sind, interne Offenlegung/erneute Offenlegung, Anwendungsfunktionen (z. B. AF 2126), Edge-Computing- oder Fog-Computing-Systeme usw. In mindestens einer Ausführungsform kann die NEF 2116 AF authentifizieren, autorisieren und/oder drosseln. In mindestens einer Ausführungsform kann die NEF 2116 auch mit der AF 2126 ausgetauschte Informationen und mit internen Netzwerkfunktionen ausgetauschte Informationen übersetzen. In mindestens einer Ausführungsform kann die NEF 2116 zwischen einer AF-Dienstekennung und einer internen 5GC-Information übersetzen. In mindestens einer Ausführungsform kann die NEF 2116 auch Informationen von anderen Netzwerkfunktionen (NFs) basierend auf offengelegten Fähigkeiten anderer Netzwerkfunktionen empfangen. In mindestens einer Ausführungsform können diese Informationen als strukturierte Daten in der NEF 2116 oder in einer Datenspeicher-NF unter Verwendung standardisierter Schnittstellen gespeichert werden. In mindestens einer Ausführungsform können gespeicherte Informationen dann durch die NEF 2116 anderen NFs und AFs erneut offengelegt und/oder für andere Zwecke wie etwa Analysen verwendet werden.
  • In mindestens einer Ausführungsform kann die NRF 2120 Diensterkennungsfunktionen unterstützen, NF-Erkennungsanforderungen von NF-Instanzen empfangen und Informationen über erkannte NF-Instanzen an NF-Instanzen bereitstellen. In mindestens einer Ausführungsform pflegt die NRF 2120 auch Informationen über verfügbare NF-Instanzen und deren unterstützte Dienste.
  • In mindestens einer Ausführungsform kann die PCF 2122 Richtlinienregeln für die Funktion(en) auf Steuerebene bereitstellen, um diese durchzusetzen, und kann auch ein einheitliches Richtlinienframework unterstützen, um das Netzwerkverhalten zu regulieren. In mindestens einer Ausführungsform kann die PCF 2122 auch ein Frontend (FE) implementieren, um auf Abonnementinformationen zuzugreifen, die für Richtlinienentscheidungen in einem UDR der UDM 2124 relevant sind.
  • In mindestens einer Ausführungsform kann die UDM 2124 abonnementbezogene Informationen verarbeiten, um die Handhabung von Kommunikationssitzungen von Netzwerkeinheiten zu unterstützen, und kann Abonnementdaten des UE 2102 speichern. In mindestens einer Ausführungsform kann die UDM 2124 zwei Teile beinhalten, ein Anwendungs-FE und ein Benutzerdaten-Repository (User Data Repository - UDR). In mindestens einer Ausführungsform kann die UDM ein UDM-FE beinhalten, das für die Verarbeitung von Zugangsdaten, Standortverwaltung, Abonnementverwaltung usw. verantwortlich ist. In mindestens einer Ausführungsform können mehrere unterschiedliche Frontends einen gleichen Benutzer in unterschiedlichen Transaktionen bedienen. In mindestens einer Ausführungsform greift das UDM-FE auf Abonnementinformationen zu, die in einem UDR gespeichert sind, und führt Authentifizierungszugangsdatenverarbeitung; Handhabung der Benutzeridentifikation; Zugriffsberechtigung; Registrierung/Mobilitätsverwaltung; und Abonnementverwaltung durch. In mindestens einer Ausführungsform kann das UDR mit der PCF 2122 interagieren. In mindestens einer Ausführungsform kann die UDM 2124 auch SMS-Verwaltung unterstützen, wobei ein SMS-FE eine ähnliche Anwendungslogik wie zuvor erörtert implementiert.
  • In mindestens einer Ausführungsform kann die AF 2126 Anwendungseinfluss auf Datenverkehrsrouting, Zugriff auf eine Netzwerkleistungsfähigkeitsoffenlegung (Network Capability Exposure - NCE) bereitstellen und mit einem Richtlinienframework zur Richtliniensteuerung interagieren. In mindestens einer Ausführungsform kann die NCE ein Mechanismus sein, der es einem 5GC und einer AF 2126 erlaubt, einander über NEF 2116 Informationen bereitzustellen, die für Edge-Computing-Implementierungen verwendet werden können. In mindestens einer Ausführungsform können Dienste des Netzbetreibers und von Drittanbietern in der Nähe des Zugangspunkts des UE 2102 gehostet werden, um eine effiziente Dienstbereitstellung durch eine reduzierte Ende-zu-Ende-Latenz und Belastung auf einem Transportnetzwerk zu erreichen. In mindestens einer Ausführungsform kann das 5GC für Edge-Computing-Implementierungen eine UPF 2104 in der Nähe des UE 2102 auswählen und die Datenverkehrssteuerung von der UPF 2104 zu dem DN 2106 über die N6-Schnittstelle ausführen. In mindestens einer Ausführungsform kann dies auf UE-Abonnementdaten, dem UE-Standort und von der AF 2126 bereitgestellten Informationen basieren. In mindestens einer Ausführungsform kann die AF 2126 die UPF-(Neu-)Auswahl und das Datenverkehrsrouting beeinflussen. In mindestens einer Ausführungsform kann ein Netzbetreiber basierend auf dem Einsatz des Betreibers, wenn die AF 2126 als eine vertrauenswürdige Einheit betrachtet wird, der AF 2126 erlauben, direkt mit relevanten NFs zu interagieren.
  • In mindestens einer Ausführungsform kann das CN 2110 eine SMSF beinhalten, die für die SMS-Abonnementprüfung und -verifizierung und das Weiterleiten von SM-Nachrichten an/von der UE 2102 an/von anderen Einheiten, wie etwa einem SMS-GMSC/IWMSC/SMS-Router verantwortlich sein kann. In mindestens einer Ausführungsform kann SMS auch mit AMF 2112 und UDM 2124 für eine Benachrichtigungsprozedur interagieren, dass das UE 2102 für die SMS-Übertragung verfügbar ist (z. B. ein UE-Nichterreichbar-Flag setzen und die UDM 2124 benachrichtigen, wenn das UE 2102 für SMS verfügbar ist).
  • In mindestens einer Ausführungsform kann das System 2100 die folgenden dienstbasierten Schnittstellen beinhalten: Namf: durch die AMF gezeigte dienstbasierte Schnittstelle; Nsmf: durch die SMF gezeigte dienstbasierte Schnittstelle; Nnef: durch die NEF gezeigte dienstbasierte Schnittstelle; Npcf: durch die PCF gezeigte dienstbasierte Schnittstelle; Nudm: durch die UDM gezeigte dienstbasierte Schnittstelle; Naf: durch die AF gezeigte dienstbasierte Schnittstelle; Nnrf: durch die NRF gezeigte dienstbasierte Schnittstelle; und Nausf: durch die AUSF gezeigte dienstbasierte Schnittstelle.
  • In mindestens einer Ausführungsform kann das System 2100 die folgenden Referenzpunkte beinhalten: N1: Referenzpunkt zwischen UE und AMF; N2: Referenzpunkt zwischen (R)AN und AMF; N3: Referenzpunkt zwischen (R)AN und UPF; N4: Referenzpunkt zwischen SMF und UPF; und N6: Referenzpunkt zwischen UPF und einem Datennetzwerk. In mindestens einer Ausführungsform kann es viel mehr Referenzpunkte und/oder dienstbasierte Schnittstellen zwischen NF-Diensten in NFs geben, jedoch wurden diese Schnittstellen und Referenzpunkte aus Gründen der Klarheit weggelassen. In mindestens einer Ausführungsform kann ein NS-Referenzpunkt zwischen der PCF und der AF liegen; kann ein N7-Referenzpunkt zwischen der PCF und der SMF liegen; kann ein N11-Referenzpunkt zwischen der AMF und der SMF; usw. In mindestens einer Ausführungsform kann das CN 2110 eine Nx-Schnittstelle beinhalten, die eine Inter-CN-Schnittstelle zwischen MME und AMF 2112 ist, um eine Zusammenarbeit zwischen dem CN 2110 und dem CN 7221 zu ermöglichen.
  • In mindestens einer Ausführungsform kann das System 2100 mehrere RAN-Knoten (wie etwa (R)AN-Knoten 2108) beinhalten, wobei eine Xn-Schnittstelle zwischen zwei oder mehr (R)AN-Knoten 2108 (z. B. gNB), die mit dem 5GC 410 verbunden sind, zwischen einem (R)AN-Knoten 2108 (z. B. gNBs), der mit dem CN 2110 verbunden ist, und einem eNB (z. B. einem Makro-RAN-Knoten) und/oder zwischen zwei eNBs, die mit dem CN 2110 verbunden sind, definiert ist.
  • In mindestens einer Ausführungsform kann die Xn-Schnittstelle eine Xn-Benutzerebenen (Xn-U)-Schnittstelle und eine Xn-Steuerebenen (Xn-C)-Schnittstelle beinhalten. In mindestens einer Ausführungsform kann Xn-U eine nicht garantierte Zustellung von Benutzerebenen-PDU bereitstellen und eine Datenweiterleitungs- und Flusssteuerungsfunktionalität unterstützen/bereitstellen. In mindestens einer Ausführungsform kann Xn-C eine Verwaltungs- und Fehlerbehandlungsfunktionalität, eine Funktionalität zum Verwalten einer Xn-C-Schnittstelle; Mobilitätsunterstützung für die UE 2102 in einem verbundenen Modus (z. B. CM-CONNECTED) einschließlich der Funktionalität zum Verwalten der UE-Mobilität für den verbundenen Modus zwischen einem oder mehreren (R)AN-Knoten 2108, bereitstellen. In mindestens einer Ausführungsform kann die Mobilitätsunterstützung einen Kontexttransfer von einem alten bedienenden (R)AN-Knoten 2108 (Quelle) zu einem neuen bedienenden (R)AN-Knoten 2108 (Ziel); und Steuerung von Benutzerebenen-Tunneln zwischen dem alten bedienenden (R)AN-Knoten 2108 (Quelle) zu dem neuen bedienenden (R)AN-Knoten 2108 (Ziel) beinhalten.
  • In mindestens einer Ausführungsform kann ein Protokollstapel einer Xn-U eine Transportnetzwerkschicht beinhalten, die auf einer Internetprotokoll (IP)-Transportschicht aufgebaut ist, und eine GTP-U-Schicht auf einer UDP- und/oder IP-Schicht(en), um PDUs auf Benutzerebene zu übertragen. In mindestens einer Ausführungsform kann der Xn-C-Protokollstapel ein Signalisierungsprotokoll der Anwendungsschicht (als Xn-Anwendungsprotokoll (Xn-AP) bezeichnet) und eine Transportnetzwerkschicht, die auf einer SCTP-Schicht aufgebaut ist, beinhalten. In mindestens einer Ausführungsform kann sich die SCTP-Schicht auf einer IP-Schicht befinden. In mindestens einer Ausführungsform stellt die SCTP-Schicht eine garantierte Zustellung von Nachrichten der Anwendungsschicht bereit. In mindestens einer Ausführungsform wird in einer Transport-IP-Schicht eine Punkt-zu-Punkt-Übertragung verwendet, um Signalisierungs-PDUs zuzustellen. In mindestens einer Ausführungsform können der Xn-U-Protokollstapel und/oder ein Xn-C-Protokollstapel gleich oder ähnlich einem Benutzerebenen- und/oder Steuerebenen-Protokollstapel sein, die hier dargestellt und beschrieben sind.
  • 22 ist eine Veranschaulichung eines Protokollstapels auf Steuerebene gemäß mindestens einer Ausführungsform. In mindestens einer Ausführungsform wird eine Steuerebene 2200 als Kommunikationsprotokollstapel zwischen dem UE 2002 (oder alternativ dem UE 2004), dem RAN 2016 und den MME(s) 2028 gezeigt.
  • In mindestens einer Ausführungsform kann die PHY-Schicht 2202 Informationen, die durch die MAC-Schicht 2204 verwendet werden, über eine oder mehrere Luftschnittstellen senden oder empfangen. In mindestens einer Ausführungsform kann die PHY-Schicht 2202 ferner eine Verbindungsanpassung oder adaptive Modulation und Codierung (AMC), Leistungssteuerung, Zellensuche (z. B. für anfängliche Synchronisations- und Übergabezwecke) und andere Messungen durchführen, die durch höhere Schichten verwendet werden, wie etwa eine RRC-Schicht 2210. In mindestens einer Ausführungsform kann die PHY-Schicht 2202 weiterhin eine Fehlererkennung auf Transportkanälen, eine Vorwärtsfehlerkorrektur (forward error correction - FEC)-Codierung/-Decodierung von Transportkanälen, eine Modulation/Demodulation von physischen Kanälen, eine Verschachtelung, eine Ratenanpassung, eine Abbildung auf physische Kanäle und Multiple Input Multiple Output (MIMO) Antennenverarbeitung durchführen.
  • In mindestens einer Ausführungsform kann die MAC-Schicht 2204 eine Abbildung zwischen logischen Kanälen und Transportkanälen, ein Multiplexen von MAC-Dienstdateneinheiten (service data units - SDUs) von einem oder mehreren logischen Kanälen auf Transportblöcke (TB), die über Transportkanäle an PHY zugestellt werden sollen, De-Multiplexen von MAC-SDU zu einem oder mehreren logischen Kanälen von Transportblöcken (TB), die von PHY über Transportkanäle zugestellt werden, Multiplexen von MAC-SDUs auf TBs, Planen von Informationsberichten, Fehlerkorrektur durch hybride automatische Wiederholungsanforderung (hybrid automatic repeat request - HARD) und logische Kanalpriorisierung durchführen.
  • In mindestens einer Ausführungsform kann die RLC-Schicht 2206 in einer Vielzahl von Betriebsmodi arbeiten, einschließlich: Transparenter Modus (TM), Unbestätigter Modus (UM) und Bestätigter Modus (Acknowledged Mode - AM). In mindestens einer Ausführungsform kann die RLC-Schicht 2206 einen Transfer von Protokolldateneinheiten (PDUs) der oberen Schicht, eine Fehlerkorrektur durch automatische Wiederholungsanforderung (automatic repeat request - ARQ) für AM-Datenübertragungen und eine Verkettung, Segmentierung und Wiederzusammensetzung von RLC-SDUs für UM- und AM-Datentransfers ausführen. In mindestens einer Ausführungsform kann die RLC-Schicht 2206 auch eine Neusegmentierung von RLC-Daten-PDUs für AM-Datentransfers ausführen, RLC-Daten-PDUs für UM- und AM-Datentransfers neu anordnen, doppelte Daten für UM- und AM-Datenübertragungen erkennen, RLC-SDUs für UM- und AM-Datentransfers verwerfen, Protokollfehler für AM-Datentransfers erkennen und RLC-Wiederherstellung durchführen.
  • In mindestens einer Ausführungsform kann die PDCP-Schicht 2208 eine Header-Komprimierung und -Dekomprimierung von IP-Daten ausführen, PDCP-Sequenznummern (SN) pflegen, eine sequenzielle Zustellung von PDUs der oberen Schicht bei der Wiederherstellung der unteren Schichten durchführen, Duplikate von SDUs der unteren Schicht bei der Wiederherstellung niedrigerer Schichten für auf RLC AM abgebildete Funkträger beseitigen, Steuerebenendaten verschlüsseln und entschlüsseln, Integritätsschutz und Integritätsverifizierung von Steuerebenendaten durchführen, zeitgeberbasiertes Verwerfen von Daten steuern und Sicherheitsoperationen (z. B. Verschlüsselung, Entschlüsselung, Integritätsschutz, Integritätsverifizierung usw.) durchführen.
  • In mindestens einer Ausführungsform können die Hauptdienste und -funktionen einer RRC-Schicht 2210 das Senden von Systeminformationen (z. B. in Master-Informationsblöcken (MIBs) oder Systeminformationsblöcken (SIBs) in Bezug auf eine Nicht-Zugriffsschicht (nonaccess stratum - NAS)); Senden von Systeminformationen in Bezug auf eine Zugangsschicht (access stratum - AS), Paging, Aufbau, Pflege und Freigabe einer RRC-Verbindung zwischen einem UE und E-UTRAN (z. B. RRC-Verbindungs-Paging, RRC-Verbindungsaufbau, RRC-Verbindungsmodifikation und RRC-Verbindungsfreigabe), Einrichtung, Konfiguration, Pflege und Freigabe von Punkt-zu-Punkt-Funkträgern, Sicherheitsfunktionen einschließlich Schlüsselverwaltung, Mobilität zwischen Funkzugangstechnologie (RAT) und Messkonfiguration für UE-Messberichte beinhalten. In mindestens einer Ausführungsform können die MIBs und SIBs ein oder mehrere Informationselemente (IEs) umfassen, die jeweils einzelne Datenfelder oder Datenstrukturen umfassen können.
  • In mindestens einer Ausführungsform können das UE 2002 und das RAN 2016 eine Uu-Schnittstelle (z. B. eine LTE-Uu-Schnittstelle) nutzen, um Steuerebenendaten über einen Protokollstapel auszutauschen, der die PHY-Schicht 2202, die MAC-Schicht 2204, die RLC-Schicht 2206, die PDCP-Schicht 2208 und die RRC-Schicht 2210 umfasst.
  • In mindestens einer Ausführungsform bilden Nichtzugangsebenenprotokolle (NAS-Protokolle) (NAS-Protokolle 2212) eine höchste Schicht einer Steuerebene zwischen der UE 2002 und den MME(s) 2028. In mindestens einer Ausführungsform unterstützen die NAS-Protokolle 2212 die Mobilität des UE 2002 und Sitzungsverwaltungsprozeduren, um eine IP-Konnektivität zwischen dem UE 2002 und dem P-GW 2034 einzurichten und aufrechtzuerhalten.
  • In mindestens einer Ausführungsform kann die Si-Anwendungsprotokoll (S1-AP)-Schicht (Si-AP-Schicht 2222) Funktionen einer Si-Schnittstelle unterstützen und elementare Prozeduren (EPs) umfassen. In mindestens einer Ausführungsform ist eine EP eine Interaktionseinheit zwischen dem RAN 2016 und dem CN 2028. In mindestens einer Ausführungsform können S1-AP-Schichtdienste zwei Gruppen umfassen: UE-zugehörige Dienste und nicht UE-zugehörige Dienste. In mindestens einer Ausführungsform führen diese Dienste Funktionen durch, die Folgendes beinhalten, aber nicht darauf beschränkt sind: E-UTRAN-Funkzugangsträger (E-RAB)-Verwaltung, UE-Leistungsfähigkeitsanzeige, Mobilität, NAS-Signalisierungstransport, RAN-Informationsverwaltung (RIM) und Konfigurationsübertragung.
  • In mindestens einer Ausführungsform kann die Stream Control Transmission Protocol (SCTP)-Schicht (alternativ als Stream Control Transmission Protocol/Internet Protocol (SCTP/IP)-Schicht bezeichnet) (SCTP-Schicht 2220) eine zuverlässige Zustellung von Signalisierungsnachrichten zwischen dem RAN 2016 und den MME(s) 2028 basierend teilweise auf einem IP-Protokoll, das durch eine IP-Schicht 2218 unterstützt wird, sicherstellen. In mindestens einer Ausführungsform können sich die L2-Schicht 2216 und eine L1-Schicht 2214 auf Kommunikationsverbindungen (z. B. drahtgebunden oder drahtlos) beziehen, die durch einen RAN-Knoten und eine MME verwendet werden, um Informationen auszutauschen.
  • In mindestens einer Ausführungsform können das RAN 2016 und die MME(s) 2028 eine S1-MME-Schnittstelle nutzen, um Steuerebenendaten über einen Protokollstapel auszutauschen, der eine L1-Schicht 2214, eine L2-Schicht 2216, eine IP-Schicht 2218, eine SCTP-Schicht 2220 und eine Si-AP-Schicht 2222 umfasst.
  • 23 ist eine Veranschaulichung eines Protokollstapels auf Benutzerebene gemäß mindestens einer Ausführungsform. In mindestens einer Ausführungsform wird eine Benutzerebene 2300 als Kommunikationsprotokollstapel zwischen einem UE 2002, dem RAN 2016, dem S-GW 2030 und dem P-GW 2034 dargestellt. In mindestens einer Ausführungsform kann die Benutzerebene 2300 dieselben Protokollschichten wie die Steuerebene 2200 nutzen. In mindestens einer Ausführungsform können das UE 2002 und das RAN 2016 eine Uu-Schnittstelle (z. B. eine LTE-Uu-Schnittstelle) nutzen, um Benutzerebenendaten über einen Protokollstapel auszutauschen, der die PHY-Schicht 2202, die MAC-Schicht 2204, die RLC-Schicht 2206 und die PDCP-Schicht 2208 umfasst.
  • In mindestens einer Ausführungsform kann das Tunneling-Protokoll des General Packet Radio Service (GPRS) für eine Schicht der Benutzerebene (GTP-U) (GTP-U-Schicht 2304) verwendet werden, um Benutzerdaten innerhalb eines GPRS-Kernnetzes und zwischen einem Funkzugangsnetz und einem Kernnetz zu übertragen. In mindestens einer Ausführungsform können die transportierten Benutzerdaten Pakete in einem beliebigen der Formate IPv4, IPv6 oder PPP sein. In mindestens einer Ausführungsform kann die UDP- und IP-Sicherheits-(UDP/IP-)Schicht (UDP/IP-Schicht 2302) Prüfsummen für die Datenintegrität, Portnummern zum Adressieren unterschiedlicher Funktionen an einer Quelle und einem Ziel und Verschlüsselung und Authentifizierung für ausgewählte Datenflüsse bereitstellen. In mindestens einer Ausführungsform können das RAN 2016 und das S-GW 2030 eine S1-U-Schnittstelle nutzen, um Benutzerebenendaten über einen Protokollstapel auszutauschen, der die L1-Schicht 2214, die L2-Schicht 2216, die UDP/IP-Schicht 2302 und die GTP-U-Schicht 2304 umfasst. In mindestens einer Ausführungsform können das S-GW 2030 und das P-GW 2034 eine S5/S8a-Schnittstelle nutzen, um Benutzerebenendaten über einen Protokollstapel auszutauschen, der die L1-Schicht 2214, die L2-Schicht 2216, die UDP/IP-Schicht 2302 und die GTP-U-Schicht 2304 umfasst. In mindestens einer Ausführungsform, wie vorstehend unter Bezugnahme auf die 22 erörtert, unterstützen die NAS-Protokolle eine Mobilität des UE 2002 und Sitzungsverwaltungsprozeduren, um IP-Konnektivität zwischen dem UE 2002 und dem P-GW 2034 einzurichten und aufrechtzuerhalten.
  • 24 veranschaulicht Komponenten 2400 eines Kernnetzes gemäß mindestens einer Ausführungsform. In mindestens einer Ausführungsform können die Komponenten des CN 2038 in einem physischen Knoten oder separaten physischen Knoten implementiert sein, einschließlich Komponenten zum Lesen und Ausführen von Anweisungen von einem maschinenlesbaren oder computerlesbaren Medium (z. B. einem nichttransitorischen maschinenlesbaren Speichermedium). In mindestens einer Ausführungsform wird eine Netzwerkfunktionsvirtualisierung (Network Functions Virtualization - NFV) genutzt, um eine oder alle der vorstehend beschriebenen Netzwerkknotenfunktionen über ausführbare Anweisungen, die in einem oder mehreren computerlesbaren Speichermedien gespeichert sind (nachstehend ausführlicher beschrieben), zu virtualisieren. In mindestens einer Ausführungsform kann eine logische Instanziierung des CN 2038 als ein Netzwerk-Slice 2402 bezeichnet werden (z. B. ist dargestellt, dass das Netzwerk-Slice 2402 den HSS 2032, die MME(s) 2028 und das S-GW 2030 umfasst). In mindestens einer Ausführungsform kann eine logische Instanziierung eines Abschnitts des CN 2038 als ein Netzwerk-Sub-Slice 2404 bezeichnet werden (z. B. ist dargestellt, dass das Netzwerk-Sub-Slice 2404 das P-GW 2034 und die PCRF 2036 umfasst).
  • In mindestens einer Ausführungsform können NFV-Architekturen und -Infrastrukturen verwendet werden, um eine oder mehrere Netzwerkfunktionen, die alternativ durch proprietäre Hardware durchgeführt werden, auf physischen Ressourcen zu virtualisieren, die eine Kombination aus Industriestandard-Serverhardware, Speicherhardware oder Switches umfassen. In mindestens einer Ausführungsform können NFV-Systeme verwendet werden, um virtuelle oder rekonfigurierbare Implementierungen einer oder mehrerer EPC-Komponenten/Funktionen auszuführen.
  • 25 ist ein Blockdiagramm, das Komponenten eines Systems 2500 zum Unterstützen von Netzwerkfunktionsvirtualisierung (NFV) gemäß mindestens einer Ausführungsform veranschaulicht. In mindestens einer Ausführungsform ist das System 2500 so veranschaulicht, dass es einen virtualisierten Infrastrukturmanager (dargestellt als VIM 2502), eine Netzwerkfunktionsvirtualisierungsinfrastruktur (dargestellt als NFVI 2504), einen VNF-Manager (dargestellt als VNFM 2506), virtualisierte Netzwerkfunktionen (dargestellt als VNF 2508), einen Elementmanager (dargestellt als EM 2510), einen NFV-Orchestrator (dargestellt als NFVO 2512) und einen Netzwerkmanager (dargestellt als NM 2514) beinhaltet.
  • In mindestens einer Ausführungsform verwaltet der VIM 2502 Ressourcen der NFVI 2504. In mindestens einer Ausführungsform kann die NFVI 2504 physische oder virtuelle Ressourcen und Anwendungen (einschließlich Hypervisoren) beinhalten, die verwendet werden, um das System 2500 auszuführen. In mindestens einer Ausführungsform kann der VIM 2502 einen Lebenszyklus von virtuellen Ressourcen mit der NFVI 2504 verwalten (z. B. Erstellung, Pflege und Abbau von virtuellen Maschinen (VMs), die einer oder mehreren physischen Ressourcen zugeordnet sind), VM-Instanzen verfolgen, Leistungsfähigkeit verfolgen, Fehler und Sicherheit von VM-Instanzen und zugehörigen physischen Ressourcen, und VM-Instanzen und zugehörige physischen Ressourcen für andere Verwaltungssysteme offenlegen.
  • In mindestens einer Ausführungsform kann der VNFM 2506 die VNF 2508 verwalten. In mindestens einer Ausführungsform kann die VNF 2508 verwendet werden, um EPC-Komponenten/-Funktionen auszuführen. In mindestens einer Ausführungsform kann der VNFM 2506 einen Lebenszyklus der VNF 2508 verwalten und Leistungsfähigkeit, Fehler und Sicherheit von virtuellen Aspekten der VNF 2508 verfolgen. In mindestens einer Ausführungsform kann der EM 2510 Leistungsfähigkeit, Fehler und Sicherheit von funktionalen Aspekten der VNF 2508 verfolgen. In mindestens einer Ausführungsform können Verfolgungsdaten des VNFM 2506 und des EM 2510 in mindestens einer Ausführungsform Daten einer Leistungsfähigkeitsmessung (performance measurement - PM) umfassen, die durch den VIM 2502 oder die NFVI 2504 verwendet werden. In mindestens einer Ausführungsform können sowohl der VNFM 2506 als auch der EM 2510 eine Menge der VNFs des Systems 2500 nach oben/unten skalieren.
  • In mindestens einer Ausführungsform kann der NFVO 2512 Ressourcen der NFVI 2504 koordinieren, autorisieren, freigeben und einsetzen, um einen angeforderten Dienst bereitzustellen (z. B. um eine EPC-Funktion, -Komponente oder ein EPC-Slice auszuführen). In mindestens einer Ausführungsform kann der NM 2514 ein Paket von Endbenutzerfunktionen mit Verantwortung für die Verwaltung eines Netzwerks bereitstellen, das Netzwerkelemente mit VNFs, nicht virtualisierte Netzwerkfunktionen oder beides beinhalten kann (die Verwaltung der VNFs kann über den EM 2510 erfolgen).
  • Computerbasierte Systeme
  • Die folgenden Figuren legen ohne Einschränkung beispielhafte computerbasierte Systeme dar, die verwendet werden können, um mindestens eine Ausführungsform zu implementieren.
  • 26 veranschaulicht ein Verarbeitungssystem 2600 gemäß mindestens einer Ausführungsform. In mindestens einer Ausführungsform beinhaltet das Verarbeitungssystem 2600 einen oder mehrere Prozessoren 2602 und einen oder mehrere Grafikprozessoren 2608 und kann ein Einzelprozessor-Desktop-System, ein Mehrprozessor-Workstation-System oder ein Server-System sein, dass eine große Anzahl von Prozessoren 2602 oder Prozessorkernen 2607 aufweist. In mindestens einer Ausführungsform ist das Verarbeitungssystem 2600 eine Verarbeitungsplattform, die in eine integrierte System-on-a-Chip („SoC“)-Schaltung zur Verwendung in mobilen, transportablen oder eingebetteten Vorrichtungen integriert ist.
  • In mindestens einer Ausführungsform kann das Verarbeitungssystem 2600 eine serverbasierte Spielplattform, eine Spielkonsole, eine Medienkonsole, eine mobile Spielkonsole, eine Handheld-Spielekonsole oder eine Online-Spielekonsole beinhalten oder darin integriert sein. In mindestens einer Ausführungsform ist das Verarbeitungssystem 2600 ein Mobiltelefon, ein Smartphone, eine Tablet-Rechenvorrichtung oder eine mobile Internetvorrichtung. In mindestens einer Ausführungsform kann das Verarbeitungssystem 2600 auch eine tragbare Vorrichtung, wie etwa eine tragbare Smartwatch-Vorrichtung, eine intelligente Brillenvorrichtung, eine Augmented-Reality-Vorrichtung oder eine Virtual-Reality-Vorrichtung beinhalten, mit dieser gekoppelt oder darin integriert sein. In mindestens einer Ausführungsform ist das Verarbeitungssystem 2600 ein Fernseher oder eine Set-Top-Box-Vorrichtung mit einem oder mehreren Prozessoren 2602 und einer grafischen Schnittstelle, die von einem oder mehreren Grafikprozessoren 2608 generiert wird.
  • In mindestens einer Ausführungsform enthalten der eine oder die mehreren Prozessoren 2602 jeweils einen oder mehrere Prozessorkerne 2607, um Anweisungen zu verarbeiten, die bei Ausführung Operationen für System- und Benutzersoftware durchführen. In mindestens einer Ausführungsform ist jeder von einem oder den mehreren Prozessorkernen 2607 dazu konfiguriert, einen spezifischen Anweisungssatz 2609 zu verarbeiten. In mindestens einer Ausführungsform kann der Anweisungssatz 2609 das Berechnen mit komplexem Anweisungssatz (Complex Instruction Set Computing - „CISC“), das Berechnen mit verringertem Anweisungssatz (Reduced Instruction Set Computing - „RISC“) oder das Berechnen über ein sehr langes Anweisungswort (Very Long Instruction Word - „VLIW“) ermöglichen. In mindestens einer Ausführungsform können die Prozessorkerne 2607 jeweils einen anderen Anweisungssatz 2609 verarbeiten, der Anweisungen beinhalten kann, um die Emulation anderer Anweisungssätze zu ermöglichen. In mindestens einer Ausführungsform kann der Prozessorkern 2607 auch andere Verarbeitungsvorrichtungen beinhalten, wie etwa einen digitalen Signalprozessor („DSP“).
  • In mindestens einer Ausführungsform beinhaltet der Prozessor 2602 einen Cache-Speicher („Cache“) 2604. In mindestens einer Ausführungsform kann der Prozessor 2602 einen einzelnen internen Cache oder mehrere Ebenen des internen Cache aufweisen. In mindestens einer Ausführungsform wird der Cache-Speicher von verschiedenen Komponenten des Prozessors 2602 gemeinsam genutzt. In mindestens einer Ausführungsform verwendet der Prozessor 2602 auch einen externen Cache (z. B. einen Level-3(„L3“)-Cache oder einen Last-Level-Cache („LLC“)) (nicht gezeigt), der von den Prozessorkernen 2607 unter Verwendung bekannter Cachekohärenztechniken gemeinsam genutzt werden kann. In mindestens einer Ausführungsform ist eine Registerdatei 2606 zusätzlich im Prozessor 2602 beinhaltet, der unterschiedliche Arten von Registern zum Speichern unterschiedlicher Arten von Daten (z. B. Ganzzahlregister, Gleitkommaregister, Statusregister und ein Anweisungsverweisregister) beinhalten kann. In mindestens einer Ausführungsform kann die Registerdatei 2606 Allzweckregister oder andere Register beinhalten.
  • In mindestens einer Ausführungsform sind ein oder mehrere Prozessoren 2602 mit einem oder mehreren Schnittstellenbussen 2610 gekoppelt, um Kommunikationssignale, wie etwa Adress-, Daten- oder Steuersignale, zwischen dem Prozessor 2602 und anderen Komponenten im System 2600 zu übertragen. In mindestens einer Ausführungsform kann der Schnittstellenbus 2610 in einer Ausführungsform ein Prozessorbus sein, wie etwa eine Version eines Mediendirektschnittstellen (Direct Media Interface - „DMI“)-Busses. In mindestens einer Ausführungsform ist der Schnittstellenbus 2610 nicht auf einen DMI-Bus beschränkt und kann einen oder mehrere Peripheriekomponentenzwischenverbindungsbusse (z. B. Peripheral Component Interconnect - „PCI“, PCI Express („PCIe“)), Speicherbusse oder andere Arten von Schnittstellenbussen beinhalten. In mindestens einer Ausführungsform beinhalten Prozessor(en) 2602 eine integrierte Speichersteuerung 2616 und einen Plattformsteuerungs-Hub 2630. In mindestens einer Ausführungsform ermöglicht die Speichersteuerung 2616 die Kommunikation zwischen einer Speichervorrichtung und anderen Komponenten des Verarbeitungssystems 2600, während der Plattformsteuerungs-Hub (platform controller hub - „PCH“) 2630 Verbindungen zu Eingabe-/Ausgabevorrichtungen („E/A“) über einen lokalen E/A-Bus bereitstellt.
  • In mindestens einer Ausführungsform kann die Speichervorrichtung 2620 ein dynamischer Direktzugriffsspeicher („DRAM“), ein statischer Direktzugriffsspeicher („SRAM“), eine Flash-Speichervorrichtung, eine Phasenänderungsspeichervorrichtung oder eine andere Speichervorrichtung sein, die eine geeignete Leistung aufweist, um als Prozessspeicher zu dienen. In mindestens einer Ausführungsform kann die Speichervorrichtung 2620 als Systemspeicher für das Verarbeitungssystem 2600 arbeiten, um Daten 2622 und Anweisungen 2621 zur Verwendung zu speichern, wenn ein oder mehrere Prozessoren 2602 eine Anwendung oder einen Prozess ausführen. In mindestens einer Ausführungsform ist die Speichersteuerung 2616 auch mit einem optionalen externen Grafikprozessor 2612 gekoppelt, der mit einem oder mehreren Grafikprozessoren 2608 in den Prozessoren 2602 kommunizieren kann, um Grafik- und Medienoperationen durchzuführen. In mindestens einer Ausführungsform kann eine Anzeigevorrichtung 2611 mit Prozessor(en) 2602 verbunden sein. In mindestens einer Ausführungsform kann die Anzeigevorrichtung 2611 eine oder mehrere von einer internen Anzeigevorrichtung, wie in einer mobilen elektronischen Vorrichtung oder einer Laptop-Vorrichtung, oder einer externen Anzeigevorrichtung, die über eine Anzeigeschnittstelle (z. B. DisplayPort usw.) angeschlossen ist, beinhalten. In mindestens einer Ausführungsform kann die Anzeigevorrichtung 2611 eine am Kopf befestigte Anzeige (head mounted display - „HMD“) beinhalten, wie etwa eine stereoskopische Anzeigevorrichtung zur Verwendung in Virtual-Reality („VR“)-Anwendungen oder Augmented-Reality („AR“)-Anwendungen.
  • In mindestens einer Ausführungsform ermöglicht der Plattformsteuerungs-Hub 2630 den Peripheriegeräten, sich über einen Hochgeschwindigkeits-E/A-Bus mit der Speichervorrichtung 2620 und dem Prozessor 2602 zu verbinden. In mindestens einer Ausführungsform beinhalten E/A-Peripheriegeräte, ohne darauf beschränkt zu sein, eine Audiosteuerung 2646, eine Netzwerksteuerung 2634, eine Firmware-Schnittstelle 2628, einen drahtlosen Transceiver 2626, Berührungssensoren 2625, eine Datenspeichervorrichtung 2624 (z. B. Festplatte, Flash-Speicher usw.). In mindestens einer Ausführungsform kann sich die Datenspeichervorrichtung 2624 über eine Speicherschnittstelle (z. B. SATA) oder über einen Peripheriebus, wie etwa einen PCI oder PCIe, verbinden. In mindestens einer Ausführungsform können die Berührungssensoren 2625 Berührungsbildschirmsensoren, Drucksensoren oder Fingerabdrucksensoren beinhalten. In mindestens einer Ausführungsform kann der drahtlose Transceiver 2626 ein Wi-Fi-Transceiver, ein Bluetooth-Transceiver oder ein Mobilfunknetz-Transceiver, wie etwa ein 3G-, 4G- oder Long Term Evolution („LTE“)-Transceiver sein. In mindestens einer Ausführungsform ermöglicht die Firmware-Schnittstelle 2628 die Kommunikation mit der System-Firmware und kann in mindestens einer Ausführungsform eine vereinheitlichte erweiterbare Firmware-Schnittstelle (unified extensible firmware interface - „UEFI“) sein. In mindestens einer Ausführungsform kann die Netzwerksteuerung 2634 eine Netzwerkverbindung zu einem drahtgebundenen Netzwerk ermöglichen. In mindestens einer Ausführungsform ist eine Hochleistungsnetzwerksteuerung (nicht dargestellt) mit dem Schnittstellenbus 2610 gekoppelt. In mindestens einer Ausführungsform ist die Audiosteuerung 2646 eine Mehrkanal-Audiosteuerung mit hoher Auflösung. In mindestens einer Ausführungsform beinhaltet das System 2600 eine optionale Alt-E/A-Steuerung 2640 zum Koppeln von Alt-Vorrichtungen (z. B. Personal System 2 („PS/2“)) an das Verarbeitungssystem 2600. In mindestens einer Ausführungsform kann der Plattformsteuerungs-Hub 2630 auch mit einer oder mehreren universellen seriellen Bus („USB“)-Steuerungen 2642 verbunden sein, um Eingabevorrichtungen zu verbinden, wie etwa Kombinationen aus Tastatur und Maus 2643, eine Kamera 2644 oder andere USB-Eingabevorrichtungen.
  • In mindestens einer Ausführungsform kann eine Instanz der Speichersteuerung 2616 und des Plattformsteuerungs-Hubs 2630 in einen diskreten externen Grafikprozessor, wie etwa den externen Grafikprozessor 2612, integriert sein. In mindestens einer Ausführungsform können sich der Plattformsteuerungs-Hub 2630 und/oder die Speichersteuerung 2616 außerhalb eines oder mehrerer Prozessoren 2602 befinden. Zum Beispiel kann das Verarbeitungssystem 2600 in mindestens einer Ausführungsform eine externe Speichersteuerung 2616 und einen Plattformsteuerungs-Hub 2630 beinhalten, die als Speichersteuerungs-Hub und Peripheriegerätesteuerungs-Hub innerhalb eines Systemchipsatzes konfiguriert sein können, der mit Prozessor(en) 2602 kommuniziert.
  • 27 veranschaulicht ein Computersystem 2700 gemäß mindestens einer Ausführungsform. In mindestens einer Ausführungsform kann das Computersystem 2700 ein System mit verbundenen Vorrichtungen und Komponenten, ein SOC oder eine Kombination davon sein. In mindestens einer Ausführungsform ist das Computersystem 2700 mit einem Prozessor 2702 gebildet, der Ausführungseinheiten beinhalten kann, um eine Anweisung auszuführen. In mindestens einer Ausführungsform kann das Computersystem 2700 ohne Einschränkung eine Komponente beinhalten, wie etwa einen Prozessor 2702, um Ausführungseinheiten einzusetzen, die eine Logik beinhalten, um Algorithmen zum Verarbeiten von Daten durchzuführen. In mindestens einer Ausführungsform kann das Computersystem 2700 Prozessoren beinhalten, wie etwa PENTIUM®-Prozessorfamilie, Mikroprozessoren von XeonTM, Itanium®, XScaleTM und/oder StrongARMTM, Intel® Core™ oder Intel® Nervana™, die von Intel Corporation of Santa Clara, Kalifornien, erhältlich sind, obwohl auch andere Systeme (die PCs mit anderen Mikroprozessoren, Engineering-Workstations, Set-Top-Boxen und dergleichen beinhalten) verwendet werden können. In mindestens einer Ausführungsform kann das Computersystem 2700 eine Version des WINDOWS-Betriebssystems ausführen, das von der Microsoft Corporation in Redmond, Washington, erhältlich ist, obwohl auch andere Betriebssysteme (in mindestens einer Ausführungsform UNIX und Linux), eingebettete Software und/oder grafische Benutzeroberflächen verwendet werden können.
  • In mindestens einer Ausführungsform kann das Computersystem 2700 in anderen Vorrichtungen verwendet werden, wie etwa Handheld-Vorrichtungen und eingebetteten Anwendungen. Einige der mindestens einen Ausführungsformen für Handheld-Vorrichtungen sind Mobiltelefone, Internetprotokoll-Vorrichtungen, Digitalkameras, persönliche digitale Assistenten („PDAs“) und tragbare PCs. In mindestens einer Ausführungsform können eingebettete Anwendungen einen Mikrocontroller, einen digitalen Signalprozessor (DSP), ein SoC, Netzwerkcomputer („NetPCs“), Set-Top-Boxen, Netzwerk-Hubs, Switches eines Weitverkehrsnetzwerks („WAN“) oder ein beliebiges anderes System beinhalten, das eine oder mehrere Anweisungen durchführen kann.
  • In mindestens einer Ausführungsform kann das Computersystem 2700 ohne Einschränkung einen Prozessor 2702 beinhalten, der ohne Einschränkung eine oder mehrere Ausführungseinheiten 2708 beinhalten kann, die konfiguriert sein können, um ein Compute Unified Device Architecture („CUDA“) (CUDA® wird von NVIDIA Corporation, Santa Clara, Kalifornien entwickelt) Programm auszuführen. In mindestens einer Ausführungsform ist ein CUDA-Programm mindestens ein Abschnitt einer Softwareanwendung, der in einer CUDA-Programmiersprache geschrieben ist. In mindestens einer Ausführungsform ist das Computersystem 2700 ein Desktop- oder Serversystem mit einem einzelnen Prozessor. In mindestens einer Ausführungsform kann das Computersystem 2700 ein Mehrprozessorsystem sein. In mindestens einer Ausführungsform kann der Prozessor 2702 ohne Einschränkung einen CISC-Mikroprozessor, einen RISC-Mikroprozessor, einen VLIW-Mikroprozessor, einen Prozessor, der eine Kombination von Anweisungssätzen implementiert, oder eine beliebige andere Prozessorvorrichtung, wie etwa ein digitaler Signalprozessor, in mindestens einer Ausführungsform beinhalten. In mindestens einer Ausführungsform kann der Prozessor 2702 an einen Prozessorbus 2710 gekoppelt sein, der Datensignale zwischen dem Prozessor 2702 und anderen Komponenten im Computersystem 2700 übertragen kann.
  • In mindestens einer Ausführungsform kann der Prozessor 2702 ohne Einschränkung einen internen Cache-Speicher („Cache“) 2704 der Ebene 1 („L1“) beinhalten. In mindestens einer Ausführungsform kann der Prozessor 2702 einen einzelnen internen Cache oder mehrere Ebenen des internen Cache aufweisen. In mindestens einer Ausführungsform kann der Cache-Speicher extern zum Prozessor 2702 residieren. In mindestens einer Ausführungsform kann der Prozessor 2702 auch eine Kombination von sowohl internen als auch externen Caches beinhalten. In mindestens einer Ausführungsform kann die Registerdatei 2706 unterschiedliche Arten von Daten in verschiedenen Registern speichern, die ohne Einschränkung ein Ganzzahlregister, Gleitkommaregister, Statusregister und Anweisungsverweisregister beinhalten.
  • In mindestens einer Ausführungsform befindet sich die Ausführungseinheit 2708, die ohne Einschränkung eine Logik zum Durchführen von Ganzzahl- und Gleitkommaoperationen beinhaltet, ebenfalls im Prozessor 2702. Der Prozessor 2702 kann auch Festwertspeicher (read only memory - „ROM“) für Mikrocode („µcode“) beinhalten, der Mikrocode für bestimmte Makroanweisungen speichert. In mindestens einer Ausführungsform kann die Ausführungseinheit 2708 Logik beinhalten, um einen gepackten Anweisungssatz 2709 zu handhaben. In mindestens einer Ausführungsform können Operationen, die von vielen Multimediaanwendungen verwendet werden, unter Verwendung von gepackten Daten in einem Allzweckprozessor 2702 durch das Beinhalten des gepackten Anweisungssatzes 2709 in einen Anweisungssatz eines Allzweckprozessors 2702 durchgeführt werden, zusammen mit einer zugehörigen Schaltung, um Anweisungen auszuführen. In mindestens einer Ausführungsform können viele Multimediaanwendungen beschleunigt und effizienter durch das Verwenden der vollen Breite des Datenbusses eines Prozessors zum Durchführen von Operationen an gepackten Daten ausgeführt werden, wodurch die Notwendigkeit beseitigt werden kann, kleinere Dateneinheiten über den Datenbus des Prozessors zu übertragen, um eine oder mehrere Operationen an einem Datenelement nach dem anderen durchzuführen.
  • In mindestens einer Ausführungsform kann die Ausführungseinheit 2708 auch in Mikrocontrollern, eingebetteten Prozessoren, Grafikvorrichtungen, DSP und anderen Arten von Logikschaltungen verwendet werden. In mindestens einer Ausführungsform kann das Computersystem 2700 ohne Einschränkung einen Speicher 2720 beinhalten. In mindestens einer Ausführungsform kann der Speicher 2720 als eine DRAM-Vorrichtung, eine SRAM-Vorrichtung, Flash-Speichervorrichtung oder andere Speichervorrichtung implementiert sein. Der Speicher 2720 kann Anweisung(en) 2719 und/oder Daten 2721 speichern, die durch Datensignale dargestellt sind, die durch den Prozessor 2702 ausgeführt werden können.
  • In mindestens einer Ausführungsform kann der Systemlogikchip an den Prozessorbus 2710 und den Speicher 2720 gekoppelt sein. In mindestens einer Ausführungsform kann der Systemlogikchip ohne Einschränkung einen Speichersteuer-Hub (memory controller hub - „MCH“) 2716 beinhalten, und der Prozessor 2702 kann mit dem MCH 2716 über den Prozessorbus 2710 kommunizieren. In mindestens einer Ausführungsform kann der MCH 2716 einen Speicherpfad 2718 mit hoher Bandbreite zum Speicher 2720 zur Anweisungs- und Datenspeicherung und zur Speicherung von Grafikbefehlen, Daten und Texturen bereitstellen. In mindestens einer Ausführungsform kann der MCH 2716 Datensignale zwischen dem Prozessor 2702, dem Speicher 2720 und anderen Komponenten im Computersystem 2700 leiten und Datensignale zwischen dem Prozessorbus 2710, dem Speicher 2720 und einer System-E/A 2722 überbrücken. In mindestens einer Ausführungsform kann der Systemlogikchip einen Grafikport zum Koppeln an eine Grafiksteuerung bereitstellen. In mindestens einer Ausführungsform kann der MCH 2716 über einen Speicherpfad 2718 mit hoher Bandbreite an den Speicher 2720 gekoppelt sein und kann die Grafik-/Videokarte 2712 über eine Zwischenverbindung eines beschleunigten Grafikports (Accelerated Graphics Port - „AGP“) 2714 an den MCH 2716 gekoppelt sein.
  • In mindestens einer Ausführungsform kann das Computersystem 2700 die System-E/A 2722 verwenden, die ein proprietärer Hub-Schnittstellenbus ist, um den MCH 2716 an den E/A-Steuerungs-Hub (I/O controller hub - „ICH“) 2730 zu koppeln. In mindestens einer Ausführungsform kann der ICH 2730 über einen lokalen E/A-Bus direkte Verbindungen zu einigen E/A-Vorrichtungen bereitstellen. In mindestens einer Ausführungsform kann der lokale E/A-Bus ohne Einschränkung einen Hochgeschwindigkeits-E/A-Bus zum Verbinden von Peripheriegeräten mit dem Speicher 2720, dem Chipsatz und dem Prozessor 2702 beinhalten. Beispiele können ohne Einschränkung eine Audiosteuerung 2729, einen Firmware-Hub („Flash-BIOS“) 2728, einen drahtlosen Transceiver 2726, einen Datenspeicher 2724, eine Alt-E/A-Steuerung 2723, die eine Benutzereingabeschnittstelle 2725 und eine Tastaturschnittstelle enthält, einen seriellen Erweiterungsport 2777, wie etwa einen USB, und eine Netzwerksteuerung 2734 beinhalten. Der Datenspeicher 2724 kann ein Festplattenlaufwerk, ein Diskettenlaufwerk, eine CD-ROM-Vorrichtung, eine Flash-Speichervorrichtung oder eine andere Massenspeichervorrichtung umfassen.
  • In mindestens einer Ausführungsform veranschaulicht 27 ein System, das miteinander verbundene Hardware-Vorrichtungen oder „Chips“ beinhaltet. In mindestens einer Ausführungsform kann 27 ein beispielhaftes SoC veranschaulichen. In mindestens einer Ausführungsform können die in 27 veranschaulichten Vorrichtungen mit proprietären Zwischenverbindungen, standardisierten Zwischenverbindungen (z. B. PCIe) oder einer Kombination davon miteinander verbunden sein. In mindestens einer Ausführungsform sind eine oder mehrere Komponenten des Systems 2700 unter Verwendung von Compute-Express-Link („CXL“)-Verbindungen miteinander verbunden.
  • 28 veranschaulicht ein System 2800 gemäß mindestens einer Ausführungsform. In mindestens einer Ausführungsform ist das System 2800 eine elektronische Vorrichtung, die einen Prozessor 2810 nutzt. In mindestens einer Ausführungsform kann das System 2800 in mindestens einer Ausführungsform und ohne Einschränkung ein Notebook, ein Tower-Server, ein Rack-Server, ein Blade-Server, ein Laptop, ein Desktop, ein Tablet, eine Mobilvorrichtung, ein Telefon, ein eingebetteter Computer oder eine beliebige andere geeignete elektronische Vorrichtung sein.
  • In mindestens einer Ausführungsform kann das System 2800 ohne Einschränkung einen Prozessor 2810 beinhalten, der kommunikativ an eine beliebige geeignete Anzahl oder Art von Komponenten, Peripheriegeräten, Modulen oder Vorrichtungen gekoppelt ist. In mindestens einer Ausführungsform ist der Prozessor 2810 unter Verwendung eines Busses oder einer Schnittstelle gekoppelt, wie etwa eines I2C-Busses, eines Systemverwaltungsbusses (System Management Bus - „SMBus“), eines Busses mit geringer Pin-Anzahl (Low Pin Count - „LPC“), einer seriellen Peripherieschnittstelle (Serial Peripheral Interface - „SPI“), eines High-Definition-Audio („HDA“)-Busses, eines Serial-Advance-Technology-Attachment („SATA“)-Busses, eines USB (Versionen 1, 2 oder 3) oder eines Busses eines universellen asynchronen Empfänger/Senders (Universal Asynchronous Receiver/Transmitter - „UART“). In mindestens einer Ausführungsform veranschaulicht 28 ein System, das miteinander verbundene Hardware-Vorrichtungen oder „Chips“ beinhaltet. In mindestens einer Ausführungsform kann 28 ein beispielhaftes SoC veranschaulichen. In mindestens einer Ausführungsform können die in 28 veranschaulichten Vorrichtungen mit proprietären Zusammenschaltungen, standardisierten Zusammenschaltungen (z. B. PCIe) oder einer Kombination davon zusammengeschaltet sein. In mindestens einer Ausführungsform sind eine oder mehrere Komponenten der 28 unter Verwendung von CXL-Zwischenverbindungen miteinander verbunden.
  • In mindestens einer Ausführungsform kann 28 Folgendes beinhalten: eine Anzeige 2824, einen Berührungsbildschirm 2825, ein Touchpad 2830, eine Nahfeldkommunikationseinheit („NFC“) 2845, einen Sensor-Hub 2840, einen Wärmesensor 2846, einen Express-Chipsatz („EC“) 2835, ein Trusted-Platform-Modul („TPM“) 2838, BIOS-/Firmware-/Flash-Speicher („BIOS, FW Flash“) 2822, einen DSP 2860, ein Festkörperlaufwerk (Solid State Disk - „SSD“) oder ein Festplattenlaufwerk (Hard Disk Drive - „HDD“) 2820, eine drahtlose lokale Netzwerkeinheit (Wireless Local Area Network - „WLAN“) 2850, eine Bluetooth-Einheit 2852, eine drahtlose Weitbereichsnetzwerkeinheit (Wireless Wide Area Network - „WWAN“) 2856, ein globales Positionsbestimmungssystem („GPS“) 2855, eine Kamera („USB 3.0-Kamera“) 2854, wie etwa eine USB 3.0-Kamera, und/oder eine Speichereinheit mit doppelter Datenrate bei niedriger Leistung (Low Power Double Data Rate - „LPDDR“) („LPDDR3“) 2815, die in mindestens einer Ausführungsform im LPDDR3-Standard implementiert ist. Diese Komponenten können jeweils auf beliebige geeignete Weise implementiert sein.
  • In mindestens einer Ausführungsform können andere Komponenten durch die vorstehend erörterten Komponenten kommunikativ an den Prozessor 2810 gekoppelt sein. In mindestens einer Ausführungsform können ein Beschleunigungsmesser 2841, ein Umgebungslichtsensor (Ambient Light Sensor - „ALS“) 2842, ein Kompass 2843 und ein Gyroskop 2844 kommunikativ an den Sensor-Hub 2840 gekoppelt sein. In mindestens einer Ausführungsform können der Wärmesensor 2839, ein Lüfter 2837, eine Tastatur 2846 und ein Touchpad 2830 kommunikativ an den EC 2835 gekoppelt sein. In mindestens einer Ausführungsform können ein Lautsprecher 2863, Kopfhörer 2864 und ein Mikrofon („mic“) 2865 kommunikativ an eine Audioeinheit („Audiocodec und Klasse-D-Verstärker“) 2864 gekoppelt sein, die wiederum kommunikativ an den DSP 2860 gekoppelt sein kann. In mindestens einer Ausführungsform kann die Audioeinheit 2864 ohne Einschränkung einen Audiocodierer/- decodierer („Codec“) und einen Klasse-D-Verstärker beinhalten. In mindestens einer Ausführungsform kann die SIM-Karte („SIM“) 2857 kommunikativ an die WWAN-Einheit 2856 gekoppelt sein. In mindestens einer Ausführungsform können Komponenten wie die WLAN-Einheit 2850 und die Bluetooth-Einheit 2852 sowie die WWAN-Einheit 2856 in einem Formfaktor der nächsten Generation (Next Generation Form Factor - „NGFF“) implementiert sein.
  • 29 veranschaulicht eine beispielhafte integrierte Schaltung 2900 gemäß mindestens einer Ausführungsform. In mindestens einer Ausführungsform ist die beispielhafte integrierte Schaltung 2900 ein SoC, das unter Verwendung eines oder mehrerer IP-Kerne hergestellt werden kann. In mindestens einer Ausführungsform beinhaltet die integrierte Schaltung 2900 einen oder mehrere Anwendungsprozessor(en) 2905 (z. B. CPUs), mindestens einen Grafikprozessor 2910 und kann zusätzlich einen Bildprozessor 2915 und/oder einen Videoprozessor 2920 beinhalten, von denen j eder ein modularer IP-Kern sein kann. In mindestens einer Ausführungsform beinhaltet die integrierte Schaltung 2900 Peripherie- oder Buslogik, die eine USB-Steuerung 2925, eine UART-Steuerung 2930, eine SPI/SDIO-Steuerung 2935 und eine I2S/I2C-Steuerung 2940 beinhaltet. In mindestens einer Ausführungsform kann die integrierte Schaltung 2900 eine Anzeigevorrichtung 2945 beinhalten, die an einen oder mehrere von einer Steuerung 2950 einer Multimediaschnittstelle mit hoher Auflösung (high-definition multimedia interface - „HDMI“) und einer Anzeigeschnittstelle 2955 für eine mobile Industrieprozessorschnittstelle (mobile industry processor interface - „MIPI“) gekoppelt ist. In mindestens einer Ausführungsform kann die Speicherung durch ein Flash-Speicherteilsystem 2960 bereitgestellt sein, das Flash-Speicher und eine Flash-Speichersteuerung beinhaltet. In mindestens einer Ausführungsform kann eine Speicherschnittstelle über eine Speichersteuerung 2965 für den Zugriff auf SDRAM- oder SRAM-Speichervorrichtungen bereitgestellt sein. In mindestens einer Ausführungsform beinhalten einige integrierte Schaltungen zusätzlich eine eingebettete Sicherheits-Engine 2970.
  • 30 veranschaulicht ein Rechensystem 3000 gemäß einer Ausführungsform. In mindestens einer Ausführungsform beinhaltet das Rechensystem 3000 ein Verarbeitungsteilsystem 3001 mit einem oder mehreren Prozessoren 3002 und einem Systemspeicher 3004, der über einen Zwischenverbindungspfad kommuniziert, der einen Speicher-Hub 3005 beinhalten kann. In mindestens einer Ausführungsform kann der Speicher-Hub 3005 eine getrennte Komponente innerhalb einer Chipsatzkomponente sein oder kann in einen oder mehrere Prozessoren 3002 integriert sein. In mindestens einer Ausführungsform ist der Speicher-Hub 3005 über eine Kommunikationsverbindung 3006 mit einem E/A-Teilsystem 3011 gekoppelt. In mindestens einer Ausführungsform beinhaltet das E/A-Teilsystem 3011 einen E/A-Hub 3007, der es dem Computersystem 3000 ermöglichen kann, Eingaben von einer oder mehreren Eingabevorrichtungen 3008 zu empfangen. In mindestens einer Ausführungsform kann der E/A-Hub 3007 einer Anzeigesteuerung, die in einem oder mehreren Prozessoren 3002 beinhaltet sein kann, ermöglichen, einer oder mehreren Anzeigevorrichtungen 3010A Ausgaben bereitzustellen. In mindestens einer Ausführungsform können eine oder mehrere Anzeigevorrichtungen 3010A, die mit dem E/A-Hub 3007 gekoppelt sind, eine lokale, interne oder eingebettete Anzeigevorrichtung beinhalten.
  • In mindestens einer Ausführungsform beinhaltet das Verarbeitungsteilsystem 3001 einen oder mehrere Parallelprozessoren 3012, die über einen Bus oder eine andere Kommunikationsverbindung 3013 mit dem Speicher-Hub 3005 gekoppelt sind. In mindestens einer Ausführungsform kann die Kommunikationsverbindung 3013 eine von einer beliebigen Anzahl von auf Standards basierenden Kommunikationsverbindungstechnologien oder - protokollen sein, wie etwa, aber nicht beschränkt auf PCIe, oder kann eine herstellerspezifische Kommunikationsschnittstelle oder Kommunikationsstruktur sein. In mindestens einer Ausführungsform bilden ein oder mehrere Parallelprozessoren 3012 ein rechenfokussiertes Parallel- oder Vektorverarbeitungssystem, das eine große Anzahl von Verarbeitungskernen und/oder Verarbeitungs-Clustern beinhalten kann, wie etwa einen Prozessor mit vielen integrierten Kernen. In mindestens einer Ausführungsform bilden ein oder mehrere Parallelprozessoren 3012 ein Grafikverarbeitungsteilsystem, das Pixel an eine oder mehrere Anzeigevorrichtungen 3010A ausgeben kann, die über den E/A-Hub 3007 gekoppelt sind. In mindestens einer Ausführungsform können ein oder mehrere Parallelprozessoren 3012 auch eine Anzeigesteuerung und eine Anzeigeschnittstelle (nicht dargestellt) beinhalten, um eine direkte Verbindung zu einer oder mehreren Anzeigevorrichtungen 3010B zu ermöglichen.
  • In mindestens einer Ausführungsform kann sich eine Systemspeichereinheit 3014 mit dem E/A-Hub 3007 verbinden, um einen Speichermechanismus für das Rechensystem 3000 bereitzustellen. In mindestens einer Ausführungsform kann ein E/A-Switch 3016 verwendet werden, um einen Schnittstellenmechanismus bereitzustellen, um Verbindungen zwischen dem E/A-Hub 3007 und anderen Komponenten zu ermöglichen, wie etwa einem Netzwerkadapter 3018 und/oder einem drahtlosen Netzwerkadapter 3019, die in eine Plattform integriert sein können, und verschiedenen anderen Vorrichtungen, die über eine oder mehrere Erweiterungsvorrichtungen 3020 hinzugefügt werden können. In mindestens einer Ausführungsform kann der Netzwerkadapter 3018 ein Ethernet-Adapter oder ein anderer drahtgebundener Netzwerkadapter sein. In mindestens einer Ausführungsform kann der drahtlose Netzwerkadapter 3019 eine oder mehrere von einer Wi-Fi-, Bluetooth-, NFC- oder anderen Netzwerkvorrichtung beinhalten, die ein oder mehrere drahtlose Funkvorrichtungen beinhaltet.
  • In mindestens einer Ausführungsform kann das Rechensystem 3000 andere Komponenten beinhalten, die nicht ausdrücklich dargestellt sind, die USB- oder andere Port-Verbindungen, optische Speicherlaufwerke, Videoaufnahmevorrichtungen und/oder Variationen davon beinhalten und auch mit dem E/A-Hub 3007 verbunden sein können. In mindestens einer Ausführungsform können Kommunikationswege, die verschiedene Komponenten in 30 verbinden, unter Verwendung beliebiger geeigneter Protokolle implementiert sein, wie etwa auf PCI basierte Protokolle (z. B. PCIe) oder andere Bus- oder Punkt-zu-Punkt-Kommunikationsschnittstellen und/oder -protokolle, wie etwa NVLink-Hochgeschwindigkeitszwischenverbindung oder Zwischenverbindungsprotokolle.
  • In mindestens einer Ausführungsform schließen ein oder mehrere Parallelprozessoren 3012 eine Schaltung ein, die für die Grafik- und Videoverarbeitung optimiert ist, was in mindestens einer Ausführungsform eine Videoausgabeschaltung beinhaltet, und eine Grafikverarbeitungseinheit („GPU“) bildet. In mindestens einer Ausführungsform schließen ein oder mehrere Parallelprozessoren 3012 eine Schaltung ein, die für eine Allzweckverarbeitung optimiert ist. In mindestens einer Ausführungsform können Komponenten des Rechensystems 3000 mit einem oder mehreren anderen Systemelementen auf einer einzelnen integrierten Schaltung integriert sein. In mindestens einer Ausführungsform können ein oder mehrere Parallelprozessoren 3012, der Speicher-Hub 3005, Prozessoren 3002 und der E/A-Hub 3007 in eine integrierte SoC-Schaltung integriert sein. In mindestens einer Ausführungsform können Komponenten des Rechensystems 3000 in ein einzelnes Paket integriert sein, um eine System in Package („SIP“)-Konfiguration zu bilden. In mindestens einer Ausführungsform kann mindestens ein Teil der Komponenten des Rechensystems 3000 in ein Mehrchipmodul („MCM“) integriert sein, das mit anderen Mehrchipmodulen zu einem modularen Rechensystem verbunden werden kann. In mindestens einer Ausführungsform werden das E/A-Teilsystem 3011 und die Anzeigevorrichtungen 3010B aus dem Rechensystem 3000 weggelassen.
  • Verarbeitungssysteme
  • Die folgenden Figuren legen ohne Einschränkung beispielhafte Verarbeitungssysteme dar, die verwendet werden können, um mindestens eine Ausführungsform zu implementieren.
  • 31 veranschaulicht eine beschleunigte Verarbeitungseinheit (accelerated processing unit - „APU“) 3100 gemäß mindestens einer Ausführungsform. In mindestens einer Ausführungsform wird die APU 3100 von der AMD Corporation, Santa Clara, Kalifornien, entwickelt. In mindestens einer Ausführungsform kann die APU 3100 konfiguriert sein, um ein Anwendungsprogramm, wie etwa ein CUDA-Programm, auszuführen. In mindestens einer Ausführungsform beinhaltet die APU 3100 ohne Einschränkung einen Kernkomplex 3110, einen Grafikkomplex 3140, eine Struktur 3160, E/A-Schnittstellen 3170, Speichersteuerungen 3180, eine Anzeigesteuerung 3192 und eine Multimedia-Engine 3194. In mindestens einer Ausführungsform kann die APU 3100 ohne Einschränkung eine beliebige Anzahl von Kernkomplexen 3110, eine beliebige Anzahl von Grafikkomplexen 3150, eine beliebige Anzahl von Anzeigesteuerungen 3192 und eine beliebige Anzahl von Multimedia-Engines 3194 in einer beliebigen Kombination beinhalten. Zu Erläuterungszwecken werden hierin mehrere Instanzen von gleichen Objekten mit Bezugszeichen bezeichnet, die ein Objekt identifizieren, und in Klammern gesetzte Nummern identifizieren eine Instanz, wo dies erforderlich ist.
  • In mindestens einer Ausführungsform ist der Kernkomplex 3110 eine CPU, ist der Grafikkomplex 3140 eine GPU und ist die APU 3100 eine Verarbeitungseinheit, die ohne Einschränkung 3110 und 3140 auf einem einzelnen Chip integriert. In mindestens einer Ausführungsform können dem Kernkomplex 3110 einige Tasks zugewiesen werden und können dem Grafikkomplex 3140 andere Tasks zugewiesen werden. In mindestens einer Ausführungsform ist der Kernkomplex 3110 konfiguriert, um der APU 3100 zugeordnete Hauptsteuersoftware, wie etwa ein Betriebssystem, auszuführen. In mindestens einer Ausführungsform ist der Kernkomplex 3110 ein Masterprozessor der APU 3100, der Operationen anderer Prozessoren steuert und koordiniert. In mindestens einer Ausführungsform gibt der Kernkomplex 3110 Befehle aus, die einen Betrieb des Grafikkomplexes 3140 steuern. In mindestens einer Ausführungsform kann der Kernkomplex 3110 konfiguriert sein, um vom Host ausführbaren Code, der vom CUDA-Quellcode abgeleitet ist, auszuführen, und der Grafikkomplex 3140 kann konfiguriert sein, um von der Vorrichtung ausführbaren Code, der vom CUDA-Quellcode abgeleitet ist, auszuführen.
  • In mindestens einer Ausführungsform beinhaltet der Kernkomplex 3110 ohne Einschränkung Kerne 3120(1)-3120(4) und einen L3-Cache 3130. In mindestens einer Ausführungsform kann der Kernkomplex 3110 ohne Einschränkung eine beliebige Anzahl von Kernen 3120 und eine beliebige Anzahl und Art von Caches in beliebiger Kombination beinhalten. In mindestens einer Ausführungsform sind die Kerne 3120 konfiguriert, um Anweisungen einer konkreten Anweisungssatzarchitektur (instruction set architecture - „ISA“) auszuführen. In mindestens einer Ausführungsform ist jeder Kern 3120 ein CPU-Kern.
  • In mindestens einer Ausführungsform beinhaltet jeder Kern 3120 ohne Einschränkung eine Abruf-/Decodiereinheit 3122, eine Ganzzahl-Ausführungs-Engine 3124, eine Gleitkomma-Ausführungs-Engine 3126 und einen L2-Cache 3128. In mindestens einer Ausführungsform ruft die Abruf-/Decodiereinheit 3122 Anweisungen ab, decodiert solche Anweisungen, erzeugt Mikrooperationen und sendet separate Mikroanweisungen an die Ganzzahl-Ausführungs-Engine 3124 und die Gleitkomma-Ausführungs-Engine 3126 ab. In mindestens einer Ausführungsform kann die Abruf-/Decodiereinheit 3122 gleichzeitig eine Mikroanweisung an die Ganzzahl-Ausführungs-Engine 3124 und eine weitere Mikroanweisung an die Gleitkomma-Ausführungs-Engine 3126 absenden. In mindestens einer Ausführungsform führt die Ganzzahl-Ausführungs-Engine 3124 ohne Einschränkung Ganzzahl- und Speicheroperationen aus. In mindestens einer Ausführungsform führt die Gleitkomma-Engine 3126 ohne Einschränkung Gleitkomma- und Vektoroperationen aus. In mindestens einer Ausführungsform sendet die Abruf-/Decodiereinheit 3122 Mikroanweisungen an eine einzelne Ausführungs-Engine aus, die sowohl die Ganzzahl-Ausführungs-Engine 3124 als auch die Gleitkomma-Ausführungs-Engine 3126 ersetzt.
  • In mindestens einer Ausführungsform kann jeder Kern 3120(i), wobei i eine ganze Zahl ist, die eine konkrete Instanz des Kerns 3120 darstellt, auf den im Kern 3120(i) beinhalteten L2-Cache 3128(i) zugreifen. In mindestens einer Ausführungsform ist jeder im Kernkomplex 3110(j) beinhaltete Kern 3120, wobei j eine ganze Zahl ist, die eine konkrete Instanz des Kernkomplexes 3110 darstellt, mit anderen Kernen 3120, die im Kernkomplex 3110(j) beinhaltet sind, über den L3-Cache 3130(j), der im Kernkomplex 3110(j) beinhaltet ist, verbunden. In mindestens einer Ausführungsform können die im Kernkomplex 3110(j) beinhalteten Kerne 3120, wobei j eine ganze Zahl ist, die eine konkrete Instanz des Kernkomplexes 3110 darstellt, auf den gesamten L3-Cache 3130(j), der im Kernkomplex 3110(j) beinhaltet ist, zugreifen. In mindestens einer Ausführungsform kann der L3-Cache 3130 ohne Einschränkung eine beliebige Anzahl von Slices beinhalten.
  • In mindestens einer Ausführungsform kann der Grafikkomplex 3140 konfiguriert sein, um Rechenoperationen auf hochparallele Weise durchzuführen. In mindestens einer Ausführungsform ist der Grafikkomplex 3140 konfiguriert, um Grafikpipelineoperationen auszuführen, wie beispielsweise Zeichenbefehle, Pixeloperationen, geometrische Berechnungen und andere Operationen, die dem Rendern eines Bildes auf einer Anzeige zugeordnet sind. In mindestens einer Ausführungsform ist der Grafikkomplex 3140 konfiguriert, Operationen, die sich nicht auf Grafiken beziehen, auszuführen. In mindestens einer Ausführungsform ist der Grafikkomplex 3140 konfiguriert, um sowohl Operationen, die sich auf Grafiken beziehen, als auch Operationen, die sich nicht auf Grafiken beziehen, auszuführen.
  • In mindestens einer Ausführungsform beinhaltet der Grafikkomplex 3140 ohne Einschränkung eine beliebige Anzahl von Recheneinheiten 3150 und einen L2-Cache 3142. In mindestens einer Ausführungsform nutzen die Recheneinheiten 3150 den L2-Cache 3142 gemeinsam. In mindestens einer Ausführungsform ist der L2-Cache 3142 partitioniert. In mindestens einer Ausführungsform beinhaltet der Grafikkomplex 3140 ohne Einschränkung eine beliebige Anzahl von Recheneinheiten 3150 und eine beliebige Anzahl (einschließlich null) und Art von Caches. In mindestens einer Ausführungsform beinhaltet der Grafikkomplex 3140 ohne Einschränkung eine beliebige Menge an dedizierter Grafikhardware.
  • In mindestens einer Ausführungsform beinhaltet jede Recheneinheit 3150 ohne Einschränkung eine beliebige Anzahl von SIMD-Einheiten 3152 und einen gemeinsam genutzten Speicher 3154. In mindestens einer Ausführungsform implementiert jede SIMD-Einheit 3152 eine SIMD-Architektur und ist konfiguriert, um Operationen parallel durchzuführen. In mindestens einer Ausführungsform kann jede Recheneinheit 3150 eine beliebige Anzahl von Thread-Blöcken ausführen, aber jeder Thread-Block wird auf einer einzelnen Recheneinheit 3150 ausgeführt. In mindestens einer Ausführungsform beinhaltet ein Thread-Block ohne Einschränkung eine beliebige Anzahl von Ausführungs-Threads. In mindestens einer Ausführungsform ist eine Arbeitsgruppe ein Thread-Block. In mindestens einer Ausführungsform führt jede SIMD-Einheit 3152 einen anderen Warp aus. In mindestens einer Ausführungsform ist ein Warp eine Gruppe von Threads (z. B. 16 Threads), wobei jeder Thread in einem Warp zu einem einzelnen Thread-Block gehört und konfiguriert ist, um einen anderen Datensatz basierend auf einem einzelnen Satz von Anweisungen zu verarbeiten. In mindestens einer Ausführungsform kann Prädikation verwendet werden, um einen oder mehrere Threads in einem Warp zu deaktivieren. In mindestens einer Ausführungsform ist ein Pfad ein Thread. In mindestens einer Ausführungsform ist ein Arbeitselement ein Thread. In mindestens einer Ausführungsform ist eine Wellenfront ein Warp. In mindestens einer Ausführungsform können sich verschiedene Wellenfronten in einem Thread-Block miteinander synchronisieren und über den gemeinsam genutzten Speicher 3154 kommunizieren.
  • In mindestens einer Ausführungsform ist die Struktur 3160 eine Systemzwischenverbindung, die Daten- und Steuerübertragungen über den Kernkomplex 3110, den Grafikkomplex 3140, die E/A-Schnittstellen 3170, die Speichersteuerungen 3180, die Anzeigesteuerung 3192 und die Multimedia-Engine 3194 ermöglicht. In mindestens einer Ausführungsform kann die APU 3100 ohne Einschränkung eine beliebige Menge und Art von Systemzwischenverbindung zusätzlich zu oder anstelle der Struktur 3160 beinhalten, die Daten- und Steuerübertragungen über eine beliebige Anzahl und Art von direkt oder indirekt verbundenen Komponenten ermöglicht, die sich innerhalb oder außerhalb der APU 3100 befinden können. In mindestens einer Ausführungsform repräsentieren die E/A-Schnittstellen 3170 eine beliebige Anzahl und Art von E/A-Schnittstellen (z. B. PCI, PCI-Extended („PCI-X“), PCIe, Gigabit-Ethernet („GBE“), USB usw.). In mindestens einer Ausführungsform sind verschiedene Arten von Peripheriegeräten mit E/A-Schnittstellen 3170 gekoppelt. In mindestens einer Ausführungsform können Peripheriegeräte, die mit den E/A-Schnittstellen 3170 gekoppelt sind, ohne Einschränkung Tastaturen, Mäuse, Drucker, Scanner, Joysticks oder andere Arten von Spielesteuerungen, Medienaufzeichnungsvorrichtungen, externe Speichervorrichtungen, Netzwerkkarten usw. beinhalten.
  • In mindestens einer Ausführungsform zeigt die Anzeigesteuerung AMD92 Bilder auf einer oder mehreren Anzeigevorrichtungen an, wie etwa einer Flüssigkristallanzeige („LCD“). In mindestens einer Ausführungsform beinhaltet die Multimedia-Engine 240 ohne Einschränkung eine beliebige Menge und Art von Schaltungen, die sich auf Multimedia beziehen, wie etwa einen Video-Decodierer, einen Video-Codierer, einen Bildsignalprozessor usw. In mindestens einer Ausführungsform ermöglichen die Speichersteuerungen 3180 Datenübertragungen zwischen der APU 3100 und einem vereinheitlichten Systemspeicher 3190. In mindestens einer Ausführungsform nutzen der Kernkomplex 3110 und der Grafikkomplex 3140 den vereinheitlichten Systemspeicher 3190 gemeinsam.
  • In mindestens einer Ausführungsform implementiert die APU 3100 ein Speicherteilsystem, das ohne Einschränkung eine beliebige Menge und Art von Speichersteuerungen 3180 und Speichervorrichtungen (z. B. gemeinsam genutzter Speicher 3154) beinhaltet, die einer Komponente zugeordnet oder von mehreren Komponenten gemeinsam genutzt werden können. In mindestens einer Ausführungsform implementiert die APU 3100 ein Cache-Teilsystem, das ohne Einschränkung einen oder mehrere Cache-Speicher (z. B. L2-Caches 2728, L3-Cache 3130 und L2-Cache 3142) beinhaltet, die jeweils für eine beliebige Anzahl von Komponenten reserviert sein können oder von diesen gemeinsam genutzt werden können (z. B. Kerne 3120, Kernkomplex 3110, SIMD-Einheiten 3152, Recheneinheiten 3150 und Grafikkomplex 3140).
  • 32 veranschaulicht eine CPU 3200 gemäß mindestens einer Ausführungsform. In mindestens einer Ausführungsform wird die CPU 3200 von der AMD Corporation, Santa Clara, Kalifornien, entwickelt. In mindestens einer Ausführungsform ist die CPU 3200 konfiguriert, ein Anwendungsprogramm auszuführen. In mindestens einer Ausführungsform ist die CPU 3200 konfiguriert, um eine Hauptsteuersoftware, wie etwa ein Betriebssystem, auszuführen. In mindestens einer Ausführungsform gibt die CPU 3200 Befehle aus, die einen Betrieb einer externen GPU (nicht dargestellt) steuern. In mindestens einer Ausführungsform kann die CPU 3200 konfiguriert sein, um vom Host ausführbaren Code, der vom CUDA-Quellcode abgeleitet ist, auszuführen, und ein externe GPU kann konfiguriert sein, um von der Vorrichtung ausführbaren Code, der vom CUDA-Quellcode abgeleitet ist, auszuführen. In mindestens einer Ausführungsform beinhaltet die CPU 3200 ohne Einschränkung eine beliebige Anzahl von Kernkomplexen 3210, eine Struktur 3260, E/A-Schnittstellen 3270 und Speichersteuerungen 3280.
  • In mindestens einer Ausführungsform beinhaltet der Kernkomplex 3210 ohne Einschränkung Kerne 3220(1)-3220(4) und einen L3-Cache 3230. In mindestens einer Ausführungsform kann der Kernkomplex 3210 ohne Einschränkung eine beliebige Anzahl von Kernen 3220 und eine beliebige Anzahl und Art von Caches in beliebiger Kombination beinhalten. In mindestens einer Ausführungsform sind die Kerne 3220 konfiguriert, um Anweisungen einer konkreten ISA auszuführen. In mindestens einer Ausführungsform ist jeder Kern 3220 ein CPU-Kern.
  • In mindestens einer Ausführungsform beinhaltet jeder Kern 3220 ohne Einschränkung eine Abruf-/Decodiereinheit 3222, eine Ganzzahl-Ausführungs-Engine 3224, eine Gleitkomma-Ausführungs-Engine 3226 und einen L2-Cache 3228. In mindestens einer Ausführungsform ruft die Abruf-/Decodiereinheit 3222 Anweisungen ab, decodiert solche Anweisungen, erzeugt Mikrooperationen und sendet separate Mikroanweisungen an die Ganzzahl-Ausführungs-Engine 3224 und die Gleitkomma-Ausführungs-Engine 3226 ab. In mindestens einer Ausführungsform kann die Abruf-/Decodiereinheit 3222 gleichzeitig eine Mikroanweisung an die Ganzzahl-Ausführungs-Engine 3224 und eine weitere Mikroanweisung an die Gleitkomma-Ausführungs-Engine 3226 absenden. In mindestens einer Ausführungsform führt die Ganzzahl-Ausführungs-Engine 3224 ohne Einschränkung Ganzzahl- und Speicheroperationen aus. In mindestens einer Ausführungsform führt die Gleitkomma-Engine 3226 ohne Einschränkung Gleitkomma- und Vektoroperationen aus. In mindestens einer Ausführungsform sendet die Abruf-/Decodiereinheit 3222 Mikroanweisungen an eine einzelne Ausführungs-Engine aus, die sowohl die Ganzzahl-Ausführungs-Engine 3224 als auch die Gleitkomma-Ausführungs-Engine 3226 ersetzt.
  • In mindestens einer Ausführungsform kann jeder Kern 3220(i), wobei i eine ganze Zahl ist, die eine konkrete Instanz des Kerns 3220 darstellt, auf den im Kern 3220(i) beinhalteten L2-Cache 3228(i) zugreifen. In mindestens einer Ausführungsform ist jeder im Kernkomplex 3210(j) beinhaltete Kern 3220, wobei j eine ganze Zahl ist, die eine konkrete Instanz des Kernkomplexes 3210 darstellt, mit anderen Kernen 3220 im Kernkomplex 3210(j) über den L3-Cache 3230(j), der im Kernkomplex 3210(j) beinhaltet ist, verbunden. In mindestens einer Ausführungsform können die im Kernkomplex 3210(j) beinhalteten Kerne 3220, wobei j eine ganze Zahl ist, die eine konkrete Instanz des Kernkomplexes 3210 darstellt, auf den gesamten L3-Cache 3230(j), der im Kernkomplex 3210(j) beinhaltet ist, zugreifen. In mindestens einer Ausführungsform kann der L3-Cache 3230 ohne Einschränkung eine beliebige Anzahl von Slices beinhalten.
  • In mindestens einer Ausführungsform ist die Struktur 3260 eine Systemzwischenverbindung, die Daten- und Steuerungsübertragungen über die Kernkomplexe 3210(1)-3210(N) (wobei N eine ganze Zahl größer als null ist), E/A-Schnittstellen 3270 und Speichersteuerungen 3280 ermöglicht. In mindestens einer Ausführungsform kann die CPU 3200 ohne Einschränkung eine beliebige Menge und Art von Systemzwischenverbindung zusätzlich zu oder anstelle der Struktur 3260 beinhalten, die Daten- und Steuerübertragungen über eine beliebige Anzahl und Art von direkt oder indirekt verbundenen Komponenten ermöglicht, die sich innerhalb oder außerhalb der CPU 3200 befinden können. In mindestens einer Ausführungsform repräsentieren die E/A-Schnittstellen 3270 eine beliebige Anzahl und Art von E/A-Schnittstellen (z. B. PCI, PCI-X, PCIe, GBE, USB usw.). In mindestens einer Ausführungsform sind verschiedene Arten von Peripheriegeräten mit E/A-Schnittstellen 3270 gekoppelt. In mindestens einer Ausführungsform können Peripheriegeräte, die mit den E/A-Schnittstellen 3270 gekoppelt sind, ohne Einschränkung Anzeigen, Tastaturen, Mäuse, Drucker, Scanner, Joysticks oder andere Arten von Spielesteuerungen, Medienaufzeichnungsvorrichtungen, externe Speichervorrichtungen, Netzwerkkarten usw. beinhalten.
  • In mindestens einer Ausführungsform ermöglichen die Speichersteuerungen 3280 Datenübertragungen zwischen der CPU 3200 und einem Systemspeicher 3290. In mindestens einer Ausführungsform nutzen der Kernkomplex 3210 und der Grafikkomplex 3240 den Systemspeicher 3290 gemeinsam. In mindestens einer Ausführungsform implementiert die CPU 3200 ein Speicherteilsystem, das ohne Einschränkung eine beliebige Menge und Art von Speichersteuerungen 3280 und Speichervorrichtungen beinhaltet, die einer Komponente zugeordnet oder von mehreren Komponenten gemeinsam genutzt werden können. In mindestens einer Ausführungsform implementiert die CPU 3200 ein Cache-Teilsystem, das ohne Einschränkung einen oder mehrere Cache-Speicher (z. B. L2-Caches 3228 und L3-Cachex 3230) beinhaltet, die jeweils für eine beliebige Anzahl von Komponenten reserviert sein können oder von diesen gemeinsam genutzt werden können (z. B. Kerne 3220 und Kernkomplexe 3210).
  • 33 veranschaulicht ein beispielhaftes Beschleunigerintegrations-Slice 3390 gemäß mindestens einer Ausführungsform. Im hierin verwendeten Sinne umfasst ein „Slice“ einen spezifizierten Teil von Verarbeitungsressourcen der Beschleunigerintegrationsschaltung. In mindestens einer Ausführungsform stellt eine Beschleunigerintegrationsschaltung Cache-Verwaltungs-, Speicherzugriffs-, Kontextverwaltungs- und Unterbrechungsverwaltungsdienste im Namen einer Vielzahl von Grafikverarbeitungs-Engines, die in einem Grafikbeschleunigungsmodul beinhaltet ist, bereit. Die Grafikverarbeitungs-Engines können jeweils eine separate GPU umfassen. Alternativ können die Grafikverarbeitungs-Engines unterschiedliche Arten von Grafikverarbeitungs-Engines innerhalb einer GPU umfassen, wie etwa Grafikausführungseinheiten, Medienverarbeitungs-Engines (z. B. Videocodierer/-decodierer), Abtaster und Blit-Engines. In mindestens einer Ausführungsform kann ein Grafikbeschleunigungsmodul eine GPU mit mehreren Grafikverarbeitungs-Engines sein. In mindestens einer Ausführungsform können Grafikverarbeitungs-Engines einzelne GPU sein, die auf einem gemeinsamen Package, einer Linecard oder einem Chip integriert sind.
  • Ein effektiver Adressbereich 3382 der Anwendung innerhalb eines Systemspeichers 3314 speichert Prozesselemente 3383. In einer Ausführungsform werden die Prozesselemente 3383 als Reaktion auf GPU-Aufrufe 3381 von Anwendungen 3380 gespeichert, die auf dem Prozessor 3307 ausgeführt werden. Ein Prozesselement 3383 enthält einen Prozesszustand für die entsprechende Anwendung 3380. Ein im Prozesselement 3383 enthaltener Arbeitsdeskriptor (work descriptor - „WD“) 3384 kann eine einzelne Aufgabe sein, die durch eine Anwendung angefordert wird, oder kann einen Zeiger auf eine Warteschlange von Aufgaben enthalten. In mindestens einer Ausführungsform ist der WD 3384 ein Zeiger auf eine Aufgabenanforderungswarteschlange im effektiven Adressbereich 3382 der Anwendung.
  • Das Grafikbeschleunigungsmodul 3346 und/oder einzelne Grafikverarbeitungs-Engines können von allen oder einer Teilmenge von Prozessen in einem System gemeinsam genutzt werden. In mindestens einer Ausführungsform kann eine Infrastruktur zum Einrichten des Prozesszustands und zum Senden des WD 3384 an das Grafikbeschleunigungsmodul 3346 zum Starten einer Aufgabe in einer virtualisierten Umgebung beinhaltet sein.
  • In mindestens einer Ausführungsform ist ein Programmiermodell für einen dedizierten Prozess implementationsspezifisch. In diesem Modell besitzt ein einzelner Prozess das Grafikbeschleunigungsmodul 3346 oder eine einzelne Grafikverarbeitungs-Engine. Da das Grafikbeschleunigungsmodul 3346 einem einzelnen Prozess gehört, initialisiert ein Hypervisor die Beschleunigerintegrationsschaltung für eine besitzende Partition und ein Betriebssystem initialisiert die Beschleunigerintegrationsschaltung für einen besitzenden Prozess, wenn das Grafikbeschleunigungsmodul 3346 zugewiesen ist.
  • Im Betrieb ruft eine WD-Abrufeinheit 3391 in einem Beschleunigerintegrations-Slice 3390 den nächsten WD 3384 ab, der eine Angabe der Arbeit beinhaltet, die durch eine oder mehrere Grafikverarbeitungs-Engines des Grafikbeschleunigungsmoduls 3346 zu erledigen ist. Daten von dem WD 3384 können in den Registern 3345 gespeichert und durch eine Speicherverwaltungseinheit („MMU“) 3339, eine Unterbrechungsverwaltungsschaltung 3347 und/oder eine Kontextverwaltungsschaltung 3348 wie veranschaulicht verwendet werden. In mindestens einer Ausführungsform beinhaltet die MMU 3339 eine Segment-/Seitenlauf-Schaltung zum Zugreifen auf Segment-/Seitentabellen 3386 innerhalb des virtuellen Adressbereichs 3385 des Betriebssystems. Die Unterbrechungsverwaltungsschaltung 3347 kann Unterbrechungsereignisse („INT“) 3392 verarbeiten, die von dem Grafikbeschleunigungsmodul 3346 empfangen wurden. Beim Durchführen von Grafikoperationen wird eine effektive Adresse 3393, die durch eine Grafikverarbeitungs-Engine erzeugt wird, durch die MMU 3339 in eine reale Adresse übersetzt.
  • In einer Ausführungsform wird ein selber Satz von Registern 3345 für jede Grafikverarbeitungs-Engine und/oder jedes Grafikbeschleunigungsmodul 3346 dupliziert und kann durch einen Hypervisor oder ein Betriebssystem initialisiert werden. Jedes dieser duplizierten Register kann in dem Beschleunigerintegrations-Slice 3390 beinhaltet sein. Tabelle 1 zeigt beispielhafte Register, die durch einen Hypervisor initialisiert werden können. Tabelle 1 - durch Hypervisor initialisierte Register
    1 Slice-Steuerregister
    2 Geplanter Prozessbereichszeiger für reale Adresse (RA)
    3 Autoritätsmasken-Überschreibungsregister
    4 Unterbrechungsvektor-Tabelleneintragsversatz
    5 Unterbrechungsvektor-Tabelleneintragsbegrenzung
    6 Zustandsregister
    7 Logische Partitions-ID
    8 Hypervisor-Beschleunigernutzungsaufzeichnungszeiger für reale Adresse (RA)
    9 Speicherdeskriptorregister (SDR)
  • Tabelle 2 zeigt beispielhafte Register, die durch ein Betriebssystem initialisiert werden können. Tabelle 2 - durch Betriebssystem initialisierte Register
    1 Prozess- und Thread-Identifikation
    2 Kontextsicherungs-/Wiederherstellungszeiger für effektive Adresse (EA)
    3 Beschleunigernutzungsaufzeichnungszeiger für virtuelle Adresse (VA)
    4 Speichersegmenttabellenzeiger für virtuelle Adresse (VA)
    5 Autoritätsmaske
    6 Arbeitsdeskriptor
  • In einer Ausführungsform ist jeder WD 3384 spezifisch für ein konkretes Grafikbeschleunigungsmodul 3346 und/oder eine konkrete Grafikverarbeitungs-Engine. Er enthält alle Informationen, die von einer Grafikverarbeitungs-Engine benötigt werden, um Arbeit zu erledigen, oder er kann ein Zeiger auf einen Speicherort sein, an dem eine Anwendung eine Befehlswarteschlange mit zu erledigender Arbeit eingerichtet hat.
  • 34A-34B veranschaulichen beispielhafte Grafikprozessoren gemäß mindestens einer Ausführungsform. In mindestens einer Ausführungsform kann ein beliebiger der beispielhaften Grafikprozessoren unter Verwendung eines oder mehrerer IP-Kerne hergestellt sein. Zusätzlich zu dem, was veranschaulicht ist, können andere Logiken und Schaltungen in mindestens einer Ausführungsform beinhaltet sein, was zusätzliche Grafikprozessoren/-kerne, Peripherieschnittstellensteuerungen oder Allzweck-Prozessorkerne beinhaltet. In mindestens einer Ausführungsform dienen die beispielhaften Grafikprozessoren zur Verwendung in einem SoC.
  • 34A veranschaulicht einen beispielhaften Grafikprozessor 3410 einer integrierten Schaltung eines SoC, die unter Verwendung eines oder mehrerer IP-Kerne gemäß mindestens einer Ausführungsform hergestellt sein kann. 34B veranschaulicht einen zusätzlichen beispielhaften Grafikprozessor 3440 einer integrierten Schaltung eines SoC, die unter Verwendung eines oder mehrerer IP-Kerne gemäß mindestens einer Ausführungsform hergestellt sein kann. In mindestens einer Ausführungsform ist der Grafikprozessor 3410 aus 34A ein Grafikprozessorkern mit niedriger Leistung. In mindestens einer Ausführungsform ist der Grafikprozessor 3440 aus 34B ein Grafikprozessorkern mit höherer Leistung. In mindestens einer Ausführungsform kann jeder der Grafikprozessoren 3410, 3440 eine Variante des Grafikprozessors 510 aus 5 sein.
  • In mindestens einer Ausführungsform beinhaltet der Grafikprozessor 3410 einen Vertex-Prozessor 3405 und einen oder mehrere Fragmentprozessoren 3415A-3415N (z. B. 3415A, 3415B, 3415C, 3415D bis 3415N-1 und 3415N). In mindestens einer Ausführungsform kann der Grafikprozessor 3410 unterschiedliche Shader-Programme über getrennte Logik ausführen, sodass der Vertex-Prozessor 3405 optimiert ist, um Operationen für Vertex-Shader-Programme auszuführen, während ein oder mehrere Fragmentprozessoren 3415A-3415N Shading-Operationen für Fragmente (z. B. Pixel) für Fragment- oder Pixel-Shader-Programme ausführen. In mindestens einer Ausführungsform führt der Vertex-Prozessor 3405 eine Vertex-Verarbeitungsstufe einer 3D-Grafikpipeline durch und erzeugt Primitiv- und Vertex-Daten. In mindestens einer Ausführungsform verwenden ein oder mehrere Fragmentprozessoren 3415A-3415N Primitiv- und Vertex-Daten, die durch den Vertex-Prozessor 3405 erzeugt werden, um einen Bildspeicher zu erzeugen, der auf einer Anzeigevorrichtung angezeigt wird. In mindestens einer Ausführungsform sind ein oder mehrere Fragmentprozessoren 3415A-3415N optimiert, um Fragment-Shader-Programme auszuführen, wie in einer OpenGL-API bereitgestellt, die verwendet werden können, um ähnliche Operationen wie ein Pixel-Shader-Programm durchzuführen, wie es in einer Direct 3D-API bereitgestellt ist.
  • In mindestens einer Ausführungsform beinhaltet der Grafikprozessor 3410 zusätzlich eine oder mehrere MMU(s) 3420A-3420B, Cache(s) 3425A-3425B und Schaltungszwischenverbindung(en) 3430A-3430B. In mindestens einer Ausführungsform stellen eine oder mehrere MMU(s) 3420A-3420B eine virtuell-physische Adressabbildung für den Grafikprozessor 3410 bereit, was für den Vertex-Prozessor 3405 und/oder Fragmentprozessor(en) 3415A-3415N beinhaltet, die sich auf Vertex- oder im Speicher gespeicherte Bild-/Texturdaten zusätzlich zu in einem oder mehreren Cache(s) 3425A-3425B gespeicherten Vertex- oder Bild-/Texturdaten beziehen. In mindestens einer Ausführungsform können eine oder mehrere MMU(s) 3420A-3420B mit anderen MMUs innerhalb des Systems synchronisiert werden, was beinhaltet, dass eine oder mehrere MMUs einem oder mehreren Anwendungsprozessoren 505, Bildprozessoren 515 und/oder Videoprozessoren 520 aus 5 zugeordnet sind, sodass jeder Prozessor 505-520 an einem gemeinsam genutzten oder vereinheitlichten virtuellen Speichersystem teilnehmen kann. In mindestens einer Ausführungsform ermöglichen eine oder mehrere Schaltungszwischenverbindungen 3430A-3430B dem Grafikprozessor 3410, mit anderen IP-Kernen innerhalb eines SoC Schnittstellen zu bilden, entweder über einen internen Bus eines SoC oder über eine direkte Verbindung.
  • In mindestens einer Ausführungsform beinhaltet der Grafikprozessor 3440 eine oder mehrere MMU(s) 3420A-3420B, Caches 3425A-3425B und Schaltungszwischenverbindungen 3430A-3430B des Grafikprozessors 3410 aus 34A. In mindestens einer Ausführungsform beinhaltet der Grafikprozessor 3440 einen oder mehrere Shader-Kerne 3455A-3455N (z. B. 3455A, 3455B, 3455C, 3455D, 3455E, 3455F bis 3455N-1 und 3455N), was eine vereinheitlichte Shader-Kernarchitektur bereitstellt, in der ein(e) einzelne(r) Kern oder Art oder Kern alle Arten von programmierbarem Shader-Code ausführen kann, was Shader-Programmcode beinhaltet, um Vertex-Shader, Fragment-Shader und/oder Compute-Shader zu implementieren. In mindestens einer Ausführungsform kann eine Anzahl von Shader-Kernen variieren. In mindestens einer Ausführungsform beinhaltet der Grafikprozessor 3440 einen Interkern-Taskmanager 3445, der als Thread-Dispatcher fungiert, um Ausführungs-Threads an einen oder mehrere Shader-Kerne 3455A-3455N abzusenden, und eine Kachelungseinheit 3458, um Kachelungsoperationen für kachelbasiertes Rendering zu beschleunigen, bei dem Rendering-Operationen für eine Szene im Bildraum unterteilt werden, um in mindestens einer Ausführungsform lokale räumliche Kohärenz innerhalb einer Szene auszunutzen oder um die Nutzung interner Caches zu optimieren.
  • 35A veranschaulicht einen Grafikkern 3500 gemäß mindestens einer Ausführungsform. In mindestens einer Ausführungsform kann der Grafikkern 3500 in dem Grafikprozessor 2410 aus 24 beinhaltet sein. In mindestens einer Ausführungsform kann der Grafikkern 3500 ein vereinheitlichter Shader-Kern 3455A-3455N wie in 34B sein. In mindestens einer Ausführungsform beinhaltet der Grafikkern 3500 einen gemeinsam genutzten Anweisungscache 3502, eine Textureinheit 3518 und einen Cache/gemeinsam genutzten Speicher 3520, die Ausführungsressourcen innerhalb des Grafikkerns 3500 gemein sind. In mindestens einer Ausführungsform kann der Grafikkern 3500 mehrere Slices 3501A-3501N oder eine Partition für jeden Kern beinhalten, und ein Grafikprozessor kann mehrere Instanzen des Grafikkerns 3500 beinhalten. Die Slices 3501A-3501N können eine Unterstützungslogik beinhalten, die einen lokalen Anweisungscache 3504A-3504N, einen Thread-Scheduler 3506A-3506N, einen Thread-Dispatcher 3508A-3508N und einen Satz von Registern 3510A-3510N beinhaltet. In mindestens einer Ausführungsform können die Slices 3501A-3501N einen Satz zusätzlicher Funktionseinheiten (additional function units - „AFUs“) 3512A-3512N, Gleitkommaeinheiten (floating-point units - „FPUs“) 3514A-3514N, ganzzahlige arithmetischlogische Einheiten („ALUs“) 3516-3516N, Adressberechnungseinheiten (address computational unit - „ACUs“) 3513A-3513N, Gleitkommaeinheiten mit doppelter Genauigkeit (doubleprecision floating-point unit - „DPFPUs“) 3515A-3515N und Matrixverarbeitungseinheiten (matrix processing unit - „MPUs“) 3517A-3517N beinhalten.
  • In mindestens einer Ausführungsform können die FPUs 3514A-3514N Gleitkommaoperationen mit einfacher Genauigkeit (32 Bit) und mit halber Genauigkeit (16 Bit) durchführen, während die DPFPUs 3515A-3515N Gleitkommaoperationen mit doppelter Genauigkeit (64 Bit) durchführen. In mindestens einer Ausführungsform können die ALUs 3516A-3516N ganzzahlige Operationen mit variabler Präzision mit einer Genauigkeit von 8 Bit, 16 Bit und 32 Bit durchführen und können für Operationen mit gemischter Präzision konfiguriert sein. In mindestens einer Ausführungsform können die MPUs 3517A-3517N auch für Matrixoperationen mit gemischter Genauigkeit konfiguriert sein, die Gleitkomma- und 8-Bit-Ganzzahloperationen mit halber Genauigkeit beinhalten. In mindestens einer Ausführungsform können die MPUs 3517-3517N eine Reihe von Matrixoperationen durchführen, um CUDA-Programme zu beschleunigen, was die Ermöglichung von Unterstützung für beschleunigte allgemeine Matrix-zu-Matrix-Multiplikation (general matrix to matrix multiplication - „GEMM“) beinhaltet. In mindestens einer Ausführungsform können die AFUs 3512A-3512N zusätzliche logische Operationen ausführen, die nicht durch Gleitkomma- oder Ganzzahleinheiten unterstützt werden, einschließlich trigonometrischer Operationen (z. B. Sinus, Cosinus usw.).
  • 35B veranschaulicht eine Allzweck-Grafikverarbeitungseinheit (general-purpose graphics processing unit - „GPGPU“) 3530 gemäß mindestens einer Ausführungsform. In mindestens einer Ausführungsform ist die GPGPU 3530 hochparallel und für den Einsatz auf einem Multi-Chip-Modul geeignet. In mindestens einer Ausführungsform kann die GPGPU 3530 konfiguriert sein, um die Durchführung hochparalleler Rechenoperationen durch ein Array von GPUs zu ermöglichen. In mindestens einer Ausführungsform kann die GPGPU 3530 direkt mit anderen Instanzen der GPGPU 3530 verbunden sein, um einen Multi-GPU-Cluster zu schaffen, um die Ausführungszeit für CUDA-Programme zu verbessern. In mindestens einer Ausführungsform beinhaltet die GPGPU 3530 eine Host-Schnittstelle 3532, um eine Verbindung mit einem Host-Prozessor zu ermöglichen. In mindestens einer Ausführungsform ist die Host-Schnittstelle 3532 eine PCIe-Schnittstelle. In mindestens einer Ausführungsform kann die Host-Schnittstelle 3532 eine herstellerspezifische Kommunikationsschnittstelle oder Kommunikationsstruktur sein. In mindestens einer Ausführungsform empfängt die GPGPU 3530 Befehle von einem Host-Prozessor und verwendet einen globalen Scheduler 3534, um Ausführungs-Threads, die diesen Befehlen zugeordnet sind, an einen Satz von Rechenclustern 3536A-3536H zu verteilen. In mindestens einer Ausführungsform nutzen die Rechencluster 3536A-3536H einen Cache-Speicher 3538 gemeinsam. In mindestens einer Ausführungsform kann der Cache-Speicher 3538 als ein Cache höherer Ebene für Cache-Speicher innerhalb der Rechencluster 3536A-3536H dienen.
  • In mindestens einer Ausführungsform beinhaltet die GPGPU 3530 Speicher 3544A-3544B, der über einen Satz von Speichersteuerungen 3542A-3542B mit den Rechenclustern 3536A-3536H gekoppelt ist. In mindestens einer Ausführungsform kann der Speicher 3544A-3544B verschiedene Arten von Speichervorrichtungen beinhalten, die DRAM oder Grafik-Direktzugriffsspeicher, wie etwa synchronen Grafik-Direktzugriffsspeicher („SGRAM“) beinhalten, der Speicher mit Grafik-Doppeldatenraten („GDDR“) beinhaltet.
  • In mindestens einer Ausführungsform beinhalten die Rechencluster 3536A-3536H jeweils einen Satz von Grafikkernen, wie etwa den Grafikkern 3500 aus 35A, der mehrere Arten von Ganzzahl- und Gleitkomma-Logikeinheiten beinhalten kann, die Berechnungsoperationen mit einer Reihe von Genauigkeiten durchführen können, die für Berechnungen in Verbindung mit CUDA-Programmen geeignete beinhalten. Zum Beispiel kann in mindestens einer Ausführungsform mindestens eine Teilmenge von Gleitkommaeinheiten in jedem der Rechencluster 3536A-3536H konfiguriert sein, um 16-Bit- oder 32-Bit-Gleitkommaoperationen durchzuführen, während eine andere Teilmenge von Gleitkommaeinheiten konfiguriert sein kann, um 64-Bit-Gleitkommaoperationen durchzuführen.
  • In mindestens einer Ausführungsform können mehrere Instanzen der GPGPU 3530 konfiguriert sein, um als ein Rechencluster betrieben zu werden. In mindestens einer Ausführungsform können die Rechencluster 3536A-3536H alle technisch machbaren Kommunikationstechniken für die Synchronisation und den Datenaustausch implementieren. In mindestens einer Ausführungsform kommunizieren mehrere Instanzen der GPGPU 3530 über die Host-Schnittstelle 3532. In mindestens einer Ausführungsform beinhaltet die GPGPU 3530 einen E/A-Hub 3539, der die GPGPU 3530 mit einer GPU-Verbindung 3540 koppelt, die eine direkte Verbindung zu anderen Instanzen der GPGPU 3530 ermöglicht. In mindestens einer Ausführungsform ist die GPU-Verbindung 3540 an eine dedizierte GPU-zu-GPU-Brücke gekoppelt, die die Kommunikation und Synchronisation zwischen mehreren Instanzen der GPGPU 3530 ermöglicht. In mindestens einer Ausführungsform ist die GPU-Verbindung 3540 mit einer Hochgeschwindigkeitszwischenverbindung gekoppelt, um Daten an andere GPGPU 3530 oder Parallelprozessoren zu übertragen und von diesen zu empfangen. In mindestens einer Ausführungsform befinden sich mehrere Instanzen der GPGPU 3530 in getrennten Datenverarbeitungssystemen und kommunizieren über eine Netzwerkvorrichtung, auf die über die Host-Schnittstelle 3532 zugegriffen werden kann. In mindestens einer Ausführungsform kann die GPU-Verbindung 3540 konfiguriert sein, um eine Verbindung zu einem Host-Prozessor zusätzlich zu oder als Alternative zu der Host-Schnittstelle 3532 zu ermöglichen. In mindestens einer Ausführungsform kann die GPGPU 3530 konfiguriert sein, um ein CUDA-Programm auszuführen.
  • 36A veranschaulicht einen Parallelprozessor 3600 gemäß mindestens einer Ausführungsform. In mindestens einer Ausführungsform können verschiedene Komponenten des Parallelprozessors 3600 unter Verwendung einer oder mehrerer integrierten Schaltungsvorrichtungen implementiert sein, wie etwa programmierbare Prozessoren, anwendungsspezifische integrierte Schaltungen („ASICs“) oder feldprogrammierbare Gatearrays (FPGAs).
  • In mindestens einer Ausführungsform beinhaltet der Parallelprozessor 3600 eine Parallelverarbeitungseinheit 3602. In mindestens einer Ausführungsform beinhaltet die Parallelverarbeitungseinheit 3602 eine E/A-Einheit 3604, die die Kommunikation mit anderen Vorrichtungen ermöglicht, was andere Instanzen der Parallelverarbeitungseinheit 3602 beinhaltet. In mindestens einer Ausführungsform kann die E/A-Einheit 3604 direkt mit anderen Vorrichtungen verbunden sein. In mindestens einer Ausführungsform verbindet sich die E/A-Einheit 3604 mit anderen Vorrichtungen über die Verwendung einer Hub- oder Switch-Schnittstelle, wie etwa dem Speicher-Hub 605. In mindestens einer Ausführungsform bilden Verbindungen zwischen dem Speicher-Hub 605 und der E/A-Einheit 3604 eine Kommunikationsverbindung. In mindestens einer Ausführungsform ist die E/A-Einheit 3604 mit einer Host-Schnittstelle 3606 und einer Speicher-Crossbar 3616 verbunden, wobei die Host-Schnittstelle 3606 Befehle empfängt, die auf das Durchführen von Verarbeitungsoperationen gerichtet sind, und die Speicher-Crossbar 3616 Befehle empfängt, die auf das Durchführen von Speicheroperationen gerichtet sind.
  • In mindestens einer Ausführungsform kann die Host-Schnittstelle 3606, wenn die Host-Schnittstelle 3606 einen Befehlspuffer über die E/A-Einheit 3604 empfängt, Arbeitsoperationen anweisen, um diese Befehle an einem Frontend 3608 auszuführen. In mindestens einer Ausführungsform ist das Frontend 3608 mit einem Scheduler 3610 gekoppelt, der dazu konfiguriert ist, Befehle oder andere Arbeitselemente an ein Verarbeitungsarray 3612 zu verteilen. In mindestens einer Ausführungsform stellt der Scheduler 3610 sicher, dass das Verarbeitungsarray 3612 richtig konfiguriert ist und sich in einem gültigen Zustand befindet, bevor Tasks an das Verarbeitungsarray 3612 verteilt werden. In mindestens einer Ausführungsform ist der Scheduler 3610 über eine Firmware-Logik implementiert, die auf einer Mikrosteuerung ausgeführt wird. In mindestens einer Ausführungsform ist der durch eine Mikrosteuerung implementierte Scheduler 3610 konfigurierbar, um komplexe Planungs- und Arbeitsverteilungsoperationen mit grober und feiner Granularität durchzuführen, was eine schnelle Vorbelegung und Kontextumschaltung von Threads ermöglicht, die auf dem Verarbeitungsarray 3612 ausgeführt werden. In mindestens einer Ausführungsform kann die Host-Software Arbeitslasten zum Planen auf dem Verarbeitungsarray 3612 über eine von mehreren Doorbells für die Grafikverarbeitung nachweisen. In mindestens einer Ausführungsform können Arbeitslasten dann durch die Logik des Schedulers 3610 innerhalb einer Mikrosteuerung, die den Scheduler 3610 beinhaltet, automatisch über das Verarbeitungsarray 3612 verteilt werden.
  • In mindestens einer Ausführungsform kann das Verarbeitungsarray 3612 bis zu „N“ Cluster beinhalten (z. B. Cluster 3614A, Cluster 3614B bis Cluster 3614N). In mindestens einer Ausführungsform kann jeder Cluster 3614A-3614N des Verarbeitungsarrays 3612 eine große Anzahl gleichzeitiger Threads ausführen. In mindestens einer Ausführungsform kann der Scheduler 3610 den Clustern 3614A-3614N des Verarbeitungsarrays 3612 unter Verwendung verschiedener Planungs- und/oder Arbeitsverteilungsalgorithmen Arbeit zuweisen, die abhängig von der für jede Art von Programm oder Berechnung entstehenden Arbeitslasten variieren können. In mindestens einer Ausführungsform kann die Planung dynamisch durch den Scheduler 3610 gehandhabt werden oder kann teilweise durch die Compilerlogik während der Kompilierung der Programmlogik unterstützt werden, die für die Ausführung durch das Verarbeitungsarray 3612 konfiguriert ist. In mindestens einer Ausführungsform können unterschiedliche Cluster 3614A-3614N des Verarbeitungsarrays 3612 zum Verarbeiten unterschiedlicher Arten von Programmen oder zum Durchführen unterschiedlicher Arten von Berechnungen zugewiesen werden.
  • In mindestens einer Ausführungsform kann das Verarbeitungsarray 3612 konfiguriert sein, um verschiedene Arten von Parallelverarbeitungsoperationen durchzuführen. In mindestens einer Ausführungsform ist das Verarbeitungsarray 3612 konfiguriert, um Allzweck-Parallelrechenoperationen durchzuführen. In mindestens einer Ausführungsform kann das Verarbeitungsarray 3612 Logik zum Ausführen von Verarbeitungstasks beinhalten, was das Filtern von Video- und/oder Audiodaten, das Durchführen von Modellierungsoperationen, einschließlich Physikoperationen, und das Durchführen von Datentransformationen beinhaltet.
  • In mindestens einer Ausführungsform ist das Verarbeitungsarray 3612 konfiguriert, um parallele Grafikverarbeitungsoperationen durchzuführen. In mindestens einer Ausführungsform kann das Verarbeitungsarray 3612 zusätzliche Logik beinhalten, um die Ausführung derartiger Grafikverarbeitungsoperationen zu unterstützen, was Texturabtastlogik, um Texturoperationen durchzuführen, sowie Tessellationslogik und andere Vertexverarbeitungslogik beinhaltet, ohne darauf beschränkt zu sein. In mindestens einer Ausführungsform kann das Verarbeitungsarray 3612 konfiguriert sein, um grafikverarbeitungsbezogene Shader-Programme auszuführen, wie etwa Vertex-Shader, Tessellation-Shader, Geometrie-Shader und Pixel-Shader, ohne darauf beschränkt zu sein. In mindestens einer Ausführungsform kann die Parallelverarbeitungseinheit 3602 Daten vom Systemspeicher zur Verarbeitung über die E/A-Einheit 3604 übertragen. In mindestens einer Ausführungsform können während der Verarbeitung übertragene Daten während der Verarbeitung im On-Chip-Speicher (z. B. Parallelprozessorspeicher 3622) gespeichert und dann in den Systemspeicher zurückgeschrieben werden.
  • In mindestens einer Ausführungsform kann, wenn die Parallelverarbeitungseinheit 3602 verwendet wird, um eine Grafikverarbeitung durchzuführen, der Scheduler 3610 konfiguriert sein, um eine Verarbeitungsarbeitslast in ungefähr gleich große Tasks aufzuteilen, um eine bessere Verteilung von Grafikverarbeitungsoperationen auf mehrere Cluster 3614A-3614N des Verarbeitungsarrays 3612 zu ermöglichen. In mindestens einer Ausführungsform können Teile des Verarbeitungsarrays 3612 konfiguriert sein, um unterschiedliche Verarbeitungsarten durchzuführen. In mindestens einer Ausführungsform kann ein erster Teil konfiguriert sein, um Vertex-Shading und Topologieerzeugung durchzuführen, kann ein zweiter Teil konfiguriert sein, um Tessellation und Geometrie-Shading durchzuführen, und kann ein dritter Teil konfiguriert sein, um Pixel-Shading oder andere Bildschirmraumoperationen durchzuführen, um ein gerendertes Bild zur Anzeige zu erzeugen. In mindestens einer Ausführungsform können Zwischendaten, die durch einen oder mehrere der Cluster 3614A-3614N erzeugt werden, in Puffern gespeichert werden, um zu ermöglichen, dass Zwischendaten zwischen den Clustern 3614A-3614N zur weiteren Verarbeitung übertragen werden.
  • In mindestens einer Ausführungsform kann das Verarbeitungsarray 3612 auszuführende Verarbeitungstasks über den Scheduler 3610 empfangen, der Verarbeitungstasks definierende Befehle vom Frontend 3608 empfängt. In mindestens einer Ausführungsform können Verarbeitungstasks Indizes von zu verarbeitenden Daten beinhalten, z. B. Oberflächen-(Patch-)Daten, Primitivdaten, Vertex-Daten und/oder Pixeldaten sowie Zustandsparameter und Befehle, die definieren, wie Daten verarbeitet werden sollen (z. B. welches Programm ausgeführt werden soll). In mindestens einer Ausführungsform kann der Scheduler 3610 konfiguriert sein, um Indizes abzurufen, die Tasks entsprechen, oder kann Indizes von dem Frontend 3608 empfangen. In mindestens einer Ausführungsform kann das Frontend 3608 konfiguriert sein, um sicherzustellen, dass das Verarbeitungsarray 3612 in einen gültigen Zustand konfiguriert ist, bevor eine durch eingehende Befehlspuffer (z. B. Stapelpuffer, Push-Puffer usw.) spezifizierte Arbeitslast initiiert wird.
  • In mindestens einer Ausführungsform kann jede von einer oder mehreren Instanzen der Parallelverarbeitungseinheit 3602 mit dem Parallelprozessorspeicher 3622 gekoppelt sein. In mindestens einer Ausführungsform kann auf den Parallelprozessorspeicher 3622 über die Speicher-Crossbar 3616 zugegriffen werden, die Speicheranforderungen von dem Verarbeitungsarray 3612 sowie der E/A-Einheit 3604 empfangen kann. In mindestens einer Ausführungsform kann die Speicher-Crossbar 3616 über eine Speicherschnittstelle 3618 auf den Parallelprozessorspeicher 3622 zugreifen. In mindestens einer Ausführungsform kann die Speicherschnittstelle 3618 mehrere Partitionseinheiten (z. B. Partitionseinheit 3620A, Partitionseinheit 3620B bis Partitionseinheit 3620N) beinhalten, die jeweils an einen Teil (z. B. Speichereinheit) des Parallelprozessorspeichers 3622 koppeln können. In mindestens einer Ausführungsform ist eine Anzahl von Partitionseinheiten 3620A-3620N konfiguriert, um gleich einer Anzahl von Speichereinheiten zu sein, sodass eine erste Partitionseinheit 3620A eine entsprechende erste Speichereinheit 3624A aufweist, eine zweite Partitionseinheit 3620B eine entsprechende Speichereinheit 3624B aufweist und eine N-te Partitionseinheit 3620N eine entsprechende N-te Speichereinheit 3624N aufweist. In mindestens einer Ausführungsform ist eine Anzahl von Partitionseinheiten 3620A-3620N möglicherweise nicht gleich einer Anzahl von Speichervorrichtungen.
  • In mindestens einer Ausführungsform können die Speichereinheiten 3624A-3624N verschiedene Arten von Speichervorrichtungen beinhalten, die DRAM oder Grafik-Direktzugriffsspeicher, wie etwa SGRAM beinhalten, der GDDR-Speicher beinhaltet. In mindestens einer Ausführungsform können die Speichereinheiten 3624A-3624N auch 3D-Stapelspeicher beinhalten, was Speicher mit hoher Bandbreite (high bandwidth memory - „HBM“) beinhaltet, ohne darauf beschränkt zu sein. In mindestens einer Ausführungsform können Renderziele, wie etwa Bildspeicher oder Texturkarten, über die Speichereinheiten 3624A-3624N gespeichert sein, was es den Partitionseinheiten 3620A-3620N ermöglicht, Teile jedes Renderziels parallel zu schreiben, um die verfügbare Bandbreite des Parallelprozessorspeichers 3622 effizient zu nutzen. In mindestens einer Ausführungsform kann eine lokale Instanz des Parallelprozessorspeichers 3622 zugunsten eines einheitlichen Speicherdesigns ausgeschlossen werden, das Systemspeicher in Verbindung mit lokalem Cache-Speicher nutzt.
  • In mindestens einer Ausführungsform kann jeder der Cluster 3614A-3614N des Verarbeitungsarrays 3612 Daten verarbeiten, die in eine der Speichereinheiten 3624A-3624N innerhalb des Parallelprozessorspeichers 3622 geschrieben werden. In mindestens einer Ausführungsform kann die Speicher-Crossbar 3616 konfiguriert sein, um eine Ausgabe jedes Clusters 3614A-3614N an eine beliebige Partitionseinheit 3620A-3620N oder an einen anderen Cluster 3614A-3614N zu übertragen, die zusätzliche Verarbeitungsoperationen an einer Ausgabe durchführen können. In mindestens einer Ausführungsform kann jeder Cluster 3614A-3614N mit der Speicherschnittstelle 3618 über die Speicher-Crossbar 3616 kommunizieren, um von verschiedenen externen Speichervorrichtungen zu lesen oder in sie zu schreiben. In mindestens einer Ausführungsform weist die Speicher-Crossbar 3616 eine Verbindung zur Speicherschnittstelle 3618, um mit der E/A-Einheit 3604 zu kommunizieren, sowie eine Verbindung zu einer lokalen Instanz des Parallelprozessorspeichers 3622 auf, wodurch Verarbeitungseinheiten innerhalb unterschiedlicher Cluster 3614A-3614N ermöglicht wird, mit dem Systemspeicher oder einem anderen Speicher zu kommunizieren, der nicht lokal an der Parallelverarbeitungseinheit 3602 ist. In mindestens einer Ausführungsform kann die Speicher-Crossbar 3616 virtuelle Kanäle verwenden, um Datenverkehrsströme zwischen den Clustern 3614A-3614N und den Partitionseinheiten 3620A-3620N zu trennen.
  • In mindestens einer Ausführungsform können mehrere Instanzen der Parallelverarbeitungseinheit 3602 auf einer einzelnen Erweiterungskarte bereitgestellt sein oder mehrere Erweiterungskarten zusammengeschaltet sein. In mindestens einer Ausführungsform können unterschiedliche Instanzen der Parallelverarbeitungseinheit 3602 konfiguriert sein, um zusammenzuarbeiten, selbst wenn unterschiedliche Instanzen unterschiedliche Anzahlen von Verarbeitungskernen, unterschiedliche Mengen an lokalem Parallelprozessorspeicher und/oder andere Konfigurationsunterschiede aufweisen. In mindestens einer Ausführungsform können einige Instanzen der Parallelverarbeitungseinheit 3602 Gleitkommaeinheiten mit höherer Genauigkeit im Vergleich zu anderen Instanzen beinhalten. In mindestens einer Ausführungsform können Systeme, die eine oder mehrere Instanzen der Parallelverarbeitungseinheit 3602 oder des Parallelprozessors 3600 einschließen, in einer Reihe von Konfigurationen und Formfaktoren implementiert sein, was Desktop-, Laptop- oder Handheld-Personalcomputer, Server, Workstations, Spielekonsolen und/oder eingebettete Systeme beinhaltet, ohne darauf beschränkt zu sein.
  • 36B veranschaulicht einen Verarbeitungs-Cluster 3694 gemäß mindestens einer Ausführungsform. In mindestens einer Ausführungsform ist der Verarbeitungs-Cluster 3694 in einer Parallelverarbeitungseinheit beinhaltet. In mindestens einer Ausführungsform ist der Verarbeitungs-Cluster 3694 einer der Verarbeitungs-Cluster 3614A-3614N aus 36. In mindestens einer Ausführungsform kann der Verarbeitungs-Cluster 3694 konfiguriert sein, um viele Threads parallel auszuführen, wobei sich „Thread“ auf eine Instanz eines konkreten Programms bezieht, das mit einem konkreten Satz von Eingabedaten ausgeführt wird. In mindestens einer Ausführungsform werden Einzelanweisung-Mehrfachdaten (single-instruction, multiple-data - „SIMD“)-Anweisungsausgabetechniken verwendet, um die parallele Ausführung einer großen Anzahl von Threads zu unterstützen, ohne mehrere unabhängige Anweisungseinheiten bereitzustellen. In mindestens einer Ausführungsform werden Einzelanweisung-Mehrfachthread-(„SIMT“)-Techniken verwendet, um die parallele Ausführung einer großen Anzahl von im Allgemeinen synchronisierten Threads zu unterstützen, die eine gemeinsame Anweisungseinheit verwenden, die dazu konfiguriert ist, Anweisungen an einen Satz von Verarbeitungs-Engines innerhalb jedes Verarbeitungs-Clusters 3694 auszugeben.
  • In mindestens einer Ausführungsform kann der Betrieb des Verarbeitungs-Clusters 3694 über einen Pipeline-Manager 3632 gesteuert werden, der Verarbeitungstasks an SIMT-Parallelprozessoren verteilt. In mindestens einer Ausführungsform empfängt der Pipeline-Manager 3632 Anweisungen von dem Scheduler 3610 aus 36 und verwaltet die Ausführung dieser Anweisungen über einen Grafikmultiprozessor 3634 und/oder eine Textureinheit 3636. In mindestens einer Ausführungsform ist der Grafikmultiprozessor 3634 eine beispielhafte Instanz eines SIMT-Parallelprozessors. In mindestens einer Ausführungsform können jedoch verschiedene Arten von SIMT-Parallelprozessoren unterschiedlicher Architekturen innerhalb des Verarbeitungs-Clusters 3694 beinhaltet sein. In mindestens einer Ausführungsform können eine oder mehrere Instanzen des Grafikmultiprozessors 3634 innerhalb des Verarbeitungs-Clusters 3694 beinhaltet sein. In mindestens einer Ausführungsform kann der Grafikmultiprozessor 3634 Daten verarbeiten und kann eine Daten-Crossbar 3640 verwendet werden, um verarbeitete Daten an eines von mehreren möglichen Zielen zu verteilen, was andere Shader-Einheiten beinhaltet. In mindestens einer Ausführungsform kann der Pipeline-Manager 3632 die Verteilung verarbeiteter Daten durch das Festlegen der Ziele für zu verteilende verarbeitete Daten über die Daten-Crossbar 3640 ermöglichen.
  • In mindestens einer Ausführungsform kann jeder Grafikmultiprozessor 3634 innerhalb des Verarbeitungs-Clusters 3694 einen identischen Satz von Funktionsausführungslogik (z. B. arithmetische Logikeinheiten, Lade-Speicher-Einheiten („LSUs“) usw.) beinhalten. In mindestens einer Ausführungsform kann eine Funktionsausführungslogik in einer Pipeline-Weise konfiguriert sein, in der neue Anweisungen ausgegeben werden können, bevor vorherige Anweisungen abgeschlossen sind. In mindestens einer Ausführungsform unterstützt die Funktionsausführungslogik eine Vielfalt von Operationen, einschließlich Integer- und Gleitkommaarithmetik, Vergleichsoperationen, Boolescher Operationen, Bitverschiebung und Berechnung verschiedener algebraischer Funktionen. In mindestens einer Ausführungsform kann dieselbe Hardware der Funktionseinheit eingesetzt werden, um unterschiedliche Operationen durchzuführen, und es kann eine beliebige Kombination von Funktionseinheiten vorhanden sein.
  • In mindestens einer Ausführungsform bilden Anweisungen, die an den Verarbeitungs-Cluster 3694 übertragen werden, einen Thread. In mindestens einer Ausführungsform ist ein Satz von Threads, die über einen Satz von Parallelverarbeitungs-Engines ausgeführt werden, eine Thread-Gruppe. In mindestens einer Ausführungsform führt eine Thread-Gruppe ein Programm mit unterschiedlichen Eingabedaten aus. In mindestens einer Ausführungsform kann jeder Thread innerhalb einer Thread-Gruppe einer anderen Verarbeitungs-Engine innerhalb des Grafikmultiprozessors 3634 zugewiesen sein. In mindestens einer Ausführungsform kann eine Thread-Gruppe weniger Threads als eine Anzahl von Verarbeitungs-Engines innerhalb des Grafikmultiprozessors 3634 beinhalten. In mindestens einer Ausführungsform können, wenn eine Thread-Gruppe weniger Threads als eine Anzahl von Verarbeitungs-Engines beinhaltet, eine oder mehrere Verarbeitungs-Engines während Zyklen, in denen diese Thread-Gruppe verarbeitet wird, im Leerlauf sein. In mindestens einer Ausführungsform kann eine Thread-Gruppe außerdem mehr Threads als eine Anzahl von Verarbeitungs-Engines innerhalb des Grafikmultiprozessors 3634 beinhalten. In mindestens einer Ausführungsform kann die Verarbeitung, wenn eine Thread-Gruppe mehr Threads als Verarbeitungs-Engines innerhalb des Grafikmultiprozessors 3634 beinhaltet, über aufeinanderfolgende Taktzyklen durchgeführt werden. In mindestens einer Ausführungsform können mehrere Thread-Gruppen gleichzeitig auf dem Grafikmultiprozessor 3634 ausgeführt werden.
  • In mindestens einer Ausführungsform beinhaltet der Grafikmultiprozessor 3634 einen internen Cache-Speicher, um Lade- und Speicheroperationen durchzuführen. In mindestens einer Ausführungsform kann der Grafikmultiprozessor 3634 auf einen internen Cache verzichten und einen Cache-Speicher (z. B. L1-Cache 3648) innerhalb des Verarbeitungs-Clusters 3694 verwenden. In mindestens einer Ausführungsform hat jeder Grafikmultiprozessor 3634 auch Zugriff auf Ebene-2-Caches („L2“) innerhalb von Partitionseinheiten (z. B. die Partitionseinheiten 3620A-3620N aus 36A), die von allen Verarbeitungs-Clustern 3694 gemeinsam genutzt werden, und kann verwendet werden, um Daten zwischen Threads zu übertragen. In mindestens einer Ausführungsform kann der Grafikmultiprozessor 3634 auch auf den chipexternen globalen Speicher zugreifen, der einen oder mehrere von dem lokalen Parallelprozessorspeicher und/oder dem Systemspeicher beinhalten kann. In mindestens einer Ausführungsform kann jeder beliebige Speicher außerhalb der Parallelverarbeitungseinheit 3602 als globaler Speicher verwendet werden. In mindestens einer Ausführungsform beinhaltet der Verarbeitungs-Cluster 3694 mehrere Instanzen des Grafikmultiprozessors 3634, der gemeinsame Anweisungen und Daten gemeinsam nutzen kann, die im L1-Cache 3648 gespeichert sein können.
  • In mindestens einer Ausführungsform kann jeder Verarbeitungs-Cluster 3694 eine MMU 3645 beinhalten, die dazu konfiguriert ist, virtuelle Adressen in physische Adressen abzubilden. In mindestens einer Ausführungsform können sich eine oder mehrere Instanzen der MMU 3645 innerhalb der Speicherschnittstelle 3618 aus 36 befinden. In mindestens einer Ausführungsform beinhaltet die MMU 3645 einen Satz von Seitentabelleneinträgen (page table entries - PTE), die verwendet werden, um eine virtuelle Adresse auf eine physische Adresse einer Kachel und optional einem Cachezeilenindex abzubilden. In mindestens einer Ausführungsform kann die MMU 3645 Adressübersetzungspuffer (translation lookaside buffer - „TLB“) oder Caches beinhalten, die sich innerhalb des Grafikmultiprozessors 3634 oder des L1-Cache 3648 oder des Verarbeitungs-Clusters 3694 befinden können. In mindestens einer Ausführungsform wird die physische Adresse verarbeitet, um den Oberflächendatenzugriffsstandort zu verteilen, um eine effiziente Anforderungsverschachtelung zwischen Partitionseinheiten zu ermöglichen. In mindestens einer Ausführungsform kann der Cachezeilenindex verwendet werden, um zu bestimmen, ob eine Anforderung nach einer Cachezeile ein Treffer oder ein Fehler ist.
  • In mindestens einer Ausführungsform kann der Verarbeitungs-Cluster 3694 konfiguriert sein, sodass jeder Grafikmultiprozessor 3634 an eine Textureinheit 3636 zum Durchführen von Texturabbildungsoperationen gekoppelt ist, z. B. zum Bestimmen von Texturabtastpositionen, Lesen von Texturdaten und Filtern von Texturdaten. In mindestens einer Ausführungsform werden Texturdaten aus einem internen Textur-L1-Cache (nicht dargestellt) oder aus einem L1-Cache innerhalb des Grafikmultiprozessors 3634 gelesen und nach Bedarf aus einem L2-Cache, einem lokalen Parallelprozessorspeicher oder dem Systemspeicher abgerufen. In mindestens einer Ausführungsform gibt jeder Grafikmultiprozessor 3634 verarbeitete Tasks an die Daten-Crossbar 3640 aus, um verarbeitete Aufgaben einem anderen Verarbeitungs-Cluster 3694 zur weiteren Verarbeitung bereitzustellen oder eine verarbeitete Task über die Speicher-Crossbar 3616 in einem L2-Cache, einem lokalen Parallelprozessorspeicher oder einem Systemspeicher zu speichern. In mindestens einer Ausführungsform ist eine Vorrasteroperationseinheit (pre-raster operations unit - „preROP“) 3642 konfiguriert, um Daten von dem Grafikmultiprozessor 3634 zu empfangen, um Daten an ROP-Einheiten zu leiten, die sich bei Partitionseinheiten befinden können, wie hierin beschrieben (z. B. die Partitionseinheiten 3620A-3620N aus 36). In mindestens einer Ausführungsform kann die PreROP 3642 Optimierungen für die Farbmischung durchführen, Pixelfarbdaten organisieren und Adressübersetzungen durchführen.
  • 36C veranschaulicht einen Grafikmultiprozessor 3696 gemäß mindestens einer Ausführungsform. In mindestens einer Ausführungsform ist der Grafikmultiprozessor 3696 der Grafikmultiprozessor 3634 aus 36B. In mindestens einer Ausführungsform ist der Grafikmultiprozessor 3696 mit dem Pipeline-Manager 3632 des Verarbeitungs-Clusters 3694 gekoppelt. In mindestens einer Ausführungsform weist der Grafikmultiprozessor 3696 eine Ausführungs-Pipeline auf, die einen Anweisungscache 3652, eine Anweisungseinheit 3654, eine Adressenabbildungseinheit 3656, eine Registerdatei 3658, eine oder mehrere GPGPU-Kerne 3662 und eine oder mehrere LSU 3666 beinhaltet, ohne darauf beschränkt zu sein. Die GPGPU-Kerne 3662 und LSU 3666 sind mit dem Cache-Speicher 3672 und dem gemeinsam genutzten Speicher 3670 über eine Speicher- und Cache-Zwischenverbindung 3668 gekoppelt.
  • In mindestens einer Ausführungsform empfängt der Anweisungscache 3652 einen Strom von Anweisungen zur Ausführung vom Pipeline-Manager 3632. In mindestens einer Ausführungsform werden Anweisungen im Anweisungscache 3652 zwischengespeichert und zur Ausführung durch die Anweisungseinheit 3654 abgesendet. In mindestens einer Ausführungsform kann die Anweisungseinheit 3654 Anweisungen als Thread-Gruppen (z. B. Warps) absenden, wobei jeder Thread einer Thread-Gruppe einer anderen Ausführungseinheit innerhalb des GPGPU-Kerns 3662 zugewiesen ist. In mindestens einer Ausführungsform kann eine Anweisung durch das Festlegen einer Adresse innerhalb eines vereinheitlichten Adressbereichs auf einen lokalen, gemeinsam genutzten oder globalen Adressbereich zugreifen. In mindestens einer Ausführungsform kann die Adressenabbildungseinheit 3656 verwendet werden, um Adressen in einem vereinheitlichten Adressbereich in eine eindeutige Speicheradresse zu übersetzen, auf die durch die LSUs 3666 zugegriffen werden kann.
  • In mindestens einer Ausführungsform stellt die Registerdatei 3658 einen Satz von Registern für die Funktionseinheiten des Grafikmultiprozessors 3696 bereit. In mindestens einer Ausführungsform stellt die Registerdatei 3658 einen temporären Speicher für Operanden bereit, die mit Datenpfaden von Funktionseinheiten (z. B. GPGPU-Kernen 3662, LSUs 3666) des Grafikmultiprozessors 3696 verbunden sind. In mindestens einer Ausführungsform wird die Registerdatei 3658 zwischen jeder Funktionseinheit aufgeteilt, sodass jeder Funktionseinheit ein dedizierter Teil der Registerdatei 3658 zugewiesen wird. In mindestens einer Ausführungsform ist die Registerdatei 3658 auf unterschiedliche Thread-Gruppen aufgeteilt, die durch den Grafikmultiprozessor 3696 ausgeführt werden.
  • In mindestens einer Ausführungsform können die GPGPU-Kerne 3662 jeweils FPUs und/oder Ganzzahl-ALUs beinhalten, die verwendet werden, um Anweisungen des Grafikmultiprozessors 3696 auszuführen. Die GPGPU-Kerne 3662 können eine ähnliche Architektur aufweisen oder sich in der Architektur unterscheiden. In mindestens einer Ausführungsform beinhaltet ein erster Teil der GPGPU-Kerne 3662 eine FPU mit einfacher Genauigkeit und eine Ganzzahl-ALU, während ein zweiter Teil der GPGPU-Kerne 3662 eine FPU mit doppelter Genauigkeit beinhaltet. In mindestens einer Ausführungsform können FPUs den Standard IEEE 754-2008 für Gleitkommaarithmetik implementieren oder Gleitkommaarithmetik mit variabler Genauigkeit ermöglichen. In mindestens einer Ausführungsform kann der Grafikmultiprozessor 3696 zusätzlich eine oder mehrere feste Funktions- oder Spezialfunktionseinheiten beinhalten, um spezifische Funktionen, wie etwa Kopierrechteck- oder Pixelmischoperationen, durchzuführen. In mindestens einer Ausführungsform können einer oder mehrere der GPGPU-Kerne 3662 auch feste oder Spezialfunktionslogik beinhalten.
  • In mindestens einer Ausführungsform beinhalten die GPGPU-Kerne 3662 eine SIMD-Logik, die in der Lage ist, eine einzelne Anweisung an mehreren Datensätzen auszuführen. In mindestens einer Ausführungsform können die GPGPU-Kerne 3662 SIMD4-, SIMD8- und SIMD16-Anweisungen physisch ausführen und SIMD1-, SIMD2- und SIMD32-Anweisungen logisch ausführen. In mindestens einer Ausführungsform können SIMD-Anweisungen für die GPGPU-Kerne 3662 zur Kompilierzeit von einem Shader-Compiler erzeugt werden oder automatisch erzeugt werden, wenn Programme ausgeführt und kompiliert werden, die für Einzelprogramm-Mehrfachdaten-(single program multiple data - „SPMD“-) oder SIMT-Architekturen geschrieben und kompiliert wurden. In mindestens einer Ausführungsform können mehrere Threads eines Programms, das für ein SIMT-Ausführungsmodell konfiguriert ist, über eine einzelne SIMD-Anweisung ausgeführt werden. In mindestens einer Ausführungsform können acht SIMT-Threads, die gleiche oder ähnliche Operationen ausführen, über eine einzelne SIMD8-Logikeinheit parallel ausgeführt werden.
  • In mindestens einer Ausführungsform ist die Speicher- und Cache-Zwischenverbindung 3668 ein Zwischenverbindungsnetzwerk, das jede Funktionseinheit des Grafikmultiprozessors 3696 mit der Registerdatei 3658 und mit dem gemeinsam genutzten Speicher 3670 verbindet. In mindestens einer Ausführungsform ist die Speicher- und Cache-Zwischenverbindung 3668 eine Crossbar-Zwischenverbindung, die es der LSU 3666 ermöglicht, Lade- und Speicheroperationen zwischen dem gemeinsam genutzten Speicher 3670 und der Registerdatei 3658 zu implementieren. In mindestens einer Ausführungsform kann die Registerdatei 3658 mit derselben Frequenz wie die GPGPU-Kerne 3662 arbeiten, wodurch die Datenübertragung zwischen den GPGPU-Kernen 3662 und der Registerdatei 3658 eine sehr geringe Latenz aufweist. In mindestens einer Ausführungsform kann der gemeinsam genutzte Speicher 3670 verwendet werden, um eine Kommunikation zwischen Threads zu ermöglichen, die auf Funktionseinheiten innerhalb des Grafikmultiprozessors 3696 ausgeführt werden. In mindestens einer Ausführungsform kann der Cache-Speicher 3672 zum Beispiel als Datencache verwendet werden, um zwischen Funktionseinheiten und der Textureinheit 3636 kommunizierte Texturdaten zwischenzuspeichern. In mindestens einer Ausführungsform kann der gemeinsam genutzte Speicher 3670 auch als programmverwalteter Cache verwendet werden. In mindestens einer Ausführungsform können Threads, die auf den GPGPU-Kernen 3662 ausgeführt werden, zusätzlich zu automatisch zwischengespeicherten Daten, die im Cache-Speicher 3672 gespeichert sind, programmgesteuert Daten innerhalb des gemeinsam genutzten Speichers speichern.
  • In mindestens einer Ausführungsform ist ein Parallelprozessor oder eine GPGPU, wie hierin beschrieben, kommunikativ an Host-/Prozessorkerne gekoppelt, um Grafikoperationen, Maschinenlernoperationen, Musteranalyseoperationen und verschiedene Allzweck-GPU-(GPGPU)-Funktionen zu beschleunigen. In mindestens einer Ausführungsform kann eine GPU über einen Bus oder eine andere Zwischenverbindung (z. B. eine Hochgeschwindigkeitszwischenverbindung wie etwa PCIe oder NVLink) kommunikativ an den Host-Prozessor/die Kerne gekoppelt sein. In mindestens einer Ausführungsform kann eine GPU in einem Package oder Chip als Kerne integriert sein und kommunikativ über einen internen Prozessorbus/eine Zwischenverbindung, die intern zu einem Package oder Chip ist, an Kerne gekoppelt sein. In mindestens einer Ausführungsform können Prozessorkerne ungeachtet der Art und Weise, in der die GPU verbunden ist, einer GPU Arbeit in Form von Sequenzen von Befehlen/Anweisungen zuweisen, die in einem WD enthalten sind. In mindestens einer Ausführungsform verwendet eine GPU dann eine dedizierte Schaltung/Logik zum effizienten Verarbeiten dieser Befehle/Anweisungen.
  • Allgemeine Datenverarbeitung
  • Die folgenden Figuren legen ohne Einschränkung beispielhafte Softwarekonstrukte dar, die verwendet werden können, um mindestens eine Ausführungsform zu implementieren.
  • 37 veranschaulicht einen Softwarestapel einer Programmierplattform gemäß mindestens einer Ausführungsform. In mindestens einer Ausführungsform ist eine Programmierplattform eine Plattform zum Einsetzen von Hardware auf einem Computersystem, um Berechnungstasks zu beschleunigen. In mindestens einer Ausführungsform kann eine Programmierplattform für Softwareentwickler durch Bibliotheken, Compilerdirektiven und/oder Erweiterungen von Programmiersprachen zugänglich sein. In mindestens einer Ausführungsform kann eine Programmierplattform CUDA, Radeon Open Compute Platform („ROCm“), OpenCL (OpenCL™ wird von der Khronos-Gruppe entwickelt), SYCL oder Intel One API sein, ohne darauf beschränkt zu sein.
  • In mindestens einer Ausführungsform stellt ein Softwarestapel 3700 einer Programmierplattform eine Ausführungsumgebung für eine Anwendung 3701 bereit. In mindestens einer Ausführungsform kann die Anwendung 3701 eine beliebige Computersoftware beinhalten, die auf dem Softwarestapel 3700 gestartet werden kann. In mindestens einer Ausführungsform kann die Anwendung 3701 eine Anwendung für künstliche Intelligenz („KI“)/Maschinenlernen („ML“), eine Hochleistungsrechenanwendung (high performance computing - „HPC“), eine virtuelle Desktop-Infrastruktur („VDI“) oder eine Rechenzentrumsarbeitslast beinhalten, ohne darauf beschränkt zu sein.
  • In mindestens einer Ausführungsform laufen die Anwendung 3701 und der Softwarestapel 3700 auf Hardware 3707. Die Hardware 3707 kann in mindestens einer Ausführungsform eine oder mehrere GPUs, CPUs, FPGAs, KI-Engines und/oder andere Arten von Rechenvorrichtungen beinhalten, die eine Programmierplattform unterstützen. In mindestens einer Ausführungsform, wie etwa bei CUDA, kann der Softwarestapel 3700 herstellerspezifisch und nur mit Vorrichtungen von konkreten Herstellern kompatibel sein. In mindestens einer Ausführungsform, wie etwa bei OpenCL, kann der Softwarestapel 3700 mit Vorrichtungen von verschiedenen Herstellern verwendet werden. In mindestens einer Ausführungsform beinhaltet die Hardware 3707 einen Host, der mit einem oder mehreren Vorrichtungen verbunden ist, auf die zugegriffen werden kann, um Berechnungstasks über Aufrufe einer Anwendungsprogrammierschnittstelle (application programming interface - „API“) auszuführen. Eine Vorrichtung innerhalb der Hardware 3707 kann, ohne darauf beschränkt zu sein, eine GPU, ein FPGA, eine KI-Engine oder eine andere Rechenvorrichtung und ihren Speicher beinhalten (kann aber auch eine CPU beinhalten), im Gegensatz zu einem Host innerhalb der Hardware 3707, der in mindestens einer Ausführungsform eine CPU und seinen Speicher beinhalten kann (aber auch eine Rechenvorrichtung beinhalten kann), ohne darauf beschränkt zu sein.
  • In mindestens einer Ausführungsform beinhaltet der Softwarestapel 3700 einer Programmierplattform ohne Einschränkung eine Anzahl von Bibliotheken 3703, eine Laufzeit 3705 und einen Vorrichtungskerneltreiber 3706. Jede der Bibliotheken 3703 kann in mindestens einer Ausführungsform Daten und Programmiercode beinhalten, die durch Computerprogramme verwendet und während der Softwareentwicklung eingesetzt werden können. In mindestens einer Ausführungsform können die Bibliotheken 3703 vorgefertigten Code und Unterroutinen, Klassen, Werte, Typspezifikationen, Konfigurationsdaten, Dokumentation, Hilfedaten und/oder Nachrichtenvorlagen beinhalten, ohne darauf beschränkt zu sein. In mindestens einer Ausführungsform beinhalten die Bibliotheken 3703 Funktionen, die für die Ausführung auf einer oder mehreren Arten von Vorrichtungen optimiert sind. In mindestens einer Ausführungsform können die Bibliotheken 3703 Funktionen zum Durchführen von mathematischen Operationen, tiefem Lernen und/oder anderen Arten von Operationen auf Vorrichtungen beinhalten, ohne darauf beschränkt zu sein. In mindestens einer Ausführungsform sind Bibliotheken 3803 entsprechenden APIs 3802 zugeordnet, die eine oder mehrere APIs beinhalten können, die in Bibliotheken 3803 implementierte Funktionen offenlegen.
  • In mindestens einer Ausführungsform ist die Anwendung 3701 als Quellcode geschrieben, der in ausführbaren Code kompiliert wird, wie nachstehend in Verbindung mit 42 ausführlicher erörtert wird. Ausführbarer Code der Anwendung 3701 kann in mindestens einer Ausführungsform zumindest teilweise auf einer Ausführungsumgebung laufen, die durch den Softwarestapel 3700 bereitgestellt wird. In mindestens einer Ausführungsform kann während der Ausführung der Anwendung 3701 Code erreicht werden, der auf einer Vorrichtung im Gegensatz zu einem Host laufen muss. In einem solchen Fall kann die Laufzeit 3705 in mindestens einer Ausführungsform aufgerufen werden, um erforderlichen Code auf eine Vorrichtung zu laden und zu starten. In mindestens einer Ausführungsform kann die Laufzeit 3705 ein beliebiges technisch machbares Laufzeitsystem beinhalten, das die Ausführung der Anwendung S01 unterstützen kann.
  • In mindestens einer Ausführungsform ist die Laufzeit 3705 als eine oder mehrere Laufzeitbibliotheken implementiert, die entsprechenden APIs zugeordnet sind, die als API(s) 3704 dargestellt sind. Eine oder mehrere solcher Laufzeitbibliotheken können in mindestens einer Ausführungsform ohne Einschränkung unter anderem Funktionen für die Speicherverwaltung, die Ausführungssteuerung, die Vorrichtungsverwaltung, die Fehlerbehandlung und/oder die Synchronisation beinhalten. In mindestens einer Ausführungsform können die Speicherverwaltungsfunktionen Funktionen zum Zuweisen, Freigeben und Kopieren von Vorrichtungsspeicher sowie zum Übertragen von Daten zwischen Host-Speicher und Vorrichtungsspeicher beinhalten, ohne darauf beschränkt zu sein. In mindestens einer Ausführungsform können die Ausführungssteuerfunktionen Funktionen zum Starten einer Funktion (manchmal als „Kernel“ bezeichnet, wenn eine Funktion eine von einem Host aufrufbare globale Funktion ist) auf einer Vorrichtung beinhalten und Attributwerte in einem Puffer setzen, der durch eine Laufzeitbibliothek für eine bestimmte Funktion gepflegt wird, die auf einer Vorrichtung ausgeführt werden soll, ohne darauf beschränkt zu sein.
  • Laufzeitbibliotheken und entsprechende API(s) 3704 können in mindestens einer Ausführungsform auf eine beliebige technisch machbare Weise implementiert sein. In mindestens einer Ausführungsform kann eine (oder eine beliebige Anzahl von) API einen Satz von Funktionen einer niedrigen Ebene für eine feingranulare Steuerung einer Vorrichtung bereitstellen, während eine andere (oder eine beliebige Anzahl von) API einen Satz solcher Funktionen einer höheren Ebene offenlegen kann. In mindestens einer Ausführungsform kann eine Laufzeit-API einer hohen Ebene auf einer API einer niedrigen Ebene aufgebaut sein. In mindestens einer Ausführungsform können eine oder mehrere Laufzeit-API sprachspezifische API sein, die auf einer sprachunabhängigen Laufzeit-API aufgesetzt sind.
  • In mindestens einer Ausführungsform ist der Vorrichtungskerneltreiber 3706 konfiguriert, um die Kommunikation mit einer zugrundeliegenden Vorrichtung zu ermöglichen. In mindestens einer Ausführungsform kann der Vorrichtungskerneltreiber 3706 Funktionalitäten einer niedrigen Ebene bereitstellen, auf die API, wie etwa die API(s) 3704 und/oder andere Software, zurückgreifen. In mindestens einer Ausführungsform kann der Vorrichtungskerneltreiber 3706 konfiguriert sein, um Zwischendarstellungs (Intermediate Representation - „IR“)-Code zur Laufzeit in Binärcode zu kompilieren. Für CUDA kann der Vorrichtungskerneltreiber 3706 in mindestens einer Ausführungsform IR-Code zur parallelen Thread-Ausführung (Parallel Thread Execution - „PTX“), der nicht hardwarespezifisch ist, zur Laufzeit in Binärcode für eine bestimmtes Zielvorrichtung kompilieren (mit Zwischenspeichern des kompilierten Binärcodes), was manchmal auch als „Finalisieren“ von Code bezeichnet wird. Dies kann in mindestens einer Ausführungsform zulassen, dass finalisierter Code auf einer Zielvorrichtung läuft, der möglicherweise nicht existiert hat, als der Quellcode ursprünglich in PTX-Code kompiliert wurde. Alternativ kann in mindestens einer Ausführungsform der Vorrichtungsquellcode offline in Binärcode kompiliert werden, ohne dass es erforderlich ist, dass der Vorrichtungskerneltreiber 3706 den IR-Code während der Laufzeit kompiliert.
  • 38 veranschaulicht eine CUDA-Implementierung des Softwarestapel 3700 der 37 gemäß mindestens einer Ausführungsform. In mindestens einer Ausführungsform beinhaltet ein CUDA-Softwarestapel 3800, auf dem eine Anwendung 3801 gestartet werden kann, CUDA-Bibliotheken 3803, eine CUDA-Laufzeit 3805, einen CUDA-Treiber 3807 und einen Vorrichtungskerneltreiber 3808. In mindestens einer Ausführungsform wird der CUDA-Softwarestapel 3800 auf Hardware 3809 ausgeführt, die eine GPU beinhalten kann, die CUDA unterstützt und von NVIDIA Corporation, Santa Clara, Kalifornien entwickelt wird.
  • In mindestens einer Ausführungsform können die Anwendung 3801, die CUDA-Laufzeit 3805 und der Vorrichtungskerneltreiber 3808 ähnliche Funktionalitäten wie die Anwendung 3701, die Laufzeit 3705 bzw. der Vorrichtungskerneltreiber 3706 durchführen, die vorstehend in Verbindung mit 37 beschrieben wurden. In mindestens einer Ausführungsform beinhaltet der CUDA-Treiber 3807 eine Bibliothek (libcuda.so), die eine CUDA-Treiber-API 3806 implementiert. Ähnlich einer CUDA-Laufzeit-API 3804, die durch eine CUDA-Laufzeitbibliothek (cudart) implementiert wird, kann die CUDA-Treiber-API 3806 in mindestens einer Ausführungsform ohne Einschränkung unter anderem Funktionen für Speicherverwaltung, Ausführungssteuerung, Vorrichtungsverwaltung, Fehlerbehandlung, Synchronisation und/oder Grafikinteroperabilität offenlegen. In mindestens einer Ausführungsform unterscheidet sich die CUDA-Treiber-API 3806 von der CUDA-Laufzeit-API 3804 darin, dass die CUDA-Laufzeit-API 3804 die Vorrichtungscodeverwaltung vereinfacht, indem sie implizite Initialisierung, Kontextverwaltung (analog zu einem Prozess) und Modulverwaltung (analog zu dynamisch geladenen Bibliotheken) bereitstellt. Im Gegensatz zur CUDA-Laufzeit-API 3804 auf hoher Ebene ist die CUDA-Treiber-API 3806 eine API auf niedriger Ebene, die in mindestens einer Ausführungsform eine feinkörnigere Steuerung einer Vorrichtung bereitstellt, insbesondere in Bezug auf Kontexte und Modulladen. In mindestens einer Ausführungsform kann die CUDA-Treiber-API 3806 Funktionen für die Kontextverwaltung offenlegen, die nicht durch die CUDA-Laufzeit-API 3804 offengelegt werden. In mindestens einer Ausführungsform ist die CUDA-Treiber-API 3806 auch sprachunabhängig und unterstützt z. B. OpenCL zusätzlich zur CUDA-Laufzeit-API 3804. Ferner können in mindestens einer Ausführungsform Entwicklungsbibliotheken, einschließlich der CUDA-Laufzeit 3805, als von Treiberkomponenten getrennt betrachtet werden, einschließlich des Benutzermodus-CUDA-Treibers 3807 und des Kernelmodus-Vorrichtungstreibers 3808 (manchmal auch als „Anzeige“-Treiber bezeichnet).
  • In mindestens einer Ausführungsform können die CUDA-Bibliotheken 3803 mathematische Bibliotheken, Deep-Learning-Bibliotheken, parallele Algorithmusbibliotheken und/oder Signal-/Bild-/Videoverarbeitungsbibliotheken beinhalten, die parallele Rechenanwendungen wie die Anwendung 3801 nutzen können, ohne darauf beschränkt zu sein. In mindestens einer Ausführungsform können die CUDA-Bibliotheken 3803 mathematische Bibliotheken beinhalten, wie etwa unter anderem eine cuBLAS-Bibliothek, die eine Implementierung von Basic Linear Algebra Subprograms („BLAS“) zum Durchführen linearer Algebra-Operationen ist, eine cuFFT-Bibliothek zum Berechnen schneller Fourier-Transformationen („FFTs“) und eine cuRAND-Bibliothek zur Generierung von Zufallszahlen. In mindestens einer Ausführungsform können die CUDA-Bibliotheken 3803 Deep-Learning-Bibliotheken beinhalten, wie etwa unter anderem eine cuDNN-Bibliothek von Primitiven für tiefe neuronale Netze und eine TensorRT-Plattform für Hochleistungs-Deep-Learning-Inferenz.
  • 39 veranschaulicht eine ROCm-Implementierung des Softwarestapels 3700 der 37 gemäß mindestens einer Ausführungsform. In mindestens einer Ausführungsform beinhaltet ein ROCm-Softwarestapel 3900, auf dem eine Anwendung 3901 gestartet werden kann, eine Sprachlaufzeit 3903, eine Systemlaufzeit 3905, einen Thunk 3907, einen ROCm-Kerneltreiber 3908 und einen Vorrichtungskerneltreiber 3909. In mindestens einer Ausführungsform wird der ROCm-Softwarestapel 3900 auf Hardware 3910 ausgeführt, die eine GPU beinhalten kann, die ROCm unterstützt und von AMD Corporation, Santa Clara, Kalifornien entwickelt wird.
  • In mindestens einer Ausführungsform kann die Anwendung 3901 ähnliche Funktionalitäten wie die Anwendung 3701 durchführen, die vorstehend in Verbindung mit 37 erörtert wurde. Außerdem können die Sprachlaufzeit 3903 und die Systemlaufzeit 3905 in mindestens einer Ausführungsform ähnliche Funktionalitäten wie die vorstehend in Verbindung mit 37 erörterte Laufzeit 3705 durchführen. In mindestens einer Ausführungsform unterscheiden sich die Sprachlaufzeit 3903 und die Systemlaufzeit 3905 darin, dass die Systemlaufzeit 3905 eine sprachunabhängige Laufzeit ist, die eine ROCr-Systemlaufzeit-API 3904 implementiert und eine Laufzeit-API mit heterogener Systemarchitektur (Heterogeneous System Architecture - „HAS“) verwendet. Die HAS-Laufzeit-API ist in mindestens einer Ausführungsform eine schlanke Benutzermodus-API, die Schnittstellen für den Zugriff auf und die Interaktion mit einer AMD-GPU offenlegt, die unter anderem Funktionen für die Speicherverwaltung, die Ausführungssteuerung über den architekturdefinierten Versand von Kerneln, die Fehlerbehandlung, System- und Agenteninformationen sowie die Initialisierung und das Herunterfahren der Laufzeit beinhaltet. Im Gegensatz zur Systemlaufzeit 3905 ist die Sprachlaufzeit 3903 in mindestens einer Ausführungsform eine Implementierung einer sprachspezifischen Laufzeit-API 3902, die auf der ROCr-Systemlaufzeit-API 3904 geschichtet ist. In mindestens einer Ausführungsform kann die Sprachlaufzeit-API unter anderem eine Sprachlaufzeit-API für Heterogeneous Compute Interface for Portability („HIP“), eine Sprachlaufzeit-API für Heterogeneous Compute Compiler („HCC“) oder eine OpenCL-API beinhalten, ohne darauf beschränkt zu sein. Die HIP-Sprache ist insbesondere eine Erweiterung der Programmiersprache C++ mit funktional ähnlichen Versionen von CUDA-Mechanismen, und in mindestens einer Ausführungsform beinhaltet eine HIP-Sprachen-Laufzeit-API Funktionen, die denen der CUDA-Laufzeit-API 3804 ähneln, die vorstehend in Verbindung mit 38 erörtert wurde, wie etwa unter anderem Funktionen zur Speicherverwaltung, Ausführungssteuerung, Vorrichtungsverwaltung, Fehlerbehandlung und Synchronisation.
  • In mindestens einer Ausführungsform ist der Thunk (ROCt) 3907 eine Schnittstelle, die verwendet werden kann, um mit dem darunterliegenden ROCm-Treiber 3908 zu interagieren. In mindestens einer Ausführungsform ist der ROCm-Treiber 3908 ein ROCk-Treiber, der eine Kombination aus einem AMDGPU-Treiber und einem HAS-Kernel-Treiber (amdkfd) ist. In mindestens einer Ausführungsform ist der AMDGPU-Treiber ein von AMD entwickelter Vorrichtungskerneltreiber für GPU, der ähnliche Funktionen wie der Vorrichtungskerneltreiber 3706 durchführt, der vorstehend in Verbindung mit 37 erörtert wurde. In mindestens einer Ausführungsform ist der HAS-Kernel-Treiber ein Treiber, der es unterschiedlichen Arten von Prozessoren erlaubt, Systemressourcen effektiver über Hardware-Merkmale gemeinsam zu nutzen.
  • In mindestens einer Ausführungsform können verschiedene Bibliotheken (nicht dargestellt) im ROCm-Softwarestapel 3900 oberhalb der Sprachlaufzeit 3903 beinhaltet sein und eine Ähnlichkeit der Funktionalität zu den CUDA-Bibliotheken 3803 bereitstellen, die vorstehend in Verbindung mit 38 erörtert wurden. In mindestens einer Ausführungsform können verschiedene Bibliotheken mathematische, Deep-Learning- und/oder andere Bibliotheken beinhalten, wie etwa unter anderem eine hipBLAS-Bibliothek, die Funktionen ähnlich denen von CUDA cuBLAS implementiert, eine rocFFT-Bibliothek zum Berechnen von FFTs, die ähnlich CUDA cuFFT ist.
  • 40 veranschaulicht eine OpenCL-Implementierung des Softwarestapels 3700 der 37 gemäß mindestens einer Ausführungsform. In mindestens einer Ausführungsform beinhaltet ein OpenCL-Softwarestapel 4000, auf dem eine Anwendung 4001 gestartet werden kann, ein OpenCL-Framework 4005, eine OpenCL-Laufzeit 4006 und einen Treiber 4007. In mindestens einer Ausführungsform wird der OpenCL-Softwarestapel 4000 auf Hardware 3809 ausgeführt, die nicht herstellerspezifisch ist. Da OpenCL durch Vorrichtungen unterstützt wird, die von verschiedenen Herstellern entwickelt wurden, können in mindestens einer Ausführungsform spezifische OpenCL-Treiber erforderlich sein, um mit Hardware von solchen Herstellern zusammenzuwirken.
  • In mindestens einer Ausführungsform können die Anwendung 4001, die OpenCL-Laufzeit 4006, der Vorrichtungskerneltreiber 4007 und die Hardware 4008 ähnliche Funktionalitäten wie die Anwendung 3701, die Laufzeit 3705, der Vorrichtungskerneltreiber 3706 bzw. die Hardware 3707 durchführen, die vorstehend in Verbindung mit 37 beschrieben wurden. In mindestens einer Ausführungsform beinhaltet die Anwendung 4001 ferner einen OpenCL-Kernel 4002 mit Code, der auf einer Vorrichtung ausgeführt werden soll.
  • In mindestens einer Ausführungsform definiert OpenCL eine „Plattform“, die es einem Host erlaubt, mit einem Host verbundene Vorrichtungen zu steuern. In mindestens einer Ausführungsform stellt ein OpenCL-Framework eine Plattformschicht-API und eine Laufzeit-API bereit, die als Plattform-API 4003 und Laufzeit-API 4005 dargestellt sind. In mindestens einer Ausführungsform verwendet die Laufzeit-API 4005 Kontexte, um die Ausführung von Kerneln auf Vorrichtungen zu verwalten. In mindestens einer Ausführungsform kann jede identifizierte Vorrichtung einem jeweiligen Kontext zugeordnet sein, den die Laufzeit-API 4005 verwenden kann, für diese Vorrichtung um unter anderem Befehlswarteschlangen, Programmobjekte und Kernelobjekte zu verwalten und Speicherobjekte gemeinsam zu nutzen. In mindestens einer Ausführungsform legt die Plattform-API 4003 Funktionen offen, die unter anderem die Verwendung von Vorrichtungskontexten zum Auswählen und Initialisieren von Vorrichtungen, zum Übermitteln von Arbeit an Vorrichtungen über Befehlswarteschlangen und zum Ermöglichen der Datenübertragung zu und von Vorrichtungen zulassen. Darüber hinaus stellt das OpenCL-Framework in mindestens einer Ausführungsform verschiedene integrierte Funktionen (nicht dargestellt) bereit, einschließlich unter anderem mathematischer Funktionen, relationaler Funktionen und Bildverarbeitungsfunktionen.
  • In mindestens einer Ausführungsform ist auch ein Compiler 4004 im OpenCL-Framework 4005 beinhaltet. Quellcode kann in mindestens einer Ausführungsform offline vor der Ausführung einer Anwendung oder online während der Ausführung einer Anwendung kompiliert werden. Im Gegensatz zu CUDA und ROCm können OpenCL-Anwendungen in mindestens einer Ausführungsform online durch den Compiler 4004 kompiliert werden, der beinhaltet ist, um repräsentativ für eine beliebige Anzahl von Compilern zu sein, die verwendet werden kann, um Quellcode und/oder IR-Code, wie etwa Portable Intermediate Representation („SPIR-V“)-Code, in Binärcode zu kompilieren. Alternativ können in mindestens einer Ausführungsform OpenCL-Anwendungen offline kompiliert werden, bevor solche Anwendungen ausgeführt werden.
  • 41 veranschaulicht Software, die durch eine Programmierplattform unterstützt wird, gemäß mindestens einer Ausführungsform. In mindestens einer Ausführungsform ist eine Programmierplattform 4104 konfiguriert, um verschiedene Programmiermodelle 4103, Middlewares und/oder Bibliotheken 4102 und Frameworks 4101 zu unterstützen, auf die eine Anwendung 4100 zurückgreifen kann. In mindestens einer Ausführungsform kann die Anwendung 4100 eine KI/ML-Anwendung sein, die in mindestens einer Ausführungsform unter Verwendung eines Deep-Learning-Frameworks wie etwa MXNet, PyTorch oder TensorFlow implementiert ist, das auf Bibliotheken wie cuDNN, NVIDIA Collective Communications Library („NCCL“) und/oder NVIDA Developer Data Loading Library („DALI“) CUDA-Bibliotheken zurückgreifen kann, um beschleunigte Datenverarbeitung auf der zugrunde liegenden Hardware bereitzustellen.
  • In mindestens einer Ausführungsform kann die Programmierplattform 4104 eine der vorstehend in Verbindung mit 33, 34 bzw. 40 beschriebenen CUDA-, ROCm- oder OpenCL-Plattformen sein. In mindestens einer Ausführungsform unterstützt die Programmierplattform 4104 mehrere Programmiermodelle 4103, die Abstraktionen eines zugrunde liegenden Rechensystems sind, das Ausdrücke von Algorithmen und Datenstrukturen zulässt. Die Programmiermodelle 4103 können in mindestens einer Ausführungsform Merkmale der zugrunde liegenden Hardware offenlegen, um die Leistungsfähigkeit zu verbessern. In mindestens einer Ausführungsform können die Programmiermodelle 4103 CUDA, HIP, OpenCL, C++ Accelerated Massive Parallelism („C++AMP“), Open Multi-Processing („OpenMP“), Open Accelerators („OpenACC“) und/oder Vulcan Compute beinhalten, ohne darauf beschränkt zu sein.
  • In mindestens einer Ausführungsform stellen Bibliotheken und/oder Middlewares 4102 Implementierungen von Abstraktionen von Programmiermodellen 4104 bereit. In mindestens einer Ausführungsform können derartige Bibliotheken Daten und Programmiercode beinhalten, die durch Computerprogramme verwendet und während der Softwareentwicklung eingesetzt werden können. In mindestens einer Ausführungsform beinhalten solche Middlewares Software, die Dienste für Anwendungen bereitstellt, die über diejenigen hinausgehen, die von der Programmierplattform 4104 verfügbar sind. In mindestens einer Ausführungsform können die Bibliotheken und/oder Middlewares 4102 cuBLAS-, cuFFT-, cuRAND- und andere CUDA-Bibliotheken oder rocBLAS-, rocFFT-, rocRAND- und andere ROCm-Bibliotheken beinhalten, ohne darauf beschränkt zu sein. Darüber hinaus können die Bibliotheken und/oder Middlewares 4102 in mindestens einer Ausführungsform NCCL- und ROCm Communication Collectives Library („RCCL“)-Bibliotheken, die Kommunikationsroutinen für GPU bereitstellen, eine MIOpen-Bibliothek für Deep Learning-Beschleunigung und/oder eine Eigen-Bibliothek für lineare Algebra, Matrix- und Vektoroperationen, geometrische Transformationen, numerische Solver und verwandte Algorithmen beinhalten.
  • In mindestens einer Ausführungsform hängen die Anwendungs-Frameworks 4101 von den Bibliotheken und/oder Middlewares 4102 ab. In mindestens einer Ausführungsform ist jedes der Anwendungs-Frameworks 4101 ein Software-Framework, das verwendet wird, um eine Standardstruktur von Anwendungssoftware zu implementieren. Eine KI/ML-Anwendung kann in mindestens einer Ausführungsform unter Verwendung eines Frameworks, wie etwa ein Caffe-, Caffe2-, TensorFlow-, Keras-, PyTorch- oder MxNet-Deep-Learning-Framework implementiert sein.
  • 42 veranschaulicht das Kompilieren von Code zum Ausführen auf einer der Programmierplattformen der 37-40 gemäß mindestens einer Ausführungsform. In mindestens einer Ausführungsform empfängt ein Compiler 4201 Quellcode 4200, der sowohl Host-Code als auch Vorrichtungscode beinhaltet. In mindestens einer Ausführungsform ist der Compiler 4201 konfiguriert, um den Quellcode 4200 in einen vom Host ausführbaren Code 4202 zur Ausführung auf einem Host und in einen von der Vorrichtung ausführbaren Code 4203 zur Ausführung auf einer Vorrichtung umzuwandeln. Der Quellcode 4200 kann in mindestens einer Ausführungsform entweder offline vor der Ausführung einer Anwendung oder online während der Ausführung einer Anwendung kompiliert werden.
  • In mindestens einer Ausführungsform kann der Quellcode 4200 Code in einer beliebigen Programmiersprache beinhalten, die durch den Compiler 4201 unterstützt wird, wie etwa C++, C, Fortran usw. In mindestens einer Ausführungsform kann der Quellcode 4200 in einer Einzelquelldatei mit einer Mischung aus Host-Code und Vorrichtungscode beinhaltet sein, wobei darin Stellen des Vorrichtungscodes angegeben sind. In mindestens einer Ausführungsform kann eine Einzelquelldatei eine .cu-Datei, die CUDA-Code beinhaltet, oder eine .hip.cpp-Datei, die HIP-Code beinhaltet, sein. Alternativ kann der Quellcode 4200 in mindestens einer Ausführungsform Mehrfachquellen-Codedateien anstelle einer Einzelquelldatei beinhalten, in die Host-Code und Vorrichtungscode getrennt sind.
  • In mindestens einer Ausführungsform ist der Compiler 4201 konfiguriert, um den Quellcode 4200 in einen vom Host ausführbaren Code 4202 zur Ausführung auf einem Host und in einen von der Vorrichtung ausführbaren Code 4203 zur Ausführung auf einer Vorrichtung umzuwandeln. In mindestens einer Ausführungsform führt der Compiler 4201 Operationen durch, die das Parsen des Quellcodes 4200 in einen abstrakten Systembaum (abstract system tree - AST), das Durchführen von Optimierungen und das Generieren von ausführbarem Code beinhalten. In mindestens einer Ausführungsform, in der der Quellcode 4200 eine Einzelquelldatei beinhaltet, kann der Compiler 4201 den Vorrichtungscode von dem Host-Code in einer solchen Einzelquelldatei trennen, den Vorrichtungscode und den Host-Code in einen von der Vorrichtung ausführbaren Code 4203 bzw. einen vom Host ausführbaren Code 4202 kompilieren und den von der Vorrichtung ausführbaren Code 4203 und den vom Host ausführbaren Code 4202 miteinander in einer Einzeldatei verlinken, wie nachstehend in Bezug auf 26 ausführlicher erörtert wird.
  • In mindestens einer Ausführungsform können der vom Host ausführbare Code 4202 und der von der Vorrichtung ausführbare Code 4203 in einem beliebigen geeigneten Format vorliegen, wie etwa als Binärcode und/oder IR-Code. Im Falle von CUDA kann in mindestens einer Ausführungsform der vom Host ausführbare Code 4202 nativen Objektcode beinhalten und kann der von der Vorrichtung ausführbare Code 4203 Code in einer PTX-Zwischendarstellung beinhalten. Im Falle von ROCm kann sowohl der vom Host ausführbare Code 4202 als auch der von der Vorrichtung ausführbare Code 4203 in mindestens einer Ausführungsform Ziel-Binärcode beinhalten.
  • Andere Varianten liegen innerhalb des Geistes der vorliegenden Offenbarung. Wenngleich an den offenbarten Techniken diverse Modifikationen und alternative Konstruktionen vorgenommen werden können, sind somit bestimmte veranschaulichte Ausführungsformen davon in den Zeichnungen dargestellt und diese wurden vorstehend ausführlich beschrieben. Es versteht sich jedoch, dass nicht die Absicht verfolgt wird, die Offenbarung auf die spezifische(n) offenbarte(n) Form oder Formen einzuschränken, sondern die Absicht ganz im Gegenteil darin besteht, sämtliche Modifikationen, alternativen Konstruktionen und Äquivalente abzudecken, die in den Geist und Umfang der wie in den beigefügten Ansprüchen definierten Offenbarung fallen.
  • Die Verwendung der Ausdrücke „ein“ und „eine“ und „der/die/das“ und ähnlicher Referenten im Kontext des Beschreibens offenbarter Ausführungsformen (insbesondere im Kontext der folgenden Ansprüche) ist so auszulegen, dass sie sowohl den Singular als auch den Plural abdeckt, sofern hierin nichts anderes angegeben ist oder der Kontext dem eindeutig widerspricht, und nicht als Definition eines Ausdrucks. Die Begriffe „umfassend“, „aufweisend“, „beinhaltend“ und „enthaltend“ sollen als offene Begriffe ausgelegt sein (in der Bedeutung „beinhaltend, aber nicht darauf beschränkt“), sofern nichts anderes angegeben ist. Der Begriff „verbunden“ ist als teilweise oder vollständig ineinander enthalten, aneinander befestigt oder aneinander angefügt auszulegen, wenn er unmodifiziert vorliegt und sich auf physische Verbindungen bezieht, selbst, wenn ein Element dazwischen eingefügt ist. Die Nennung von Wertebereichen hierin soll lediglich als ein schnelles Verfahren des einzelnen Bezugnehmens auf jeden getrennten Wert dienen, der in den Bereich fällt, es sei denn, hierin ist etwas anderes angegeben, und jeder getrennte Wert ist in die Beschreibung integriert, als ob er einzeln hierin wiedergegeben wäre. In mindestens einer Ausführungsform ist die Verwendung des Begriffs „Satz“ (z. B. „ein Satz von Objekten“) oder „Teilsatz“ als eine nichtleere Zusammenstellung auszulegen, die ein oder mehrere Elemente umfasst, es sei denn, es ist etwas anderes angemerkt oder dies widerspricht dem Kontext. Ferner bezeichnet der Begriff „Teilsatz“ eines entsprechenden Satzes nicht notwendigerweise einen tatsächlichen Teilsatz des entsprechenden Satzes; vielmehr können der Teilsatz und der entsprechende Satz gleich sein, es sei denn, es ist etwas anderes angemerkt oder dies widerspricht dem Kontext.
  • Verbindende Sprache, wie etwa Ausdrücke der Form „wenigstens eines von A, Bund C“ oder „mindestens eines von A, B und C“, sind andernfalls in dem Kontext zu verstehen, in dem sie allgemein verwendet werden, um darzustellen, dass ein Objekt, ein Begriff usw. entweder A oder B oder C oder eine beliebige nicht leere Untermenge der Gruppe aus A und B und C sein kann, es sei denn, es ist etwas anderes angegeben oder etwas anderes geht eindeutig aus dem Kontext hervor. In mindestens einer Ausführungsform beziehen sich die verbindenden Ausdrücke „wenigstens eines von A, B und C“ und „mindestens eines von A, B und C“ eines Satzes, der drei Elemente aufweist, auf einen der folgenden Gruppen: {A}, {B}, {C}, {A, B}, {A, C}, {B, C}, {A, B, C}. Somit soll solche verbindende Sprache im Allgemeinen nicht ausdrücken, dass bestimmte Ausführungen erforderlich machen, dass zumindest eines von A, zumindest eines von B und zumindest eines von C vorhanden ist. Zusätzlich bezeichnet, sofern nicht anders angegeben oder durch den Kontext widersprochen, der Ausdruck „Vielzahl“ außerdem einen Zustand der Pluralität (z. B. „eine Vielzahl von Elementen“ bezeichnet mehrere Elemente). In mindestens einer Ausführungsform beträgt die Anzahl der Objekte in einer Vielzahl mindestens zwei, es können aber auch mehr sein, wenn dies entweder explizit oder durch den Kontext angegeben ist. Ferner bedeutet, sofern nicht anders angegeben oder aus dem Kontext nicht eindeutig hervorgeht, der Ausdruck „auf Grundlage von“ „mindestens zum Teil auf Grundlage von“ und nicht „ausschließlich auf Grundlage von“.
  • Hier beschriebene Vorgänge von Prozessen können in einer beliebigen geeigneten Reihenfolge durchgeführt werden, sofern es hier nicht anders angegeben ist oder der Kontext dem anderweitig eindeutig widerspricht. In mindestens einer Ausführungsform wird ein Prozess, wie zum Beispiel die hierin beschriebenen Prozesse (oder Variationen und/oder Kombinationen davon), unter der Kontrolle von einem oder mehreren Computersystemen ausgeführt, die mit ausführbaren Anweisungen konfiguriert sind, und ist als Code (z. B. ausführbare Anweisungen, ein oder mehrere Computerprogramme oder eine oder mehrere Anwendungen), die kollektiv auf einem oder mehreren Prozessoren ausgeführt werden, durch Hardware oder Kombinationen davon implementiert. In mindestens einer Ausführungsform wird Code auf einem computerlesbaren Speichermedium gespeichert. In einer Ausführungsform in der Form eines Computerprogramms, das eine Vielzahl von Anweisungen umfasst, die durch einen oder mehrere Prozessoren ausgeführt werden können. In mindestens einer Ausführungsform ist ein computerlesbares Speichermedium ein nichttransitorisches computerlesbares Speichermedium, das transitorische Signale (z. B. eine sich ausbreitende transiente elektrische oder elektromagnetische Übertragung) ausschließt, aber nichttransitorische Datenspeicherschaltungen (z. B. Puffer, Cache und Warteschlangen) innerhalb der Transceiver von transitorischen Signalen einschließt. In einigen Ausführungsformen ist der Code (z. B. ausführbarer Code oder Quellcode) auf einem Satz von einem oder mehreren nichtflüchtigen computerlesbaren Speichermedien gespeichert, die darauf gespeicherte ausführbare Anweisungen (oder anderen Speicher, um ausführbare Anweisungen zu speichern) aufweisen, die bei Ausführung (d. h. als Folge der Ausführung) durch einen oder mehrere Prozessoren eines Computersystems das Computersystem veranlassen, hierin beschriebene Operationen auszuführen. Ein Satz von nichttransitorischen computerlesbaren Speichermedien kann in mindestens einer Ausführungsform mehrere nichttransitorische computerlesbare Speichermedien umfassen und eines oder mehrere von einzelnen nicht transitorischen Speichermedien der mehreren nichttransitorischen computerlesbaren Speichermedien verfügen möglicherweise nicht über den gesamten Code, während mehrere nichttransitorische computerlesbares Speichermedien gemeinschaftlich den gesamten Code speichern. In mindestens einer Ausführungsform werden die ausführbaren Anweisungen so ausgeführt, dass unterschiedliche Anweisungen durch unterschiedliche Prozessoren ausgeführt werden - in mindestens einer Ausführungsform speichert ein nichttransitorisches computerlesbares Speichermedium Anweisungen und führt eine hauptsächliche Zentraleinheit („CPU“) einige der Anweisungen aus, während eine Grafikverarbeitungseinheit („GPU“) andere Anweisungen ausführt. Im Allgemeinen können unterschiedliche Komponenten eines Computersystems getrennte Prozessoren aufweisen und können unterschiedliche Prozessoren unterschiedliche Teilsätze der Anweisungen ausführen.
  • Dementsprechend sind in mindestens einer Ausführungsform Computersysteme so konfiguriert, dass sie einen oder mehrere Dienste implementieren, die einzeln oder zusammen Operationen der hierin beschriebenen Prozesse durchführen, und derartige Computersysteme sind mit geeigneter Hardware und/oder Software konfiguriert, die eine Durchführung der Operationen ermöglichen. Ferner ist ein Computersystem, das mindestens eine Ausführungsform der vorliegenden Offenbarung implementiert, eine einzelne Vorrichtung und in einer anderen Ausführungsform ein verteiltes Computersystem, das mehrere Vorrichtungen umfasst, die unterschiedlich arbeiten, sodass das verteilte Computersystem die hierin beschriebenen Vorgänge durchführt und sodass eine einzelne Vorrichtung nicht alle Vorgänge durchführt.
  • Die Verwendung jeglicher und aller der mindestens einen Ausführungsformen oder beispielhafter Wortwahl (z. B. „wie etwa“), die hierin bereitgestellt ist, soll lediglich die Ausführungsformen der Offenbarung besser verdeutlichen und stellt keine Einschränkung des Umfangs der Offenbarung dar, es sei denn, es ist etwas anderes beansprucht. Keinerlei Wortwahl in der Beschreibung sollte so ausgelegt werden, dass sie ein beliebiges nicht beanspruchtes Element als für die Implementation der Offenbarung wesentlich angibt.
  • Jegliche Bezugnahmen, einschließlich Veröffentlichungen, Patentanmeldungen und Patenten, die hierin genannt werden, sind hiermit durch Bezugnahme in demselben Maße aufgenommen, als wäre jede Bezugnahme einzeln und spezifisch als durch Bezugnahme eingeschlossen angegeben und in ihrer Gesamtheit hierin dargelegt.
  • In der Beschreibung und den Ansprüchen können die Begriffe „gekoppelt“ und „verbunden“ zusammen mit ihren Ableitungen verwendet werden. Es versteht sich, dass diese Begriffe möglicherweise nicht als Synonyme füreinander gedacht sind. Vielmehr kann in einigen der mindestens einen Ausführungsformen „verbunden“ oder „gekoppelt“ verwendet werden, um anzuzeigen, dass zwei oder mehr Elemente in direktem oder indirektem physischen oder elektrischen Kontakt miteinander stehen. „Gekoppelt“ kann auch bedeuten, dass zwei oder mehr Elemente nicht in direktem Kontakt miteinander stehen, aber dennoch kooperieren oder miteinander interagieren.
  • Sofern nicht ausdrücklich anders angegeben, versteht es sich, dass sich Begriffe wie „Verarbeitung“, „Berechnung“, „Berechnen“, „Bestimmen“ oder dergleichen in der gesamten Beschreibung auf Handlungen und/oder Prozesse eines Computers oder Rechensystems oder einer ähnlichen elektronischen Rechenvorrichtung, die Daten, die als physische, z. B. elektronische, Größen in den Registern und/oder Speichern des Rechensystems dargestellt sind, manipulieren und/oder in andere Daten umwandeln, die auf ähnliche Weise als physische Größen in den Speichern, Registern oder anderen derartigen Informationsspeicher-, -übertragungs- oder - anzeigevorrichtungen des Rechensystems dargestellt sind.
  • Auf ähnliche Weise kann sich der Begriff „Prozessor“ auf eine beliebige Vorrichtung oder einen Abschnitt einer Vorrichtung beziehen, die/der elektronische Daten aus Registern und/oder dem Speicher verarbeitet und diese elektronischen Daten in andere elektronische Daten umwandelt, die in Registern und/oder im Speicher gespeichert werden können. Als nicht einschränkende der mindestens einen Ausführungsform kann der „Prozessor“ eine CPU oder eine GPU sein. Eine „Rechenplattform“ kann einen oder mehrere Prozessoren umfassen. Im hier verwendeten Sinne können „Software“-Prozesse zum Beispiel Software- und/oder Hardware-Entitäten beinhalten, die im Verlauf der Zeit Arbeit Durchführen, wie etwa Tasks, Threads und intelligente Agenten. Außerdem kann sich jeder Prozess auf mehrere Prozesse beziehen, um Anweisungen nacheinander oder parallel, kontinuierlich oder intermittierend auszuführen. Die Begriffe „System“ und „Verfahren“ werden hierin insoweit austauschbar verwendet, dass das System ein oder mehrere Verfahren verkörpern kann und Verfahren als ein System betrachtet werden können.
  • Im vorliegenden Dokument kann Bezug genommen werden auf das Erhalten, Übernehmen, Empfangen oder Eingeben von analogen oder digitalen Daten in ein Teilsystem, ein Computersystem oder eine computerumgesetzte Maschine. In mindestens einer Ausführungsform kann der Prozess des Erhaltens, Erlangens, Empfangens oder Eingebens von analogen und digitalen Daten auf eine Vielfalt von Weisen erzielt werden, wie etwa durch das Empfangen von Daten als Parameter eines Funktionsaufrufs oder eines Aufrufs einer Anwendungsprogrammierschnittstelle. In einigen Implementationen kann der Prozess des Erlangens, Erfassens, Empfangens oder Eingebens von analogen oder digitalen Daten durch das Übermitteln von Daten über eine serielle oder parallele Schnittstelle erfolgen. In einer anderen Implementation kann der Prozess des Erlangens, Erfassens, Empfangens oder Eingebens von analogen oder digitalen Daten durch das Übermitteln von Daten über ein Computernetz von der bereitstellenden Entität zu der erfassenden Entität erfolgen. Es kann auch Bezug genommen werden auf das Bereitstellen, Ausgeben, Übermitteln, Senden oder Darstellen von analogen oder digitalen Daten. In verschiedenen der mindestens einen Ausführungsform kann der Prozess des Bereitstellens, Ausgebens, Übertragens, Sendens oder Darstellens von analogen oder digitalen Daten durch die Übertragung von Daten als Eingabe- oder Ausgabeparameter eines Funktionsaufrufs, Parameter einer Anwendungsprogrammierschnittstelle oder eines Interprozess-Kommunikationsmechanismus erfolgen.
  • Auch wenn die vorstehende Erörterung einige der mindestens einen Ausführungsform mit Implementationen der beschriebenen Techniken darlegt, können auch andere Architekturen verwendet werden, um die beschriebene Funktionalität zu implementieren, und sie sollen im Umfang dieser Offenbarung liegen. Darüber hinaus können, obwohl spezifische Verteilungen von Verantwortlichkeiten vorstehend zum Zwecke der Erörterung definiert sind, verschiedene Funktionen und Verantwortlichkeiten in Abhängigkeit von den Umständen unterschiedlich verteilt und aufgeteilt werden.
  • Auch wenn der Gegenstand in für Strukturmerkmale und/oder Verfahrenshandlungen spezifischer Sprache beschrieben wurde, versteht es sich ferner, dass der in den beigefügten Ansprüchen beanspruchte Gegenstand nicht unbedingt auf die beschriebenen spezifischen Merkmale oder Handlungen beschränkt ist. Vielmehr sind konkrete Merkmale und Handlungen als beispielhafte Formen der Umsetzung der Ansprüche offenbart.

Claims (30)

  1. Kühlsystem für ein Rechenzentrum, umfassend: eine modulare Einheit, die einen Wärmetauscher, einen drehzahlveränderbaren Lüfter und mindestens einen Durchflussregler umfasst, wobei die modulare Einheit ausgelegt ist, austauschbar zu sein, wobei die modulare Einheit in Fluidkopplung mit einer Kühlplatte zu stehen hat, die Mikrokanäle umfasst, der mindestens eine Durchflussregler Fluid durch die Mikrokanäle zu leiten hat, um Wärme von mindestens einer Recheneinrichtung abzuleiten, und das Fluid durch den Wärmetauscher zu leiten hat, um eine Wärmeableitung durch Gebläseluft vom drehzahlveränderbaren Lüfter zu ermöglichen.
  2. Kühlsystem für ein Rechenzentrum nach Anspruch 1, ferner umfassend: mindestens einen Prozessor, um eine der mindestens einen Recheneinrichtung oder dem Fluid zugeordnete Temperatur zu ermitteln und eine Änderung in der Drehzahl des drehzahlveränderbaren Lüfters zu bewirken.
  3. Kühlsystem für ein Rechenzentrum nach Anspruch 1 oder 2, ferner umfassend: eine Spirale oder Platte, die den Wärmetauscher bildet, um eine Ableitung der Wärme von der modularen Einheit zu ermöglichen.
  4. Kühlsystem für ein Rechenzentrum nach einem der vorhergehenden Ansprüche, ferner umfassend: die Kühlplatte mit ersten Anschlüssen für einen ersten Abschnitt der Mikrokanäle, um ein Kühlmittel zu unterstützen, von einem zweiten Abschnitt der Mikrokanäle verschieden, um ein anderes Fluid zu unterstützen.
  5. Kühlsystem für ein Rechenzentrum nach einem der vorhergehenden Ansprüche, ferner umfassend: mindestens einen Prozessor zum Empfangen von Sensoreingaben von der mindestens einen Rechenvorrichtung oder dem Fluid zugeordneten Sensoren, wobei der mindestens eine Prozessor eine Veränderung in einem Kühlmittelzustand zumindest teilweise auf Grundlage der Sensoreingaben zu ermitteln hat und eines oder mehrere von Folgendem zu bewirken oder zu ermöglichen hat: dass der mindestens eine Durchflussregler einen Durchfluss des Fluids anhält oder eine Änderung dieses bewirkt, dass der mindestens eine Prozessor eine Änderung am drehzahlveränderbaren Lüfter bewirkt oder eine Verwendung der modularen Einheit bewirkt.
  6. Kühlsystem für ein Rechenzentrum nach Anspruch 5, ferner umfassend: ein oder mehrere neuronale Netze, um die Sensoreingaben zu empfangen und die Veränderung des Kühlmittelzustands abzuleiten.
  7. Kühlsystem für ein Rechenzentrum nach Anspruch 5 oder 6, ferner umfassend: dass der mindestens eine Prozessor eine elektrische Trennung der modularen Einheit zu ermöglichen hat, um den Austausch der modularen Einheit zu ermöglichen.
  8. Kühlsystem für ein Rechenzentrum nach einem der vorhergehenden Ansprüche, ferner umfassend: mindestens einen Prozessor, um ein oder mehrere neuronale Netze zu umfassen, wobei das eine oder die mehreren neuronalen Netze einen Ausfall eines primären Kühlkreislaufs festzustellen haben, und der mindestens eine Prozessor zu bewirken hat, dass der mindestens eine Durchflussregler eine Kühlung von der modularen Einheit aktiviert.
  9. Kühlsystem für ein Rechenzentrum nach einem der vorhergehenden Ansprüche, ferner umfassend: dass die Kühlplatte ausgelegt ist, an die modulare Einheit und einen sekundären Kühlkreislauf anzubinden, wobei der sekundäre Kühlkreislauf einem primären Kühlkreislauf und einer Kälteanlage zugeordnet ist, wobei der mindestens eine Durchflussregler zu verhindern hat, dass sekundäres Kühlmittel einer Kühlungsverteilungseinheit (CDU) die Kühlplatte erreicht, und zu ermöglichen hat, dass ein der modularen Einheit zugeordnetes Kühlmittel zwischen der Kühlplatte und dem Wärmetauscher zirkuliert.
  10. Kühlsystem für ein Rechenzentrum nach einem der Ansprüche 5 bis 9, ferner umfassend: dass der mindestens eine Durchflussregler die modulare Einheit zumindest teilweise auf Grundlage einer ersten Schwellenkühlanforderung für die mindestens eine Rechenvorrichtung aktiviert und den sekundären Kühlkreislauf zumindest teilweise auf Grundlage einer zweiten Schwellenkühlanforderung für die mindestens eine Rechenvorrichtung aktiviert.
  11. Prozessor, umfassend einen oder mehrere Schaltkreise und mindestens einer modularen Einheit zugeordnet, die einen Wärmetauscher, einen drehzahlveränderbaren Lüfter und mindestens einen Durchflussregler umfasst, wobei die modulare Einheit ausgelegt ist, austauschbar zu sein, wobei die modulare Einheit in Fluidkopplung mit einer Kühlplatte zu stehen hat, die Mikrokanäle umfasst, wobei der eine oder die mehreren Schaltkreise bewirkt, dass der mindestens eine Durchflussregler Fluid durch die Mikrokanäle leitet, um Wärme von mindestens einer Rechenvorrichtung abzuleiten, und das Fluid durch den Wärmetauscher leitet, um eine Wärmeableitung durch Gebläseluft vom drehzahlveränderbaren Lüfter zu ermöglichen.
  12. Prozessor nach Anspruch 11, ferner umfassend: einen Ausgang, um Signale für mindestens eines oder mehrere von Folgendem bereitzustellen: den mindestens einen Durchflussregler oder den drehzahlveränderbaren Lüfter, wobei der eine oder die mehreren Durchflussregler einen Durchfluss des Fluids durch die Kühlplatte zu ermöglichen haben, wobei der drehzahlveränderbare Lüfter die Gebläseluft mit unterschiedlichen Drehzahlen zu ermöglichen hat.
  13. Prozessor nach Anspruch 11 oder 12, ferner umfassend: einen Eingang zum Empfangen von Sensoreingaben von der mindestens einen Rechenvorrichtung oder dem Fluid zugeordneten Sensoren, wobei der Prozessor eine Veränderung in einem Kühlmittelzustand zumindest teilweise auf Grundlage der Sensoreingaben zu ermitteln hat und eines oder mehrere von Folgendem zu bewirken oder zu ermöglichen hat: dass der mindestens eine Durchflussregler einen Durchfluss des Fluids anhält oder eine Änderung dieses bewirkt, dass der eine oder die mehreren Schaltkreise eine Änderung am drehzahlveränderbaren Lüfter oder eine Verwendung der modularen Einheit bewirken.
  14. Prozessor nach Anspruch 13, ferner umfassend: ein oder mehrere neuronale Netze, um die Sensoreingaben zu empfangen und die Veränderung des Kühlmittelzustands abzuleiten.
  15. Prozessor nach einem der Ansprüche 11 bis 14, ferner umfassend: ein oder mehrere neuronale Netze, um einen Ausfall eines sekundären Kühlkreislaufs oder eines primären Kühlkreislaufs abzuleiten, wobei der eine oder die mehreren Schaltkreise zu bewirken hat, dass der mindestens eine Durchflussregler eine Kühlung von der modularen Einheit aktiviert.
  16. Prozessor, umfassend einen oder mehrere Schaltkreise, die einer modularen Einheit zugeordnet sind, die ausgelegt ist, austauschbar zu sein, und ausgelegt ist, in Fluidkopplung mit einer Kühlplatte zu stehen, die Mikrokanäle umfasst, wobei der eine oder die mehreren Schaltkreise ein oder mehrere neuronale Netze zu trainieren haben, um aus Sensoreingaben von Sensoren, die mindestens einer Rechenvorrichtung oder Fluid der Kühlplatte oder der modularen Einheit zugeordnet sind, abzuleiten, dass eine Veränderung in einem Kühlmittelzustand eingetreten ist, wobei der Prozessor eine oder mehrere Handlungen zu bewirken oder zu aktivieren hat, wobei die eine oder die mehreren Handlungen Folgendes umfassen: dass mindestens ein Durchflussregler einen Durchfluss des Fluids anhält oder ändert, eine Änderung an einer Drehzahl in einem drehzahlveränderbaren Lüfter der modularen Einheit oder eine Verwendung oder ein Austausch der modularen Einheit.
  17. Prozessor nach Anspruch 16, ferner umfassend: einen Ausgang, um Signale für mindestens eines oder mehrere von Folgendem bereitzustellen: den mindestens einen Durchflussregler oder den drehzahlveränderbaren Lüfter, wobei der eine oder die mehreren Durchflussregler einen Durchfluss des Fluids durch die Kühlplatte zu ermöglichen haben, wobei der drehzahlveränderbare Lüfter die Gebläseluft mit unterschiedlichen Drehzahlen zu ermöglichen hat.
  18. Prozessor nach Anspruch 16 oder 17, ferner umfassend: das eine oder die mehreren neuronalen Netze, um die Sensoreingaben zu empfangen und trainiert zu werden, die Veränderung des Kühlmittelzustands als Teil der Analyse der vorherigen Sensoreingaben und vorherigen Kühlmittelzustände abzuleiten.
  19. Prozessor nach einem der Ansprüche 16 bis 18, ferner umfassend: einen Ausgang, um Signale für den mindestens einen Durchflussregler bereitzustellen, um die modulare Einheit zumindest teilweise auf Grundlage einer ersten Schwellenkühlanforderung für die mindestens eine Rechenvorrichtung zu aktivieren und den sekundären Kühlkreislauf zumindest teilweise auf Grundlage einer zweiten Schwellenkühlanforderung für die mindestens eine Rechenvorrichtung zu aktivieren.
  20. Prozessor nach einem der Ansprüche 16 bis 19, ferner umfassend: einen Eingang, um die Sensoreingaben zu empfangen, die einer Temperatur von der mindestens einen Rechenvorrichtung oder dem Fluid zugeordnet sind, wobei das eine oder die mehreren neuronalen Netze trainiert sind, um zumindest teilweise auf Grundlage der Temperatur und einer vorherigen Temperatur abzuleiten, dass die Veränderung im Kühlmittelzustand eingetreten ist, wobei der eine oder die mehreren Schaltkreise eine Drehzahländerung des drehzahlveränderbaren Lüfters zumindest teilweise auf Grundlage einer trainierten Schlussfolgerung zu bewirken haben, die von dem einen oder den mehreren neuronalen Netzen zu ziehen ist.
  21. Prozessor, umfassend einen oder mehrere Schaltkreise, wobei der eine oder die mehreren Schaltkreise ein oder mehrere neuronale Netze umfassen, um aus Sensoreingaben von Sensoren, die mindestens einer Rechenvorrichtung oder Fluid einer modularen Einheit oder einer Kühlplatte zugeordnet sind, abzuleiten, dass eine Veränderung in einem Kühlmittelzustand eingetreten ist, und eine oder mehrere Handlungen zu bewirken oder zu ermöglichen, wobei die eine oder die mehreren Handlungen umfassen: dass mindestens ein Durchflussregler einen Durchfluss des Fluids anhält oder ändert, eine Änderung an einer Drehzahl in einem drehzahlveränderbaren Lüfter der modularen Einheit oder eine Verwendung oder ein Austausch der modularen Einheit.
  22. Prozessor nach Anspruch 21, ferner umfassend: einen Ausgang, um Signale für mindestens eines oder mehrere von Folgendem bereitzustellen: den mindestens einen Durchflussregler oder den drehzahlveränderbaren Lüfter, wobei der eine oder die mehreren Durchflussregler einen Durchfluss des Fluids durch die Kühlplatte zu ermöglichen haben, wobei der drehzahlveränderbare Lüfter die Gebläseluft mit unterschiedlichen Drehzahlen zu ermöglichen hat.
  23. Prozessor nach Anspruch 21 oder 22, ferner umfassend: das eine oder die mehreren neuronalen Netze, um die Sensoreingaben zu empfangen und die Veränderung des Kühlmittelzustands als Teil der Analyse der vorherigen Sensoreingaben und vorherigen Kühlmittelzustände abzuleiten.
  24. Prozessor nach einem der Ansprüche 21 bis 23, ferner umfassend: einen Ausgang, um Signale für den mindestens einen Durchflussregler bereitzustellen, um die modulare Einheit zumindest teilweise auf Grundlage einer ersten Schwellenkühlanforderung für die mindestens eine Rechenvorrichtung zu aktivieren und den sekundären Kühlkreislauf zumindest teilweise auf Grundlage einer zweiten Schwellenkühlanforderung für die mindestens eine Rechenvorrichtung zu aktivieren.
  25. Prozessor nach einem der Ansprüche 21 bis 23, ferner umfassend: einen Eingang, um die Sensoreingaben zu empfangen, die einer Temperatur von der mindestens einen Rechenvorrichtung oder dem Fluid zugeordnet sind, wobei das eine oder die mehreren neuronalen Netze zumindest teilweise auf Grundlage der Temperatur und einer vorherigen Temperatur abzuleiten haben, dass die Veränderung im Kühlmittelzustand eingetreten ist, wobei der eine oder die mehreren Schaltkreise eine Drehzahländerung des drehzahlveränderbaren Lüfters zumindest teilweise auf Grundlage einer Schlussfolgerung zu bewirken haben, die von dem einen oder den mehreren neuronalen Netzen gemacht wurde.
  26. Verfahren für ein Kühlsystem für ein Rechenzentrum, umfassend: Bereitstellen einer modularen Einheit, die einen Wärmetauscher, einen drehzahlveränderbaren Lüfter und mindestens einen Durchflussregler umfasst, wobei die modulare Einheit ausgelegt ist, austauschbar zu sein; Ermöglichen einer Fluidkopplung zwischen der modularen Einheit und einer Kühlplatte, die Mikrokanäle umfasst; Ermöglichen, dass der mindestens eine Durchflussregler Fluid durch die Mikrokanäle leitet, um Wärme von mindestens einer Rechenvorrichtung abzuleiten, und das Fluid durch den Wärmetauscher leitet; und Ermöglichen einer Ableitung der Wärme durch Gebläseluft vom drehzahlveränderbaren Lüfter.
  27. Verfahren nach Anspruch 26, ferner umfassend: Ermitteln, durch mindestens einen Prozessor, einer der mindestens einen Rechenvorrichtung oder dem Fluid zugeordneten Temperatur; Bewirken einer Drehzahländerung des drehzahlveränderbaren Lüfters.
  28. Verfahren nach Anspruch 26 oder 27, ferner umfassend: Aktivieren einer Spirale oder Platte als den Wärmetauscher, wobei die Spirale oder Platte eine Ableitung der Wärme von der modularen Einheit zu ermöglichen hat.
  29. Verfahren nach einem der Ansprüche 26 bis 28, ferner umfassend: Ermöglichen, dass die Kühlplatte erste Anschlüsse für einen ersten Abschnitt der Mikrokanäle umfasst, um ein Kühlmittel zu unterstützen, von einem zweiten Abschnitt der Mikrokanäle verschieden, um ein anderes Fluid zu unterstützen.
  30. Verfahren nach einem der Ansprüche 26 bis 29, ferner umfassend: Ermöglichen, dass mindestens ein Prozessor Sensoreingaben von der mindestens einen Rechenvorrichtung oder dem Fluid zugeordneten Sensoren empfängt; Ermitteln, durch den mindestens einen Prozessor, einer Veränderung in einem Kühlmittelzustand teilweise auf Grundlage der Sensoreingaben; und Bewirken oder Aktivieren von einem oder mehreren von Folgendem: dass der mindestens eine Durchflussregler einen Durchfluss des Fluids anhält oder eine Änderung dieses bewirkt, dass der mindestens eine Prozessor eine Änderung am drehzahlveränderbaren Lüfter oder eine Verwendung der modularen Einheit bewirkt.
DE102021133634.1A 2020-12-30 2021-12-17 Intelligente austauschbare modulare einheit für lokale kühlkreisläufe in einem rechenzentrums-kühlsystem Pending DE102021133634A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/138,509 US11950396B2 (en) 2020-12-30 2020-12-30 Intelligent swappable modular unit for local cooling loops in a datacenter cooling system
US17/138,509 2020-12-30

Publications (1)

Publication Number Publication Date
DE102021133634A1 true DE102021133634A1 (de) 2022-06-30

Family

ID=81972265

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021133634.1A Pending DE102021133634A1 (de) 2020-12-30 2021-12-17 Intelligente austauschbare modulare einheit für lokale kühlkreisläufe in einem rechenzentrums-kühlsystem

Country Status (4)

Country Link
US (1) US11950396B2 (de)
CN (1) CN114698334A (de)
DE (1) DE102021133634A1 (de)
GB (1) GB2603290A (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11589482B2 (en) * 2021-06-16 2023-02-21 Baidu Usa Llc Cooling module with serial fluid management
CN117440646A (zh) * 2022-07-15 2024-01-23 中兴智能科技南京有限公司 维护装置、液冷系统及液冷系统的维护方法
CN117590918B (zh) * 2024-01-18 2024-03-19 苏州元脑智能科技有限公司 服务器散热控制系统及服务器散热系统

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6932696B2 (en) 2003-01-08 2005-08-23 Sun Microsystems, Inc. Cooling system including redundant fan controllers
CN102478790A (zh) 2010-11-26 2012-05-30 英业达股份有限公司 模块化资料中心的散热控制方法
US9167721B2 (en) * 2011-11-29 2015-10-20 International Business Machines Corporation Direct facility coolant cooling of a rack-mounted heat exchanger
US9445529B2 (en) * 2012-05-23 2016-09-13 International Business Machines Corporation Liquid cooled data center design selection
US9313930B2 (en) 2013-01-21 2016-04-12 International Business Machines Corporation Multi-level redundant cooling system for continuous cooling of an electronic system(s)
US9622379B1 (en) * 2015-10-29 2017-04-11 International Business Machines Corporation Drawer-level immersion-cooling with hinged, liquid-cooled heat sink
US10342163B2 (en) 2015-12-02 2019-07-02 Google Llc Cooling a data center
US10136559B2 (en) * 2016-06-20 2018-11-20 Baidu Usa Llc Liquid-assisted air cooling of electronic racks with modular fan and heat exchangers
US10238011B1 (en) * 2017-10-10 2019-03-19 Baidu Usa Llc Optimal controller for hybrid liquid-air cooling system of electronic racks of a data center
CN111712109B (zh) 2020-06-29 2023-03-24 北京百度网讯科技有限公司 模块化液体冷却装置和液体冷却系统

Also Published As

Publication number Publication date
GB2603290A (en) 2022-08-03
CN114698334A (zh) 2022-07-01
US11950396B2 (en) 2024-04-02
US20220210955A1 (en) 2022-06-30

Similar Documents

Publication Publication Date Title
DE102021129078A1 (de) Intelligente push-kupplung über der plattform für kühlsysteme in rechenzentren
DE112021002803T5 (de) Reservoir in einem rack-formfaktor für kühlsysteme in rechenzentren
DE102021122545A1 (de) Redundante flüssigkeitsverteilungseinheiten für rechenzentrum-racks
DE102021133641A1 (de) Verteilung des flüssigkeitsstroms mit hilfe eines oder mehrerer neuronaler netzwerke
DE112022000081T5 (de) Intelligenter bewegbarer durchflussregler und kühlverteiler für rechenzentrums-kühlsystem
DE102021131090A1 (de) Intelligenter und redundanter luftgekühlter kühlkreislauf für rechenzentrum-kühlsysteme
DE102021133634A1 (de) Intelligente austauschbare modulare einheit für lokale kühlkreisläufe in einem rechenzentrums-kühlsystem
DE112021002386T5 (de) Analyse der kühlfluidqualität in rechenzentren und schadensbegrenzung
DE112021005444T5 (de) Intelligente strom- und kühlmittelverteilereinheit für kühlsysteme in rechenzentren
DE102021123338A1 (de) Vorausschauende steuerung unter verwendung eines oder mehrerer neuralen netze
DE102022114517A1 (de) Hybride kühlsysteme für rechenzentren
DE102022120616A1 (de) Selbstheilung und Rechenzentren
DE102022112385A1 (de) Intelligentes testsystem unter verwendung von kühlsystemen in rechenzentren
DE102022110977A1 (de) Intelligenter kältemittel-zu-kältemittel-wärmetauscher für kühlsysteme in rechenzentren
DE102022111848A1 (de) Intelligente kältemittelverteilungseinheit für rechenzentrumskühlsysteme
DE102022111321A1 (de) Intelligentes lecksensorsystem für rechenzentrumskühlsysteme
DE102022110508A1 (de) Servereinheit mit integrierter strömungsverteilung
DE112022000762T5 (de) Intelligente rackmontierte pumpen- oder kompressoreinheit für rechenzentrumkühlsysteme
DE102022101525A1 (de) Intelligenter kühlmittelunterstützter flüssigkeit-zu-luftwärmetauscher für kühlsysteme in einem rechenzentrum
DE102022103608A1 (de) Intelligente und dynamische kühlplatte für kühlsysteme in rechenzentren
DE102021131088A1 (de) Intelligenter und redundanter anlagengekühlter kühlkreislauf für kühlsysteme in rechenzentren
US20230008636A1 (en) Thermal testing for hybrid datacenter cooling systems
DE102021124265A1 (de) Lokalisierte Immersionskühlung für Rechenzentrum-Kühlungssysteme
DE102022114658A1 (de) Rack-interne kältemittelverteilereinheit mit drucksteuerungssystem
DE102022103367A1 (de) Intelligenter lüfterwandgekühlter überkopf-flüssigkeit-zu-luft-wärmetauscher für kühlsysteme in rechenzentren

Legal Events

Date Code Title Description
R012 Request for examination validly filed