Subscribe to EDN

The Three Questions of Robustness

June 25, 2007

I’m currently in hot, hot, hot Las Vegas at WORLDCOMP ’07, where I gave a keynote this morning on “Challenges for Consumer Electronics in the 21st Century.” WORLDCOMP is a composite computer science/computer engineering/biotech conference consisting of 25 smaller, co-located conferences. While I’m here, I decided to attend some of the technical sessions. (OK, sometimes I like to pretend that I’m still technical.)

A tutorial I attended this evening offered up a bloggable moment. The tutorial was presented by Professor H J Siegel of the Electrical & Computer Engineering Department of Colorado State University (CSU) in Fort Collins, Colorado. Thirty years ago, I worked down the street from CSU at HP in Fort Collins. So among other things, Professor Siegel and I discussed a great sandwich shop called Avogadro’s Number, which is still around 30 years after my last visit. (Apparently, they’ve added live music.)

Professor Siegel’s tutorial was titled “Robust Resource Allocation for Heterogeneous Parallel and Distributed Computing Systems,” which drew me in given my job at Tensilica, but the bloggable bit has much wider appeal that the tutorial’s title implies. The professor’s work entails developing “robust” systems and he has developed three questions to help quantify “robustness” so that two systems, products, or services that claim to be robust can be objectively compared. Without such quantification, “robust” is nothing more than a squishy marketing term.

So what are the three questions? They are:

  1. What behavior of the system makes it robust? In the case of the multiprocessor systems in Siegel’s tutorial, robust systems satisfied a specific set of throughput and latency constraints as defined by the customer. A robust compiler might be guaranteed to produce correct code for any program that conformed to a specific industry language standard. A simulator might be robust if it never entered an infinite loop from an errant input set.
  2. What uncertainties is the system robust against? For the systems in the tutorial, the uncertainties involved increasing numbers of sensor inputs, which would require more processing power and would therefore reduce processing throughput and increase processing latency to the point of violating constraints on these two parameters. For a compiler, it might be proper error messages for any syntactically incorrect statement.
  3. Quantitatively, exactly how robust is the system? For the systems in the tutorial, the figure of merit for this question was the smallest number of incremental sensor inputs that would cause latency or throughput violations.

I think Professor Siegel’s three questions have broad utility in all aspects of system design and I challenge you to think about them within the context of your own work. How could Siegel’s three questions help you?

Posted by Steve Leibson on June 25, 2007 | Comments (0)
POST A COMMENT
Display Name
captcha

Before submitting this form, please type the characters displayed above. Note the letters are case sensitive:

Advertisement
Advertisement
Advertisement
About EDN   |   Site Map   |   Contact Us   |   Subscription   |   RSS
© 2012 UBM Electronics. All rights reserved.
Use of this Web site is subject to its Terms of Use | Privacy Policy

Please visit these other UBM Canon sites

UBM Canon | Design News | Test & Measurement World | Packaging Digest | EDN | Qmed | Pharmalive | Appliance Magazine | Plastics Today | Powder Bulk Solids | Canon Trade Shows