Compiler-Assisted Source-to-Source Skeletonization of Application Models for System Simulation

Compiler-Assisted Source-to-Source Skeletonization of Application Models for System Simulation
复制标题

系统仿真应用模型的编译器辅助源到源骨架化

DOI:
10.1007/978-3-319-92040-5_7
复制
发表时间:
2018
期刊:
2018 IEEE International Parallel and Distributed Processing Symposium (IPDPS)
影响因子:
--
通讯作者:
S. Rumley
S. Rumley
中科院分区:
--
文献类型:
--
作者:
Jeremiah J. Wilke;J. Kenny;Samuel Knight;S. Rumley

文献摘要

被引文献

相似文献

通过仿真对网络进行性能建模需要将流量注入仿真模型的应用程序端点模型。如今用于系统规模研究的端点模型主要包括事后跟踪重放,但这些离线模拟可能缺乏灵活性和可扩展性。运行所谓的骨架应用程序的在线模拟运行应用程序的简化版本,生成与完整应用程序相同或相似的流量。这些骨架应用程序具有灵活性和可扩展性的优势,但它们通常必须为模拟器本身定制编写。通过编译器工具对现有应用程序源代码进行自动骨架化将以最少的开发工作提供端点模型。这些源到源的转换仅得到了狭窄的探索。我们引入了一种 pragma 语言和相应的 Clang 驱动的源到源编译器,它根据提供的 pragma 注释执行自动骨架化。我们描述了编译器工具链,验证了生成的框架,并展示了生成的仿真模型在 MPI 应用程序示例中超过 100 K 端点的可扩展性。总的来说,我们断言我们提出的自动骨架化方法及其产生的灵活骨架可以成为实现平衡百亿亿次互连设计的重要工具。
Performance modeling of networks through simulation requires application endpoint models that inject traffic into the simulation models. Endpoint models today for system-scale studies consist mainly of post-mortem trace replay, but these off-line simulations may lack flexibility and scalability. On-line simulations running so-called skeleton applications run reduced versions of an application that generate traffic that is the same or similar to the full application. These skeleton apps have advantages for flexibility and scalability, but they often must be custom written for the simulator itself. Auto-skeletonization of existing application source code via compiler tools would provide endpoint models with minimal development effort. These source-to-source transformations have been only narrowly explored. We introduce a pragma language and corresponding Clang-driven source-to-source compiler that performs auto-skeletonization based on provided pragma annotations. We describe the compiler toolchain, validate the generated skeletons, and show scalability of the generated simulation models beyond 100 K endpoints for example MPI applications. Overall, we assert that our proposed auto-skeletonization approach and the flexible skeletons it produces can be an important tool in realizing balanced exascale interconnect designs.