Universidad de Costa Rica

Automatic microprocessor performance bug detection


Colaboradores:
Ing. Erick Carvajal Barboza, PhD.
Autores:
Erick Carvajal Barboza, Sara Jacob, Mahesh Ketkar, Michael Kishinevsky, Paul Gratz, Jiang Hu
Revista:
IEEE International Symposium on High-Performance Computer Architecture (HPCA)
Editor:
URL:
https://ieeexplore.ieee.org/abstract/document/9407243/?casa_token=2JmFCORuNZAAAAAA:gJb7ntZ_JL8bCpYF-bpYPBCV1RDBzy_m675SQglPdT8MOIjqU2sNs2A97KSfIE_Uvc8LEo9Szmwj
Laboratorios:
Laboratorio de Investigación en Microelectrónica y Arquitectura de computadores (LIMA)

Resumen:

Processor design validation and debug is a difficult and complex task, which consumes the lion's share of the design process. Design bugs that affect processor performance rather than its functionality are especially difficult to catch, particularly in new microarchitectures. This is because, unlike functional bugs, the correct processor performance of new microarchitectures on complex, long-running benchmarks is typically not deterministically known. Thus, when performance benchmarking new microarchitectures, performance teams may assume that the design is correct when the performance of the new microarchitecture exceeds that of the previous generation, despite significant performance regressions existing in the design. In this work we present a two-stage, machine learning-based methodology that is able to detect the existence of performance bugs in microprocessors. Our results show that our best technique detects 91.5% of microprocessor core performance bugs whose average IPC impact across the studied applications is greater than 1% versus a bug-free design with zero false positives. When evaluated on memory system bugs, our technique achieves 100% detection with zero false positives. Moreover, the detection is automatic, requiring very little performance engineer time.

© 2020 Escuela de Ingeniería Eléctrica, Universidad de Costa Rica.