United Business Media EE Times


Search

HOMEMARKET INTELLIGENCE UNITFORUMSDESIGNNEW PRODUCTSCAREERSBLOGSCONTACTEVENTSSIGN UP!RSSMost Popular contentTrusted Sources

 


Making benchmarks truly useful
Print this article Email this article Reprints RSS Digital Edition

EE Times


BIER_JEFFLast month, I took part in a panel discussion on benchmarking. The theme was how to benchmark multithreaded and multicore processors. In my view, this theme highlights a key problem with many benchmark approaches: Too many benchmarks are designed to exercise hardware features, rather than to provide information that system developers need.

In most embedded applications, system developers care about high-level system attributes, such as low cost, long battery life and high throughput. System developers generally don't care how a solution delivers these top-level attributes; they care only about how well it does so. Therefore, benchmarks should be built from the top down, based on application requirements-and not from the bottom up, based on preconceived notions of what sorts of hardware will be used in the application.

Steer clear of assumptions
More generally, benchmark designers should avoid making assumptions about the hardware whenever possible. In many embedded applications, such as the signal processing applications on which my company focuses, system designers have great latitude to select among very different kinds of processing engines. A benchmark designed with one of these classes of hardware in mind is unlikely to give valid results for the other classes of hardware. Therefore, a benchmark that makes unnecessary assumptions about the hardware will have limited utility.

In fact, the need for flexibility extends beyond accommodating all of the hardware options. To be truly relevant, a benchmark also must accommodate the full range of implementation techniques used in the application. For example, developers of signal processing applications almost never build an entire application with plain C code. Even the best compilers sometimes produce very inefficient code, and when they do, a skilled programmer often can make vast improvements with modest effort-perhaps by modifying the C code or by replacing portions of it with assembly code. As a result, a benchmarking approach that relies on plain C code is unlikely to produce useful performance data for signal processing applications.

Another problem with using C-or any other programming language, for that matter-is that this approach isn't appropriate for solutions such as FPGAs, which do not run "software" in the traditional sense. Of course, there are many applications where the best approach is to use an FPGA or other solution that doesn't rely on software. Hence, benchmarks should avoid narrowly specifying the implementation methodology to avoid excluding relevant hardware options.

In summary, setting out to create benchmarks for a specific implementation approach-such as using multi-threaded processors or plain C code-is going about things the wrong way.

Instead, benchmarks should model the application requirements and leave the implementation approach (multiprocessing, multithreading, reconfigurable hardware, hardwired solutions, or what have you) to the benchmark implementer-just as actual applications allow for many different implementation approaches.

Benchmark developers who find themselves designing benchmarks to show off particular features of particular kinds of hardware should ask themselves whether the results are really going to be meaningful. And system designers need to understand the design of a benchmark before accepting and using the results that the benchmark produces. If a benchmark assumes a specific hardware feature or a specific implementation methodology, system designers should proceed with caution.

Jeff Bier, president of Berkeley Design Technology Inc. (www.BDTI.com), a consulting firm providing analysis and advice on DSP technology. Kenton Williston of BDTI contributed to this column.





The views and opinions expressed in this column are strictly those of the author and should not be taken as an editorial position of EE Times or any of its other editors, publications or Web sites.


  Free Subscription to EE Times
First Name Last Name
Company Name Title
Email address
  Click here for your Free Subscription to EETimes Europe
 
CAREER CENTER
Looking for a new job?
SEARCH JOBS
SPONSOR

RECENT JOB POSTINGS
CAREER NEWS
SRC Expands R&D Centers
The Semiconductor Research Corp has added a new center to its university R&D efforts.

For more great jobs, career related news, features and services, please visit EETimes' Career Center.


All White Papers »   

 
Education and
Learning


Learn Now:












Home | About | Editorial Calendar | Feedback | Subscriptions | Newsletter | Media Kit | Contact | Reprints|  RSS|   Digital|  Mobile
Network Websites
International
Network Features




All materials on this site Copyright © 2009 TechInsights, a Division of United Business Media LLC All rights reserved.
Privacy Statement | Terms of Service | About