Hermes Vector

Deutsch ·

OpenAI entwickelt Pando, um den Git-Backend für die Entwicklung im großen Maßstab zu skalieren

OpenAI hat Pando vorgestellt, ein neues Git-kompatibles Backend, das für hohe Schreibkonkurrenz und maximale Lesedurchsatz für sein Monorepo konzipiert ist.

Von Hermes-Vector AI Desk · Read in English

Illustration: OpenAI entwickelt Pando, um den Git-Backend für die Entwicklung im großen Maßstab zu skalieren

Kurz gesagt

  • OpenAI hat Pando entwickelt, ein Git-kompatibles Backend, das für hohe Schreibkonkurrenz und hohen Lesedurchsatz konzipiert ist.
  • Pando nutzt ein kausales Konsistenzmodell, um parallele Aktualisierungen von nicht verwandten Zweigen zu ermöglichen.
  • Das System soll die mittlere Push-Latenz um fast das 5-fache reduzieren und liefert täglich fast ein Petabyte an Git-Daten.
  • Pando vermeidet die Generierung einzigartiger Packfiles für jeden Client, indem es bestehende Packfiles wiederverwendet, um Lesungen zu skalieren.

OpenAI hat Pando entwickelt, ein neues Backend für Git-Repositories, das darauf ausgelegt ist, die zunehmende Skalierung und die Anforderungen des Monorepos des Unternehmens zu bewältigen. Laut OpenAI wurde das System entwickelt, um das Niveau der parallelen Arbeit zu unterstützen, das durch Codex ermöglicht wird, ohne bestehende Ingenieursabläufe zu unterbrechen oder die Art und Weise zu ändern, wie das Team Git verwendet.

Skalierbarkeit und Leistung

OpenAI stellt fest, dass Pando entwickelt wurde, um zwei primäre Ziele zu erreichen: die Bereitstellung horizontal skalierbarer Schreibvorgänge, die für parallele Pushes zu vielen Zweigen optimiert sind, und die Maximierung des Lesedurchsatzes, um Clients zu ermöglichen, Daten mit Geschwindigkeiten herunterzuladen, die die verfügbare Netzwerkbandbreite sättigen.

In der Produktion berichtet OpenAI, dass Pando folgende Ergebnisse erzielt hat:

  • Reduzierung der mittleren Push-Latenz um fast das 5-fache.
  • Lieferung von fast einem Petabyte an Git-Daten pro Tag.

Technische Architektur

Um diese Ziele zu erreichen, nutzt Pando ein lockeres Konsistenzmodell namens kausale Konsistenz. Dieser Ansatz ermöglicht es, dass Aktualisierungen von nicht verwandten Zweigen parallel ablaufen, indem Aktualisierungen für jeden Zweig unabhängig koordiniert werden. Laut OpenAI bedeutet dies, dass ein Leser, der mehrere Zweige betrachtet, diese möglicherweise zu unterschiedlichen Zeitpunkten sieht.

Im Gegensatz zu traditionellen Git-Service-Mustern verwendet Pando die folgenden Methoden:

  • Schreiboptimierung: Pando validiert eingehende Packfiles, während sie in den Blob-Speicher gestreamt werden, ohne sie in ein lokales Repository zu entpacken. Es verwendet eine Multi-Key-Transaktion, um Referenzversionen in einem Metadaten-Speicher zu erfassen, was laut OpenAI $O(1)$ Metadaten-Lese- und Schreibvorgänge erfordert.
  • Leseeoptimierung: Pando wiederverwendet Packfiles über Fetches hinweg, anstatt für jeden Client individuelle Packfiles zu generieren. Dies ermöglicht es dem Server, denselben Bytes für viele Clients mit minimalem Rechenaufwand bereitzustellen.

Vergleich mit bestehenden Methoden

OpenAI hat zwei herkömmliche Ansätze zur Skalierung von Git bewertet: Three-Phase-Commit (3PC) und Write-Ahead-Log (WAL) basierte Designs.

Laut OpenAI-Simulationen und Tests:

  • Three-Phase-Commit (3PC): Diese Methode erfordert mehrere Kommunikationsrunden zwischen einem Koordinator und Replikaten, was laut OpenAI zu einer deutlich höheren Schreiblatenz unter Last führt, wenn Festplatten gesättigt sind.
  • Write-Ahead-Log (WAL): Diese Methode verwendet eine gemeinsame Manifest in Blob-Speicher, um Aktualisierungen zu ordnen. OpenAI berichtet, dass diese Systeme eine deutlich höhere Leselatenz aufweisen, da Server Schwierigkeiten haben, dem Lesen aus dem Journal zu folgen.

OpenAI stellt fest, dass Pando viele Tausende von Clients unterstützt, die gleichzeitig pushen, ohne die Leistung unter Last zu beeinträchtigen.


Quellen (auf Englisch)

KI-Übersetzung des englischen Originalartikels, automatisch geprüft, damit sie dasselbe aussagt wie das Original. Die Quellen wurden auf Englisch geprüft.

Advertisement

How do you feel about this story?

Comments 0

No comments yet. Start the discussion.

OpenAI entwickelt Pando, um den Git-Backend für die Entwicklung im großen Maßstab zu skalieren | Hermes Vector