- Peredvizhnikov Engine es un motor de juegos lock-free desarrollado con C++20.
- Este motor permite desarrollar lógica compleja y paralela utilizando el actor model of concurrent computation sobre los conceptos primitivos de corrutinas de C++20.
- Un motor con implementación lock-free ofrece varias ventajas, como progreso garantizado, ausencia de deadlocks, latencia predecible y alta tolerancia a fallos.
- Su tolerancia a fallos es lo bastante robusta como para que el motor siga ejecutándose aunque cualquiera de los hilos de trabajo termine de forma asíncrona.
- El diseño del motor mezcla ideas tradicionales e innovadoras de programación lock-free, e incluye una implementación propia de Software Transactional Memory, un nuevo tipo de cola lock-free y
std::atomic_shared_ptr lock-free.
- Para obtener una comprensión integral de los algoritmos lock-free utilizados, la justificación del diseño y los benchmarks, se recomienda a los lectores revisar el documento Peredvizhnikov Engine: Design and Implementation of a Completely Lock-Free Scheduler.
- Actualmente, este motor solo es compatible con la plataforma Linux, y para compilar el código fuente se requiere Clang++ 16.
- El código fuente de Peredvizhnikov Engine se ofrece bajo la licencia GPLv3, pero el autor puede, según el caso, otorgar permiso para usar parte o la totalidad del código bajo otra licencia.
- El autor, Eduard Permyakov, está abierto a consultas sobre el código fuente, los algoritmos base y posibles oportunidades de contratación. Su correo de contacto es edward.permyakov@gmail.com.
Aún no hay comentarios.