Man könnte meinen, dass das Synchronisieren der Uhren über eine Flotte moderner Server ein gelöstes Problem ist, aber es ist tatsächlich eine ziemlich schwierige Herausforderung zu lösen, insbesondere wenn Sie eine Genauigkeit im Nanosekundenbereich erreichen möchten. Das bedeutet auch, dass es ein Axiom in der Informatik bleibt, dass man niemals ein System basierend auf der Uhrzeit bauen sollte. Uhrwerk.iodas heute eine Finanzierungsrunde der Serie A in Höhe von 21 Millionen US-Dollar ankündigt, verspricht, dies mit einer Synchronisierungsgenauigkeit von nur 5 Nanosekunden mit Hardware-Zeitstempeln und Hunderten von Nanosekunden mit Software-Zeitstempeln zu ändern.
Basierend auf dieser Arbeit bringt das Unternehmen heute auch sein erstes Produkt auf den Markt, Latency Sensei, das seinen Benutzern extrem detaillierte Latenzdaten in ihren Cloud-, On-Premises- und Hybridumgebungen liefern kann, die sie dann verwenden können, um Engpässe zu finden und abzustimmen ihre Netzwerke. Zu den Kunden des Unternehmens gehören bereits Nasdaq, Wells Fargo und RBC.
Bildnachweis: Uhrwerk
Das Startup wurde von Yilong Geng, Deepak Merugu und Stanfords „VMware Founders Professor of Computer Science“ Balaji Prabhakar gegründet, wobei VMware-Mitbegründer und Stanford-Informatikprofessor Mendel Rosenblum als Vorstandsmitglied und leitender Wissenschaftler fungierte. Angesichts des Stammbaums dieser Gruppe ist es keine Überraschung, dass die Kernforschung hinter dem System von Clockwork auf grundlegender akademischer Forschung basiert, die das Team in Stanford durchgeführt hat.
Das Network Time Synchronization Protocol (NTP), das Standardformat, das die meisten Computer heute zum Synchronisieren von Uhren verwenden, ist allgegenwärtig, aber nicht sehr genau. Es wurde daran gearbeitet, dies zu verbessern, beispielsweise hat Facebook letztes Jahr eine Hardwarelösung zum Open Compute Project beigetragen, aber das Clockwork-Team verspricht eine weitaus größere Genauigkeit.
„Manchmal konnte ich sie in Rechenzentren nicht dazu bringen, sich auf eine Sekunde zu einigen. Mein Telefon und die Basisstation hier stimmen wahrscheinlich im zweiten überein. Dann wird man immer feiner und feiner und feiner – bis in die Mikrosekunden und Nanosekunden. Das ist sehr schwer. Für zwei Uhren ist es sehr schwierig, genau zu wissen, in welcher Nanosekunde sie sich befinden“, erklärte Prabhakar. Er bemerkte, dass es auch nicht gut genug sei, diese Uhren einmal zu synchronisieren. Sie müssen sie auch synchron halten. Sie können hochgenaue Uhren in einen Server einbauen, die immun gegen Temperaturschwankungen und Vibrationen sind, aber diese Uhr würde schnell teurer als der Server selbst.
![1647455464 659 Clockwork sammelt 21 Millionen US Dollar um Serveruhren synchron zu halten](https://earthpressnewscdn.cloudspecter.com/de/wp-content/uploads/2022/03/1647455464_659_Clockwork-sammelt-21-Millionen-US-Dollar-um-Serveruhren-synchron-zu-halten.png)
Bildnachweis: Uhrwerk
Um dieses Problem zu lösen, baute das Team ein System und ein maschinelles Lernmodell, mit dem es sehr genau messen kann, wie lange es dauert, bis ein Zeitstempel auf einem bestimmten Server ankommt. Das unterscheidet sich nicht so sehr von der Funktionsweise von NTP, aber das Team geht noch ein paar Schritte weiter, indem es sich eine Vielzahl von Zeitstempeln ansieht und dann sowohl den Offset der Uhr als auch die relative Frequenzdifferenz erhält. All dies fließt dann in das maschinelle Lernmodell ein. Darüber hinaus baute das Team das System auch so, dass die verschiedenen Uhren miteinander kommunizieren und erkennen (und korrigieren) können, wenn sie nicht synchronisiert sind.
In Ermangelung vertrauenswürdiger Zeitstempel mussten sich verteilte Systeme lange Zeit auf uhrlose Designs verlassen, was den Aufbau komplexer Systeme noch komplexer macht. Das Clockwork-Team hofft, dass seine Arbeit es Forschern ermöglichen wird, mit neuen zeitbasierten Algorithmen in einer Reihe von Problembereichen wie Datenbankkonsistenz, Ereignisreihenfolge, Konsensprotokollen und Ledgern zu experimentieren.
Die ursprüngliche Forschung des Teams von Rosenblum und Prabhakar drehte sich ausschließlich darum, was man tun könnte, wenn man den Uhren in einem verteilten System vertrauen könnte.
„Derzeit nutzt niemand Zeit, außer vielleicht Spanner bei Google, CockroachDB oder jemand, der sich mit Datenbanken beschäftigt“, sagte Rosenblum. „Wir glauben, dass es viel mehr Orte gibt, zumal immer mehr zeitkritische Dinge auftauchten. Wir können die Zeit synchronisieren, da wir herausgefunden haben, wie das ziemlich gut geht. Und so fragten wir: Ist das Teil eines Trends, bei dem wir anfangen, diese Systeme anders zu programmieren? Und [researchers] Ich war irgendwie aufgeregt über die Möglichkeit, dass wir das durchziehen können.
Nachdem die Synchronisationsprobleme gelöst sind, versucht das Clockwork-Team nun, Produkte darauf aufzubauen, beginnend mit Latency Sensei. Aber Prabhakar merkte auch an, dass das Team bereits an einem anderen Projekt arbeitet, das es einfacher macht, Überlastungen in Rechenzentren zu erkennen. TCP sei großartig für Wide-Area-Netzwerke, aber innerhalb des Rechenzentrums sei es ziemlich verschwenderisch. Aber wenn Sie mehr über das Netzwerk – und seine Latenzen – wissen, könnte dies wiederum verwendet werden, um dem TCP-Protokoll bessere Hinweise darauf zu geben, wie Pakete am besten innerhalb des Rechenzentrums weitergeleitet werden.
Die Serie-A-Runde des Unternehmens wurde von NEA geleitet, mit Beteiligung bekannter Angel-Investoren, darunter MIPS-Mitbegründer John Hennessey, früher Google-Investor Ram Shriram und Yahoo-Mitbegründer Jerry Yang.