Global TMW:
Login  |  Register          Free Newsletter Subscription
Subscribe
Email
Print
Reprint
Learn RSS

The technology driving Instrumentation 2.0—multicore processors (Guest commentary)

Multicore processors complement FPGAs and PCI Express as key drivers for Instrumentation 2.0.

David A. Hall, National Instruments -- Test & Measurement World, 8/23/2007 6:47:00 AM

Editor’s note: This article is part 4 in a series on Instrumentation 2.0. Read part 1 (an introduction), part 2 (on PCI Express), and part 3 (on FPGAs).

David A. Hall
Product Marketing Engineer
National Instruments

For as long as there have been instruments, engineers have worked as hard as possible to push them to higher and higher performance limits. Fortunately, multicore processors are helping with this endeavor. Today, you can use software-defined instrumentation to customize measurements and still achieve unprecedented performance. This step function of instrumentation capabilities, called Instrumentation 2.0, is possible only with recent innovations such as PCI Express, field-programmable gate arrays (FPGAs), and now multicore processors. In this article, I’ll explain the challenges of harnessing the capabilities of today’s modern processors and describe the benefits of multicore processors for high-performance automated test applications.

Combining multicore processing and dataflow programming

In recent years, the commoditization of the PC industry has concurrently driven down costs and produced significant innovation. One example of this is the introduction of multicore processors. For years, innovation pushed CPUs to better performance with increasing CPU clock speeds. This last line makes me smile because I can still remember assembling my own PC back in college. I had purchased a 2.8-GHz CPU and made sure I chose a motherboard that I could use to overclock it to 3.2 GHz. You might call me a “geek,” but I made sure that my computer was the fastest in my entire dorm.

Yet, while innovation once drove CPUs to increased clock speeds, this isn’t really practical anymore. As clock rates approach their theoretical physical limits, innovation has taken a new direction, with new processors using multiple processing cores instead of the traditional single core. With more processing cores, modern processors are more capable than ever. Dr. Edward Lee, the Robert S. Pepper Distinguished Professor of Electrical Engineering and Computer Sciences at the University of California, Berkeley, says, “Many technologists predict that the end of Moore’s Law will be answered with increasingly parallel computer architectures. If we hope to continue to get performance gains in computing, programs must be able to exploit this parallelism.”

Multicore processors will make old measurement algorithms faster. But before you purchase the latest quad-core processor, you need to understand how to get the most out of it. In a nutshell, you’ll get the best performance when you design your measurement algorithms to take advantage of parallel processing. Bill Gates explains, “To fully exploit the power of processors working in parallel…software must deal with the problem of concurrency. But as any developer who has written multithreaded code can tell you, this is one of the hardest tasks in programming.”

As Gates highlights, applications will benefit most from multicore technology when they are able to target different processing cores. Writing multithreaded applications in text-based programming languages, such as C, requires expertise in the semantics of creating and managing the threads, and passing data between them in a thread-safe way. By contrast, graphical programming tools, such as NI LabView, are inherently parallel and can automatically generate programs optimized for multiple cores. In LabView, two loops that do not share a data dependency automatically execute in separate threads. This is illustrated in Figure 1. (Click here for Figure 1.)

As the diagram illustrates, you can use the LabView dataflow paradigm to easily configure subroutines to be executed in parallel. As a result, the block diagram in Figure 1 executes about twice as fast on a dual-core CPU as it does on a single-core CPU. Again, this capability is only possible through the inherent multithreaded nature of the LabView block diagram. Because LabView compiles block diagrams to be executed in multiple threads, you can execute parallel applications more efficiently on multicore CPUs.

Multicore for high-performance test

The value of Instrumentation 2.0 architectures is that their use of a high-throughput data bus and PC processors results in greater instrument performance. In the following section, I’ll provide some benchmarks that illustrate the performance increases you can achieve with parallel measurement programming techniques.

Consider all of the components on a wireless handset that must be tested. On a typical device, a manufacturer must test audio, video, RF, USB connectivity, and other signals. The complexity of testing wireless devices combined with the increasing pressure to reduce the cost of production test demands a high-performance test approach. As a result, the ability to perform multiple measurements in parallel has become increasingly important in automated test applications.

Read the other articles in this series:

PCI Express, multicore processors, and FPGAs drive Instrumentation 2.0

The technology driving Instrumentation 2.0—PCI Express

The technology driving Instrumentation 2.0—FPGAs

Fortunately, multicore processors can meet this need through simple parallelization of test algorithms. To understand the benefits, let’s compare a parallel and a serial measurement technique. This experiment involves acquiring two channels of data at 100 Msample/s and performing a fast Fourier transform (FFT) on the result using a PXI Express high-speed digitizer.

While Figure 1 illustrates a parallel programming model, Figure 2 shows the more traditional sequential programming model. (Click here for Figure 2.) In this LabView code, each channel of the two-channel digitizer is fetched sequentially and passed to the FFT function. While you can still execute the algorithm in Figure 2 efficiently on multicore processors, you can achieve real performance benefits by performing an FFT of each channel in parallel. The parallel approach produces a 2X performance improvement on a dual-core CPU when compared to the sequential approach in Figure 2. The results are illustrated in Figure 3, which shows the execution time as a function of block size in samples. (Click here for Figure 3.)

As the example of parallel processing indicates, high-performance automated test applications can achieve even greater performance simply by parallelizing the measurement algorithms. As the benchmark suggests, a truly multithreaded programming language such as LabView helps you achieve real performance gains.

The future with Instrumentation 2.0

As modern consumer electronics continue to increase in complexity and production volume, the demands of automated test instrumentation will continue to increase as well. With Instrumentation 2.0 architectures, the speed of software-defined measurements will continue to improve with each and every advance in the PC industry. To give you an idea of what’s coming, Intel has already promised an 80-core CPU by the year 2011. Fortunately, LabView already provides an easy-to-use tool to harness this potential. Thus, as the PC industry evolves to produce more parallel processing power, instrumentation 2.0 architectures will continue to see performance gains well into the next decade

David A. Hall is the RF and communications product-marketing engineer at National Instruments, where he responsible for driving the growth of RF and Wireless Communications hardware and software. David’s activities include building product demos, providing user feedback, and writing application notes. His particular subjects of expertise include digital signal processing and digital communications systems. Prior to joining the RF team, he helped develop sample code and reference material for base-band I/Q and IF generation and analysis as a product marketing engineer with NI’s signal generators group. David holds a bachelors of science with honors in computer engineering from Penn State University.

Email
Print
Reprint
Learn RSS

Talkback

We would love your feedback!

Post a comment

» VIEW ALL TALKBACK THREADS

Related Content

Related Content

By This Author

Sponsored Links


TMW Resource Center


 
Advertisement
SPONSORED LINKS

More Content

  • Blogs
  • Podcasts

Blogs

  • Martin Rowe
    Rowe's and Columns

    May, 9 2008
    Upgrades include blood pressure
    Every time I install new or upgraded software on my home computers, I can feel my blood pressure ris...
    More
  • Rick Nelson
    Taking the Measure

    May, 6 2008
    Measurement drives green engineering
    Have we reached peak oil? I guess we know where Paul Rako stands on that question, but other observe...
    More
  • » VIEW ALL BLOGS RSS

Podcasts

Advertisements





NEWSLETTERS

Click on a title below to learn more.

Test Industry News (3 Times Per Month)
Machine-Vision & Inspection (Monthly)
Communications Test (Monthly)
Design, Test & Yield (Monthly)
Automotive, Aerospace & Defense (Monthly)
Instrumentation (Monthly)
Resource Center E-Alert (Monthly)
©2008 Reed Business Information, a division of Reed Elsevier Inc. All rights reserved.
Use of this Web site is subject to its Terms of Use | Privacy Policy
Please visit these other Reed Business sites