Professional Documents
Culture Documents
AbstractSoftware-Based Self-Test (SBST) has emerged as an integrity problems, as well as serious power consumption
effective method for on-line testing of processors integrated in and overheating issues, especially when the circuit has to be
non safety-critical systems. However, especially for multi-core placed in special test modes [2]. For on-line testing, that
processors, the notion of dependability encompasses not only aims at detecting and/or correcting operational faults, test
high quality on-line tests with minimum performance overhead
methods that are based on hardware usually require special
but also methods for preventing the generation of excessive
power and heat that exacerbate silicon aging mechanisms and scheduling in order to avoid overheating that can cause
can cause long term reliability problems. In this paper, we circuit failures and long time reliability problems (e.g.
initially extend the capabilities of a multiprocessor simulator in accelerate silicon aging and wear-out phenomena like
order to evaluate the overhead in the execution of the useful electromigration, Negative Bias Temperature Instability and
application load in terms of both performance and energy Time Dependent Dielectric Breakdown). The
consumption. We utilize the derived power evaluation abovementioned problems are exacerbated for multi-core
framework to assess the overhead of SBST implemented as a processors, where heat dissipation is a real concern and
test thread in a multiprocessor environment. A range of typical temperature-related failures are more likely.
processor configurations is considered. The application load
Reliability in multiprocessor environments is a very
consists of some representative SPEC benchmarks, and various
scenarios for the execution of the test thread are studied hot topic and therefore various works have addressed
(sporadic or continuous execution). Finally, we apply in a different aspects of the problem. However, the majority of
multiprocessor context an energy optimization methodology these works usually address only the problem of intermittent
that was originally proposed to increase battery life for faults and soft-errors (e.g. [3]-[6]). These techniques are
battery-powered devices. The methodology reduces based on duplication of instructions from the actual
significantly the energy and performance overhead without application that may or may not be executed on the same
affecting the test coverage of the SBST routines. hardware and therefore are well suited for detecting short
lived transient faults but not long lived intermittent faults
Keywords- software-based self-testing; hard faults;
multiprocessors; on-line test; low energy optimization
(e.g. related to voltage drops or temperature issues) [7].
Even more so, they are not efficient for the detection of hard
faults, because they are based on actual application
I. INTRODUCTION instructions meaning that they tend to test the same logic
New types of defects appearing in deep submicron repeatedly, while large portions of the processor
technologies require at-speed testing in order to achieve functionality remain untested.
high test quality. Moreover, many types of faults are On-line test methodologies that are able to address the
increasingly difficult to detect during manufacturing testing problem of hard faults in functional units are relatively few
due to voltage stress and power limitations during burn-in (e.g. [1], [8], [9]) and most of them also only consider the
that can cause the test to be ineffective. If such faults escape, performance overhead. An interesting non-intrusive
they are likely to cause hard failures during the useful approach was proposed in [7], targeting the concurrent on-
lifetime of the system. In order to tolerate faults encountered line test of hard faults in simultaneous multi-threaded
during operation, a reliable system requires mechanisms for (SMT) processors using a test thread. Issues related to fault
detection, recovery and repair. Given the existence of low- coverage, generation of high quality vectors, employing the
cost mechanisms for system recovery and repair in assistance of hardware via test points and signature registers
contemporary chip multiprocessors (CMPs) the remaining were not addressed.
major challenge is the development of low-cost defect Software-Based Self-Test has been proposed [10]-[20] as
detection techniques [1]. a low-cost solution for testing of processors integrated in
In the multimillion gate SoC era, design and test non-safety critical applications that can be used either as an
engineers, apart from the usual challenges, also face signal alternative or a supplement to other test methods. It is using
978-1-4244-7723-4/$26.00 2010
c IEEE 62
existing processor resources for test pattern generation and intrusive, since it does not require any hardware
application, with no hardware or frequency overhead for the modifications. However, the impact in performance and
design. Moreover, it can be used for flexible and efficient energy overhead needs to be assessed.
on-line testing, because unlike most hardware solutions, it A brief theoretical analysis of the parameters that
allows to dynamically trade-off between reliability and contribute to power consumption is required in order to set
performance overhead [1]. Finally, the fact that SBST is the scope of the problem. Power consumption in CMOS
performed in normal mode using the processor Instruction circuits can be either static or dynamic. Leakage current
Set Architecture (ISA) alleviates the problem of excessive drawn continuously from the power supply causes static
toggle activity that is beyond the specification of the circuit power dissipation. Dynamic dissipation occurs during output
and can cause immediate circuit failures. However, long switching due to the short-circuit current and
term reliability problems need to be also addressed by charging/discharging of load capacitance. The importance of
energy optimization of the SBST routines. The main static power consumption increases as dimensions scale
contributions of this paper are summarized as follows: down, however current CMOS technologies are dominated
We assess the performance and energy overhead of a by dynamic power consumption. For a single node the latter
SBST test thread strategy using a novel power can be approximated by the following mathematic formula:
evaluation framework that synthesizes the P = C L S Vdd2 f CLK ,
capabilities of different tools.
The SBST test thread we used is not pseudorandom where CL is the equivalent load capacitance, Vdd is the power
as in [7] but deterministic, consisted of routines with supply voltage, S is the number of node switches and fCLK is
proven test capabilities. the operating frequency. Additionally, energy consumption
We evaluate the performance and energy overheads for a period T equals E = PavT and T = N, where Pav is the
in a multi-core processor that executes SPEC average power consumption over period a T, N is the total
benchmarks. number of execution cycles and is the clock period. It is
We apply the low energy optimization methodology apparent from the previous formulas that, for a given circuit
of [21] in a multi-core context in order to reduce the and technology, energy consumption can be reduced if the
energy overhead. test program has small cycle count and low average power
The rest of the paper is organized as follows. Some consumption.
preliminaries are briefly discussed in Section II. Section III However, these two factors cannot always be optimized
highlights the simulation environment and the flow we have simultaneously. A systematic methodology for low energy
used for generating performance overhead and energy optimization of SBST routines was proposed in [21] to
metrics. Experimental results are provided in Section IV. reduce the energy consumption for periodic non-concurrent
Finally, Section V concludes the paper. testing in battery-powered processors. Another important
advantage of that methodology is that it can be applied
II. ENERGY OPTIMIZATION IN THE T EST T HREAD independently before the application of other optimization
STRATEGY methods, such as scheduling algorithms that exploit thread-
The idea of a test thread for the detection of hard faults level parallelism (TLP) to speed up the execution of self-test
was introduced in [7]. The main assumptions of this routines (e.g. [23]) or algorithms for the scheduling of
approach are outlined in the following: the primary thread is online self-test tasks in hard real-time systems (e.g. [24]). In
executed normally in a simultaneous multithreading this paper, after we study the impact of the test thread
environment. When enough resources are available and the strategy in terms of performance and energy we proceed to
overall system load allows it, a secondary or test thread is assess the effectiveness of the methodology proposed in [21]
executed to detect hard faults in the underlying hardware. In in a multi-core, concurrent test scenario, implemented as a
fact, previous works show that even in a system that test thread. The test thread is comprised by deterministic
executes several threads there are often plenty of free high-RTL code [15] for functional units like the MAC,
resources [22]. As the hardware that executes the primary register file and pipeline logic [17], deterministic code
thread is not always the same (e.g. different core in a multi- generated by constrained ATPG according to the
core system or different ALU in a superscalar system), the methodology of [14] for the ALU and MAC adder, as well
test thread is also executed in different hardware, allowing as verification-based functional code for control-oriented
the detection of faults in a broad scope. components as introduced in [15] and extended in [20].
The test thread can be implemented through a variety of
hardware, software or hybrid techniques and its execution III. S IMULATION ENVIRONMENT
can be scheduled from the operating system or the hardware
The power evaluation framework utilized in this paper is
itself if the overall resource utilization is low. It can be
comprised by a combination of tools from the test
executed either sporadically (e.g. before checkpoints) or
technology and computer architecture technical areas. More
continuously. If a pure software approach, based on SBST is
specifically, the SBST routines are selected from a test
used, as the one here, the test thread strategy is entirely non-
Mcf 3,01 17.85% 65.7% coverage because strict equivalence cannot be achieved. The
Parser 2,27 13.26% 61.9% effect of the methodology in terms of test coverage for
Vortex 2,97 15.82% 58.1% different SBST techniques is derived from the nature of the
optimization steps and thus is similar for all routines [21].
TABLE VII. DELAY AND ENERGY OVERHEAD FOR THE
The gains in terms of energy consumption are presented in
ADVANCED PROCESSOR CONFIGURATION CONTINUOUS EXECUTION Table VIII and Table IX.
SPEC 2000 % Delay % Energy TABLE VIII. DELAY AND ENERGY OVERHEAD FOR THE SIMPLE
IPC PROCESSOR CONFIGURATION OPTIMIZED TEST THREAD
Benchmark Overhead Overhead
Apsi 3,50 23.08% 44.0% SPEC 2000 % Delay % Energy
IPC
Fma3d 2,62 18.44% 77.0% Benchmark Overhead Overhead
2-Core
1,67
Vortex 2,53 20.06% 62.7% Mcf 2,82 18.61% 48.9%
Apsi 17.62% 43.3% Parser 1,81 12.75% 45.2%
4,12
Vortex 2,10 15.18% 49.6%
Fma3d 3,42 16.91% 77.4%
4-Core