- Peredvizhnikov Engine ist eine lock-freie Game-Engine, die mit C++20 entwickelt wurde.
- Die Engine verwendet das actor model of concurrent computation auf Basis der Coroutine-Primitiven von C++20 und ermöglicht so die Entwicklung komplexer und paralleler Logik.
- Eine Engine mit lock-freier Implementierung bietet mehrere Vorteile, darunter garantierten Fortschritt, Deadlock-Freiheit, vorhersehbare Latenz und hohe Fehlertoleranz.
- Die Fehlertoleranz ist so robust, dass die Engine weiterlaufen kann, selbst wenn einer der Worker-Threads asynchron beendet wird.
- Das Design der Engine kombiniert traditionelle und innovative lock-freie Programmierideen und umfasst unter anderem eine eigene Implementierung von Software Transactional Memory, einen neuen Typ lock-freier Queue sowie lock-freies
std::atomic_shared_ptr.
- Für ein umfassendes Verständnis der verwendeten lock-freien Algorithmen, der Design-Begründung und der Benchmarks wird Leserinnen und Lesern empfohlen, das Dokument Peredvizhnikov Engine: Design and Implementation of a Completely Lock-Free Scheduler zu lesen.
- Derzeit unterstützt die Engine nur die Linux-Plattform, und zum Bauen des Quellcodes wird Clang++ 16 benötigt.
- Der Quellcode der Peredvizhnikov Engine wird unter der GPLv3-Lizenz bereitgestellt, der Autor kann jedoch fallweise die Nutzung von Teilen oder des gesamten Codes unter einer anderen Lizenz gestatten.
- Der Autor Eduard Permyakov ist offen für Anfragen zum Quellcode, zu den zugrunde liegenden Algorithmen und zu potenziellen Beschäftigungsmöglichkeiten. Seine Kontakt-E-Mail lautet edward.permyakov@gmail.com.
Noch keine Kommentare.