Putting Faulty Cores to Work
Since the non-cache parts of a core are less regular, compared to on-chip caches, tolerating manufacturing defects in the processing core is a more challenging problem. Due to the lack of effective solutions, disabling non-functional cores is a common practice in industry, which results in a significant reduction in system throughput. Although a faulty core cannot be trusted to correctly execute programs, they observe that for most defects, when starting from a valid architectural state, execution traces on a defective core coarsely resemble those of fault-free executions. In light of this insight, the authors propose a robust and heterogeneous core coupling execution scheme, Necromancer that exploits a functionally dead core to improve system throughput by supplying hints regarding high-level program behavior.