-
Peredvizhnikov Engine은 C++20을 사용하여 개발된 락-프리 게임 엔진입니다.
- 이 엔진은 C++20의 코루틴 원시 개념 위에 actor model of concurrent computation을 사용하여 복잡하고 병렬적인 로직 개발이 가능합니다.
- 락-프리 구현의 엔진은 보장된 진행, 데드락-프리, 예측 가능한 대기 시간, 높은 장애 허용성 등 여러 가지 이점을 제공합니다.
- 장애 허용성은 작업 스레드 중 어느 것이 비동기적으로 종료되더라도 엔진이 계속 실행될 정도로 강력합니다.
- 엔진의 디자인은 전통적이고 혁신적인 락-프리 프로그래밍 아이디어를 혼합하여, 고유한 Software Transactional Memory 구현, 새로운 유형의 락-프리 큐, 락-프리 std::atomic_shared_ptr 등을 포함합니다.
- 사용된 락-프리 알고리즘에 대한 종합적인 이해, 디자인 근거, 벤치마크 등을 위해 독자들은 Peredvizhnikov Engine: Design and Implementation of a Completely Lock-Free Scheduler 문서를 검토하도록 권장됩니다.
- 현재, 이 엔진은 리눅스 플랫폼만 지원하며, 소스를 빌드하기 위해서는 Clang++ 16이 필요합니다.
- Peredvizhnikov Engine의 소스 코드는 GPLv3 라이선스에 따라 제공되지만, 저자는 경우에 따라 코드의 일부 또는 전체를 다른 라이선스에 따라 사용할 수 있는 권한을 부여할 수 있습니다.
- 저자인 Eduard Permyakov는 소스 코드, 기본 알고리즘, 잠재적인 고용 기회에 대한 문의에 열려 있습니다. 그의 연락처 이메일은 edward.permyakov@gmail.com입니다.