What's Going On: Heterogeneous Computing

March 9, 2017

Andrew Schmidt is in favor of lowering entry barriers in computing-intensive fields, where fewer obstacles translate into faster innovation.

In his year-end 2016 seminar, Schmidt described the productivity wall that field programmable gate array (FPGA) chips typically encounter, and how a mix of fresh approaches that leverage existing community tools can help overcome those barriers.

The talk to 20 attendees in Arlington, Virginia and Marina del Rey, California was part of ISI's "What's Going On" breakfast series, which deepens researchers' knowledge of work across the Institute. Schmidt began with the concept of heterogeneous computing: systems with multiple processor types whose specialized characteristics enable power and performance gains. Common examples range from graphics processors in super computers to embedded systems with FPGAs.

Once an afterthought, heterogeneous systems are now commanding industry attention, including Intel Corporation's 2015 acquisition of Altera Corporation for nearly $17 billion, its then-largest ever. The stars in these heterogeneous, high-performance computing are FPGAs: highly programmable chips that can change functions while running, theoretically enabling the same chip to power different applications.

FPGA capabilities include network, CPU and memory integration, along with parallelism, scalability and stream processing. Results include vast gains in power efficiency, speed and performance, including up to 60 times power efficiency and 95 percent performance gains. Unfortunately, achieving those gains is difficult and expensive due to complex, time-consuming programming requirements, relatively slow clock speeds and other factors.

Schmidt went on to describe his team's efforts to vault that productivity wall. Their reconfigurable data stream hardware/software architecture (REDSHARC) seeks to make hardware developers more productive by inter-operating and leveraging FPGA devices, tools and technologies. Successful outcomes include new tools for bioinformatics, facial recognition and encryption/decryption. The former is a boon for decoding genomic sequences, reducing compute times from days to minutes.

Another effort essentially applies REDSHARC to natural language processing (NLP) problems, such as enabling rapid language translation. The project to evaluate mapping of NLP-based algorithms into reconfigurable computing kernels (EMBARK) aims to determine how NLP algorithms can be made more efficient for processing on FPGA-based systems. EMBARK doesn't increase accuracy of results, but accelerates computation speed — enabling researchers to experiment with algorithms that can yield better and more useful discoveries and results.

NLP challenges include large data sets, complex models and constantly evolving algorithms. FPGA obstacles include integration, portability and other issues, including inability to squeeze the design into the FPGA device.

Schmidt's approach: encourage users to think of tools, not devices, to improve processing speed. This platform-as- a-service framework leverages existing NLP community toolkits, systematically provisions FPGA parallel resources, and supports dynamic reconfiguration and run- time management. The system then evaluates NLP algorithms and neural nets, matching computation problems to the FPGA resources that will most effectively boost that software's performance and productivity.

Schmidt then offered a breakdown of how EMBARK's gains were achieved in terms of framework, front-end analysis, system assembly and run time. Among the results: clock speeds and programmability improved by up to 10 times, loosening of resource constraints and better run- time management. His team now hopes to integrate EMBARK with user tools and get the results in actual developers' hands.

EMBARK is now being extended to graph analytics and bioinformatics. Potential applications include embedded high- performance computing, front-end design and rapid prototyping. And Schmidt offered to collaborate with other ISI groups to apply FPGA-based systems to their own research goals.

"What's Going On" seminars will continue with Craig Knoblock of ISI's Intelligent Systems division and John Heidemann of its Internet and Networked Systems division. Gully Burns is coordinating the series.