Self-Diagnosing Algorithms for Processor Arrays: Survey and Evaluation