Three important fault-tolerance issues are treated: (1) how to minimize the testing, reconfiguration, and roll-back time; (2) how to deal effectively with transient faults; and (3) how to allocate spare processing elements (PEs). To improve the overall reliability performance, a reconfiguration algorithm which is distributively executed by all PEs is proposed. This reconfiguration algorithm can also be applied to transient faults. The timing analysis for systolic and wave-front arrays are discussed. A partition and cascade scheme for spare PE distribution is proposed that should significantly improve the system reliability.