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