TCMalloc: Google veröffentlicht eigene Speicherverwaltung – Golem.de – Golem.de

Die Entwickler von Google haben ihr internes Projekt TCMalloc als Open Source auf Github veröffentlicht. Wie der Name schon andeutet, handelt es sich dabei um eine Implementierung der dynamischen Speicherverwaltung Malloc der Progammiersprache C sowie darüber hinaus auch für den Operator new für C++. Der Name steht dabei für Thread-Caching Malloc. Das Projekt soll die standardmäßig vom System genutzte Speicherverwaltung ersetzen und nutzt eben einen Cache für Objekte im Speicher. Letzteres geschieht pro Thread oder pro logischer CPU.

Stellenmarkt

  1. Energie Südbayern GmbH, München
  2. Fraunhofer-Institut für Integrierte Schaltungen IIS, Nürnberg


Von Malloc gibt es viele verschiedene Implementierungen, die von der genutzten Implementierung der Standard-C-Bibliothek abhängen, also etwa Glibc, Musl-Libc oder auch jener aus der LLVM-Compilersammlung. Darüber hinaus gibt es weitere Implementierungen auf Kernel-Ebene und Unterschiede zwischen verschiedenen Betriebssystemen. Eine der wohl bekanntesten eigenständigen Umsetzungen dürfte Jemalloc sein, das in Mozillas Firefox genutzt wird und ebenso in Android, den Datenbanksystemen Cassandra und Redis oder auch dem Varnish HTTP-Cache.

Googles TCMalloc ist dabei zunächst nicht neu. Bereits im Jahr 2011 veröffentlichte das Unternehmen Code dazu als Teil seiner sogenannten Performance Tools. Hauptziel der Implementierung war vor allem, die Geschwindigkeit von Malloc zu erhöhen. Dieses Projekt wird nach wie vor aktiv weiterentwickelt und etwa von der Storage-Software Ceph verwendet.

Bei der nun mit gleichem Namen veröffentlichten Software von Google handelt es sich aber offenbar um eine neue Version des intern stark weiterentwickelten und umgeschrieben Codes. Dem Entwickler Dmitry Vyukov zufolge unterscheiden sich die beiden Versionen stark voneinander. Die neu umgesetzte Zuweisung pro CPU sei etwa in Server-Umgebungen unverzichtbar, in denen Code mit sehr vielen Threads laufe. Ebenso unterstütze das neue TCMalloc Hugepages, die auf x86-Systemen immerhin 2 MByte groß sein könnten. Details zur Funktionsweise liefert die ausführliche Dokumentation auf Github.

Dass Google derartig wichtige Teile des Stapels für Programmiersprache selbst schreibt und anschließend selbst veröffentlicht, ist nicht ungewöhnlich. Mit dem Abseil-Projekt bietet Google etwa auch wichtige Basisbibliotheken für C++ an.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de

  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed

Leave a Reply

Your email address will not be published. Required fields are marked *

Copyright Zitub.com 2020