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
期刊:
影响因子:
--
通讯作者:
S. Rumley
中科院分区:
文献类型:
--
作者:
Jeremiah J. Wilke;J. Kenny;Samuel Knight;S. Rumley
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.