Proceedings of the 2017 Winter Simulation Conference W. K. V. Chan, A. D’Ambrogio, G. Zacharewicz, N. Mustafee, G. Wainer, and E. Page, eds. A BRIEF HISTORY OF HPC SIMULATION AND FUTURE CHALLENGES Kishwar Ahmed School of Computing and Information Sciences Florida International University Miami, FL 33199, USA Jason Liu School of Computing and Information Sciences Florida International University Miami, FL 33199, USA Abdel-Hameed Badawy Klipsch School of Electrical & Computer Engineering New Mexico State University Las Cruces, NM, USA Stephan Eidenbenz Information Sciences (CCS-3) Los Alamos National Laboratory Los Alamos, NM, USA ABSTRACT High-performance Computing (HPC) systems have gone through many changes during the past two decades in their architectural design to satisfy the increasingly large-scale scientific computing demand. Accurate, fast, and scalable performance models and simulation tools are essential for evaluating alternative architecture design decisions for the massive-scale computing systems. This paper recounts some of the influential work in modeling and simulation for HPC systems and applications, identifies some of the major challenges, and outlines future research directions which we believe are critical to the HPC modeling and simulation community. 1 INTRODUCTION High-performance Computing (HPC) systems today consist of hundreds of thousands of compute nodes, and can perform tens or hundreds of quadrillion floating point operations per second (Tsay 2013, Courtland 2016)). HPC architectures have gone through rapid changes to facilitate the increasing computational demand of scientific applications in many areas, such as astrophysics, particle physics, earth and climate science, computational chemistry, computational biology, and so on. Novel technologies, for example, many- core processors, GPUs, persistent memory, and complex interconnection networks, have been introduced constantly to fulfill the increasing scale and performance of such systems. With the changing hardware architectures also comes the changing software design and implementation of scientific applications in order to take best advantage of the new computing resources. Modeling and simulation plays an important role for performance prediction and analysis of current and future HPC systems. It can be particularly useful for evaluating the whole-system impact when new components are introduced, for comparing the performance of different system design alternatives, and for locating performance issues of computational code on novel HPC platforms even before their realization. It is thus not surprising to see many HPC models and simulation tools created in the past for exactly the same purposes. They model the HPC systems at different granularity: some are created to study specific components of the HPC systems (processors, memory, interconnect, storage, and so on), and others are meant for studying the overall system performance in aggregate. The important difference lies in the accuracy-performance trade-off that has been applied to effectively capture the salient features of the target system.