CN111796811A - 联邦学习中实现支持断点调试的流控制引擎系统 - Google Patents
联邦学习中实现支持断点调试的流控制引擎系统 Download PDFInfo
- Publication number
- CN111796811A CN111796811A CN202010649516.4A CN202010649516A CN111796811A CN 111796811 A CN111796811 A CN 111796811A CN 202010649516 A CN202010649516 A CN 202010649516A CN 111796811 A CN111796811 A CN 111796811A
- Authority
- CN
- China
- Prior art keywords
- breakpoint
- state
- module
- running
- container
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/37—Compiler construction; Parser generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及一种联邦学习中实现支持断点调试的流控制引擎系统,包括流图生成模块在后端生成逻辑流图;调度队列模块用于遍历逻辑流图的节点;运行容器模块用于给每次任务创建任务ID,并传输至生命周期管理器;断点管理模块用于将运行容器的状态设置并触发断点触发暂停状态和继续运行状态;生命周期管理器用于管理容器中的节点运行状态,并控制容器运行过程的完整生命周期;上下文管理器用于在节点状态下保存当前运行的中间结果。采用了本发明的联邦学习中实现支持断点调试的流控制引擎系统,用断点模式运行,系统在运行到融合之后,会暂停下来,并且可以查看到当前已经运行后的一些中间结果,便于联邦学习建模人员进行调试。
Description
技术领域
本发明涉及联邦学习领域,尤其涉及流程控制领域,具体是指一种联邦学习中实现支持断点调试的流控制引擎系统。
背景技术
编程的编辑器一般都有断点调试的功能,用于支持程序运行过程中在指定位置暂停,并查看运行到该断点的程序各个变量的值。编辑器的断点调试一般支持以下几种功能:
断点运行(Debug),在程序预先设置断点的位置会停止。再次点击,会运行到下一个断点。
断点模式运行过程中,对于没有执行到的逻辑动态增加一个断点,程序也会在运行到后续断点的时候停止。
运行到断点后,可以查看程序已经运行过的中间结果。
屏蔽所有断点运行,忽视所有的断点,流程全部执行。
联邦学习的流控制引擎,支持流的全部执行,部分算子的单独执行。但是缺少一种类似代码编辑器Debug模式的断点调试功能。因此,发明支持断点调试的流控制引擎。
现有技术的典型的联邦学习流图如下:
触发这个流图依次执行联邦学习的一个典型学习过程:
1、数据源A和数据源B加载;
2、数据源A和B融合;
3、融合结束后,进行数据的特征处理;
4、特征处理结束后选择一种学习算法进行联邦学习;
5、学习结果通过模型评估输出这个学习出的模型是否有效。
典型的联邦学习流图如图1所示,现有的流控制引擎获得这个图之后支持以下功能:
1、整个图全部运行;
2、选中其中某一个模块,单独运行,比如选中融合,单独运行融合。
发明内容
本发明的目的是克服了上述现有技术的缺点,提供了一种满足流程简便、效率高、适用范围较为广泛的联邦学习中实现支持断点调试的流控制引擎系统。
为了实现上述目的,本发明的联邦学习中实现支持断点调试的流控制引擎系统如下:
该联邦学习中实现支持断点调试的流控制引擎系统,其主要特点是,所述的流控制引擎包括:
流图生成模块,用于根据前端传输的图片相关参数,在后端生成逻辑流图;
调度队列模块,与所述的流图生成模块相连接,用于遍历逻辑流图的节点,生成等待运行的队列,并将需要运行的节点依次放至运行容器中;
运行容器模块,与所述的调度队列模块相连接,用于给每次任务创建任务ID,并传输至生命周期管理器;
断点管理模块,与所述的运行容器模块相连接,用于将运行容器的状态设置并触发断点触发暂停状态和继续运行状态;
生命周期管理器,与所述的运行容器模块相连接,用于管理容器中的节点运行状态,并控制容器运行过程的完整生命周期;
上下文管理器,与所述的断点管理模块和生命周期管理器相连接,用于在节点状态下保存当前运行的中间结果。
较佳地,所述的断点管理模块还用于在逻辑流图预先配置断点。
较佳地,所述的上下文管理器还支持通过上下文条件自动忽略断点。
较佳地,所述的流图生成模块的逻辑流图通过实线的向前指针表示流图执行方向,通过虚线的向后指针表示节点单独运行或在断点处运行查询前置节点状态。
较佳地,所述的调度队列模块提供逻辑流图的各节点的依次获取的处理过程。
较佳地,所述的生命周期管理器的节点运行状态包含初始化运行环境状态、等待运行状态、开始运行状态、断点触发暂停状态、继续运行状态和运行结束状态。
较佳地,所述的流控制引擎在流程预先设置断点的位置停止,在下一步指令下运行至下一个断点。
较佳地,所述的流控制引擎在运行过程中在未执行到的逻辑动态增加断点,在运行至后续断点时停止。
采用了本发明的联邦学习中实现支持断点调试的流控制引擎系统,用断点模式运行,系统在运行到融合之后,会暂停下来,并且可以查看到当前已经运行后的一些中间结果,便于联邦学习建模人员进行调试。
附图说明
图1为现有技术的流程图。
图2为本发明的联邦学习中实现支持断点调试的流控制引擎系统的执行流程图。
图3为本发明的联邦学习中实现支持断点调试的流控制引擎系统的结构图。
图4为本发明的联邦学习中实现支持断点调试的流控制引擎系统的流图生成模块的执行流程图。
具体实施方式
为了能够更清楚地描述本发明的技术内容,下面结合具体实施例来进行进一步的描述。
本发明的该联邦学习中实现支持断点调试的流控制引擎系统,其中包括:
流图生成模块,用于根据前端传输的图片相关参数,在后端生成逻辑流图;
调度队列模块,与所述的流图生成模块相连接,用于遍历逻辑流图的节点,生成等待运行的队列,并将需要运行的节点依次放至运行容器中;
运行容器模块,与所述的调度队列模块相连接,用于给每次任务创建任务ID,并传输至生命周期管理器;
断点管理模块,与所述的运行容器模块相连接,用于将运行容器的状态设置并触发断点触发暂停状态和继续运行状态;
生命周期管理器,与所述的运行容器模块相连接,用于管理容器中的节点运行状态,并控制容器运行过程的完整生命周期;
上下文管理器,与所述的断点管理模块和生命周期管理器相连接,用于在节点状态下保存当前运行的中间结果。
作为本发明的优选实施方式,所述的断点管理模块还用于在逻辑流图预先配置断点。
作为本发明的优选实施方式,所述的上下文管理器还支持通过上下文条件自动忽略断点。
作为本发明的优选实施方式,所述的流图生成模块的逻辑流图通过实线的向前指针表示流图执行方向,通过虚线的向后指针表示节点单独运行或在断点处运行查询前置节点状态。
作为本发明的优选实施方式,所述的调度队列模块提供逻辑流图的各节点的依次获取的处理过程。
作为本发明的优选实施方式,所述的生命周期管理器的节点运行状态包含初始化运行环境状态、等待运行状态、开始运行状态、断点触发暂停状态、继续运行状态和运行结束状态。
作为本发明的优选实施方式,所述的流控制引擎在流程预先设置断点的位置停止,在下一步指令下运行至下一个断点。
作为本发明的优选实施方式,所述的流控制引擎在运行过程中在未执行到的逻辑动态增加断点,在运行至后续断点时停止。
本发明的具体实施方式中,提出新的运行模式,断点运行。以断点设置在融合之后为实施例,如图2所示。
实现的效果,如果用断点模式运行,系统在运行到融合之后,会暂停下来,并且可以查看到当前已经运行后的一些中间结果,便于联邦学习建模人员进行调试。
流控制引擎如下:
为了实现一个交互效果,设计如下流控制引擎。主要模块有:流图生成模块,调度队列模块,运行容器模块,断点管理模块,生命周期管理器,上下文管理器,如图3所示。
流图生成模块如下:
根据前端(客户端)传过来的图的相关参数,在后端生成一个逻辑的流图。假设这个流图如图4所示,图有4个节点需要运行,A,B,C,D,逻辑流图节点有一个向后指针,实线表示,指向运行的下一个节点,用于表示流图的执行方向。一个向前指针,虚线表示,指向上一个节点,便于节点单独运行或者在断点处运行查询前置节点状态,看是否满足运行条件。
调度队列模块如下:
调度队列模块遍历图中节点,生成一个等待运行的队列,比如:[A,B,C,D],A,B,C,D分别表示图上4个节点。调度队列提供每个节点的依次获取的方法。
运行容器模块如下:
调度队列把需要运行的节点依次放到运行容器中。运行容器给每次任务创建一个任务id,并交由生命周期管理器,管理运行中的各个状态。
生命周期管理器如下:
生命周期管理器管理容器中的节点运行状态:有如下几种必选状态:
init,即初始化运行环境;ready,即满足运行条件,等待运行;start,即开始运行;pause,即断点触发暂停;continue,即继续运行;stop,即运行结束。
生命周期管理控制容器运行过程的完整生命周期:
其最小子集为:init-start-stop:初始化,运行,结束。不包含断点控制和运行前检查。
加入前置检查后:init-ready-start-stop:ready状态作用做可运行的前置检查。
加入断点控制后:init-ready-start-pause-continue-stop。Pause触发断点,运行暂停,断点移除后,进入continue状态继续运行。
以上生命周期是本系统最小的一个例举,在这个基础上可以扩展更多状态实现精细控制,比如start再继续拆分成:pre-start(运行前),starting(运行中),started(运行后),stop也可以拆分为success-stop(成功后停止),failed-stop(结束后停止)。只是在这个生命周期功能的基础上扩展。
上下文管理器如下:
节点每个状态下都可以通过上下文管理器保存当前运行的中间结果。
断点管理器如下:
会在流运行过程中,将运行容器的状态设置pause,上下文管理发现容器状态是pause会进入暂停,通过上下文管理器保存当前上下文,可以查看系统运行到断点的中间结果,系统设置下一步会触发continue状态,继续运行直到运行结束。
断点管理器除了支持运行中的pause,还可以在流程图上预先配置一个断点,比如配置在B和D之间,默认会在D节点init之前停止流程图的后续调度。
拥有了以上模块,我们实现了流的断点调试功能:
断点运行(Debug),在流预先设置断点的位置会停止。点击下一步,会运行到下一个断点。
断点模式运行过程中,对于没有执行到的逻辑动态增加一个断点,流也会在运行到后续断点的时候停止。
运行到断点后,可以通过上下文管理器查看已经运行过的中间结果。
屏蔽所有断点运行,忽视所有的断点,即忽视断点管理器,流程全部执行。
除此之外,运行过程中可以通过上下文管理器,满足一定条件的时候自动忽略断点,通过一定上下文条件忽略断点,便于我们控制流的按条件运行。也可以手动移除断点,手动移除断点相当于触发容器的continue状态。
采用了本发明的联邦学习中实现支持断点调试的流控制引擎系统,用断点模式运行,系统在运行到融合之后,会暂停下来,并且可以查看到当前已经运行后的一些中间结果,便于联邦学习建模人员进行调试。
在此说明书中,本发明已参照其特定的实施例作了描述。但是,很显然仍可以作出各种修改和变换而不背离本发明的精神和范围。因此,说明书和附图应被认为是说明性的而非限制性的。
Claims (8)
1.一种联邦学习中实现支持断点调试的流控制引擎系统,其特征在于,所述的流控制引擎包括:
流图生成模块,用于根据前端传输的图片相关参数,在后端生成逻辑流图;
调度队列模块,与所述的流图生成模块相连接,用于遍历逻辑流图的节点,生成等待运行的队列,并将需要运行的节点依次放至运行容器中;
运行容器模块,与所述的调度队列模块相连接,用于给每次任务创建任务ID,并传输至生命周期管理器;
断点管理模块,与所述的运行容器模块相连接,用于将运行容器的状态设置并触发断点触发暂停状态和继续运行状态;
生命周期管理器,与所述的运行容器模块相连接,用于管理容器中的节点运行状态,并控制容器运行过程的完整生命周期;
上下文管理器,与所述的断点管理模块和生命周期管理器相连接,用于在节点状态下保存当前运行的中间结果。
2.根据权利要求1所述的联邦学习中实现支持断点调试的流控制引擎系统,其特征在于,所述的断点管理模块还用于在逻辑流图预先配置断点。
3.根据权利要求1所述的联邦学习中实现支持断点调试的流控制引擎系统,其特征在于,所述的上下文管理器还支持通过上下文条件自动忽略断点。
4.根据权利要求1所述的联邦学习中实现支持断点调试的流控制引擎系统,其特征在于,所述的流图生成模块的逻辑流图通过实线的向前指针表示流图执行方向,通过虚线的向后指针表示节点单独运行或在断点处运行查询前置节点状态。
5.根据权利要求1所述的联邦学习中实现支持断点调试的流控制引擎系统,其特征在于,所述的调度队列模块提供逻辑流图的各节点的依次获取的处理过程。
6.根据权利要求1所述的联邦学习中实现支持断点调试的流控制引擎系统,其特征在于,所述的生命周期管理器的节点运行状态包含初始化运行环境状态、等待运行状态、开始运行状态、断点触发暂停状态、继续运行状态和运行结束状态。
7.根据权利要求1所述的联邦学习中实现支持断点调试的流控制引擎系统,其特征在于,所述的流控制引擎在流程预先设置断点的位置停止,在下一步指令下运行至下一个断点。
8.根据权利要求1所述的联邦学习中实现支持断点调试的流控制引擎系统,其特征在于,所述的流控制引擎在运行过程中在未执行到的逻辑动态增加断点,在运行至后续断点时停止。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010649516.4A CN111796811B (zh) | 2020-07-08 | 2020-07-08 | 联邦学习中实现支持断点调试的流控制引擎系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010649516.4A CN111796811B (zh) | 2020-07-08 | 2020-07-08 | 联邦学习中实现支持断点调试的流控制引擎系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111796811A true CN111796811A (zh) | 2020-10-20 |
CN111796811B CN111796811B (zh) | 2021-07-30 |
Family
ID=72809658
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010649516.4A Active CN111796811B (zh) | 2020-07-08 | 2020-07-08 | 联邦学习中实现支持断点调试的流控制引擎系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111796811B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113419829A (zh) * | 2021-06-23 | 2021-09-21 | 平安科技(深圳)有限公司 | 作业调度方法、装置、调度平台及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102187314A (zh) * | 2008-10-17 | 2011-09-14 | 微软公司 | 可视地建模、调试和执行面向资源的程序的交互式设计环境 |
CN109308213A (zh) * | 2017-07-27 | 2019-02-05 | 南京南瑞继保电气有限公司 | 基于改进任务调度机制的多任务断点调试方法 |
CN110895547A (zh) * | 2019-11-29 | 2020-03-20 | 交通银行股份有限公司 | 基于db2联邦特性的多源异构数据库数据同步系统及方法 |
CN110955598A (zh) * | 2019-11-20 | 2020-04-03 | 杭州迪普科技股份有限公司 | 一种内核态程序的断点处理方法及装置 |
CN111104731A (zh) * | 2019-11-19 | 2020-05-05 | 北京集奥聚合科技有限公司 | 一种用于联邦学习的图形化模型全生命周期建模方法 |
CN111143308A (zh) * | 2019-12-26 | 2020-05-12 | 许昌中科森尼瑞技术有限公司 | 基于联邦学习的高低压电动机数据处理方法、系统及装置 |
WO2020115273A1 (en) * | 2018-12-07 | 2020-06-11 | Telefonaktiebolaget Lm Ericsson (Publ) | Predicting network communication performance using federated learning |
CN111368901A (zh) * | 2020-02-28 | 2020-07-03 | 深圳前海微众银行股份有限公司 | 基于联邦学习的多方联合建模方法、设备和介质 |
-
2020
- 2020-07-08 CN CN202010649516.4A patent/CN111796811B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102187314A (zh) * | 2008-10-17 | 2011-09-14 | 微软公司 | 可视地建模、调试和执行面向资源的程序的交互式设计环境 |
CN109308213A (zh) * | 2017-07-27 | 2019-02-05 | 南京南瑞继保电气有限公司 | 基于改进任务调度机制的多任务断点调试方法 |
WO2020115273A1 (en) * | 2018-12-07 | 2020-06-11 | Telefonaktiebolaget Lm Ericsson (Publ) | Predicting network communication performance using federated learning |
CN111104731A (zh) * | 2019-11-19 | 2020-05-05 | 北京集奥聚合科技有限公司 | 一种用于联邦学习的图形化模型全生命周期建模方法 |
CN110955598A (zh) * | 2019-11-20 | 2020-04-03 | 杭州迪普科技股份有限公司 | 一种内核态程序的断点处理方法及装置 |
CN110895547A (zh) * | 2019-11-29 | 2020-03-20 | 交通银行股份有限公司 | 基于db2联邦特性的多源异构数据库数据同步系统及方法 |
CN111143308A (zh) * | 2019-12-26 | 2020-05-12 | 许昌中科森尼瑞技术有限公司 | 基于联邦学习的高低压电动机数据处理方法、系统及装置 |
CN111368901A (zh) * | 2020-02-28 | 2020-07-03 | 深圳前海微众银行股份有限公司 | 基于联邦学习的多方联合建模方法、设备和介质 |
Non-Patent Citations (6)
Title |
---|
ERIC TRAMEL: "Federated Learning: Rewards & Challenges of Distributed Private ML", 《HTTPS://WWW.INFOQ.COM/PRESENTATIONS/FEDERATED-LEARNING-DISTRIBUTED-ML/》 * |
FEDAI联邦学习: "如何构建端到端的联邦学习 Pipeline 生产服务", 《HTTPS://ZHUANLAN.ZHIHU.COM/P/86239124》 * |
HELLOMPC: "联邦学习工程实践中的三大难题", 《HTTPS://BLOG.CSDN.NET/HELLOMPC/ARTICLE/DETAILS/107088610》 * |
MICHAŁ MADERA等: "A case study on machine learning model for code review expert system in software engineering", 《2017 FEDERATED CONFERENCE ON COMPUTER SCIENCE AND INFORMATION SYSTEMS (FEDCSIS)》 * |
胡彬轩: "基于联邦学习的空气质量监测系统设计与实现", 《中国优秀硕士学位论文全文数据库 工程科技Ⅰ辑》 * |
花京华: "联邦学习开源框架FATE研究--使用PyCharm开发和调试", 《HTTPS://ZHUANLAN.ZHIHU.COM/P/105798559?UTM_SOURCE=COM.TENCENT.TIM》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113419829A (zh) * | 2021-06-23 | 2021-09-21 | 平安科技(深圳)有限公司 | 作业调度方法、装置、调度平台及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111796811B (zh) | 2021-07-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0709777B1 (en) | Method of and apparatus for debugging multitask programs | |
CN113779810B (zh) | 陆军合同战斗方案仿真实验决策控制系统及仿真控制方法 | |
WO2001063529A1 (en) | Workflow system and builder offers image script tools on input data type | |
CN111796811B (zh) | 联邦学习中实现支持断点调试的流控制引擎系统 | |
CN108958789B (zh) | 一种并行流式计算方法、电子设备、存储介质及系统 | |
JP2007226799A (ja) | 入出力作業によってブロッキングされたスレッドを強制終了する装置および方法 | |
CN114895642A (zh) | 一种基于数字孪生技术的多设备协同作业系统及方法 | |
CN111240935B (zh) | 一种自动化智能运维系统及运维方法 | |
CN110861085B (zh) | 一种基于VxWorks的机械臂指令解释器系统 | |
US11474931B2 (en) | Debugging a cross-technology and cross-environment execution | |
Yang et al. | Towards a formal semantics for the AADL behavior annex | |
Risler et al. | Formal behavior specification of multi-robot systems using hierarchical state machines in XABSL | |
CN106945044A (zh) | 机器人暂停运动控制方法和系统 | |
WO2018210007A1 (zh) | 一种虚拟控制器的组态调试器实现方法 | |
KR101027005B1 (ko) | 시각적 디버깅 장치 및 방법 | |
CN107948224A (zh) | 客户端请求的超时处理方法和装置 | |
CN108153671B (zh) | 一种面向atml信号的运行时服务的测试系统及方法 | |
CN115061797A (zh) | 一种Quartz组件的调用方法及装置 | |
Goel et al. | Handling multithreading approach using java | |
Mkaouar et al. | An ocarina extension for AADL formal semantics generation | |
CN106965181B (zh) | 基于ros和orocos的机器人控制方法和系统 | |
CN117773923A (zh) | 复杂业务场景下机器人行为控制方法、装置及相关产品 | |
CN116587265B (zh) | 一种基于伴随观察模式的多智能体自主机器人系统 | |
Hiesmair et al. | Intuitive Human Machine Interaction based on multimodal command fusion and interpretation | |
CN116302400A (zh) | 一种大数据平台数据流处理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |