- Peredvizhnikov Engine est un moteur de jeu lock-free développé en C++20.
- Ce moteur permet de développer une logique complexe et parallèle en s’appuyant sur le actor model of concurrent computation au-dessus des primitives de coroutines de C++20.
- Une implémentation lock-free du moteur offre plusieurs avantages, notamment une progression garantie, l’absence de deadlock, une latence prévisible et une forte tolérance aux pannes.
- Cette tolérance aux pannes est suffisamment robuste pour que le moteur continue de fonctionner même si l’un des threads de travail s’arrête de manière asynchrone.
- La conception du moteur mélange des idées de programmation lock-free traditionnelles et innovantes, et inclut une implémentation unique de la Software Transactional Memory, un nouveau type de file lock-free, ainsi que
std::atomic_shared_ptr lock-free.
- Pour une compréhension approfondie des algorithmes lock-free utilisés, des choix de conception, des benchmarks, etc., il est recommandé aux lecteurs de consulter le document Peredvizhnikov Engine: Design and Implementation of a Completely Lock-Free Scheduler.
- À l’heure actuelle, ce moteur ne prend en charge que la plateforme Linux, et Clang++ 16 est requis pour compiler les sources.
- Le code source de Peredvizhnikov Engine est proposé sous licence GPLv3, mais l’auteur peut, selon les cas, accorder l’autorisation d’utiliser tout ou partie du code sous une autre licence.
- L’auteur, Eduard Permyakov, est ouvert aux questions sur le code source, les algorithmes de base et d’éventuelles opportunités d’emploi. Son adresse e-mail de contact est edward.permyakov@gmail.com.
Aucun commentaire pour le moment.