数据流过程的条件处理程序

ACM-SE 28 Pub Date : 1990-04-01 DOI:10.1145/98949.99092
D. Langan
{"title":"数据流过程的条件处理程序","authors":"D. Langan","doi":"10.1145/98949.99092","DOIUrl":null,"url":null,"abstract":"In \"A Localized Condition Handling Construct for a Graphical Dataflow Language\" (this proceedings), a condition handling mechanism, called a node supervisor, is introduced. That construct is intended only for nodes and is used to provide condition detection and handling at the individual node level. The work described in that paper has been extended to consider additional issues that arise when considering conditions that impact the graph as a whole. If a node supervisor is unable to fully or properly respond to a given condition then that condition is posted to a \"higher\" level. That higher level, is called a procedure supervisor. A procedure supervisor can provide some of the same functionality as described for node supervisors, including input acceptance testing (IAT), output acceptance testing (OAT) and condition handling (CH). Procedure supervisors differ from node supervisors in several significant ways. In particular: (1) The conditions being posted to the condition handler may be coming from any one of the nodes hence node identification may be required as part of the condition posting process. (2) The procedure condition tokens may arrive in an asynchronous fashion at the dataflow procedure condition handler. (3) Support for a retry of the procedure as a whole requires additional system support in terms of the ability to halt currently executing nodes and to dispose of tokens scattered throughout the graph. (4) Termination of a dataflow procedure may be more difficult to detect than termination of an individual node. As with node supervisors, procedure supervisors can respond to conditions detected and posted by the system support. At the procedure wide level this can include conditions related to the configuration of the graph at lime of termination. For example, a programmer might have expectations that the graph and any initial tokens present return to the \"initial state\" by the time the procedure has finished executing. The notion of a snapshot that captures the details of a graph at some point during the execution is convenient. Expectations regarding the final state of the graph can be slated in terms of the terminal snapshot and the defining snapshot (i.e. the description of the original graph). Various levels of invariance can be identified in terms of differences between these two (c.g., variant, token invariant and totally invariant). The concept of a snapshot also proves to be a valuable one with respect to a condition handler requesting system support to capture the \"current” stale of execution for debugging purposes. One difficulty regarding gathering snapshots during execution is that, due to liming issues, the snapshot may not reflect the true stale at the moment that the request was made. The system support required for procedure supervisors is more extensive than that required for nodes supervisors. This is seen by looking at the need (a) to propagate a HALT to all nodes, (b) to delect procedure termination, (c) to gather snapshot information and (d) to determine if the desired level of invariance has been met by comparing the defining snapshot to the terminal snapshot While the procedure supervisor construct and the required system support have been studied, work still remains in the area of testing such a construct to determine its viability. It is suspected that the cost of such a mechanism may turn out to be justified only in the context of coarse grain dataflow procedures. Permission lo copy without fee alt or part of this material is granted provided that the copie* are not made or distributed for direct com­ mercial advantage, the ACM copyright notice and the title of the publication and it* date appear, and notice I* given that copying is by permission of the Association for Computing Machinery. To copy otherwise, or lo republish, requires a fee and/or specific per­ mission. © 1990 ACM 0-89791-356-6/90/0400/0196 $1.50","PeriodicalId":409883,"journal":{"name":"ACM-SE 28","volume":"2 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1990-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"Condition handlers for dataflow procedures\",\"authors\":\"D. Langan\",\"doi\":\"10.1145/98949.99092\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"In \\\"A Localized Condition Handling Construct for a Graphical Dataflow Language\\\" (this proceedings), a condition handling mechanism, called a node supervisor, is introduced. That construct is intended only for nodes and is used to provide condition detection and handling at the individual node level. The work described in that paper has been extended to consider additional issues that arise when considering conditions that impact the graph as a whole. If a node supervisor is unable to fully or properly respond to a given condition then that condition is posted to a \\\"higher\\\" level. That higher level, is called a procedure supervisor. A procedure supervisor can provide some of the same functionality as described for node supervisors, including input acceptance testing (IAT), output acceptance testing (OAT) and condition handling (CH). Procedure supervisors differ from node supervisors in several significant ways. In particular: (1) The conditions being posted to the condition handler may be coming from any one of the nodes hence node identification may be required as part of the condition posting process. (2) The procedure condition tokens may arrive in an asynchronous fashion at the dataflow procedure condition handler. (3) Support for a retry of the procedure as a whole requires additional system support in terms of the ability to halt currently executing nodes and to dispose of tokens scattered throughout the graph. (4) Termination of a dataflow procedure may be more difficult to detect than termination of an individual node. As with node supervisors, procedure supervisors can respond to conditions detected and posted by the system support. At the procedure wide level this can include conditions related to the configuration of the graph at lime of termination. For example, a programmer might have expectations that the graph and any initial tokens present return to the \\\"initial state\\\" by the time the procedure has finished executing. The notion of a snapshot that captures the details of a graph at some point during the execution is convenient. Expectations regarding the final state of the graph can be slated in terms of the terminal snapshot and the defining snapshot (i.e. the description of the original graph). Various levels of invariance can be identified in terms of differences between these two (c.g., variant, token invariant and totally invariant). The concept of a snapshot also proves to be a valuable one with respect to a condition handler requesting system support to capture the \\\"current” stale of execution for debugging purposes. One difficulty regarding gathering snapshots during execution is that, due to liming issues, the snapshot may not reflect the true stale at the moment that the request was made. The system support required for procedure supervisors is more extensive than that required for nodes supervisors. This is seen by looking at the need (a) to propagate a HALT to all nodes, (b) to delect procedure termination, (c) to gather snapshot information and (d) to determine if the desired level of invariance has been met by comparing the defining snapshot to the terminal snapshot While the procedure supervisor construct and the required system support have been studied, work still remains in the area of testing such a construct to determine its viability. It is suspected that the cost of such a mechanism may turn out to be justified only in the context of coarse grain dataflow procedures. Permission lo copy without fee alt or part of this material is granted provided that the copie* are not made or distributed for direct com­ mercial advantage, the ACM copyright notice and the title of the publication and it* date appear, and notice I* given that copying is by permission of the Association for Computing Machinery. To copy otherwise, or lo republish, requires a fee and/or specific per­ mission. © 1990 ACM 0-89791-356-6/90/0400/0196 $1.50\",\"PeriodicalId\":409883,\"journal\":{\"name\":\"ACM-SE 28\",\"volume\":\"2 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"1990-04-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"ACM-SE 28\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1145/98949.99092\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"ACM-SE 28","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/98949.99092","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

摘要

在“图形数据流语言的本地化条件处理构造”(本论文集)中,介绍了一种称为节点监督器的条件处理机制。该构造仅用于节点,用于在单个节点级别提供条件检测和处理。该论文中描述的工作已经扩展到考虑影响整个图的条件时出现的其他问题。如果节点管理器无法完全或正确地响应给定的条件,则将该条件发布到“更高”的级别。这个更高的层次被称为过程主管。过程管理器可以提供与节点管理器相同的一些功能,包括输入验收测试(IAT)、输出验收测试(OAT)和条件处理(CH)。过程管理器与节点管理器在几个重要方面有所不同。特别是:(1)发布到条件处理程序的条件可能来自任何一个节点,因此节点标识可能需要作为条件发布过程的一部分。(2)过程条件令牌可以异步方式到达数据流过程条件处理程序。(3)支持整个过程的重试需要额外的系统支持,以停止当前执行节点和处理分散在整个图中的令牌的能力。(4)数据流过程的终止可能比单个节点的终止更难检测。与节点管理器一样,过程管理器可以响应系统支持人员检测到并发布的条件。在程序范围级别上,这可以包括与终止时图形配置相关的条件。例如,程序员可能期望图和任何初始标记在过程执行完成时返回到“初始状态”。在执行过程中的某个时刻捕获图的细节的快照的概念很方便。关于图形最终状态的期望可以根据终端快照和定义快照(即原始图形的描述)来确定。不同级别的不变性可以根据这两者之间的差异来确定(例如,变量,令牌不变性和完全不变性)。对于请求系统支持以捕获“当前”执行状态以进行调试的条件处理程序,快照的概念也被证明是有价值的。在执行期间收集快照的一个困难是,由于限制问题,快照可能不能反映请求发出时的真实状态。过程管理器所需的系统支持比节点管理器所需的系统支持更广泛。这可以通过以下需求看出:(a)将HALT传播到所有节点,(b)删除过程终止,(c)收集快照信息,以及(d)通过比较定义快照和终端快照来确定是否满足所需的不变性水平。虽然已经研究了过程主管结构和所需的系统支持,但测试这种结构以确定其可行性的工作仍然存在。人们怀疑,这种机制的成本可能只有在粗粒度数据流过程的背景下才合理。允许免费复制本材料的全部或部分,前提是该复制*不是为直接商业利益而制作或分发的,ACM版权声明、出版物的标题和日期出现,并且注意到复制是由计算机协会许可的。以其他方式复制或重新发布,需要费用和/或特定的任务。©1990 acm 0-89791-356-6/90/0400/0196 1.50美元
本文章由计算机程序翻译,如有差异,请以英文原文为准。
Condition handlers for dataflow procedures
In "A Localized Condition Handling Construct for a Graphical Dataflow Language" (this proceedings), a condition handling mechanism, called a node supervisor, is introduced. That construct is intended only for nodes and is used to provide condition detection and handling at the individual node level. The work described in that paper has been extended to consider additional issues that arise when considering conditions that impact the graph as a whole. If a node supervisor is unable to fully or properly respond to a given condition then that condition is posted to a "higher" level. That higher level, is called a procedure supervisor. A procedure supervisor can provide some of the same functionality as described for node supervisors, including input acceptance testing (IAT), output acceptance testing (OAT) and condition handling (CH). Procedure supervisors differ from node supervisors in several significant ways. In particular: (1) The conditions being posted to the condition handler may be coming from any one of the nodes hence node identification may be required as part of the condition posting process. (2) The procedure condition tokens may arrive in an asynchronous fashion at the dataflow procedure condition handler. (3) Support for a retry of the procedure as a whole requires additional system support in terms of the ability to halt currently executing nodes and to dispose of tokens scattered throughout the graph. (4) Termination of a dataflow procedure may be more difficult to detect than termination of an individual node. As with node supervisors, procedure supervisors can respond to conditions detected and posted by the system support. At the procedure wide level this can include conditions related to the configuration of the graph at lime of termination. For example, a programmer might have expectations that the graph and any initial tokens present return to the "initial state" by the time the procedure has finished executing. The notion of a snapshot that captures the details of a graph at some point during the execution is convenient. Expectations regarding the final state of the graph can be slated in terms of the terminal snapshot and the defining snapshot (i.e. the description of the original graph). Various levels of invariance can be identified in terms of differences between these two (c.g., variant, token invariant and totally invariant). The concept of a snapshot also proves to be a valuable one with respect to a condition handler requesting system support to capture the "current” stale of execution for debugging purposes. One difficulty regarding gathering snapshots during execution is that, due to liming issues, the snapshot may not reflect the true stale at the moment that the request was made. The system support required for procedure supervisors is more extensive than that required for nodes supervisors. This is seen by looking at the need (a) to propagate a HALT to all nodes, (b) to delect procedure termination, (c) to gather snapshot information and (d) to determine if the desired level of invariance has been met by comparing the defining snapshot to the terminal snapshot While the procedure supervisor construct and the required system support have been studied, work still remains in the area of testing such a construct to determine its viability. It is suspected that the cost of such a mechanism may turn out to be justified only in the context of coarse grain dataflow procedures. Permission lo copy without fee alt or part of this material is granted provided that the copie* are not made or distributed for direct com­ mercial advantage, the ACM copyright notice and the title of the publication and it* date appear, and notice I* given that copying is by permission of the Association for Computing Machinery. To copy otherwise, or lo republish, requires a fee and/or specific per­ mission. © 1990 ACM 0-89791-356-6/90/0400/0196 $1.50
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信