有关网络处理器的最荒诞说法是它们易于编程。事实上,情况常常完全相反。
就软件的复杂性和开发工作量来看,各种网络处理器之间有着巨大的差别,这些差别将显著影响相对于实际系统寿命的与软件有关的成本。实际上,软件成本常常远远高于网络处理器本身的成本。特别地,软件将影响产品的上市时间、生命周期成本、开发成本和现场可靠性。
“在基于网络处理器的系统设计中,软件常常是关键所在,” Linley集团总裁Linley Gwennap指出,“每家公司都声称其网络处理器易于编程,但是支持这个说法的数据在哪里呢?”也就是说,这些数据难以找到。
其它荒诞说法还有:所有网络处理器都只需要低水平编程就可以达到良好的性能;只要具有C语言编程能力就可以解决所有的编程问题;将来,来自同一供应商的网络处理器将会保持软件的兼容性并可以实现复用;参考代码可以消除编程难题;以及可以依靠第三方公司来解决基础性的编程能力问题。align=RIGHT VSPACE=12 HSPACE=12 ALT="">
从神话回到现实,业界需要采用逐项比较方式建立现实的、以性能关键的软件测试基准。一种可行的方式是:要求各家公司公布与他们报告的所有面向标准性能基准结果的应用软件。这样,业界可以直接对在各个网络处理器上建立实际的应用软件所要付出的工作量进行比较。而拥有面向多种网络处理器的软件实现方案的第三方公司也可以展示其软件对基准问题的运行结果。
业界也应促使各家公司公开和提供用于基准测试的库子程序文档,如能要求提供基准软件的库源代码则更好。当在某个网络处理器上开发应用软件之前,OEM可以使用这些数据来估计该处理器的软件复杂性和软件规模(按代码行数)。软件更简单和代码行数更少意味着开发成本更低、软件缺陷更少、可靠性更高和开发速度更快。
最近,Agere系统公司从两家独立的第三方公司收集了一些软件基准数据,并把这些结果应用到一些真实的应用软件中。然后,公司使用标准的软件成本和质量模型对多种网络处理器的软件规模和复杂性对实际系统生命周期的影响进行了估计和比较。分析结果表明,在不同的网络处理器之间,生命周期成本的差别达到40到50倍,现场故障可靠性的差别达到24到32倍。导致这个结果的根源是不同的网络处理器所需要的代码行数差别巨大。因而,合理选择网络处理器意味着可以节省数千万美元的成本。
作者:Mark Granahan
Agere系统公司多业务网络部副总裁。
京公网安备 11011202001138号
