DE102022203899A1 - Netzwerkadapter, der isolierte, netzunabhängige zeitdienste bereitstellt - Google Patents

Netzwerkadapter, der isolierte, netzunabhängige zeitdienste bereitstellt Download PDF

Info

Publication number
DE102022203899A1
DE102022203899A1 DE102022203899.1A DE102022203899A DE102022203899A1 DE 102022203899 A1 DE102022203899 A1 DE 102022203899A1 DE 102022203899 A DE102022203899 A DE 102022203899A DE 102022203899 A1 DE102022203899 A1 DE 102022203899A1
Authority
DE
Germany
Prior art keywords
network
time
host
network adapter
peripheral bus
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
DE102022203899.1A
Other languages
English (en)
Inventor
Itai Levy
Dotan David Levi
Nir Nitzani
Natan Manevich
Alex Vaynman
Ariel Almog
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.)
Mellanox Technologies Ltd
Original Assignee
Mellanox Technologies Ltd
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 Mellanox Technologies Ltd filed Critical Mellanox Technologies Ltd
Publication of DE102022203899A1 publication Critical patent/DE102022203899A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • H04J3/0658Clock or time synchronisation among packet nodes
    • H04J3/0661Clock or time synchronisation among packet nodes using timestamps
    • H04J3/0667Bidirectional timestamps, e.g. NTP or PTP for compensation of clock drift and for compensation of propagation delays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/12Synchronisation of different clock signals provided by a plurality of clock generators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0602Systems characterised by the synchronising information used
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0685Clock or time synchronisation in a node; Intranode synchronisation
    • H04J3/0697Synchronisation in a packet node
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0008Synchronisation information channels, e.g. clock distribution lines
    • H04L7/0012Synchronisation information channels, e.g. clock distribution lines by comparing receiver clock with transmitter clock

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

Ein Netzwerkadapter umfassend einen Netzwerkanschluss zur Kommunikation mit einem Kommunikationsnetzwerk, eine Hardware-Uhr und einen Schaltkreis. Die Schaltung ist so gekoppelt, dass sie von dem Kommunikationsnetzwerk über den Netzwerkanschluss ein oder mehrere Zeitprotokollpakete empfängt, die eine Netzwerkzeit übermitteln, die zur Synchronisierung von Netzwerkgeräten in dem Kommunikationsnetzwerk verwendet wird, um die Hardware-Uhr auf die in den Zeitprotokollpaketen übermittelte Netzwerkzeit auszurichten und die Netzwerkzeit für einen oder mehrere Zeitdienstverbraucher verfügbar zu machen, die in einem von dem Netzwerkadapter bedienten Host laufen.

Description

  • GEBIET DER ERFINDUNG
  • Die vorliegende Erfindung bezieht sich allgemein auf die Zeitsynchronisation in Kommunikationsnetzen und insbesondere auf Netzwerkadapter, die Zeitdienste für Hosts bereitstellen.
  • HINTERGRUND DER ERFINDUNG
  • Die Erfindung wird durch die Ansprüche definiert. Zur Veranschaulichung der Erfindung werden hier Aspekte und Ausführungsformen beschrieben, die in den Anwendungsbereich der Ansprüche fallen können oder auch nicht.
  • Computer- und Kommunikationsnetze können verschiedene Schemata und Protokolle zur Synchronisierung von Netzwerkknoten auf eine gemeinsame Zeitbasis verwenden. Ein gängiges Beispiel für ein solches Protokoll ist das Precision Time Protocol (PTP), das in den IEEE-Normen 1588-2002 und 1588-2008 sowie späteren Versionen davon definiert ist. PTP wird zur Synchronisierung von Uhren in einem Computernetz verwendet und kann eine Genauigkeit im Submikrosekundenbereich erreichen.
  • Das US-Patent 8,370,675 beschreibt ein Verfahren zur Taktsynchronisation, das die Berechnung eines Offset-Wertes zwischen einer lokalen Istzeit einer internen Echtzeituhr und einer Referenzzeit und das Laden des Offset-Wertes in ein Register umfasst, das mit der internen Echtzeituhr verbunden ist. Die lokale Istzeit wird dann mit dem Wert im Register summiert, um einen angepassten Wert der lokalen Istzeit zu erhalten, der mit der Referenzzeit synchronisiert ist.
  • Die US-Patentanmeldung 2020/0162234 beschreibt eine Vorrichtung mit einem freigegebenen Gerät, die mit einer Vielzahl von Computern außerhalb des freigegebenen Geräts kommuniziert. Das freigegebene Gerät umfasst mindestens einen PTP-Domänenkoeffizienten-Speicherbereich, wobei der mindestens eine PTP-Domänenkoeffizienten-Speicherbereich einen PTP-Koeffizienten von einer Rechenmaschine mit einem PTP-Client empfängt und den PTP-Koeffizienten einer Rechenmaschine ohne PTP-Client bereitstellt.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Eine hier beschriebene Ausführungsform der vorliegenden Erfindung stellt einen Netzwerkadapter bereit, der einen Netzwerkanschluss zur Kommunikation mit einem Kommunikationsnetzwerk, eine Hardware-Uhr und eine Schaltung umfasst. Die Schaltung ist so gekoppelt, dass sie von dem Kommunikationsnetzwerk über den Netzwerkanschluss ein oder mehrere Zeitprotokollpakete empfängt, die eine Netzwerkzeit übermitteln, die für die Synchronisierung von Netzwerkgeräten in dem Kommunikationsnetzwerk verwendet wird, um die Hardware-Uhr auf die in den Zeitprotokollpaketen übermittelte Netzwerkzeit anzupassen und die Netzwerkzeit für einen oder mehrere Zeitdienstverbraucher verfügbar zu machen, die in einem von dem Netzwerkadapter bedienten Host laufen.
  • In einigen Ausführungsformen ist die Schaltung so gekoppelt, dass sie mit dem Host über einen Peripheriebus kommuniziert und die Netzwerkzeit den Zeitdienstverbrauchern über ein Peripheriebusgerät zur Verfügung stellt, das auf dem Peripheriebus liegt. In einem Ausführungsbeispiel ist das Peripheriebusgerät ein Read-Only-Busgerät, das Informationen nur unidirektional vom Peripheriebus zum Host überträgt.
  • In einer offenbarten Ausführungsform umfasst die Schaltung einen Prozessor, der so gekoppelt ist, dass er Software ausführt, die die Hardware-Uhr anpasst. In einer Ausführungsform entsprechen die Zeitprotokollpakete einem Zeitsynchronisationsprotokoll, und der Prozessor ist so gekoppelt, dass er einen Softwarestack des Zeitsynchronisationsprotokolls ausführt, wobei der Softwarestack die Hardware-Uhr auf die Netzwerkzeit anpasst.
  • In einer anderen Ausführungsform ist die Schaltung so gekoppelt, dass sie den Zeitprotokollpaketen Zeitstempel mit einer bestimmten Zeitstempelgenauigkeit zuweist, und der Prozessor ist so gekoppelt, dass er die Hardware-Uhr mit einer Genauigkeit anpasst, die der Zeitstempelgenauigkeit entspricht. In einer weiteren Ausführungsform ist der Schaltkreis so gekoppelt, dass die Zeitprotokollpakete vom Host isoliert werden. In einer weiteren Ausführungsform entsprechen die Zeitprotokollpakete einem Zeitsynchronisationsprotokoll, und der Schaltkreis ist so gekoppelt, dass er eine Steuerebene des Zeitsynchronisationsprotokolls vom Host isoliert.
  • In einer Ausführungsform ist die Schaltung so gekoppelt, dass sie auf der Grundlage der empfangenen Zeitprotokollpakete eine oder mehrere Korrekturen berechnet, die die Hardware-Uhr an die Netzwerkzeit anpasst, und die berechneten Korrekturen auf die Hardware-Uhr anwendet. In einer Ausführungsform ist die Schaltung so gekoppelt, dass sie sowohl eine Frequenz als auch einen Zeitversatz der Hardware-Uhr an die Netzwerkzeit anpasst, um dem Host einen offsetfreien Wert der Netzwerkzeit zur Verfügung zu stellen. In einer anderen Ausführungsform ist die Schaltung so gekoppelt, dass sie einen Wert der Netzwerkzeit bereitstellt, der von den Zeitdienstverbrauchern ohne Übersetzung oder Umwandlung verwendet werden kann.
  • Typischerweise ist die Schaltung außerdem so gekoppelt, dass sie dem Host gleichzeitig mit der Bereitstellung der Netzwerkzeit für den Host Netzwerkdienste zur Verfügung stellt.
  • Gemäß einer Ausführungsform der vorliegenden Erfindung wird zusätzlich ein Rechenknoten mit einem Host und einem Netzwerkadapter bereitgestellt. Der Host enthält einen oder mehrere Prozessoren zum Ausführen eines oder mehrerer Zeitdienst-Verbraucherprozesse. Der Netzwerkadapter enthält eine Hardware-Uhr und ist so gekoppelt, dass er von einem Kommunikationsnetzwerk ein oder mehrere Zeitprotokollpakete empfängt, die eine Netzwerkzeit übermitteln, die zur Synchronisierung von Netzwerkgeräten im Kommunikationsnetzwerk verwendet wird, um die Hardware-Uhr auf die in den Zeitprotokollpaketen übermittelte Netzwerkzeit auszurichten und die Netzwerkzeit für die im Host laufenden Zeitdienst-Verbraucherprozesse verfügbar zu machen.
  • In verschiedenen Ausführungsformen sind die im Host laufenden Zeitdienst-Verbraucherprozesse von mindestens einem Prozesstyp, der aus einer Gruppe von Typen ausgewählt wird, die aus einer Benutzeranwendung, einer virtuellen Maschine (VM), einem Betriebssystemprozess und einem Container besteht.
  • In einigen Ausführungsformen sind der Host und der Netzwerkadapter so gekoppelt, dass sie über einen Peripheriebus miteinander kommunizieren, und der Host ist so gekoppelt, dass er die Netzwerkzeit vom Netzwerkadapter über ein Peripheriebusgerät erhält, das von den im Host laufenden Zeitdienst-Verbraucherprozessen nach der Netzwerkzeit abgefragt wird. In einer Ausführungsform ist das Peripheriebusgerät ein Read-Only-Bus-Gerät, das Informationen nur unidirektional vom Peripheriebus zum Host überträgt.
  • In Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung wird auch ein Verfahren in einem Netzwerkadapter bereitgestellt. Das Verfahren umfasst den Empfang eines oder mehrerer Zeitprotokollpakete im Netzwerkadapter von einem Kommunikationsnetzwerk, die eine Netzwerkzeit übermitteln, die zur Synchronisierung von Netzwerkgeräten im Kommunikationsnetzwerk verwendet wird. Eine Hardware-Uhr im Netzwerkadapter wird auf die in den Zeitprotokollpaketen übertragene Netzwerkzeit angepasst. Die Netzwerkzeit wird einem oder mehreren Zeitdienstverbraucher zur Verfügung gestellt, die auf einem von dem Netzwerkadapter bedienten Host laufen.
  • Die Bereitstellung der Netzwerkzeit kann über ein Peripheriebusgerät erfolgen, das auf einem Peripheriebus liegt, der für die Kommunikation zwischen dem Netzwerkadapter und dem Host verwendet wird.
  • Das Peripheriebusgerät kann ein Read-Only-Bus-Gerät sein, das Informationen nur unidirektional vom Peripheriebus zum Host überträgt.
  • Gemäß einer Ausführungsform der vorliegenden Erfindung wird ferner ein Verfahren mit einem Rechenknoten bereitgestellt. Das Verfahren umfasst die Ausführung eines oder mehrerer Zeitdienst-Verbraucherprozesse in einem oder mehreren Prozessoren eines Hosts. In einem Netzwerkadapter, der den Host bedient, werden ein oder mehrere Zeitprotokollpakete, die eine Netzwerkzeit übermitteln, die zur Synchronisierung von Netzwerkgeräten in einem Kommunikationsnetzwerk verwendet wird, von dem Kommunikationsnetzwerk empfangen. Eine Hardware-Uhr im Netzwerkadapter wird auf die in den Zeitprotokollpaketen übermittelte Netzwerkzeit angepasst. Die Netzwerkzeit wird den im Host laufenden Zeitdienst-Verbraucherprozessen zur Verfügung gestellt.
  • Die Bereitstellung der Netzwerkzeit kann über einen Peripheriebus erfolgen, der für die Kommunikation zwischen dem Netzwerkadapter und dem Host verwendet wird, wobei ein Peripheriebusgerät verwendet wird, das von den Zeitdienst-Verbraucherprozessen nach der Netzwerkzeit abgefragt wird.
  • Das Peripheriebusgerät kann ein Read-Only-Bus-Gerät sein, das Informationen nur unidirektional vom Peripheriebus zum Host überträgt.
  • Jedes Merkmal eines Aspekts oder einer Ausführungsform kann auf andere Aspekte oder Ausführungsformen angewandt werden, und zwar in jeder geeigneten Kombination. Insbesondere kann jedes Merkmal eines Verfahrensaspekts oder einer Ausführungsform auf einen Geräteaspekt oder eine Ausführungsform angewandt werden und umgekehrt.
  • Die vorliegende Erfindung wird aus der folgenden detaillierten Beschreibung der Ausführungsformen in Verbindung mit den Figuren, in denen sie dargestellt ist, besser verständlich:
  • Figurenliste
    • 1 ist ein Blockdiagramm, das schematisch ein Computersystem zeigt, das einen Netzwerkadapter umfasst, der einen isolierten, netzunabhängigen Zeitdienst für einen Host bereitstellt, gemäß einer Ausführungsform der vorliegenden Erfindung; und
    • 2 ist ein Flussdiagramm, das schematisch ein Verfahren zur Bereitstellung eines isolierten, netzunabhängigen Zeitdienstes durch einen Netzwerkadapter gemäß einer Ausführungsform der vorliegenden Erfindung zeigt.
  • DETAILLIERTE BESCHREIBUNG DER AUSFÜHRUNGSFORMEN
  • ÜBERSICHT
  • Die hier beschriebenen Ausführungsformen der vorliegenden Erfindung bieten verbesserte Netzwerkadapter, die nicht nur ihre Hosts mit einem Netzwerk verbinden, sondern den Hosts auch einen genauen Zeitdienst zur Verfügung stellen.
  • Im vorliegenden Kontext bezieht sich der Begriff „Zeitdienst“ auf einen Dienst, bei dem ein Netzwerkadapter einem Host die aktuelle Netzwerkzeit zur Verfügung stellt. Der Begriff „Netzwerkzeit“ bezieht sich auf eine gemeinsame Zeitbasis, die verwendet wird, um Netzwerkgeräte (z. B. Rechenknoten, Netzwerkadapter, Netzwerk-Switches und dergleichen) im Netzwerk miteinander zu synchronisieren. Die Netzwerkgeräte synchronisieren sich typischerweise auf die Netzwerkzeit, indem sie Zeitprotokollpakete eines geeigneten Zeitsynchronisationsprotokolls, wie z.B. PTP, austauschen.
  • In einigen Ausführungsformen kommuniziert der Netzwerkadapter mit dem Host über einen Peripheriebus, z.B. einen Peripheral Component Interconnect Express (PCIe)-Bus. Der Host umfasst einen oder mehrere Prozessoren, auf denen verschiedene „Zeitdienstverbraucher “ laufen können, z.B. Benutzeranwendungen, virtuelle Maschinen (VMs), Betriebssystemprozesse oder jede andere geeignete Software, die die Netzwerkzeit nutzt. Zumindest einige der Zeitdienstverbraucher benötigen eine sehr genaue Angabe der Netzwerkzeit, um verschiedene zeitkritische Anwendungen auszuführen. Um den Zeitdienst für die im Host laufenden Zeitdienstverbraucher bereitstellen zu können, umfasst der Netzwerkadapter Folgendes:
    • ▪ Eine Hardware-Uhr (z.B. PTP-Hardware-Uhr - PHC), die die Netzwerkzeit verfolgt.
    • ▪ Ein Prozessor, auf dem ein Softwarestack des Zeitsynchronisationsprotokolls läuft. Der SoftwareStack empfängt in der Regel Zeitprotokollpakete (z.B. PTP-Pakete) aus dem Netz und passt die Hardware-Uhr auf der Grundlage der empfangenen Zeitprotokollpakete an die Netzwerkzeit an („diszipliniert“). In einigen Ausführungsformen wird die angepasste („disziplinierte“) Netzwerkzeit den Zeitdienstverbrauchern über ein oder mehrere dedizierte Geräte (z.B. PCIe-Geräte, auch als PCIe-Schnittstellen bezeichnet) zur Verfügung gestellt, die dem Host über den Peripheriebus zugänglich sind. In anderen Ausführungsformen können auch andere Mechanismen für die Bereitstellung der Netzwerkzeit verwendet werden, z.B. ein gemeinsam genutzter Speicher.
  • Bei Verwendung der beschriebenen Technik ist der Host in der Regel vollständig von der Steuerungsebene des Zeitsynchronisationsprotokolls isoliert. Zeitprotokollpakete, die vom Netzwerk ankommen, werden vom Softwarestack des Zeitsynchronisationsprotokolls verarbeitet, der im Netzwerkadapter läuft, und erreichen den Host normalerweise nicht. Die Interaktion des Hosts mit dem Zeitdienst beschränkt sich in der Regel auf die Abfrage des dedizierten Geräts nach der aktuellen Netzwerkzeit. Die Verbraucher des Zeitdienstes müssen das Zeitsynchronisationsprotokoll (z.B. PTP) nicht unterstützen. Die Nutzer des Zeitdienstes müssen nicht einmal wissen (d.h. über Informationen verfügen), dass ein solches Protokoll verwendet wird.
  • Die hier beschriebene isolierte Zeitdienstlösung bietet erhebliche Vorteile. Beispielsweise ist die Implementierung des Zeitdienstes unabhängig von der Hardware- und Softwarekonfiguration des Hosts, dem Host-Betriebssystem und der Software, die auf dem Host ausgeführt werden kann. Konfigurationsänderungen des Hosts, z.B. Hardware- oder Software-Upgrades, haben daher keine Auswirkungen auf den Zeitdienst. Die Genauigkeit des Zeitdienstes bleibt konstant, unabhängig von den Lastbedingungen und der Hardware- und Softwarekonfiguration oder Topologie des Hosts.
  • Da der Zeitdienst vollständig im Netzwerkadapter implementiert ist, kann der Softwarestack des Zeitsynchronisationsprotokolls für die spezifische Hardware des Netzwerkadapters entwickelt und optimiert werden. Der Netzwerkadapter kann „out of the box“ mit vorkonfigurierter Zeitsynchronisationsprotokoll-Hardware und -Software geliefert werden. Der Softwarestack kann beispielsweise für die Genauigkeit der im Netzwerkadapter verwendeten spezifischen Hardware-Uhr optimiert werden. In einem Ausführungsbeispiel kann der Softwarestack vermeiden, die Hardware-Uhr mit einer Auflösung auszurichten, die feiner ist als die Genauigkeit der Hardware-Uhr oder die Zeitstempel-Auflösung (z.B. 400 ns). Die Auslagerung des Zeitsynchronisationsprotokollstacks auf den Netzwerkadapter verringert auch die Rechenlast des Hosts.
  • Außerdem bietet die Isolierung des Hosts vom Zeitdienst ein hohes Maß an Sicherheit. Da der Host nur einem speziellen Gerät mit spezifischen Funktionen über den Peripheriebus ausgesetzt ist, ist die „Angriffsfläche“, die von Malware ausgenutzt werden könnte, sehr klein. Die Anfälligkeit für Angriffe wird weiter dadurch verringert, dass das exponierte Gerät in der Regel ein Read-Only-Gerät ist, was bedeutet, dass der Fluss der zeitbezogenen Informationen vom Netzwerkadapter zum Host unidirektional ist.
  • Die vorgestellte Lösung ist für eine Vielzahl von Anwendungen und Anwendungsfällen nützlich. Ein typisches Beispiel ist ein Server in einem „Bare Metal Cloud“-Rechenzentrum, in dem ein Kunde („Tenant“) vollen Zugriff auf den Host erhält. Ein anderes typisches Beispiel ist ein Server in einem Cloud-basierten Rechenzentrum mit mehreren Mandanten (manchmal auch als „Virtualisierungs-Cloud“ bezeichnet). In beiden Fällen hat der Dienstanbieter wenig oder gar keine Kontrolle über die Instanz des Endnutzers (die aus dem gesamten Host, einer VM, einem Container oder einer anderen geeigneten Einheit bestehen kann). Ein Zeitdienst, der innerhalb des Netzwerkadapters isoliert und netzunabhängig ist, ist in solchen Umgebungen äußerst effektiv.
  • Bei Verwendung der offenbarten Technik in einer Cloud-Architektur kann der Zeitdienst einem Tenant auf transparente Weise zur Verfügung gestellt werden, die sich leicht in das System des Tenants integrieren lässt, unabhängig vom Betriebssystem und der vom Tenant verwendeten Software. Gleichzeitig bleiben die gesamte Infrastruktur des Zeitsynchronisierungsprotokolls und die Konfiguration vor dem Tenant verborgen, wodurch das Netz des Cloud-Anbieters vor möglichen Angriffen aus der Software des Tenants isoliert und geschützt wird. Der Cloud-Anbieter kann auch mehrere isolierte Tenants (in einer Bare-Metal-Konfiguration oder anderweitig) mit einer einzigen Zeitsynchronisationsprotokoll-Infrastruktur bedienen.
  • Figurenliste
    • 1 ist ein Blockdiagramm, das schematisch ein Rechnersystem 20 gemäß einer Ausführungsform der vorliegenden Erfindung zeigt. Das System 20 umfasst einen Netzwerkadapter 32, der einen isolierten, netzunabhängigen Zeitdienst für einen Host 24 bereitstellt, wobei Techniken verwendet werden, die hier im Einzelnen beschrieben werden. In verschiedenen Ausführungsformen kann der Host 24 jede geeignete Art von Computer umfassen, z.B. einen Server in einem Rechenzentrum oder einen Computer in einem HPC-Cluster (High-Performance Computing).
  • Der Netzwerkadapter 32 kann jede geeignete Art von Netzwerkadapter umfassen. Im vorliegenden Beispiel ist der Netzwerkadapter 32 ein hochfunktionales Gerät, das eine oder mehrere integrierte CPUs 40 und Verarbeitungshardware 44 umfasst. Ein solcher Netzwerkadapter wird auch als Data Processing Unit (DPU) oder „Smart Network Interface Controller (Smart-NIC)“ bezeichnet. In alternativen Ausführungsformen kann der Netzwerkadapter 32 beispielsweise eine Ethernet-NIC, einen Infiniband™ Host Channel Adapter (HCA), eine netzwerkfähige Grafikverarbeitungseinheit (GPU), ein Field-Programmable Gate Array (FPGA) oder jede andere geeignete Art von Gerät umfassen, das zur Netzwerkkommunikation in der Lage ist. Die folgende Beschreibung bezieht sich beispielhaft auf eine DPU.
  • Host 24 und DPU 32 kommunizieren über einen Peripheriebus 36 miteinander. Im vorliegenden Beispiel besteht der Bus 36 aus einem Peripheral Component Interconnect Express (PCIe)-Bus. Alternativ kann auch jeder andere geeignete Typ von Peripheriebus verwendet werden.
  • Die DPU 32 verbindet den Host 24 mit einem Paketnetz 28. Je nach Anwendungsfall kann das Netz 28 z. B. ein lokales Netz (LAN) eines Rechenzentrums, ein Weitverkehrsnetz (WAN) wie das Internet oder eine andere geeignete Art von Netz oder eine Kombination von Netzen umfassen. Die Kommunikation über das Netzwerk 28 kann mit jedem geeigneten Kommunikationsprotokoll erfolgen, z. B. Ethernet oder Infiniband. Das DPU 32 verfügt über einen oder mehrere Netzwerkanschlüsse 52 (ein einzelner Anschluss im Beispiel von 1) für die Verbindung mit dem Netzwerk 28.
  • In einigen Ausführungsformen wird die DPU 32 mit der Netzwerkzeit des Netzwerks 28 synchronisiert. Normalerweise synchronisieren sich die Netzwerkgeräte des Netzwerks 28 auf die Netzwerkzeit, indem sie Zeitprotokollpakete eines geeigneten Zeitsynchronisationsprotokolls austauschen. Im vorliegenden Beispiel ist das Zeitsynchronisationsprotokoll PTP, und die Zeitprotokollpakete werden als PTP-Pakete bezeichnet. Alternativ kann das Zeitsynchronisationsprotokoll z.B. das Network Time Protocol (NTP) oder Synchronous Ethernet (SyncE) umfassen. (Aspekte der Synchronisierung unter Verwendung von SyncE werden beispielsweise in der US-Patentanmeldung 16/920,772 behandelt, die am 6. Juli 2020 eingereicht wurde, die dem Rechtsnachfolger der vorliegenden Patentanmeldung zugewiesen ist und deren Offenbarung hier durch Bezugnahme aufgenommen wird.) Die folgende Beschreibung bezieht sich beispielhaft auf PTP.
  • In der Ausführungsform von 1 synchronisiert sich die DPU 32 mit der Netzwerkzeit über (i) eine PTP-Hardwareuhr (PHC) 56, die Teil der Hardware 44 ist, und (ii) einen PTP-Daemon 60, der auf den CPUs 40 läuft. Die PHC 56 verfolgt die Netzwerkzeit und wird zum Beispiel für die Zeitstempelung eingehender PTP-Pakete (PTP-Pakete, die von der DPU 32 aus dem Netzwerk 28 empfangen werden) und ausgehender PTP-Pakete (PTP-Pakete, die von der DPU an das Netzwerk gesendet werden) verwendet. Der PTP-Daemon 60 implementiert den PTP-Softwarestack. Neben anderen Aufgaben richtet der PTP-Daemon 60 die PHC 56 auf der Grundlage der eingehenden PTP-Pakete an der Netzwerkzeit aus („diszipliniert“).
  • Wenn das Betriebssystem der CPUs 40 Linux ist, kann der PTP-Daemon 60 beispielsweise aus der PTP4L-Software bestehen. Alternativ kann der PTP-Daemon 60 auch jede andere geeignete Software umfassen, die den Protokollstack des verwendeten Zeitsynchronisationsprotokolls ausführt. In einem Ausführungsbeispiel führen die CPUs 40 ein Linux-Betriebssystem aus, und die PTP4L-Software läuft in einem „hardwarebewussten“ Modus für hohe Stabilität und Genauigkeit. In einer Ausführungsform erhalten die CPUs 40 auch eine PTP-Warteschlange 64 zur Aufnahme eingehender PTP-Pakete aufrecht, die zur Verarbeitung durch den PTP-Daemon 60 anstehen.
  • In einigen Ausführungsformen stellt die DPU 32 dem Host 24 einen isolierten, netzunabhängigen Zeitdienst zur Verfügung, indem sie ein dediziertes PTP-Gerät 68 verwendet, das am PCIe-Bus 36 angeschlossen ist. Das vorliegende Beispiel bezieht sich auf ein einziges PTP-Gerät 68. In alternativen Ausführungsformen können mehrere PTP-Geräte 68 am PCIe-Bus angeschlossen sein.
  • Verschiedene Zeitdienstverbraucher 48, die auf dem Host 24 laufen (z.B. Benutzeranwendungen, virtuelle Maschinen oder Betriebssystemprozesse), können die aktuelle Netzwerkzeit vom PTP-Gerät 68 anfordern und empfangen. Die Zeitdienstverbraucher 48 können mit dem Gerät 68 direkt oder indirekt, z.B. über eine geeignete Anwendungsprogrammierschnittstelle (API), interagieren. Der Host 24 umfasst einen oder mehrere Prozessoren (z.B. CPUs - in der Figur nicht dargestellt). Die Zeitdienstverbraucher 48 können auf jedem der Prozessoren des Hosts laufen. Der Einfachheit halber wird Software, die auf einem der Prozessoren des Hosts 24 läuft, manchmal als „in Host 24 laufend“ bezeichnet.
  • Als Teil der „Isolierung“, die durch die offenbarten Techniken bereitgestellt wird, bleiben in einigen Ausführungsformen die PTP-Pakete, die vom Netzwerk 28 ankommen, typischerweise innerhalb der DPU 32 beschränkt und erreichen den Host 24 nicht. Im Gegensatz dazu werden Nicht-PTP-Pakete, die vom Netzwerk ankommen, an den Host 24 geliefert und in eine oder mehrere Nicht-PTP-Warteschlangen 72 eingereiht (im Gegensatz zur PTP-Warteschlange 64, die Teil der DPU 32 ist).
  • Die in 1 gezeigten Konfigurationen des Netzwerkadapters (z.B. DPU) 32 und des Hosts 24 sind Beispielkonfigurationen, die lediglich der konzeptionellen Klarheit halber dargestellt sind. In alternativen Ausführungsformen können beliebige andere geeignete Konfigurationen verwendet werden. Beispielsweise zeigt die Ausführungsform von 1 einen einzelnen Host 24, der von einem Netzwerkadapter 32 bedient wird. In alternativen Ausführungsformen kann derselbe Netzwerkadapter (z.B. DPU) 32 Zeitdienste für mehrere Hosts 24 parallel bereitstellen, indem er das PTP-Gerät 68 für die mehreren Hosts zugänglich macht. In einer Ausführungsform kann das Gerät 68 für jeden Host unter einem anderen Namen zugänglich gemacht werden. Eine geeignete Logik in der DPU 32 unterscheidet zwischen Anfragen an das Gerät, die von verschiedenen Hosts kommen. In einem Beispiel können zu der Netzwerkzeit, die den verschiedenen Hosts zur Verfügung gestellt wird, unterschiedliche Zeitabweichungen (z.B. entsprechend der Ortszeit in verschiedenen Zeitzonen) hinzugefügt werden. Aspekte der Uhrensynchronisation in Szenarien mit mehreren Hosts, die mit der hier beschriebenen Technik kombiniert werden können, sind in der US-Patentanmeldung 16/779,611 beschrieben, die am 2. Februar 2020 eingereicht wurde und deren Offenbarung hier durch Bezugnahme aufgenommen wird.
  • In verschiedenen Ausführungsformen kann die synchronisierte Hardware-PTP-Uhrfunktion den Zeitdienstverbrauchern 48 auf dem Host 24 auf verschiedene Weise zugänglich gemacht werden. In einigen Ausführungsformen können die Betriebssysteme des Hosts 24 native Softwaretreiber ausführen, um die synchronisierte PTP-Funktion über den PCIe-Bus 36 des Netzwerkadapters zu identifizieren und die synchronisierte PTP-Funktion als System-PTP-Gerät 68 bereitzustellen. In anderen Ausführungsformen können einige Host-Betriebssysteme eine geeignete Middleware erfordern, die eine API für die Zeitdienstverbraucher bereitstellen würde, um mit der synchronisierten PTP-Funktion über den PCIe-Bus zu interagieren.
  • Die Ausführungsform von 1 beschreibt eine bestimmte Aufteilung der Funktionalität („Arbeitsteilung“) zwischen Software und Hardware oder zwischen allgemeinen Verarbeitungsschaltungen (CPUs 40 im vorliegenden Beispiel) und speziellen Netzwerkverarbeitungsschaltungen (Hardware 44 im vorliegenden Beispiel). In alternativen Ausführungsformen kann jede andere geeignete Partitionierung verwendet werden, einschließlich reiner Software- oder reiner Hardware-Implementierungen. Im vorliegenden Kontext werden die CPUs 40 und die Hardware 44 (mit Ausnahme des Ports 52) gemeinsam als „Schaltkreise“ bezeichnet, die die hier beschriebenen Techniken ausführen. In alternativen Ausführungsformen können die offenbarten Techniken mit jeder anderen geeigneten Schaltung ausgeführt werden. Der Host 24 und der Netzwerkadapter 32 werden auch gemeinsam als „Rechenknoten“ bezeichnet.
  • Die verschiedenen Elemente des Netzwerkadapters (z.B. DPU) 32 und des Hosts 24 können mit geeigneter Hardware, wie z.B. in einem oder mehreren anwendungsspezifischen integrierten Schaltkreisen (ASIC) oder feldprogrammierbaren Gate-Arrays (FPGA), mit Software oder mit einer Kombination aus Hardware- und Softwareelementen implementiert werden. In einigen Ausführungsformen kann jede der CPUs 40 des Netzwerkadapters 32 und/oder jede CPU des Hosts 24 aus einem Mehrzweckprozessor bestehen, der in Software programmiert ist, um die hier beschriebenen Funktionen auszuführen. Die Software kann in elektronischer Form, z.B. über ein Netzwerk, auf den Prozessor heruntergeladen werden, oder sie kann alternativ oder zusätzlich auf nicht-übertragbaren materiellen Medien, wie z.B. einem magnetischen, optischen oder elektronischen Speicher, bereitgestellt und/oder gespeichert werden.
  • 2 ist ein Flussdiagramm, das schematisch ein Verfahren zur Bereitstellung eines isolierten, netzunabhängigen Zeitdienstes durch die DPU 32 gemäß einer Ausführungsform der vorliegenden Erfindung zeigt. Der Ablauf umfasst zwei Zweige, die typischerweise parallel ausgeführt werden. Im ersten Zweig, der den Schritten 84-100 entspricht, empfängt die DPU 32 Pakete aus dem Netz, einschließlich PTP-Paketen, und verwendet die PTP-Pakete, um die PHC 56 auf die Netzwerkzeit abzustimmen. Im zweiten Zweig, der den Schritten 104-108 entspricht, verwendet die DPU 32 die Netzwerkzeit, um einen Zeitdienst für Zeitdienstverbraucher auf dem Host 24 bereitzustellen.
  • In einem Protokollstack-Ausführungsschritt 80 führen die CPUs 40 der DPU 32 den PTP-Daemon 60 aus, der den PTP-Softwarestack implementiert. In einem Paketempfangsschritt 84 empfängt die DPU 32 Pakete vom Netz 28 über den Anschluss 52. In einem Prüfschritt 88 überprüft die Hardware 44 die Klassifizierung der empfangenen Pakete in PTP-Pakete und Nicht-PTP-Pakete. In einem Nicht-PTP-Weiterleitungsschritt 92 sendet die Hardware 44 der DPU 32 jedes Nicht-PTP-Paket über den PCIe-Bus 36 an die Warteschlange(n) 72 des Hosts 24. In einem PTP-Weiterleitungsschritt 96 sendet die Hardware 44 jedes PTP-Paket an die PTP-Warteschlange 64 zur Verarbeitung durch den PTP-Daemon 60. Die PTP-Pakete werden in der Regel von der PHC 56 mit der aktuellen Netzwerkzeit versehen, bevor sie an die Warteschlange 64 weitergeleitet werden.
  • In einem Anpassungsschritt 100 richtet der PTP-Daemon 60 die PHC 56 auf der Grundlage der mit einem Zeitstempel versehenen PTP-Pakete aus. Der PTP-Daemon 60 berechnet in der Regel auf der Grundlage der empfangenen PTP-Pakete Korrekturen, mit denen die PHC 56 an die Netzwerkzeit angepasst wird, und wendet die berechneten Korrekturen auf die PHC an. Das Verfahren kehrt in einer Schleife zum obigen Schritt 80 zurück.
  • Parallel zu den Schritten 84-100 gibt der PTP-Daemon 60 in einem Schritt 104 das dedizierte PTP-Gerät 68 über den PCIe-Bus 36 an den Host 24 frei. In einem Schritt 108 zur Bereitstellung von Zeitdiensten können alle Zeitdienstverbraucher, die auf dem Host 24 laufen, das Gerät 68 abfragen und so die aktuelle Netzwerkzeit erhalten. Das Verfahren kehrt in einer Schleife zum obigen Schritt 80 zurück.
  • In einigen Ausführungsformen umfasst die Anpassung der PHC 56 (in Schritt 100) sowohl eine Frequenzanpassung als auch eine Zeitabweichungsanpassung. Mit einer solchen Anpassung der PHC 56 kann die PTP-Vorrichtung 68 den Zeitdienstverbrauchern 48 einen offsetfreien Wert der aktuellen Netzwerkzeit anzeigen, so dass keine Übersetzungen oder Konvertierungen im Host 24 erforderlich sind.
  • In verschiedenen Ausführungsformen können die Zeitdienstverbraucher 48 die Netzwerkzeitinformationen auf jede geeignete Weise und für jeden geeigneten Zweck verwenden. Der Host kann zeitabhängige Semantik und Operationen verwenden, wie z.B. „Paket X um 8:00 Uhr senden“ oder „Paket Y an Warteschlange Z weiterleiten, basierend auf der Ankunftszeit des Pakets“. Techniken dieser Art werden beispielsweise in der oben zitierten US-Patentanmeldung 2020/0162234 und in der US-Patentanmeldung 16/782,075 behandelt, die am 2. Februar 2020 eingereicht wurde, die dem Rechtsnachfolger der vorliegenden Patentanmeldung zugewiesen ist und deren Offenbarung hier durch Bezugnahme aufgenommen wird.
  • In einer Ausführungsform kann der Host 24 den Zeitdienst nutzen, um seine eigene Uhr mit der PHC 56 der DPU 32 (und damit mit der Netzwerkzeit) zu synchronisieren, ohne dass er einen Teil des PTP-Stacks implementieren muss. Jeder Zeitdienstverbraucher 48 (z.B. eine VM) kann seine Uhr auf ähnliche Weise mit der Netzwerkzeit synchronisieren. Mehrere verschiedene Softwareeinheiten im Host 24 können auf diese Weise synchronisiert werden. Aspekte einer solchen Synchronisation werden auch in der oben zitierten US-Patentanmeldung 2020/0162234 behandelt, deren Offenbarung hier durch Bezugnahme aufgenommen wird. Linux-Verfahren und -Dienste wie PHC2SYS können den Zeitdienst zur Synchronisierung mit der Netzwerkzeit mit geringem oder ohne Software-Overhead nutzen.
  • Obwohl die hier beschriebenen Ausführungsformen hauptsächlich auf verschiedene allgemeine Cloud-Computing-Architekturen abzielen, können die hier beschriebenen Methoden und Systeme auch in anderen Anwendungen eingesetzt werden, z.B. in branchenspezifischen Cloud-Architekturen (z.B. Cloud-Architekturen für die Bereiche Telekommunikation, Medien und Unterhaltung, Finanz-Cloud und dergleichen). Die betreffende Architektur kann im Kern oder am Rande des Netzes implementiert werden. Alternativ können die vorgestellten Techniken auch in Standard-Bare-Metal-Architekturen ohne Cloud/Virtualisierung eingesetzt werden, die für verschiedene branchenorientierte Anwendungen genutzt werden können. In einem Beispiel kann ein Unternehmenskunde die offenbarte Technik verwenden, um zeitkritische Anwendungen auf einem Bare-Metal-Betriebssystem auszuführen, das keinen Zeitprotokoll-Softwarestack unterstützt.
  • Es wird daher deutlich, dass die oben beschriebenen Ausführungsformen als Beispiele angeführt sind und dass die vorliegende Erfindung nicht auf das beschränkt ist, was hierin besonders gezeigt und beschrieben wurde. Vielmehr umfasst der Umfang der vorliegenden Erfindung sowohl Kombinationen und Unterkombinationen der verschiedenen hierin beschriebenen Merkmale als auch Variationen und Modifikationen davon, die dem Fachmann beim Lesen der vorstehenden Beschreibung einfallen würden und die im Stand der Technik nicht offenbart sind. Dokumente, die durch Verweis in die vorliegende Patentanmeldung aufgenommen wurden, sind als integraler Bestandteil der Anmeldung zu betrachten, mit der Ausnahme, dass in dem Maße, in dem Begriffe in diesen aufgenommenen Dokumenten in einer Weise definiert werden, die im Widerspruch zu den in der vorliegenden Beschreibung explizit oder implizit gemachten Definitionen steht, nur die Definitionen in der vorliegenden Beschreibung zu berücksichtigen sind.
  • Es versteht sich, dass die oben beschriebenen Aspekte und Ausführungsformen nur beispielhaft sind und dass im Rahmen der Ansprüche Änderungen im Detail vorgenommen werden können.
  • Jedes Gerät, Verfahren und Merkmal, das in der Beschreibung und (gegebenenfalls) in den Ansprüchen und Figuren offenbart wird, kann unabhängig oder in jeder geeigneten Kombination bereitgestellt werden.
  • Die in den Ansprüchen enthaltenen Bezugszahlen dienen nur der Veranschaulichung und haben keine einschränkende Wirkung auf den Umfang der Ansprüche.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 8370675 [0004]
    • US 2020/0162234 [0005, 0050, 0051]
    • US 16/920772 [0035]
    • US 16779611 [0041]
    • US 16/782075 [0050]

Claims (22)

  1. Ein Netzwerkadapter umfassend: einen Netzwerkanschluss für die Kommunikation mit einem Kommunikationsnetz; eine Hardware-Uhr; und Schaltungen, um: von dem Kommunikationsnetz über den Netzwerkanschluss ein oder mehrere Zeitprotokollpakete empfangen, die eine Netzwerkzeit übermitteln, die zur Synchronisierung von Netzwerkgeräten in dem Kommunikationsnetz verwendet wird; die Hardware-Uhr an die in den Zeitprotokollpaketen übermittelte Netzwerkzeit anzupassen; und die Netzwerkzeit einem oder mehreren Zeitdienstverbraucher zur Verfügung zu stellen, die auf einem von dem Netzwerkadapter bedienten Host laufen.
  2. Der Netzwerkadapter nach Anspruch 1, wobei die Schaltung so gekoppelt ist, dass sie mit dem Host über einen Peripheriebus kommuniziert und die Netzwerkzeit den Zeitdienstverbraucher unter Verwendung eines auf dem Peripheriebus freiliegenden Peripheriebusgeräts zur Verfügung stellt.
  3. Der Netzwerkadapter nach Anspruch 2, wobei das Peripheriebusgerät ein Read-Only-Bus-Gerät ist, das Informationen nur unidirektional vom Peripheriebus zum Host überträgt.
  4. Der Netzwerkadapter nach einem der Ansprüche 1 bis 3, wobei die Schaltung einen Prozessor umfasst, der so gekoppelt ist, dass er Software ausführt, die die Hardware-Uhr anpasst.
  5. Der Netzwerkadapter nach Anspruch 4, wobei die Zeitprotokollpakete einem Zeitsynchronisationsprotokoll entsprechen und wobei der Prozessor so gekoppelt ist, dass er einen Softwarestack des Zeitsynchronisationsprotokolls ausführt, wobei der Softwarestack die Hardware-Uhr an die Netzwerkzeit anpasst.
  6. Der Netzwerkadapter nach einem der vorhergehenden Ansprüche, wobei die Schaltung so gekoppelt ist, dass sie den Zeitprotokollpaketen Zeitstempel mit einer definierten Zeitstempelgenauigkeit zuweist, und wobei der Prozessor so gekoppelt ist, dass er die Hardware-Uhr mit einer Genauigkeit anpasst, die der Zeitstempelgenauigkeit entspricht.
  7. Der Netzwerkadapter nach einem der vorhergehenden Ansprüche, wobei die Schaltung so gekoppelt ist, dass sie die Zeitprotokollpakete vom Host isoliert.
  8. Der Netzwerkadapter nach einem der vorhergehenden Ansprüche, wobei die Zeitprotokollpakete einem Zeitsynchronisationsprotokoll entsprechen und wobei die Schaltung so gekoppelt ist, dass sie eine Steuerebene des Zeitsynchronisationsprotokolls von dem Host isoliert.
  9. Der Netzwerkadapter nach einem der vorhergehenden Ansprüche, wobei die Schaltung so gekoppelt ist, dass sie auf der Grundlage der empfangenen Zeitprotokollpakete eine oder mehrere Korrekturen berechnet, die die Hardware-Uhr an die Netzwerkzeit anpasst, und die berechneten Korrekturen auf die Hardware-Uhr anwendet.
  10. Der Netzwerkadapter nach einem der vorhergehenden Ansprüche, wobei die Schaltung so gekoppelt ist, dass sie sowohl eine Frequenz als auch einen Zeitversatz der Hardware-Uhr an die Netzwerkzeit anpasst, um dem Host einen offsetfreien Wert der Netzwerkzeit zur Verfügung zu stellen.
  11. Der Netzwerkadapter nach einem der vorhergehenden Ansprüche, wobei die Schaltung so gekoppelt ist, dass sie einen Wert der Netzwerkzeit zur Verfügung stellt, der von den Zeitdienstverbrauchern ohne Übersetzung oder Umwandlung verwendet werden kann.
  12. Der Netzwerkadapter nach einem der vorhergehenden Ansprüche, wobei die Schaltung ferner so gekoppelt ist, dass sie dem Host gleichzeitig mit der Bereitstellung der Netzwerkzeit für den Host Netzwerkdienste zur Verfügung stellt.
  13. Ein Rechenknoten umfassend: einen Host, der einen oder mehrere Prozessoren zum Ausführen eines oder mehrerer Zeitdienst-Verbraucherprozesse umfasst; und einen Netzwerkadapter, der einen Hardware-Taktgeber umfasst und mit diesem gekoppelt ist: von einem Kommunikationsnetz ein oder mehrere Zeitprotokollpakete empfangen, die eine Netzwerkzeit übermitteln, die zur Synchronisierung von Netzwerkgeräten in dem Kommunikationsnetz verwendet wird; Angleichung der Hardware-Uhr an die in den Zeitprotokollpaketen übermittelte Netzwerkzeit; und die Netzwerkzeit für die auf dem Host laufenden Zeitdienst-Verbraucherprozesse verfügbar machen.
  14. Der Rechenknoten nach Anspruch 13, wobei die im Host laufenden Zeitdienst-Verbraucherprozesse mindestens einem Prozesstyp angehören, der aus einer Gruppe von Typen ausgewählt ist, die aus einer Benutzeranwendung, einer virtuellen Maschine (VM), einem Betriebssystemprozess und einem Container besteht.
  15. Der Rechenknoten nach Anspruch 13 oder 14, wobei der Host und der Netzwerkadapter so gekoppelt sind, dass sie über einen Peripheriebus miteinander kommunizieren, und wobei der Host so gekoppelt ist, dass er die Netzwerkzeit von dem Netzwerkadapter unter Verwendung eines Peripheriebusgeräts erhält, das von den im Host laufenden Zeitdienst-Verbraucherprozessen nach der Netzwerkzeit abgefragt wird.
  16. Der Rechenknoten nach Anspruch 15, wobei das Peripheriebusgerät ein Read-Only-Bus-Gerät ist, das Informationen nur unidirektional vom Peripheriebus zum Host überträgt.
  17. Ein Verfahren in einem Netzwerkadapter, wobei das Verfahren umfasst: Empfangen eines oder mehrerer Zeitprotokollpakete im Netzwerkadapter von einem Kommunikationsnetzwerk, die eine Netzwerkzeit übermitteln, die zur Synchronisierung von Netzwerkgeräten im Kommunikationsnetzwerk verwendet wird; Anpassen einer Hardware-Uhr im Netzwerkadapter an die in den Zeitprotokollpaketen übertragene Netzwerkzeit; und Bereitstellen der Netzwerkzeit für einen oder mehrere Zeitdienstverbraucher, die auf einem vom Netzwerkadapter bedienten Host laufen.
  18. Das Verfahren nach Anspruch 17, bei dem das Bereitstellen der Netzwerkzeit unter Verwendung eines Peripheriebusgeräts durchgeführt wird, das auf einem Peripheriebus liegt, der für die Kommunikation zwischen dem Netzwerkadapter und dem Host verwendet wird.
  19. Das Verfahren nach Anspruch 18, wobei das Peripheriebusberät ein Read-Only-Bus-Gerät ist, das Informationen nur unidirektional vom Peripheriebus zum Host überträgt.
  20. Ein Verfahren ist ein Rechenknoten, wobei das Verfahren umfasst: Ausführen eines oder mehrerer Zeitdienst-Verbraucherprozesse in einem oder mehreren Prozessoren eines Hosts; und in einem Netzwerkadapter, der den Host bedient: Empfangen eines oder mehrerer Zeitprotokollpakete von einem Kommunikationsnetzwerk, die eine Netzwerkzeit übermitteln, die zur Synchronisierung von Netzwerkgeräten in dem Kommunikationsnetzwerk verwendet wird; Anpassen einer Hardware-Uhr im Netzwerkadapter an die in den Zeitprotokollpaketen übertragene Netzwerkzeit; und Bereitstellen der Netzwerkzeit für die auf dem Host laufenden Zeitdienst-Verbraucherprozesse.
  21. Das Verfahren nach Anspruch 20, bei dem die Bereitstellung der Netzwerkzeit über einen Peripheriebus erfolgt, der für die Kommunikation zwischen dem Netzwerkadapter und dem Host verwendet wird, wobei ein Peripheriebusgerät verwendet wird, das von den Zeitdienst-Verbraucherprozessen nach der Netzwerkzeit abgefragt wird.
  22. Das Verfahren nach Anspruch 21, wobei das Peripheriebusgerät ein Read-Only-Bus-Gerät ist, das Informationen nur unidirektional vom Peripherie-bus zum Host überträgt.
DE102022203899.1A 2021-05-06 2022-04-21 Netzwerkadapter, der isolierte, netzunabhängige zeitdienste bereitstellt Pending DE102022203899A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/313,026 2021-05-06
US17/313,026 US20220357763A1 (en) 2021-05-06 2021-05-06 Network Adapter Providing Isolated Self-Contained Time Services

Publications (1)

Publication Number Publication Date
DE102022203899A1 true DE102022203899A1 (de) 2022-11-10

Family

ID=83692308

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022203899.1A Pending DE102022203899A1 (de) 2021-05-06 2022-04-21 Netzwerkadapter, der isolierte, netzunabhängige zeitdienste bereitstellt

Country Status (3)

Country Link
US (1) US20220357763A1 (de)
CN (1) CN115314141A (de)
DE (1) DE102022203899A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11835999B2 (en) 2022-01-18 2023-12-05 Mellanox Technologies, Ltd. Controller which adjusts clock frequency based on received symbol rate

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8370675B2 (en) 2009-01-28 2013-02-05 Mellanox Technologies Ltd. Precise clock synchronization
US20200162234A1 (en) 2018-11-18 2020-05-21 Mellanox Technologies, Ltd. Clock Synchronization

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9344265B2 (en) * 2014-10-15 2016-05-17 Anue Systems, Inc. Network packet timing synchronization for virtual machine host systems
WO2019143447A1 (en) * 2018-01-16 2019-07-25 Qsc, Llc Server support for multiple audio/video operating systems
US10628204B2 (en) * 2018-02-27 2020-04-21 Performance Software Corporation Virtual communication router with time-quantum synchronization
US20200401434A1 (en) * 2019-06-19 2020-12-24 Vmware, Inc. Precision time protocol in a virtualized environment

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8370675B2 (en) 2009-01-28 2013-02-05 Mellanox Technologies Ltd. Precise clock synchronization
US20200162234A1 (en) 2018-11-18 2020-05-21 Mellanox Technologies, Ltd. Clock Synchronization

Also Published As

Publication number Publication date
US20220357763A1 (en) 2022-11-10
CN115314141A (zh) 2022-11-08

Similar Documents

Publication Publication Date Title
US11010358B2 (en) Data migration method and system
DE112011102415B4 (de) Registerzugriff in einer verteilten virtuellen Brückenumgebung
DE112013006063B4 (de) Funktionsübernahme für einen Datenübertragungskanal in einem Netzwerk mit Hochleistungsdatenverarbeitung
US10735283B2 (en) Unique ID generation for sensors
DE112012004550B4 (de) Verfahren, System und Vorrichtung zur Zustandsmigration für einen Remote Direct Memory Access-Adapter in einer virtuellen Umgebung
DE112012001198B4 (de) Verfahren zum Bereitstellen ortsunabhängigen Anschlussspiegelns auf verteilten virtuellen Switches
CN108632338A (zh) 存储系统和用于提供自动存储发现的方法
DE102019105069A1 (de) Technologien zur netzpaketverarbeitung zwischen cloud- und telekommunikationsnetzen
CN108804237A (zh) 数据实时统计方法、装置、存储介质和电子设备
DE112011102242T5 (de) Vorrichtung zum Verarbeiten einer Stapelarbeitseinheit
DE102012221041A1 (de) Ermöglichen des gleichzeitigen Vorhandenseins von Hostrechnern oder virtuellen Maschinen mit identischen Adressen
DE102009043278A1 (de) Netzsynchronisation über IP-Netze
EP3149921B1 (de) Bereitstellung von routerinformationen gemäss einer programmierschnittstelle
CN109547512A (zh) 一种基于NoSQL的分布式Session管理的方法及装置
DE112012002404B4 (de) Konfiguration und Management virtueller Netzwerke
DE102020110143A1 (de) Standortbasierte virtualisierungs-workload-platzierung
DE112020002834T5 (de) Spiegeln von schreiboperationen zwischen datenspeichereinheiten
TW201737669A (zh) 節點管理系統、節點管理方法與電腦可讀取儲存裝置
DE112020006047T5 (de) Steuern von transaktionsanforderungen zwischen anwendungen und servern
DE102013208431A1 (de) Großer verteilter Switch auf Fabric-Basis unter Verwendung virtueller Switches und virtueller Steuereinheiten
DE102017121358A1 (de) Algorithmus mit hohem Durchsatz für die Mehrversions-Parallelverarbeitungssteuerung mit global synchronisierter Zeit
DE102022203899A1 (de) Netzwerkadapter, der isolierte, netzunabhängige zeitdienste bereitstellt
DE202017105777U1 (de) System für hardwareunabhängigen RDMA
CN111837358A (zh) 分布式网络时间协议
DE112018005359T5 (de) Verhindern eines Beibehaltens von Datensatzsperren durch Transaktionen mit langer Laufzeit

Legal Events

Date Code Title Description
R012 Request for examination validly filed