已阅读5页,还剩45页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 当今社会,嵌入式系统的应用越来越广,需求越来越大。由于传统的嵌入 式开发方法不利于修改设计,且成本相对较高、周期较长,不能满足激烈市场竞 争的要求,于是一种新型的设计思想软硬件协同设计和快速样机生成技术应 运而生。按这种思想,系统的设计效率和所设计系统的性能都有很大的提高。然 而,在新设计方法中,软硬件划分优化及性能精确验证是至今仍没能得到满意解 决的难点。计算机监测技术可用于采集和分析系统运行时信息,在实时性测试和 性能评价中得到很好的应用j 本文试图利用监测技术来解决上述嵌入式系统设计 中的难点。 文章首先介绍了监测技术的发展,并详细介绍了复旦大学c a t 实验室研制 的便携式监测系统m s 一3 。m s 3 系统具有很高的时间精度,而且扩展性强、干扰 小。m s 3 是基于事件驱动的软硬件混合监测方式的监测系统,因而它需要一个 数据流驱动的采集工具和支持强大图形分析能力的可视化工具,而虚拟仪器开发 工具l a b v i e w 正是一个开发这样工具的开发环境。所以文章接着叙述了基于 l a b v i e w 的监测系统可视化分析工具玎4 的设计过程。新型的可视化分析工 具具有可扩展性好、通用性高、图形分析能力强等特点。 然后文章又以应用实例为基础,介绍将计算机监测技术引入到实时嵌入式 系统软硬件协同设计和快速样机生成技术中,以帮助解决在设计中精确的性能验 证和优化系统设计的问题。在实例中本人实现了m s 3 监测系统与软硬件开发平 台n i o s 开发板的通讯接口,并对嵌入式系统设计中常用的数据流图( d f g , d a t af l o wg r a p h ) 的软件实现进行了监测,获得了性能参数,并根据结果分析了 如何优化软硬件划分。 最后指出在软硬件协同设计中,监测和性能验证自动化是今后的一个研究 方向。 v v v 4v 关键词:计算机监测,实时嵌入式系统,软硬件协同设计,快速样机生成 处理器软核,数据流图d f g v , 2 a b s t r a c t n o w a d a y se m b e d d e ds y s t e m s a r eg r o w i n gm o r ea n dm o r ep o p u l a ra n dc j l e i r a p p l i c a t i o n sc a d - b ef o u n di na l la s p e c t so fo u rd a i l yl i f e t h et r a d i t i o n a le m b e d d e d s y s t e md e v e l o p i n g m e t h o di s b e i n g d r i v e no u to ft h e i n d u s t r yb y t h eh e a t e d c o m p e t i t i o nb e c a u s eo fi t sd r a w b a c k s :h a r d t od e b u g ,n e e d i n gar e l a t i v e l yh i g h e rc o s t a n dl o n g e rd e v e l o p i n gc y c l ea n ds oo n m e a n w h i l e ,an e wd e v e l o p i n gm e t h o di s c o m i n gi n t ob e i n 旷h a r d w a r e s o f f w a r ec o d e s i g na n dr a p i dp r o t o t y p i n g ,i nw h i c h b o t ht h ew o r k i n ge m c i e n c ya n dt h er e s u l t i n gs y s t e m sp e r f o r l n a n c ea r ed r a m a t i c a l l y i m p r o v e d b u t i nt f l en e wm e t h o dh a r d w a r e s o f t w a r e o p t i m i z i n g a n dp r e c i s e l y e v a l u a t i n ga r es t i l ld i 伍c u l ti s s u e sn e e d i n gs a t i s 领n gs o l u t i o n s o nt h eo t h e rh a n d c o m p u t e rm o n i t o r i n gt e c h n i q u ec a l lb eu s e dt oc o l l e c ta n da n a l y z es y s t e m sm n t i m e i n f o r m a t i o n ,a n d h a sw i d e a p p l i c a t i o n s i n s y s t e m r e a lt i m e m e a s u r i n g a n d p e r f o r m a n c e e v a l u a t i o n f i r s t i nt h i s a r t i c l e ,t h ed e v e l o p m e n to fc o m p u t e rm o n i t o r i n gt e c h n i q u e , e s p e c i a l l yt h ep o r t a b l em o n i t o r i n gs y s t e m - - m s 3w h i c hw a sd e s i g n e da n dm a d eb y c a tl a b f u d a nu n i v e r s i t yi sp r e s e n t e d m s 3h a sv e r yh i g ht i m er e s o l u t i o na n di i t t l e p e r t u r b a t i o n t h e nt h ed e s i g n d e t a i l so f 、,a t 4 an e wv i s u a l m o n i t o r i n gs y s t e m a n a l y s i st o o ld e v e l o p e du n d e rl a b v i e w , i sa l s op r e s e n t e d 1 1 1 en e wv i s u a la n a l y s i s t o o lf e a t u r e st h ea d v a n t a g e so f e a s y e x p a n s i b i l i t y , e n h a n c e di m a g ea n a l y s i sa n d s oo n n e x tin s ea i l a p p l i c a t i o ne x a m p l et om a k ei t c l e a rh o wt oi n t r o d u c et h e c o m p u t e rm o n i t o r i n gt e c h n i q u e i n t ot h er e a l t i m ee m b e d d e d s y s t e m h a r d w a r e s o f t w a r ec o d e s i g na n dr a p i dp r o t o t y p i n gt e c h n i q u e i nd o i n gs o ,t h e p r o b l e m so fp r e c i s e l yp e r f o r m a n c ee v a l u a t i n ga n do p t i m i z i n gc a nb es o l v e de a s i l y i n t h ea p p l i c a t i o ne x a m p l e im a k eac o m m u n i c a t i o ni n t e r f a c eb e t w e e nm s 一3a n dn i o s b o a r d ,ah a r d w a r e s o f t w a r ed e v e l o p i n gp l a t f o r m ,m o n i t o rt h ed f gg r a p ho ft h e e x a m p l es y s t e r na tt h ed e s i g ns t a g ea tw h i c h 妇n o d e s a r ea l li m p l e m e n t e di ns o f t w a r e g e ti t sp e r f o r m a n c ed a t aa n da n a l y z eh o w t oo p t i m i z eh a r d w a r e s o f t w a r ep a r t i t i o n i n g b a s e do nt h ea c h i e v e dp e r f o r m a n c ed a t ai nt h en e x tc o m i n g s t a g e i nt h ec o n c l u s i o no ft h ea r t i c l e t h ef u t u r eo ft h er o l em o n i t o r i n gt e c h n i q u e m i g h tp l a yi nt h ee m b e d d e ds y s t e md e s i g nm e t h o d o l o g yi sa l s od e s c r i b e d k e yw o r d s :c o m p u t e rm o n i t o r i n g ,r e a l t i m ee m b e d d e ds y s t e m , h a r d w a r e s o f t w a r ec o d e s i g n ,r a p i d p r o t o t y p i n g ,p r o c e s s o rs o f tc o r e d a t af l o w g r a p hd f g 3 第一章引言 第一章引言 1 1嵌入式系统的设计 在过去的时间里,嵌入式系统得到了前所未有的大发展。1 9 9 9 嵌入式系统 带来的工业年产值已超过了l 万亿美元,1 9 9 7 年来自美国嵌入式系统大会 ( e m b e d d e ds y s t e mc o n f e r e n c e1 的报告指出,未来5 年仅基于嵌入式计算机系统 的全数字电视产品,就将在美国产生一个每年1 5 0 0 亿美元的新市场。美国汽车 大王福特公司的高级经理也曾宣称,“福特出售的计算能力已超过了i b m ”, 由此可以想见嵌入式计算机工业的规模和广度。1 9 9 8 年1 1 月在美国加州何塞举 行的嵌入式系统大会上,基于r t o s 的e m b e d d e di n t e m e t 成为一个技术新热点。 那么,究竟何为嵌入式系统呢? 嵌入式系统是以应用为中心,以计算机技 术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、 功耗有严格要求的专用计算机系统。在嵌入式系统中,操作系统和应用软件集成 于计算机硬件系统之中,即系统的应用软件与系统的硬件一体化。它具有软件代 码少、高度自动化、响应速度快等特点,特别适合于要求实时和多任务处理的情 况。嵌入式计算机在应用数量上远远超过了各种通用计算机,一台通用计算机的 外部设备中就包含了5 1 0 个嵌入式微处理器,键盘、鼠标、软驱、硬盘、显示 卡、显示器、网卡、m o d e m 、声卡、打印机、扫描仪、数字相机、u s b 集线器 等均是由嵌入式处理器控制的。在制造工业、过程控制、通讯、仪器、仪表、汽 车、船舶、航空、航天、军事装备、消费类产品等方面均是嵌入式计算机的应用 领域。嵌入式系统是将先进的计算机技术、半导体技术和电子技术和各个行业的 具体应用相结合后的产物,这一点就决定了它必然是一个技术密集、资金密集、 高度分散、不断创新的知识集成系统。 然而传统的嵌入式系统的开发过程是一个类似与瀑布式( w a t e r 烈1 ) 【l j 的开发 过程。在系统设计的一开始,就将硬件与软件进行功能上的划分。先做硬件,再 在硬件的基础上开发软件的做法,既不利与调错,从头改动的做法费时费力,成 本昂贵,周期延长,完全不能满足激烈市场竞争对产品上市速度快、成本低的要 求。 崭新的嵌入式系统开发思想软硬件协同设计和快速样机生成技术1 2 , 3 1 应 运而生。按照这种思想,在设计过程中始终将嵌入式系统的硬件与软件同时考虑 与权衡,以利于系统的整体性能优化和排错。设计的主要步骤有:系统级的描述, 软硬件的划分,系统综合,样机平台,系统模拟与仿真等。设计得到的快速样机, 作为最终系统产品的模拟,方便调试与修改,因此可以大大降低成本,缩短丌发 周期。软硬件协同设计已经成为现在电子系统中具有战略性重要意义的关键技 第一章引言 术。从包含嵌入式核心的单v l s i 芯片到由异构处理器网络组成的大型分布式系 统,都可以应用软硬件协同设计的思想。对于数字系统,尤其是信号处理系统, 它也是一项关键技术。 软硬件协同设计与嵌入式系统快速样机生成技术的研究早已成为电子设计 自动化( e d a ) 中最热门的技术之一。美国国防部于1 9 9 4 年提出了“专用信号处 理机快速样机生成( r a s s p ) ”计划,投资1 5 亿美元,至少有2 0 多个研究所、公 司和大学参加。德国自然科学基金会d f g 于1 9 9 6 年提出“强实时嵌入式计算机 快速样机生成”计划。1 9 9 6 年1 0 月,于l a s v e g a s 召开的设计自动化会议( d e s i g n a u t o m a t i o nc o n f e r e n c e ) 的圆桌会议中,与会者就协同设计的问题、方法,战略及 将来展开了激烈的讨论。德国e r l a n g e n 大学开发设计的c o r s a j r 系统是专门面向 通讯的嵌入式系统快速样机生成环境。 1 2 计算机监测技术 近年来并行与分布式监测和分析技术得到了很大的发展 1 2 , 1 3 , 1 4 】。各种并行与 分布式计算机的监测和性能分析系统也不断的涌现,如德国e r l a n g e n 大学研制 的z m 一4 系统【”,美国w i s c o n s i n 大学m a d i s o n 分校研制的p a r a d y n 系统1 5 1 ,美国 i l l i n o i s 大学u r b a n a 分校研制的p a b l o 系统1 6 】以及复旦大学研制的 m s 一2 a 1 c o m v a t 系统【7 1 等等。这些完整的监测和性能分析系统一般都有如下 的结构,如图i 所示: 对被测目标进行 装备和事件定义 采集被测目标产生 的事件,并产生事 件记景 使用各种分析系统对采集到 的由被测目标产生的事件流 进行分析,监测被测目标的 动态行为 图1 :计算机监测和性能分析系统的一般结构 从上图中可以看出一般的并行与分布式监测和性能分析系统都包括三个部 分:1 :对被测目标的装备( i n s t r u m e n t a t i o n ) 系统。2 :被测目标数据采集系统。 3 :数据分析系统。 在不同系统中这三部分的实现也各有不同,在整个系统中最关键的部分是 兰二童! ! i - _ _ _ - _ - - _ _ _ _ _ _ _ _ - _ - _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ - - _ _ _ _ - _ - _ _ _ _ _ _ _ _ _ _ - _ 一 数据分析系统,因为它直接反映了被测目标系统的内部动态行为,对分析并行与 分秆j 式计算机系统的性能和效率起着至关重要的作用。 在当前的数据分析系统中,可视化的分析系统占据了主导的地位。可视化 技术并不是一项全新的概念,自从第一台计算机诞生问世,可视化技术就伴随而 来。可视化是并行与分布式计算机性能评估工具中至关重要的部分,并行与分布 式计算机性能数据的复杂特性和并行执行行为的多样性为可视化技术提供了广 阔的用武之地。许多并行与分布式计算机性能评估工具都融入了可视化技术,可 视化技术的应用表明它可以提供并行与分布式计算机系统动态行为效果。 1 3 两者的结合 将计算机监测技术从并行与分布式系统的监测领域引入到嵌入式系统监测 领域,引入到实时嵌入式系统软硬件协同设计和快速样机生成技术中,可以解决 协同设计中性能评估和验证困难以及软硬件划分优化困难的问题。 本文对计算机监测技术作出一些分析和总结,重点介绍复旦大学c a t 课题 组研制的便携式监测系统m s 3 ,并详细介绍了新型的基于虚拟现实技术 l a b v i e w 的可视化分析工具的设计和实现。最后以应用实例为基础阐述将计算 机监测技术引入到实时嵌入式系统软硬件协同设计和快速样机生成技术中,以帮 助解决在设计中精确的性能验证和优化系统设计的问题。 后续章节的安排如下: 第二章:计算机监测技术首先介绍国外一些主要的监测系统,然后主要介 绍有复旦大学c a t 实验室设计开发的m s 3 监测系统的原理及特性: 第三章:可视化分析工具玎4 的设计用虚拟仪器开发工具l a b v i e w 开 发的监测系统可视化分析工具v a t 4 的设计过程; 第四章:m s 3 监测系统在实时嵌入式系统开发中的应用举例说明m s 3 监测系统在软硬件系统设计中性能评估和验证中的应用; 第五章:结语及展望 6 第二章计算机监测技术 2 1概述 第二章计算机监测技术 监测技术是实时采集与记录计算机系统运行信息的技术,因而它对于计算 机性能的评估与改进,对于计算机及其软件的调试都是有用的工具,对于并行与 分布式计算机来说尤其重要。因为并行编程是一个相当困难的工作,通常情况下, 单处理机下的编程工具不能用于多处理机系统。编写高效的并行程序,必须考虑 处理机间作业的分配、作业间的同步等问题,还须具有有效的调试工具,找到系 统的瓶颈,以便对程序进行相应的调整,另外还需要对其性能进行评估。要达到 这些目的相当困难,如对并行程序进行调试,因系统没有全局状态,也就无法定 义全局断点,另外在不同计算机上还可以有并发的、独立的进程。 解决上述问题的一种方法是对并行与分布式程序的运行状况进行动态监 测,从而了解整个程序在运行过程中的动态行为,为程序有效性的评估及指导对 程序的优化提供依据。 监测系统根据不同的标准可以分为许多种。一种分类方法是按照采样的不 同可以分类为时间驱动采样( t i m e d r i v e ns a m p l i n g ) 和事件驱动采样( e v e n t d r i v e n s a m p t i n g ) 两种。时间驱动采样是基于统计模型,仅能提供目标系统的统计信息, 不能直接反映并行系统内部的动态行为。事件驱动的采样模型以事件作为监测和 分析的起点,使用事件流来反映并行与分布式系统的内部行为。所谓事件流即在 并行分布式系统中按时间顺序排列的各个处理机,模块,进程之间的交互作用, 以及各系统内部的控制流的记录。这样并行分布式系统的内部行为就可以被抽象 为事件的序列。 事件的定义因在监测系统中实现的方法不同而不同。基于事件驱动采样的 监测技术又可以分为三种类型:硬件监测( h a r d w a r em o n i t o r ) ,软件监澳l j ( s o f t w a r e m o n i t o r ) ,混合监测( h y b r i dm o n i t o r ) t 4 1 。 对于硬件监测实现方式,这种监测实现方式需要将些探头直接连到计算 机系统中的一些硬件单元上,诸如总线、寄存器等,当这些单元上的数据模式正 好同某个预先确定好的模式相匹配时,即触发一个事件。这种监测实现方式的 优点是对程序的运行进程没有任何干扰,因而由这种监测实现方式所获得的数据 能最准确地反映程序在非监测情况下的运行状况。但是这种监测实现方式有很严 重的弱点,就是事件的定义非常复杂和困难,对用高级语言编制的程序来讲,一 个一般的面向问题的参考点很难简单地用些硬件单元的状态来唯一刻划。 对于软件监测实现方式,它需要在被监测程序的所有监测点处插入一段特 第二章计算机监测技术 定的监测指令序列,这段指令序列将相应的事件描述存入存储器中某一指定位 置,等到整个程序结束后再由分析程序来分析这些记录下来的数据。这种监测实 现方式的弱点是执行这段监测指令序列需要花费一定时间,对程序的执行进程会 产生影晌,因而由这种监测实现方式所获得的数据一般同程序在非监测情况下的 运行状况有较大失真。 对于混合监测实现方式,它是前两种实现方式的折中。同硬件实现方式不同 的是,在混合实现方式中事件的定义也是通过在被监测程序的监测点处插入监测 指令完成的,因此很容易将高级语言源程序中的任意一个被执行到的位置定义成 一个事件,事件的定义可以在源程序级十分容易地并且规范化地完成;同软件实 现方式不同的是插入的监测指令只是一个很简单的输出指令,对程序的运行状况 影响很小,记录下来的数据一般能真实地反映程序在非监测情况下的运行状况。 所以它既保持了软件监测的灵活性,又接近硬件监测的精度,对被监测程序有干 扰,但较小。如果采用通用性的设计方案,代价也不太高。这是国外多个系统中 集正反两方面经验教训得出来的结论。这种方法目前较受推崇。 对采集到的事件数据流分析,以使并行及分布式程序运行的动态行为能够 真实再现,是监测的最重要环节。然而事件数据的分析是一项复杂的任务,事件 采集往往是分布式进行的,必须把各监测点的事件数据按一个统一的时i 刨排序, 形成事件流信息库,用户根据不同需要,参照被测程序的结构模型,抽取感兴趣 的事件信息,利用可视化技术( 图表、动画等) ,恢复和分析程序的动态行为模 型,从而在一定程度上建立起前台程序代码和系统内部运行及交互的对应桥梁, 进而帮助程序员能有效的排错和性能调试;当然也是对系统性能参数做评估的有 利工具。 2 2 一些监测系统的介绍 目前国内外已经有些并行与分布式监测系统在使用中,下面将它们的主 要特点作以简单介绍。 2 2 1 z m 4 系统【- - 】 z m 4 是德国e d a n g e n 大学的研究人员设计和实现的一个通用分布式监测系 统。它本身具有分布式的体系结构,可由任意数目个监测单元通过局域网连接起 来。它由一个控制和评估计算机作主机,任意数目个监测单元作从机。控制和评 估计算机是概念上的主控者,它控制监测单元的测量活动,存储监测数据,并给 用户提供一个评估监测数据的强有力的和通用的工具集s i m p l e ,它包括监测数 据的验证、分析和动画等工具,每个工具都是一个单独的应用程序,都可以单独 第二章汁算机监测技术 使用。 2 2 2p a b l o 系统【6 美国i l l i n o i s 大学u r b a n a 分校研制的p a b l o 是一个并行及分布式系统的性能 监测和分析环境,它是一个结构化的,可移植的,开放性的系统。p a b l o 的设计 指导思想是可移植性,可伸缩性,可扩展性。它主要包含了两个组成部分:装备 软件系统和性能数据分析系统。这两个部分通过一个事件流数据元格式( t r a c e d a t am e t af o r m a t ) 耦合在一起。 p a b l o 的装备软件系统采用交互式的方法来指明要进行装备的源代码中的装 备点。整个装备系统包含三个组成部分:1 一个图形化的装备点指定界面,2 , 一个c 和f o r t r a n 语法分析器,该语法分析器可以在执行到装备点时通过调用性 能数据采集库里的函数来产生性能数据,3 一个可以采集性能数据的函数库。 p a b l o 的性能分析系统包含了一组数据变换模块,这些模块的图形表示可以 相互连接,构成一个非自环的,有向的数据分析图。性能数据流过这个数据分析 图经过数据交换产生希望的性能评价指标。p a b l o 的性能分析系统所能够接受和 处理的数据格式是p a b l o 专用的s d d f ( s e l f - d e s c r i b i n gd a t af o r m a t ) 。 p a b o 性能分析系统的可扩展性和可伸缩性的关键在于使用了一组可以处 理s d d f 数据格式的数据变换模块( d a t at r a n s f o r m a t i o nm o d u l e s ) 。通过将各种数 据变换模块以图形化的方式将他们联系在一起,通过交互的方式指定事件流中的 哪个记录应该由哪个数据分析模块进行处理。因此性能数据分析的方法是由用户 设计的数据分析图决定的,而不是由p a b l o 所决定的。 一次典型的p a b l o 性能分析环境的使用过程是:首先设计好数据分析图,其 次对每个模块的输入端口和输出管道以及内部的变换功能进行配置,然后运行这 个数据分析图,所设计的分析结果就会显示在屏幕上。对所设计的数据分析图还 可以存盘以供以后分析之用。 2 2 3 p a r a d y n 系统【5 】 美国w i s c o n s i n 大学m a d i s o n 分校研制的p a r a d y n 系统是一个并行与分布式 计算机程序的性能分析工具,可以监测运行时间长( 几天) 和规模大( 上千个节点) 的系统。它可以自动搜索性能瓶颈。同时可以提供精确到过程和语句级别的性能 数据。p a r a d y n 是一个基于动态性能装备和测量的系统,在应用程序执行时j 插 入装备命令,同时可以在程序执行的任何时刻插入和改变装备命令,通过修改应 用程序的二进制映象来完成装备命令的插入。这就可以仅插入需要进行性能分析 和可视化的数据,得到的监测数据和传统的装备方式监测得到的数据量相差很 9 兰三兰生苎盟些型垫查 一 大。 p a r a d y n 的装备经过简单的配置就可以适用于新的操作系统、硬件和应用程 序。它同时也提供性能数据可视化的一个开放接口和一个简单的程序库。 2 2 4a i m s 系统 a i m s ( a u t o m a t e di n s t r u m e n t a t i o na n dm o n i t o r i n gs y s t e m ) 系统是由美国国家 航空和宇宙航行局所属的a m e s 研究中心开发的用于分析多处理机上并行应用程 序性能的软件,a i m s 可以用于解释算法的行为,帮助分析程序执行过程和指出 程序问题所在,提高程序的执行效率。该系统支持的平台是i b ms p 2 和一些工 作站( 如s u n s p a r c s ,s g ia n dh p ) 。a i m s 主要包括以下软件工具: x i n s t r u m e n t :用于对f o r t r a n 7 7 和c 语言源程序进行装备。 m o n i t o r :可运行于m ms p 2 和工作站上的用于采集事件流的函数库。 p c :用于消除事件流中一些不必要开销和影响的工具。 v i s u a l i z a t i o n a n a l y s i st o o l k i t :用于分析事件流数据的可视化工具。 2 2 5n e t m o n i i 系统 8 , 9 1 n e t m o n i i 是德国k a r l s r u h e 大学研制的一个混合式并行与分布式监测工 具。它是一个分布式主从系统,带有多个监测工作站( 从) 和一个中央控制工作站 f 主) 。每个监测工作站包含一个监测单元、一个负载生成单元和一个与主工作站 通迅的网络接口,它负责控制测量活动和数据评估。监测单元作为p c 的一个插 件实现并通过一个8 位宽的c e n t r o n i c s 打印机端口与目标系统相联。因此,接口、 事件探测和事件记录等监测结点所有的任务被结合到了一块插件上。每个监测单 元的一部分是精度为8 k t s 的时钟,它能使监测器适用于通过s e n d r e c e i v e 机制通 迅的目标系统。为了建立全局时闯基准,这些时钟每隔1 5 m s 由联接所有监测单 元的时钟信道来校准。由于该校准操作是通过在l a n 范围内传输的信号直接访 问寄存器来实现的,有可能因时钟信道上的信号畸变引起错误的校准。 2 2 6f a l c o n 系统 g e o r g i a 理工学院的f a l c o n 系统是一套支持对并行与分布式计算机进行联机 监测的工具,f a l c o n 在概念上主要有四个部分:一个监测规范机制,包括一个低 级传感器规范语言和个高级观测规范语言;联机信息捕捉和分析机制;程序操 纵机制;一个构造和使用程序信息图形显示的相关系统。f a l c o n 是一个针对应用 程序的监测系统,它本身产生的干扰很低,对运行时的监测机制可以灵活地配置, 第二章 十算机监测技术 具有良好的图形显示界面,提供装备和运行操作的用户图形接口,使用简便。 2 2 7s c h e c k 系统 s - c h e c k 系统是由美国国家标准技术研究所的并行系统和应用小组研制的用 于分析和提高并行和网络程序性能的工具。s - c h e c k 的目标在于通过提供程序性 能信息来指导程序员关注程序的瓶颈。它通过对局部代码进行修改来预测对整个 程序性能的影响。s - c h e c k 分析用户的源程序,指出瓶颈点,它在并行程序中加 入人工的延迟,这些延迟可以设置为开和关,通过调解延迟可以产生新版本的程 序,通过对新版本的程序进行分析来改进其运行效率,s - c h e c k 提供给用户方便 的图形化界面以便于用户配置。s - c h e c k3 0 版本适合于并行s g i 系统, i b m 的s p ,s u n ,s g i 和运行于p c 机上的l i n u x 等。 2 2 8 自行研制的监测系统m s 一2 a i c o m v a t v a t e t 7 复旦大学c a t 实验室在参照国外目前先进的监测技术的基础上加以吸收和 消化,自主研制了m s 一2 a i c o m v a t 通用分布式监测系统,它包括监测硬件 m s 2 、自动程序装备工具a i c 、联机监测软件o m 和事后分析工具玎。 m s 2 :通用的分布式监测系统 m s 2 系统是一种分布式结构的监测系统,它由两种类型的组成单元所构 成,一种是基准时钟发生单元( t b g t i m eb a s eg e n e r a t o r ) ,它用来给整个系统提 供一个严格统一的时间信号;另一种是监测数据采集单元( m d p m o n i t o rd a t a p r o b e ) ,它用来直接采集来自被监测系统数据。 在一个监测系统中基准时钟发生单元只有一个,而监测数据采集单元则根 据被监测系统的规模和分布可有一至无限多个,它们之间通过级联的方式相联, 其结构参见图2 。 驱动后的驱动后的 l 基准时钟i 基准时钟信号基准时钟信号基准时钟信号 匡兰至r 厂厂 驱动后的 基准时钟信号 if 人、_ 圆圜i dm lm mosiil m l 圜 图2 :m s 一2 的组成单元 每个监测数据采集单元可以同时监测一至四台被监测系统,为了保证监测 数据采集的可靠性和时间精确性,每个监测数据采集单元与相应的被监测系统一 般分布于同一空间位置,它们之间采用星形的方式相联。 第二章计算机监测技术 这两种单元都被设计成p c 系列计算机扩充板型式,因此它们的工作必须依 附于p c 系列计算机,由p c 系列计算机负责提供这些单元工作所需的电源消耗、 运行前的必要配置以及采集数据的卸出。每台p c 系列计算机上能插多少单元取 决于该p c 系列计算机的负荷能力、扩充槽个数以及被监测系统分布上的要求等, 结构参见图3 。 图3 :m s 一2 总体结构 这些分布于不同空间位置的p c a t 系列计算机从依附于它们的监测数据采 集单元中卸出数据,然后再通过一个数据通道将数据汇总在一起进行分析,这个 数据通道可以是一个计算机网络,也可以通过可卸式外部存储器来实行。m s 2 是一个高性能的数据采集硬件系统,它具有极为精确的全局同步时钟和极高的时 间分辨率,能够把采样时间分辨率控制在1 0 0 n s 以内。 m s 2 系统是事件驱动方式监测系统,因此它所监测的事件必须事先在被监 测系统中得到定义,并分配一个事件标识符。m s 2 系统是混合实现方式,因此 监测前必须在运行软件中所有事件位置插入相应输出指令,对目标程序进行装 备。被装备的软件运行时,这些输出指令将相应的事件标识符输出到某一个输出 端口上,再由各m d p 采集。见图4 。 受妲同旧揖旧且l ” | | 匝 至 m 一 一 一 一 一 一 储蚓删鞋划 孙 | 盈棚网删嘲迸型一 苎三皇生竺塑些型垫查一 被监测计算机 分析监测数据的计算机 图4 :m s 2 的工作图 a i c :自动c 语言程序装备工具 在使用m s 2 o m v a t 系统对目标程序进行监测分析时,通常需要对目标程 序进行多次装备,并对采集到的不同装备的数据进行分析、比较,这样一个过程 是一个复杂而又容易引发错误的过程。另外,要能有效地对一个系统进行监测分 析的前提是所采集到的监测数据能很好的反映程序的动态行为,这就要求在对程 序的细节相当了解的条件下对程序进行装备。而在一般情况下,我们并不能相当 了解程序的细节,而只能凭主观直觉来对程序进行装备。分析运行在并行与分布 式计算机系统上的程序时,是不能单凭直觉的,必须有一种系统化的方法进行程 序装备。 所谓程序装备,就是在所监测的程序中插入一些监测指令,这些监测指令 又称为软探头,这些监测指令把我们所关心的程序内部动态运行行为数据送给监 测系统,监测系统根据这些数据可以做联机或事后的分析。 为了能系统化地装备,我们开发了一个工具a i c ,即a u t o m a t i c i n s t r u m e n t a t i o n o f c ,它能用于对c 语言目标系统进行自动装备。有了这个工具, 对目标系统的装备就更系统,更方便,更可靠。 a i c 能用于对标准的c 语言程序进行装备,对于各种不同版本的c 语言程 序只需对a i c 做稍加修改就可以装备。c 语言自从1 9 7 2 年问世以来,表现了较 强的生命力,现已成为主要的程序语言之一,使用相当普遍,所以选择对用c 语言实现的系统进行自动程序装备。a i c 就是所设计的对c 语言程序进行装备 的工具,它能够用于对u n i x 下标准c 语言程序进行装备,同时我们针对d o s 下的b c 3 l 对a i c 做了移植,使a i c 也能够用于对b c 3 l 的程序进行装备。 a i c 可以在不同抽象层次上对c 语言程序进行装备,即: 过程调用的前后: 过程体的入口处或出口处; 第二章计算机监测技术 某一范围内的所有过程调用的前后: 某一个语句的前后。 a i c 可以在c 语言程序中任意符合语法规则的位置加监测指令,监测指令 司以是任意c 语句。a i c 提供了两种装备方式:命令文件方式和交互方式。命 令文件方式是通过一个命令文件中说明如何对目标程序进行装备,该命令文件由 a i c 所提供的装备命令组成,可以根据装备的目的,按一定抽象层次手工编写; 交互方式可以使用户交互地对程序进行装备,方便了使用,这种方式也能产生相 应的装备命令文件。该命令文件还可以作为监测的一种文档,直观地反映出用户 所做的监测。 a i c 能支持硬件监测器m s 一2 和软件方式监测,这两种技术的主要区别在于 数据采集的方法。m s 2 是通过专用接口采集数据,而软件方式监测则是把数据 输出到目标系统的硬盘上。c 语言广泛地使用于各种系统平台上,而不同系统平 台的i o 方式有许多差异。为了让a i c 具有一定通用性,a i c 能根据所用的平台 和不同的监测方式,产生相应的数据采集接口函数。我们只需在命令文件中指明 所用的目标系统和监测方式。 由于程序装备是在源程序级进行的,而不是直接对执行程序进行装备,因 此在对它进行监测前,还需对装备好的程序重新编译和连接。 有了自动程序装备工具a i c ,装备不再依靠直觉,而是能以系统化的方式 进行。在监测分析的各阶段对程序进行装备,只需对命令文件作相应修改,a i c 就重新对目标程序进行装备,并产生相应的事件描述文本,这就避免了许多出错 的可能性。 0 m :通用的联机监测分析工具 在并行计算机的初期研制阶段,由于缺乏有效的调试和测试工具,仅仅通 过示波器、逻辑分析仪等工具监测系统的行为,很难深入了解系统内部的具体工 作流程和一些重要参数的值,而且在操作系统的初期调试过程中,现有的调试工 具也不尽人意,这些都对并行机的研制带来了相当的困难。为了在监测过程中立 即获得被监测的并行与分布式计算机系统的内部状态信息,就需要有能够即时对 监测数据进行分析处理及时反馈监测结果的手段。联机监测分析工具( o m ) 就是 在这种应用背景下产生的。 o m 是个对采集的数据进行快速反应、分析、处理的监测分析工具。它是 在w i n 9 5 下实现的一个多进程的高效的监测数据分析处理软件。与后期分析工 具不同,o m 并不是一个事后分析处理的系统,它对数据的处理手段比较简单, 直观但是实时性强。 o m 具有以下的特点: 第二章计算机监测技术 1 高性能 o m 是运行于w i n 9 53 2 位操作系统上的3 2 位软件,能够充分发挥p c 上通 常的1 6 位软件所不具有的高性能。并且在o m 中结合使用了w i n 9 5 中的虚拟 内存管理机制,和结构化异常处理机制,内存的使用效率和访问速度及性能都大 大高于普通的堆式内存管理。 2 通用性 o m 是建立在通用的分布式监测系统m s 2 上,其本身也被设计成是能够处 理来自于各种并行与分布式系统的数据。o m 的通用性主要是通过种简单描述 语言t a b ( t r a c e a c c e s s b a s e ) 文件来实现的。该语言使用一种通用的方法表示 各种被监测设备上的监测数据格式,并且能够方便地扩充可描述的监测对象。 3 面向问题 o m 的面向问题的特性主要体现在它采用了事件驱动和源相关的监测方法。 事件驱动监测的一大好处就是可以很容易地将采集到的监测事件与目标系统中 的具体部分( 产生监测事件的点) 联系起来。 4 良好的图形化的用户界面 o m 采用了w i n 9 5 这个操作系统作为应用开发的平台,充分利用了w i n 9 5 的良好的用户界面。另外,o m 系统巧妙地将t a b 文件编辑器,编译器,数据 采集,状态显示,数据采集硬件的控制以及数据的分析和处理集成到一起,方便 了用户的学习和使用。 v a t :可视化后期分析工具 o m 是联机监测软件,它能够对监测数据进行分析处理并及时反馈监测结 果,然而在大多数情况下监测数据的采集速度和采集量都是联机状态下所难以观 察的,对于瞬间的数据和大量的数据,要让用户面对当时的计算机屏幕来观察, 几乎是不可能的,所以我们针对o m 由t a b 描述文本所产生的监测数据开发了 后期分析工具v a t 。 玎具有以下的特点: 1 集成的分析环境 v a t 中可以同时使用多种分析模块从不同的侧面同时对监测来的数据进行 分析,另外v a t 设计中的三种动态分析方法和双线程运行方式使v a t 成为一个 集成的分析环境。v a t 利用w i n 9 5 多线程的特性,在对逻辑事件流进行分析时 采取双线程运行方式,一个用于处理人机界面,响应用户的命令,另一个用于从 逻辑事件流文件中逐个解析出逻辑事件,并把它传送给需要它的分析模块,以供 各个分析模块使用。 2 开放式的结构: 第二章计算机监测技术 v a t 利用d e l p h i 提供的面向对象技术,根据v a t 中数据处理的功能要求, 主要创建了如下几个类:主窗口类、逻辑事件流类、配置信息类、运行线程类、 g a n t t 图分析模块类、l i s t 分析模块类。 不同的类处理不同的数据,完成不同的功能,相互之间的独立性比较强, 使得程序的模块化好,可读性强。 目前,v a t 中仅做了l i s t 、g a n t t 图等分析模块,可以用于简单的数据 分析。 3 使用方便灵活 v a t 中采用了自描述的事件流文件( 将事件流及其描述集成在一个文件 中) 、模块配置文件和良好的用户界面,使得软件的使用方便灵活。 v a t e :并行与分布式计算机监测系统可视化分析工具环境 v a t e 在v a t 的基础上引进了模块树的概念,模块树的概念贯穿了v a t e 的始终,它是v a t e 的核心。模块树共分为三层,顶层为数据源模块,其提供监 测数据;中间层为数据处理模块,每一个数据处理模块包含个数据处理核心和 一个记录选择界箍,数据处理核心负责处理实际的数据变换,而记录选择界面负 责对上一级模块送来的逻辑事件中的某些字段进行取舍,把用户需要的字段复制 或分配给下一级模块,在数据处理模块中对输入的记录流提供结构中立的数据约 简,这样就把做什么样的数据处理和取得什么样的数据结果的选择交给
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 施工现场安全设备选型与采购
- 特殊动词时态变化汇编
- 玻璃幕墙施工安全风险管控方案
- 教学设计质量标准与评估体系
- 大型停车场施工总体规划与实施方案
- 病理生理学章节要点总结
- 银行贷款风险评估与控制流程
- 餐饮行业成本控制管理规范
- 2025现代家居服务行业市场供需动态投资评估规划全面研究报告
- 2025现代农业产业市场供需分析投资前景规划研究报告
- 幼儿园主题网络图框架培训
- 【MOOC】大学英语综合教程2-集美大学 中国大学慕课MOOC答案
- 危险作业安全培训
- 产妇院前急救及护理
- 译林版三年级英语上册《Unit5 Shes my mother》单元测试卷及答案
- 石油钻机讲义
- B级英语词汇表修改版
- 带你听懂中国传统音乐智慧树知到期末考试答案2024年
- 医院检验科个人述职报告
- 教改课题的选题与申报课件
- 2023年11月贵阳人文科技学院下半年公开招聘53名专职教师笔试历年高频考点难、易错点荟萃附答案带详解
评论
0/150
提交评论