Heterogeneous Computing
18 May 2011
As technology inexorably progresses, the next major breakthrough is never far around the corner. National Instruments deals with over 30,000 companies worldwide across many sectors, providing a unique vantage point across the test and measurement market. This view enables us to be a strategic partner with leading companies in identifying trends and industry best practices, which we communicate annually via our Automated Test Outlook.
The four key trends identified as impacting test and measurement in 2011 revolve around multiple computing nodes, integrating production and validation teams, concurrent design and test, and modular software architectures. In EM&T we will cover each of these trends in greater detail, starting with the trend towards heterogeneous computing.
CPU, GPU, FPGA... or the cloud?
More complex devices under test (DUTs) necessitate more capable test systems. Applications like RF spectrum analysis require inline signal processing and analysis not possible on PC CPUs (Central Processing Units). Furthermore, test systems are generating an unprecedented amount of data, which can no longer be analysed on a single processing unit. To address this, engineers must utilise heterogeneous computing architectures to distribute processing across multiple computing nodes, such as CPUs, GPUs (Graphics Processing Units), FPGAs (Field-Programmable Gate Arrays) and even the cloud.
Each of these has an area within which it excels: CPUs for general-purpose and sequential execution; GPUs for image processing and spectral monitoring; and FPGAs for reliable control and real-time inline processing. FPGAs, unlike CPUs and GPUs, do not have defined instruction sets or processing capabilities. Instead, they are reprogrammable silicon of logic gates that allow users to build custom processors to meet their needs, providing a hardware-timed execution speed that enables a high level of determinism and reliability. This makes FPGAs the ideal solution for testing a variety of complex devices, whether for protocol-aware testing of semiconductors or channel emulation for testing how wireless communications devices will perform when impaired by noise.
The cloud is unique, as it is not a type of processor, but rather a collection of computing resources accessible via the Internet. The power of the cloud is that it frees users from having to purchase and maintain their own computing resources, instead renting processing time and storage space as necessary. Cloud computing use has grown rapidly, with HP predicting that 76% of businesses will pursue some form of it within the next two years.
Whilst it provides access to some of the most powerful computers in the world, cloud computing has the drawback of very high latency, since data is transferred via the Internet. Whilst it is impossible to use in test systems that require deterministic processing capabilities, cloud computing is well-suited for offline analysis and data storage.
Heterogeneous computing provides new and powerful computing architectures, but it also introduces additional complexities in test system development – the most prevalent being the need to learn a different programming paradigm for each type of computing node. For instance, to fully use a GPU, programmers must modify their algorithms to massively parallelise their data and translate the algorithm mathematics to graphics-rendering functions. With FPGAs, it often requires the knowledge of hardware description languages like VHDL to configure specific processing capabilities.
Engineers in the industry are working on a way to abstract the complexities of specific computing nodes. In the case of GPUs, they are developing the Open Computing Language (OpenCL). OpenCL is a programming interface designed to support not only multiple GPU vendor products, but also additional parallel processors like multicore CPUs. Work is also under way to further simplify the configuration of FPGAs. 'High-level synthesis' is an emerging process adopted by some vendors to use high-level, algorithmic-based languages in FPGA programming. Tools like the NI LabVIEW FPGA Module are abstracting away even further the complexities by enabling graphical block diagrams to be converted directly into digital logic circuitry.
Computing node programming is not the only challenge in a heterogeneous computing system. Having more computing resources is not valuable if the data cannot be transferred and acted upon rapidly. PCI Express has emerged as the premier data bus for these peer-to-peer networks in test systems due to its high-throughput, low-latency and point-to-point characteristics. As the backbone of PXI, the PXI Systems Alliance recently released the new PXI MultiComputing specification to guarantee PCI Express, peer-to-peer, heterogeneous computing capabilities between multiple vendors.
The bottom line is that engineers should select their computational methods based on the tasks they need to perform. By utilising a mixture of these processing nodes, engineers can address their increasingly demanding analysis and processing needs.
To find out more about the trends in test for 2011, please visit ni.com/ato
Jeremy Twaits is Technical Marketing Engineer, National Instruments UK & Ireland
Contact Details and Archive...
Related Articles...
Most Viewed Articles...