动态跟踪系统的性能模型

合集下载

火控雷达动态目标探测跟踪建模仿真

火控雷达动态目标探测跟踪建模仿真

火控雷达动态目标探测跟踪建模仿真
肖强;张宏伟;韩壮志
【期刊名称】《计算机测量与控制》
【年(卷),期】2015(23)4
【摘要】火控雷达目标探测跟踪是现代与未来防空作战的首要任务,也是火控系统的关键环节;针对火控雷达连续、自动、快速跟踪目标的特点,首先分析了火控雷达系统闭环连续探测跟踪工作流程,然后利用信号级建模方法,在信号层面上进行了雷达回波信号生成、信号处理与跟踪控制的一体化建模,并给出了各模块模型,最后完成动态火控雷达闭环目标距离、方位角与高低角三维探测跟踪测量过程仿真与分析;仿真结果不仅验证了建模方法与模型逼真有效,也对以后火控雷达跟踪性能评估、数据处理等仿真研究有着一定的参考价值.
【总页数】4页(P1222-1225)
【作者】肖强;张宏伟;韩壮志
【作者单位】军械工程学院电子与光学工程系,石家庄050003;军械工程学院电子与光学工程系,石家庄050003;军械工程学院电子与光学工程系,石家庄050003【正文语种】中文
【中图分类】TN95
【相关文献】
1.用于高动态目标探测雷达的相位编码脉冲压缩技术 [J], 张剑;周兴建;卢建川
2.低轨红外探测卫星对大气层内高动态目标的探测能力研究 [J], 田博;谢放;范春懿;
陈素芳;李萌萌
3.近地层紫外动态目标探测微弱信号放大器设计 [J], 李旭辉;吴晗平;李军雨;王连振;岳健民
4.浮空红外探测系统预警高动态目标性能分析 [J], 刘旭;李为民;别晓峰
5.基于双基地雷达探测的跟踪优化建模仿真研究 [J], 程丰;湛兰;卢一帆
因版权原因,仅展示原文概要,查看原文内容请购买。

自动化学科中动态目标追踪控制算法的模型与性能分析

自动化学科中动态目标追踪控制算法的模型与性能分析

发哥归来——大上海周末的时候,不小心又看了一部爱情片,剧情实在一般,然而因为男神发哥的演技,还是很入迷的看完了。

让我印象深刻的,不是那些扑朔迷离的感情,也不是大先生坚定的内心和明辨的大是大非,而是发哥的几次落泪,触动人心!痛失知秋战乱纷争,日本人的飞机在上海空中盘旋、轰炸,大先生坐在电话旁边不肯离去,他在等一个电话,他不知道知秋在哪儿,是不是需要他的帮助,众人劝他离开的最后一秒,他终于等到那个电话,却是知秋通知他日本人意欲绑架他的消息,然后知秋就消失在电话的那头。

大器在人群中逆流而上,直奔知秋居住的酒店,一个炸弹落下来,整个酒店都泡在大火中,无人生还。

大器站在酒店面前,无法自抑的大声哭喊:“知秋……”,那个叱咤整个上海的大先生,那一刻成了一个无助的孩子,痛的没有地方躲藏,他丢掉的是自己一生的牵挂,那根最软的肋骨!告别大嫂大器年轻时崇拜的师傅被总督儿子关进大牢,为救师傅,大器跪走一路玻璃渣,并用自己的股份换回师傅的安全,从此,洪寿亭烧了大器的拜师贴,与他兄弟相称,同闯上海滩,而洪寿亭的夫人,就成了大先生的大嫂,幕后辅助他们同行。

于洪寿亭一家,大器已然是他们的亲人,有福同享有难同当,这也是黑道人该有的样子!当洪寿亭被日本人抓走,知道自己的老婆被关在慰安所,心理一下子崩溃了,他玩乐为主的后半生理想瞬间破灭,半真半假的痴呆,泡在水池子里,摆弄着一只玩具鸭子。

而大器在深思熟虑之后,忍辱负重闯进日本军营,救出被抓的地下党,和大嫂!此时的大嫂已经奄奄一息,等着大器的到来,见到大器,她使出最后一丝力气说了最后一句话:“好好活着!”,然后不能瞑目的死去了。

大器心疼的抱起大嫂,亲了亲她的额头,昏暗的灯光下,看到他的眼泪吧嗒吧嗒的掉了又掉,那一刻,一个铮铮铁骨的英雄有情有义的形象无比高大!一路同行大器心里一直爱着知秋,那仿佛是他的人生理想,去打拼的时候身边能有她陪伴,便是一生的完美!然而,知秋应该更爱刀马旦,在大器身负枪伤几乎没命的时候,她更关注的是自己的安危和前途。

自动控制原理课程设计-火炮跟踪随动控制系统-精品

自动控制原理课程设计-火炮跟踪随动控制系统-精品

课程设计名称:自动控制原理课程设计题目:火炮跟踪随动控制系统专业:班级:姓名:学号:课程设计任务书一、设计题目:车载武器随动系统设计二、设计任务:设计一个随动系统,使其发射端口在要求的精度和时间X围内跟踪目标.三、设计计划:1.查阅相关资料2.确定设计方案3.进展设计并定稿四、设计要求:要求设计的随动系统在跟踪过程有足够的稳定性与快速性指导教师:徐建华教研室主任:徐建华时间:2011年12月9 日中国矿业大学某某学院课程设计成绩评定表摘要随动控制系统又名伺服控制系统。

其参考输入是变化规律未知的任意时间函数。

随动控制系统的任务是使被控量按同样规律变化并与输入信号的误差保持在规定X围内。

这种系统在军事上应用最为普遍.如导弹发射架控制系统,雷达天线控制系统等。

其特点是输入为未知。

本文对一个随动系统进展研究,在准确把握研究的方向根底上,始终以系统的高运行性能为目标,在控制系统的稳定性,快速性,准确性这三者之间的固有矛盾中寻找最优的平衡点。

通过建立模型,元件确定,参数分析,串联校正四大模块,整合自动控制理论的各个知识点,包含了经典控制理论的大局部内容,知识点相互穿插,严密联系,并有机结合成一篇完整的论文。

目录一系统设计的步骤――――――――――――――――――――――――― 1 1.1 设计方案―――――――――――――――――――――――――――1―――――――――――――――――――― 1 ――――――――――――――――――――――――11.2 系统的方框图与开环传函――――――――――――――――――――52.1系统方框图――――――――――――――――――――――――――52.2系统开环传函―――――――――――――――――――――――――61.3 火炮系统的工作过程――――――――――――――――――――――6 1.4 性能指标确实定――――――――――――――――――――――――6 二控制系统方案和主要元部件的选择―――――――――――――――――72.1 系统方案―――――――――――――――――――――――――――7 2.2 元部件选择――――――――――――――――――――――――――7 三开环增益和静态误差计算―――――――――――――――――――――83.1 系统无测速反响――――――――――――――――――――――――8 3.2 系统参加测速反响―――――――――――――――――――――――8――――――――――――――――――――――――9 ――――――――――――――――――――――――9 ―――――――――――――――――――――――――10 3.3 静态误差的计算――――――――――――――――――――――――11 四动态分析和校正装置的设计――――――――――――――――――――13 五结论――――――――――――――――――――――――――――――15 六设计体会――――――――――――――――――――――――――――16 七参考文献――――――――――――――――――――――――――――17一系统设计的步骤1.1设计方案(1)控制任务:控制火炮跟踪目标,确定目标位置,适时开炮击中目标。

第八章模型参考自适应控制(ModelReferenceAdaptiveControl)简称MRAC

第八章模型参考自适应控制(ModelReferenceAdaptiveControl)简称MRAC

第⼋章模型参考⾃适应控制(ModelReferenceAdaptiveControl)简称MRAC第九章模型参考⾃适应控制(Model Reference AdaptiveControl )简称MRAC介绍另⼀类⽐较成功的⾃适应控制系统,已有较完整的设计理论和丰富的应⽤成果(驾驶仪、航天、电传动、核反应堆等等) 。

§ 9—1 MRAC的基本概念系统包含⼀个参考模型,模型动态表征了对系统动态性能的理想要求,MRAC⼒求使被控系统的动态响应与模型的响应相⼀致。

与STR不同之处是MRAC没有明显的辨识部分,⽽是通过与参考模型的⽐较,察觉被控对象特性的变化,具有跟踪迅速的突出优点。

设参考模型的⽅程为*X m~ A m X m Br式(9-1-1)y m = CX m 式(9-1-2)被控系统的⽅程为■X s A s B s r式(9-1-3)y s - CX s 式(9-1-4) 两者动态响应的⽐较结果称为⼴义误差,定义输出⼴义误差为e = y m -y s 式(9-1-5);状态⼴义误差为:=X m — s 式(9-1-6)。

⾃适应控制的⽬标是使得某个与⼴义误差有关的⾃适应控制性能指标J达到最⼩。

J可有不同的定义,例如单输出系统的J —;e2( )d式(9-1-7)或多输出系统的t TJ ⼆e T( )e( )d式(9-1-8) MRAC的设计⽅法⽬的是得出⾃适应控制率,即沟通⼴义误差与被控系统可调参数间关系的算式。

有两类设计⽅法:⼀类是“局部参数最优化设计⽅法”,⽬标是使得性能指标J达到最优化;另⼀类是使得⾃适应控制系统能够确保稳定⼯作,称之为“稳定性理论的设计⽅法。

§ 9 —2局部参数最优化的设计⽅法⼀、利⽤梯度法的局部参数最优化的设计⽅法这⾥要⽤到⾮线性规划最优化算法中的⼀种最简单的⽅法梯度法(Gradient Method )。

1. 梯度法考虑⼀元函数f(x),当:汀(x)/= 0,且f2 (x) / ;x2> 0时f(x)存在极⼩值。

计算机系统性能分析的方法与工具

计算机系统性能分析的方法与工具

计算机系统性能分析的方法与工具计算机系统性能分析是指通过对计算机系统的各项指标进行评估和测试,以获得关于系统性能的相关数据和信息。

通过性能分析,可以帮助我们了解系统运行的效率、可靠性和稳定性等方面的情况,为系统的优化和改进提供依据。

本文将介绍计算机系统性能分析的方法和常用工具。

一、性能分析方法1. 性能测试法性能测试是通过模拟真实的负载情况,对计算机系统进行全面的性能评估。

性能测试可以分为负载测试、压力测试、容量测试、稳定性测试等多个维度。

其中,负载测试是指在系统正常运行的情况下,通过增加用户数、并发访问数等方式,测试系统的最大负载能力。

压力测试是指在系统最大负载情况下,增加一定压力,测试系统的稳定性和可用性。

容量测试是指通过逐步增加系统负载,测试系统的性能极限。

稳定性测试是指在持续高负载情况下,测试系统的稳定性和可靠性。

2. 分析法性能分析法是通过对系统运行过程中的各项数据进行监控和分析,来评估系统的性能状况。

常见的性能分析方法包括时间分析法、空间分析法和功耗分析法等。

时间分析法是通过监控系统运行的时间开销,如响应时间、吞吐量等来评估系统性能。

空间分析法是通过监控系统使用的资源占用情况,如内存、磁盘空间等来评估系统性能。

功耗分析法是通过监控系统的能耗来评估系统性能。

3. 模型法模型法是通过建立数学模型来对系统性能进行分析和预测。

常用的模型包括排队论模型、马尔可夫链模型、负载均衡模型等。

排队论模型是通过排队论理论,建立系统的服务模型和排队模型,分析系统的性能瓶颈和瓶颈位置。

马尔可夫链模型是用于描述系统状态变化的模型,通过建立系统的状态转移矩阵,分析系统的各种状态之间的转换情况。

负载均衡模型是用于优化系统负载分布的模型,通过调整系统资源分配,使系统性能达到最优状态。

二、性能分析工具1. 性能监控工具性能监控工具用于实时监控系统的性能指标,如CPU利用率、内存使用情况、网络流量等。

常见的性能监控工具有Zabbix、Nagios等。

第6章 动态跟踪技术

第6章 动态跟踪技术

GIS监控调度系统
GIS的组成
GIS 由五个主要的元素所构成: 硬件 软件 数据 人员 方法
GIS类型

地理信息系统从野外调查、地图、遥感、 环境监测和社会经济统计等多种途径获取 地理信息,并将这些信息转换成计算机系 统组织的数据,组成地理数据库。按应用 功能分为:
工具型地理信息系统 应用型地理信息系统 专题地理信息系统 区域地理信息系统
“小红帽”地理信息系统主要包括以下几个功能:



1.客户地址定位:就是系统由一个地理点的地址字符串确定 其地理位置,包括自动定位、交互定位两类。 自动定位 (结果包括三种情况:) 获得了客户的地理位置(经纬度)和客户所在的区站、分站 和投递段,则此客户的地址定位工作结束。 获得了客户的地理位置(经纬度)和客户所在的区站、分站, 但位置在已有的投递段之外,则通过业务系统或仅通过地 理信息系统联系分站,由分站确定投递段,并将投递段信 息返回给系统。同样,若无法准确定位客户在哪个分站, 则联系区站,由区站确定分站,并将分站信息返回给系统。 无法获得客户的地理位置(经纬度),则认为客户提供的地 址有错,通过业务系统或仅通过地理信息系统通知调度联 系客户,重新确定地址。
第6章动态跟踪技术
学习目标




了解动态跟踪系统的组成 掌握GIS、GPS的定义、系统组成、特点、工作原 理与主要功能; 了解GIS、GPS的发展趋势; 了解手机定位技术的主要功能、发展趋势; 掌握GIS、GPS、手机定位在物流管理中的应用。
GIS技术

地理信息系统(Geographic Information System) 是以地理空间数据为基础,采用地理模型分析方 法,适时地提供多种空间的和动态的地理信息, 是一种为地理研究和地理决策服务的计算机技术 系统。

2 m级望远镜跟踪架控制系统动态性能分析

2 m级望远镜跟踪架控制系统动态性能分析

2 m级望远镜跟踪架控制系统动态性能分析邓永停;李洪文;陈涛【摘要】为了增强望远镜的抗风载扰动能力,提高望远镜跟踪架的跟踪精度,本文对2 m望远镜跟踪架伺服控制系统的动态性能进行了测试和分析.首先,采用正弦扫描信号对望远镜跟踪架的结构和伺服系统进行了频率特性测试;其次,采用基于观测器/卡尔曼滤波器的辨识算法,对跟踪架控制系统的频率特性进行了模型辨识;最后,依据辨识获得的控制模型设计了位置和速度控制器,然后对2 m望远镜跟踪架伺服控制系统进行了目标观测实验,实验结果表明:当跟踪最大速度为3.5(°)/s,最大加速度为1(°)/s2的目标时,方位轴和俯仰轴的最大跟踪误差均小于4.5",跟踪误差的RMS值分别为0.378 6"和0.151 6",实验验证了跟踪架控制系统的良好性能.%In order to enhance the ability of disturbance rejection for the telescope,and improve the tracking accuracy of the telescope mount control system,this paper analysis the dynamic of mount control system for the two meters telescope.Firstly,the frequency response of telescope mount control system is test using swept sine.Secondly,the Observer/Klaman filter algorithm is employed to identify the model for the mount control system.Finally,the position controller and speed controller are designed based on the mount control model.The experimental results of target observation show that max tracking errors of the azimuth and elevation axis are less than 4.5",and the tracking error RMS are 0.378 6" and 0.151 6",when the target moving with the max speed 3.5 (°)/s and the max acceleration 1 (°)/s2.The experiments verify the good dynamic of telescope mount control system.【期刊名称】《光学精密工程》【年(卷),期】2018(026)003【总页数】8页(P654-661)【关键词】望远镜;频率响应;模型辨识;伺服系统【作者】邓永停;李洪文;陈涛【作者单位】中国科学院长春光学精密机械与物理研究所,吉林长春130033;中国科学院长春光学精密机械与物理研究所,吉林长春130033;中国科学院长春光学精密机械与物理研究所,吉林长春130033【正文语种】中文1 引言地基大口径光电望远镜在实现对空间目标精密跟踪时,需要重点考虑跟踪架伺服控制系统的定点和跟踪误差[1]。

控制系统的动态响应及其性能指标

控制系统的动态响应及其性能指标

稳定性
动态响应的稳定性对控制系统的稳定性具有重要影 响,稳定的动态响应有助于减小系统振荡和误差。
准确性
动态响应的准确性决定了控制系统的控制精 度,准确的动态响应能够减小系统输出与设 定值之间的偏差。
性能指标对动态响应的指导作用
设定值跟踪
性能指标中的设定值跟踪能力对动态响应具有指导作用, 要求控制系统能够快速、准确地跟踪设定值。
控制系统的动态响应及其性能指
目 录
• 引言 • 控制系统动态响应分析 • 控制系统性能指标 • 控制系统动态响应与性能指标的关系 • 实际应用案例分析 • 结论与展望
01 引言
控制系统的重要性
控制系统在工业生产、航空航天、交 通运输、家庭生活等各个领域都有广 泛应用,是实现自动化和智能化的关 键技术之一。
优化方法
协同优化可以采用各种优化算法,如梯度下降法、遗传算法等,通 过不断迭代和调整控制参数来寻找最优解。
实际应用
协同优化在实际应用中具有广泛的应用价值,如工业控制、航空航 天、机器人等领域,可以提高控制系统的性能和稳定性。
05 实际应用案例分析
案例一:汽车控制系统的动态响应与性能指标
总结词
汽车控制系统的动态响应与性能指标是衡量汽车性能的重要标准,包括加速、制动、转向等性能。
详细描述
汽车控制系统通过优化发动机、传动系统和底盘等子系统的控制策略,实现快速响应和精确控制。动 态响应和性能指标对汽车的安全性、舒适性和燃油经济性具有重要影响。
案例二:航空控制系统的动态响应与性能指标
总结词
航空控制系统的动态响应与性能指标是确保飞行安全的关键因素,包括稳定性、控制精 度和响应速度等。
对未来研究的展望
要点一
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1
动态代码插桩 (Dynamic Binary Instrumentation, DBI) 技 术分为 3 类。第 1 类是基于即时编译 (JIT)方式的动态插桩技 术,典型的实现为 Valgrind 和 Pin 等。第 2 类是基于探测器 方式的动态插桩技术,典型的实现有 DynInst 和 Kprobes。 第 3 类是结合虚拟化技术和即时编译方式的动态插桩技术, 可以弥补第 1 类插桩方式下无法覆盖到内核态代码的缺陷, 典型的实现有 PinOS 等。 动态跟踪 (Dynamic Tracing, DTrace)系统 [1]是第 2 类动态 代码插桩技术的一种应用实现。通过动态跟踪可以对运行着 的生产系统和运行着的程序进行跟踪、收集并分析其行为。 在平台方面,动态跟踪系统在 Solaris, FreeBSD 和 Mac OS 平 台上均已实现。在程序方面,动态跟踪系统支持 C, C++, Java 和多种脚本语言,可以在开发过程中帮助调试和进行性能评 估。在维护方面,通过动态跟踪系统能够在不修改代码和不 使用其他的分析工具的情况下,进行长期的性能数据采样并 分析性能瓶颈。在系统安全方面,可以帮助进行各种安全行 为的审计和分析,抑或通过对程序行为的跟踪来检测恶意软 件和入侵事件。 针对跟踪程序可自定义化的特点和需要在生产系统上进 行长期运行的可能性,本文通过对动态跟踪系统的分析,提 出了一个完整的性能分析模型。通过该模型可以对影响值进 行预测,也可以帮助对跟踪程序进行优化。
图3
探测器触发流程
图2
DTrace(1cmd)用户程序流程
整个流程可以划分为 5 个阶段: 阶段 1(图 3 中 A— >B):探测器在正常的上下文环境中 触发后,首先转入相应的异常 /中断处理函数中,进行现场保 护的工作,然后回调提供器处理函数。 阶段 2(图 3 中 B— >C):转入到提供器内,找出触发点所 对应的探测器。获取探测器下挂载的 dtrace_probe,准备交由 D 虚拟机进行下一步的工作。 阶段 3(图 3 中 C— >D): D 虚拟机中验证探测器的权限和 触发状态,然后执行 dtrace_probe 内的各控制块中所定义的 探测器操作。此阶段中需要关闭中断。 阶段 4(图 3 中 D— >E):当 D 虚拟机执行完毕后,返回 提供器处理函数进行余下的工作。 阶段 5(图 3 中 E— >F):回到异常 /中断处理函数中,模 拟执行插桩点上被替换掉的原指令。完成所有的工作之后重 建被中断的现场,并将程序控制转回到被中断的上下文中, 整个跟踪过程完成。 系 统 调 用 提 供 器 (Syscall) 的 插 桩 方 式 是 修 改 系 统 调 用 表,其触发方式上不依赖于异常或者中断处理函数,所以触 发流程中没有阶段 1 和阶段 5。 PID 提供器可以针对用户进程实行细粒度的代码插桩, 所以需要能支持对任意指令的模拟。 简单的指令 (跳转、 RET、 PUSH EBP、CALL 和 NOP 指令 )会在提供器内部的阶段 4 中 进行模拟执行。对于其他指令,将该指令和一条跳转回正常 执行序列的跳转指令 (JMP rel32)一起复制到用户进程中的可 —45—
Performance Model of Dynamic Tracing System
TAO Jie, YANG Min
(Parallel Processing Institute, Fudan University, Shanghai 201203) 【Abstract】Dynamic Tracing(DTrace) can be used on live production systems to tune and monitor both user programs and operating system itself. When DTrace is enabled on live systems, it introduces some performance penalty. This paper presents the performance model of DTrace by analyzing its software architecture and its internal work flow, and obtains this model’s parameters in real world. Experiments show this performance model can predicate the performance penalty correctly. 【Key words】Dynamic Binary Instrumentation(DBI); Dynamic Tracing(DTrace); performance analysis
执行段中 ( 记为 addr)。返回被中断的用户进程时,将先返回 到 addr 处执行原有指令, 然后跳转回正常的指令处继续执行。 D 虚拟机与探测器复用 探测器在内核和用户进程中是唯一存在的,为了支持系 统中一个或多个不同的脚本对同一探测器的多个跟踪请求, DTrace 通过对探测器的抽象化实现了探测器的复用。DTrace 内核中以 dtrace_probe 描述每个探测器,每个对该探测器的 使用请求均以一个独立启用控制块 (ECB)[1]来表示。 控制块由 断言和操作列表 2 部分组成。同一个 dtrace_probe 下的各个 控制块以单链表的方式互相链接。 D 虚拟机的执行过程如图 3 中深色部分所示。在阶段 B 中,提供器通过 dtrace_probe()函数启动 D 虚拟机。D 虚拟机 中首先进行针对本次触发的初始化操作。然后依次调入 dtrace_probe 下挂载的控制块。对于每个控制块,先进行控制 块相关的初始化工作。如果控制块中存在断言,则取出断言 中的 DIFO 部分进行执行,根据执行结果判断该断言是否被 满足。 DIFO 是 D 编译器根据用户对探测器的描述而生成的 一系列虚拟指令,类似于 Java 的字节码。其指令集类似精简 并包括一组有限的模拟寄存器。 通过 dtrace–S 指令集 (RISC), 命令可以获取编译后 DIFO 的内容。断言满足时, D 虚拟机 读取控制块内的操作列表,依次执行列表上的各个操作。操 作分为 3 类: (1)DIFO ,由 D 虚拟机解释执行; (2)DTrace 框 架中已经预定义的动作,例如 stack()获取内核栈等;(3)数据 的聚合操作。当控制块中的操作都执行完之后, D 虚拟机调 入下一个控制块继续执行。 当虚拟机执行完探测器下挂载的所有控制块后打开中 断,然后转回到提供器内开始阶段 C 的工作。 2.4
概述
图1
DTrace 体系结构
2
2.1
动态跟踪系统
动态跟踪系统的软件构架 动态跟踪系统 [1] 的设计目标是为了能在系统中提供一个 既能用于用户态程序又能用于内核态程序的完整的跟踪工 具,其整体结构如图 1 所示。
整个 DTrace 系统分为 5 个部分, 自上而下分别是 DTrace 用户程序、DTrace 库、DTrace 内核模块、DTrace 提供器和分 散在内核代码中的各种插桩点及中断 /异常处理函数。 位于内核中的 DTrace 模块 (dtrace(7d))是整个结构的核心
第 35 卷 Vol.35
第 10 期 No.10
计 算 机 工 程 Computer Engineering
文章编号:1000—3428(2009)10—0044—05 文献标识码:A
2009 年 5 月 May 2009
中图分类号:TP311
·软件技术与数据库·
动态跟踪系统的性能模型
陶 捷,杨 珉
(复旦大学并行处理研究所,上海 201203) 摘 要:能用于生产环境中进行实时监控和实时调优的动态跟踪系统在跟踪过程中会给被跟踪的程序和系统引入未知的性能影响。为估算 和量化这一影响值,通过对动态跟踪系统的软件架构和运行流程等方面的分析,提出计算该影响值的方法,并实测获取了计算过程中所需 的各种参数。实验结果表明,该性能模型能够准确地对影响值进行预判。 关键词:动态代码插桩;动态跟踪;性能分析
作者简介:陶 捷(1982-), 男,硕士研究生,主研方向: 系统软件, 机群监控和管理,高性能计算;杨 收稿日期:2008-09-08 珉,博士 E-mail:052053007@
—44—
部分。DTrace 内核模块独立构成了整个动态跟踪系统的框架 ( 图 1 中由点划框、虚线框和点线框表示的部分 ) 。独立的 DTrace 框架使得不同的插桩方式 (称为提供器 )可在该框架下 独立实现。提供器 (图 1 中虚线框中的各个部分 )是一个个独 立的内核模块,实现了一种同步或者异步的插桩方式。提供 器作为可访问的伪设备, 在被加载的时候向 DTrace 框架进行 注册;框架在需要提供器协同工作之时,通过回调函数来使 用这些提供器。用户态中 DTrace 分为 2 部分: (1)负责接收 跟 踪 请 求 和 显 示 收 集 到 的 数 据 的 DTrace 用 户 程 序 (dtrace(1m))。 (2)DTrace 库 (libdtrace(3lib))。 DTrace 库提供了统一的用于控制 DTrace 内核模块的接 口,主要负责: (1)对跟踪脚本进行编译并传递给 DTrace 内核模块 (图 1 中 D Compiler 部分 )。 (2)创建或抓取需要受控的用户进程,并请求 Fasttrap 元 提供器动态生成与用户进程相关的提供器 ( 图 1 中点划线箭 头所表示的流程 )。 (3)接收并执行 DTrace 用户关于读取 DTrace 内核状态和 收集到的数据的请求。 DTrace 用户程序和 DTrace 库加上用 户自定义的跟踪脚本,便构成一个完整的 DTrace 跟踪程序 (图 1 中浅色箭头所表示的流程 )。 跟踪程序的运行流程 典型的跟踪程序执行过程如图 2 所示。跟踪程序首先打 开各提供器 (伪设备 )和 DTrace 模块 (伪设备 ),如果这些设备 是第一次被访问,则系统会要求先加载这些设备。然后各提 供器收集系统内所有由其负责的插桩点。接着对跟踪脚本内 的探测器说明进行检查、编译并封装成 DOF[1]。如需跟踪用 户进程,则创建或者抓取那些需要被受控的进程映像。随后 DTrace 模块根据收到的 DOF 的内容,启用相应的探测器。 在所有被请求了的探测器都启用之后,将先前创建和被抓取 的进程恢复为运行状态,然后系统正式进入跟踪状态。此后 跟踪程序进入一个循环过程 (图 2 中的深色部分 )。循环体中 定期地通过 ioctl()取得 DTrace 内核中的状态信息、主缓冲区 和聚合缓冲区 ( 如果有 ) 的内容,分析并显示收集到的信息 ( 该 过程称为刷新 )。 2.2
相关文档
最新文档