Modeling Out-of-Order Superscalar Processor Performance Quickly and Accurately with Traces
Monday February 14, 2011
12:00 pm - 5317 Sennott Square
AbstractTrace-driven simulation is a widely practiced simulation method. Trace-driven simulation is fast; however, accuracy issues arise when an out-of-order superscalar processor is considered. In this proposal, we propose simulation methods to quickly and accurately model out-of-order superscalar processor performance with reduced traces. We abstract the processor core and focus on the processor's uncore events rather than the processor's internal events. Our approach simplifies the trace simulation and achieves fast simulation speed. Our models determine how to treat a cache miss with respect to other cache misses recorded in the trace by dynamically reconstructing the reorder buffer during simulation and honoring the dependencies between trace items. The preliminary result demonstrates that our first model, pairwise dependent cache miss mode (PDCM), produces highly accurate simulation results with fast simulation speeds compared with an execution-driven simulator. However, PDCM requires a cycle-accurate architecture simulator to generate traces, which becomes too expensive when generating traces for multicore simulation with large core counts. Our second model, In-N-Out, removes such limitation by employing a simple functional simulator for trace generation, and produces relatively accurate simulation results with a very high simulation speed. Motivated by our preliminary results, we propose an efficient multicore simulation framework based on our In-N-Out framework. Once our proposed researches are complete, we expect to have a novel and efficient multicore simulation environment for many out-of-order superscalar processors.
Dissertation AdviserDr. Dr. Sangyeun Cho, Department of Computer Science
Committee MembersDr. Rami Melhem, Department of Computer Science
Dr. Youtao Zhang, Department of Computer Science
Dr. Alex K. Jones, Department of Electrical and Computer Engineering