1588 IEEE TRANSACTIONS ON INSTRUMENTATION AND MEASUREMENT, VOL. 60, NO. 5, MAY 2011
Speeding Localization of Pulsed Signal Transitions
Using Multicore Processors
Lee Barford
Abstract—Microprocessor clock rates—which for three decades
doubled about every 18 months—have essentially stopped increas-
ing. Instead, the number of processor cores (identical processing
units capable of all usual microprocessor functions) in a micro-
processor is increasing exponentially with time. In order to
increase performance as the number of cores increase, a mea-
surement analysis software will have to take advantage of this
parallelism. The objectives of this paper are to study one example
of a measurement analysis having serial dependencies among the
input data and to show that there is a practical parallel algorithm
despite the data dependencies within the measured time series. The
measurement analysis studied is transition localization in digital
signals. A parallel scan-type algorithm is presented. The results
of applying the parallel algorithm on both synthetic data and
actual measured data are presented, and the speedup obtained
on a twenty-four core computer analyzed. The parallel method
produces exactly the same measurement results, bit for bit, as the
original serial method. It is argued that what is desired for this
and many other measurement processing algorithms is scalability
in throughput with number of cores. Such scalability is achieved
by the proposed algorithm, with throughput up to about a dozen
cores.
Index Terms—Parallel algorithms, parallel programming, pulse
measurements, signal analysis, timing jitter.
I. I NTRODUCTION
M
ICROPROCESSOR clock rates—which for three
decades doubled about every 18 months—have essen-
tially stopped increasing. Instead, the number of processor
cores (identical processing units capable of all usual micro-
processor functions) in a microprocessor is increasing expo-
nentially with time. Microprocessor manufacturers assert that
this trend of rapidly increasing parallelism accompanied by
roughly stagnant speed per core will continue indefinitely.
This trend presents a challenge to all fields that use software,
including measurement and building of virtual instrumentation,
because increased speed can now be obtained primarily only by
increasing the amount of parallel processing applied to software
bottlenecks.
Measured data often have characteristics that complicate
the development of parallel algorithms. In particular, many
measurements involve the collection and processing of time
series data. Usually, correct processing of each datum in a
Manuscript received July 2, 2010; revised September 2, 2010; accepted
October 4, 2010. Date of publication December 6, 2010; date of current version
April 6, 2011. The Associate Editor coordinating the review process for this
paper was Dr. V. R. Singh.
The author is with the Measurement Research Laboratory, Agilent Technolo-
gies, Reno, NV 89503 USA (e-mail: lee_barford@ieee.org).
Digital Object Identifier 10.1109/TIM.2010.2090055
Fig. 1. Definition of signal transition instant. l is the upper state boundary of
the low state. h is the lower state boundary of the high state. m is the 50%
reference level. A signal transition instant occurs when the signal crosses first
m when transitioning from below l to above h or vice-versa. This signal is
the beginning of the measured signal used to analyze the performance of the
parallel method proposed below.
time series is dependent on the values of many—maybe even
all—of the preceding data. When such dependencies exist, it is
often far from clear how the processing of the measured data
can be divided among processors. The objectives of this paper
are to study one example of a measurement analysis having
such dependencies and to show that there is a practical parallel
algorithm despite the data dependencies within the measured
time series.
The measurement analysis studied is transition localization
in digital signals: given samples of a digital signal with two
logic levels, identify the times of the transitions between levels.
That is, the output of the analysis is a list of times, one for each
edge in the digital signal, where the transition from a low state
to a high state or from a high state to a low state occurred. This
analysis is an important step in measurements such as pulse
characteristics and of jitter from sampled digital signals.
The computation of transition occurrence instances from
samples, similar to that specified in IEEE Standard 181-2003
[1], is illustrated in Fig. 1. Let l be the upper state boundary
of the low state, that is, the highest voltage where the signal is
considered in the low state. Likewise, let h be the lower state
boundary of the high state. When the signal is between l and
h, it is said to be in the intermediate state. Let m =(l + h)/2,
often called the “50% reference level”. For each transition from
the low to the high state, an adjacent pair of samples x
i
and
x
i+1
are found that surround the signal’s crossing of m. That
0018-9456/$26.00 © 2010 IEEE