论文部分内容阅读
本文主要研究面向网络处理器的软件组件技术。
组件技术通常使用在大型的、分布式的应用中,例如:Microsoft的DCOM,SUNEJB等,这些技术在软件工程上有很好的效果。最近,组件技术也被使用到嵌入式系统中,嵌入式系统中的组件技术与通常的组件有些不同,除了在软件复用上的考虑,它主要强调软件性能工程,以适应嵌入式系统对实时的性能要求。大型和小型的嵌入式系统也不相同,小型的嵌入式系统更加强调性能和产生整块(monolithic)的固件,而大型的嵌入式系统则对互操作性的要求更高。基于网络处理器的系统在这两方面都有要求(例如主动网络对动态重配置的需求),而且网络应用本身有它自己的特点,因此有必要对面向网络处理器的组件技术进行讨论,一方面考虑应用的特点,另一方面抽取硬件平台的特征。本文的研究方法和路线如下:
1.抽象基于网络处理器的系统的计算模式,对系统行为进行说明;
2.基于给定的计算模式,应用组件技术(包括组件模式和框架)提高软件开发的效率;
3.组件模式的设计反映计算模式和硬件的特点,对个体组件的性能进行分析和预测;
4.应用计算模式的理论,对由个体组件组合而成的系统性能进行分析和预测。
主要研究内容和成果如下:
1.提出了一种通用的组件模式和框架;
(1)面向计算单元(actor)的组件作为系统组合的单元,描述了计算模式中各个元素(包括流水线、包处理任务和线程)之间的关系,可以在系统功能和性能两个方面进行组合,使得系统行为分析和性能预测可在系统开发的早期进行,避免系统设计的不当,提高开发的效率;
(2)actor组件模式封装的线程一方面抽取网络处理器的一般硬件特征并独立于具体的硬件,另一方面描述了组件的动态特征;
(3)actor组件模式中包含的非功能属性(主要是线程属性)可以用来进行个体组件的性能分析,确定理想的组件封装的线程数目;
(4)根据提出的actor组件模式,分析了系统对组件框架的要求,并提出了组件框架结构和功能,支持自动和动态性能组合。
2.根据组件模式,提出了一种基于组件的性能分析方法;
(1)通过对组件指令代码的静态分析,得到组件指令代码的计算和I/O分布,更重要的是考虑actor组件封装线程的动态性;
(2)采用这种方法,可以得到量化的性能分析结果,分析结果包括actor组件性能和由组件组合的系统性能;
(3)当一个actor组件用于多种应用时,actor组件性能可以组合以得到系统性能;
3.虽然本文的组件模式和性能分析方法是针对网络处理器提出的,但它们也可适用于其它类似的系统;
4.在对典型应用的实例研究中,理论分析和仿真结果误差<10%。
从多核处理器系统的发展来看,处理器的硬件体系结构越来越复杂,一个处理器系统可以包括几十甚至几百个小的处理核,在这样复杂的系统上进行软件开发是十分困难的,需要有相应的软件技术来简化软件开发的过程。通用的组件技术已经证明可以提高系统开发的效率,多核处理器系统有一些不同的特点,如何将组件技术应用到多核系统中具有十分重要的研究意义。