[发明专利]计算环境中的诊断数据捕获有效
申请号: | 201180013864.1 | 申请日: | 2011-03-15 |
公开(公告)号: | CN102792278A | 公开(公告)日: | 2012-11-21 |
发明(设计)人: | A·赖特;R·G·刘易斯;E·A·阿迪森;P·R·李 | 申请(专利权)人: | 国际商业机器公司 |
主分类号: | G06F11/30 | 分类号: | G06F11/30;G06F11/07 |
代理公司: | 中国国际贸易促进委员会专利商标事务所 11038 | 代理人: | 张阳 |
地址: | 美国*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 计算 环境 中的 诊断 数据 捕获 | ||
技术领域
本发明涉及计算机环境中在确定无效状态时的诊断数据捕获。特别地,本发明涉及无效状态的验证。
背景技术
多线程计算环境能够同时执行用于执行软件的多个线程。此类环境能够包括包含多个处理器或者能够同时执行多个指令的单个处理器的一个或多个计算机系统。
在此类环境中的问题确定和解决利用软件和硬件工具来辅助诊断。典型地,在该计算环境中存在着通过软件代码来记录有关事件流的信息的能力。例如,在IBM CICS产品中,提供了称为“CICS Trace”的功能(IBM和CICS是国际商业机器公司在美国、其他国家或两者的注册商标)。它允许随着执行线程移动通过计算环境中的不同的软件程序而捕获按时间顺序排列的事件序列。
有时,在特定的事件(或事件序列)已出现时需要捕获问题确定诊断,其中在跟踪文件(trace)中提供的现有的诊断数据不足以解决具体的问题。监视和诊断逻辑能够以软件来实现,以监视计算环境的状态并在状态被确定为指示不稳定的、不充分的或错误的操作状态时捕获诊断数据。此类状态能够称为执行的无效状态。在CICS的示例中,这能够使用称为“DFHTRAP”的程序来实现,该DFHTRAP程序能够在其执行的具体点处分析计算环境的状态,并且在那些时间点根据环境的状态作出关于诊断数据是否应当被捕获的判断。
在被实现为以单线程的方式来执行的计算环境(其中一次只能执行单个逻辑操作系列)中,用于分析环境状态的监视和诊断逻辑能够确定该状态在其正在被分析时是静态的。这意味着:如果检测到了无效状态,则它代表着失效的实例,所以为它捕获诊断数据是正确的。
但是,在多线程的计算环境(例如,具有多个开放的任务控制块(TCB)的CICS事务服务器)中,存在有当该环境正受监视时计算环境的状态发生改变的可能性。此类状态改变之所以会发生,是因为与监视和诊断线程不同的执行线程继续执行,并且可能会在与监视操作相同的时间改变计算环境的状态。这能够导致环境看起来像是处于无效状态,而实际上这是另一线程在同一时刻改变环境的状态的结果。
在多线程的计算环境中可能会有问题的操作包括,例如:列表项到链表数据结构的添加或从中去除;实例数据的更新;计数器的递增或递减(例如,在阈值之上或之下)等。此类操作最终并不会导致计算环境的无效状态,而是会涉及转变经过过渡状态,如果不是在总体操作的背景下理解,则该过渡状态会被看作是无效的。例如,链表数据结构的项添加会暂时导致新创建的列表项含有未初始化的(并因此为无效的)存储器引用(指针)。用于分析此类数据的监视和诊断逻辑会由于无效的存储器引用而断定为无效的状态,而实际上该状态只是过渡的,并且当被看作是添加新的链表项的总体操作的一部分时,该操作将会以有效的列表项条目结束,而没有无效的存储器引用。类似地,导致计数器超过预定的阈值的计数器的递增会短暂地导致监视和诊断逻辑因为阈值被超过而关于无效状态的确定。实际上,该状态只是过渡的,并且当被看作是使计数器递增以及在复位计数器之前检查是否突破了阈值的总体操作的一部分时,该操作将会以有效状态结束。因此,监视和诊断逻辑关于无效状态的假阳性确定会在多线程计算环境中出现,并且能够导致不必要的诊断数据收集。
在繁忙的生产环境,例如,像CICS那样的在线事务处理环境中,不必要的诊断数据的捕获会导致性能的严重降低。明显的解决方案是通过例如强迫环境在监视和诊断逻辑执行时暂停除监视和诊断线程外的所有线程来使计算环境在监视和诊断操作期间同步。该同步对计算环境施加了不可行的性能瓶颈,因为所有线程在每次监视发生时都被暂停而导致性能不良。
因此,目前无法在不同样由于环境状态的有效的过渡变化而捕获诊断数据的情况下捕获计算环境的无效状态的诊断数据,所以招致了由不必要的诊断数据收集引起的性能下降。
发明内容
因此,本发明在第一方面提供一种在多线程计算环境中用于捕获诊断数据的方法,该方法包括以下步骤:响应于监视器确定计算环境处于预定的无效状态,初始化具有延迟阈值的陷阱延迟构件;并且通过第一线程来记录计算环境的诊断数据;其中所述陷阱延迟构件延迟所述记录诊断数据的步骤,直到所述监视器确定所述预定的无效状态已经重复达总计数或对应于预定指示符的时段中的至少一种,所述预定指示符是状态是与所述计算环境的过渡状态不同的状态的指示符,所述过渡状态对应于通过一个或多个其他线程的所述计算环境从第一有效状态到第二有效状态的过渡。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国际商业机器公司,未经国际商业机器公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201180013864.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:桥式传感器自定位装置
- 下一篇:一种用于软弱围岩隧道的监控测量装置