【24h】

Cross-ISA machine emulation for multicores

机译:多核的跨ISA机器仿真

获取原文

摘要

Speed, portability and correctness have traditionally been the main requirements for dynamic binary translation (DBT) systems. Given the increasing availability of multi-core machines as both emulation guests and hosts, scalability has emerged as an additional design objective. It has however been an elusive goal for two reasons: contention on common data structures such as the translation cache is difficult to avoid without hurting performance, and instruction set architecture (ISA) disparities between guest and host (such as mismatches in the memory consistency model and the semantics of atomic operations) can compromise correctness. In this paper we address these challenges in a simple and memory-efficient way, demonstrating a multi-threaded DBT-based emulator that scales in an architecture-independent manner. Furthermore, we explore the trade-offs that exist when emulating atomic operations across ISAs, and present a novel approach for correct and scalable emulation of load-locked/store-conditional instructions based on hardware transactional memory (HTM). By adding around 1000 lines of code to QEMU, we demonstrate the scalability of both user-mode and full-system emulation on a 64-core x86_64 host running x86_64 guest code, and a 12-core, 96-thread POWER8 host running x86_64 and Aarch64 guest code.
机译:传统上,速度,可移植性和正确性是动态二进制翻译(DBT)系统的主要要求。鉴于多核计算机既可以作为仿真来宾,也可以作为主机,因此可扩展性已成为另一个设计目标。但是,由于两个原因,它一直是一个难以捉摸的目标:在不影响性能的情况下很难避免对通用数据结构(例如转换缓存)的争用以及来宾和主机之间的指令集体系结构(ISA)差异(例如内存一致性模型中的不匹配)以及原子操作的语义)可能会损害正确性。在本文中,我们以一种简单且内存高效的方式解决了这些挑战,展示了一种以多线程的,基于DBT的仿真器,该仿真器以与体系结构无关的方式进行扩展。此外,我们探索了在跨ISA进行原子操作仿真时所存在的取舍,并提出了一种基于硬件事务存储(HTM)正确且可扩展地仿真负载锁定/存储条件指令的新颖方法。通过向QEMU添加约1000行代码,我们演示了在运行x86_64来宾代码的64核x86_64主机和运行x86_64的12核,96线程POWER8主机上用户模式和整个系统仿真的可伸缩性。 Aarch64访客代码。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号