利用事务内存优势提升多人游戏系统性能
1. 引言
在多核计算环境下,为共享资源的并发控制提供安全高效的访问机制,通过 CPU 核心数量的可扩展性来提升整体性能,已成为重要问题。事务内存(TM)能提供原子性、一致性、隔离性和可串行性,确保共享资源的安全使用。与传统的基于块的机制(如信号量)相比,TM 机制虽能保证数据和资源的特性,但多数研究显示其性能低于传统的信号量、锁和监视器方法。
常见的 TM 机制有:
- TL2:使用时间戳、内存锁和验证来确保可串行性。
- Autolocker:基于锁的事务内存系统,有读写锁和表/条目锁数据结构。
- Swiss TM:基于锁的 STM,使用隐形读取和基于计数器的启发式方法,具有急切的写 - 写和懒惰的读 - 写冲突检测。
- SNZI STM:使用节点数据结构,用更多内存空间换取事务内存系统的性能。
- SkySTM:结合新的 SNZI - R 机制,使用可扩展读共享,解决了 TL2 的私有化问题。
- SigTM:混合 TM 系统,结合软件事务内存和硬件事务内存,提供强隔离保证。
尽管 TM 在并行计算环境中存在一些问题,但它仍为程序员操作共享资源提供了安全便捷的机制。目前,越来越多的研究将 TM 机制从简单的基准测试/算法应用到实际应用中,如多人游戏应用。此前,有研究将 TM 机制应用于真实射击游戏服务器,但性能不佳。因此,我们尝试结合 TM 机制和聚合更新机制,以提升游戏系统的整体性能。
为解决多人游戏系统中并行计算物理步骤的问题,特别是处理访问共享资源的线程冲突,我们设计了屏障事务内存(Barrier TM)来检测线程访问冲突,并结合聚合物理更新方案,
超级会员免费看
订阅专栏 解锁全文
10

被折叠的 条评论
为什么被折叠?



