- Peredvizhnikov Engine é um engine de jogos lock-free desenvolvido com C++20.
- Este engine usa o actor model of concurrent computation sobre os primitivos de corrotinas do C++20, permitindo o desenvolvimento de lógica complexa e paralela.
- Um engine com implementação lock-free oferece várias vantagens, como progresso garantido, ausência de deadlocks, latência previsível e alta tolerância a falhas.
- A tolerância a falhas é robusta a ponto de o engine continuar rodando mesmo que qualquer uma das threads de trabalho seja encerrada de forma assíncrona.
- O design do engine mistura ideias tradicionais e inovadoras de programação lock-free, incluindo uma implementação própria de Software Transactional Memory, um novo tipo de fila lock-free e
std::atomic_shared_ptr lock-free.
- Para uma compreensão abrangente dos algoritmos lock-free utilizados, da lógica de design e dos benchmarks, recomenda-se que os leitores consultem o documento Peredvizhnikov Engine: Design and Implementation of a Completely Lock-Free Scheduler.
- No momento, este engine oferece suporte apenas à plataforma Linux, e é necessário o Clang++ 16 para compilar o código-fonte.
- O código-fonte do Peredvizhnikov Engine é disponibilizado sob a licença GPLv3, mas o autor pode, em alguns casos, conceder permissão para usar parte ou a totalidade do código sob outra licença.
- O autor, Eduard Permyakov, está aberto a consultas sobre o código-fonte, os algoritmos principais e possíveis oportunidades de trabalho. Seu e-mail de contato é edward.permyakov@gmail.com.
Ainda não há comentários.