- Peredvizhnikov Engine เป็นเอนจินเกมแบบ lock-free ที่พัฒนาด้วย C++20
- เอนจินนี้ใช้ actor model of concurrent computation บนแนวคิด primitive ของ coroutine ใน C++20 ทำให้สามารถพัฒนาโลจิกที่ซับซ้อนและทำงานแบบขนานได้
- เอนจินที่มีการใช้งานแบบ lock-free มอบข้อดีหลายอย่าง เช่น การรับประกันความคืบหน้า, ปราศจากเดดล็อก, เวลาแฝงที่คาดการณ์ได้, และความทนทานต่อความขัดข้องสูง
- ความทนทานต่อความขัดข้องนั้นแข็งแกร่งถึงขั้นที่แม้ worker thread ใด ๆ จะหยุดทำงานแบบอะซิงโครนัส เอนจินก็ยังคงทำงานต่อได้
- การออกแบบของเอนจินผสมผสานแนวคิดการเขียนโปรแกรม lock-free ทั้งแบบดั้งเดิมและแบบนวัตกรรม โดยมีทั้งการติดตั้งใช้งาน Software Transactional Memory แบบเฉพาะตัว, lock-free queue ชนิดใหม่, และ lock-free
std::atomic_shared_ptr
- เพื่อทำความเข้าใจอัลกอริทึม lock-free ที่ใช้ เหตุผลด้านการออกแบบ และเบนช์มาร์กอย่างครอบคลุม ผู้อ่านควรอ่านเอกสาร Peredvizhnikov Engine: Design and Implementation of a Completely Lock-Free Scheduler
- ขณะนี้ เอนจินรองรับเฉพาะแพลตฟอร์ม Linux และต้องใช้ Clang++ 16 ในการ build ซอร์ส
- ซอร์สโค้ดของ Peredvizhnikov Engine เผยแพร่ภายใต้ไลเซนส์ GPLv3 แต่ผู้เขียนอาจอนุญาตให้ใช้บางส่วนหรือทั้งหมดของโค้ดภายใต้ไลเซนส์อื่นได้เป็นกรณีไป
- Eduard Permyakov ผู้เขียน เปิดรับการติดต่อเกี่ยวกับซอร์สโค้ด อัลกอริทึมพื้นฐาน และโอกาสการจ้างงานที่เป็นไปได้ อีเมลติดต่อของเขาคือ edward.permyakov@gmail.com
ยังไม่มีความคิดเห็น