The biggest myth about network processors is that they are easy to program. In fact, the opposite is usually the case.
There are tremendous differences among network processors in terms of the required software complexity and effort-differences that can significantly affect software-related costs over the life of deployed systems. Software costs can easily dwarf the cost of the network processors themselves. Specifically, software influences time-to-market, life time cost of ownership, development costs and field reliability.
"Software is often the critical path in network processor-based system designs," Linley Gwennap, president of The Linley Group, said at the recent NPC East conference. "Everyone says their network processor is easy to program. But where is the data to prove it?"
Tough to find, to say the least.
Among the myths are that all network processors need low-level programming for good performance, that C programmability solves all programming issues, that future net processors from the same supplier will preserve software compatibility and enable reuse, that reference code eliminates programming headaches and that third parties will solve fundamental programmability problems.
To shift from mythology to reality, the industry needs real-world, performance-critical software benchmarks-using "apples to apples" comparisons. One way to do that: require companies to publish associated application software for any standard performance benchmark results they report. That way the industry could directly compare the effort needed to build real applications on the associated network processor. It would also allow third parties that may have software implementations for multiple network processors to showcase benchmark results with their software.
The industry should also make companies disclose and document library routines used for benchmarking-or, better yet, require library source code to be delivered with the benchmark. OEMs could use the data to estimate the software complexity and size (in lines of code) they would need to develop their application on the network processors they are evaluating. Simpler software and fewer lines of code lead to lower development costs, fewer software bugs, higher reliability and faster delivery.
Recently, Agere Systems gathered software benchmark data from two independent third parties, scaled the results up to real-world apps and used standard software cost and quality models to estimate what the software size and complexity differences would mean over the life of real systems. The analysis showed a 40 to 50 times difference in lifetime costs and a 24 to 32 times difference in field defect reliability among network processors. The results stem from the huge difference in the required lines of code-one that can translate to tens of millions of dollars in savings, depending on the network processor selected.
For more on netprocessor software costs see www. agere.com/enterprise_metro_access/docs/npc-east-03-npprogv5.pdf.
Mark Granahan is vice president of the Multiservice Networking Division of Agere Systems Inc. (Allentown, Pa.).