首页> 中国专利> 一种众核环境下基于动态感知的系统容错机制

一种众核环境下基于动态感知的系统容错机制

摘要

本发明基于动态感知的系统容错机制,该机制利用众核解码平台的共享内存和信号响应来实现容错后的系统恢复,能够不丢弃正确的数据,不影响到系统的数据分析应用。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2014-03-26

    授权

    授权

  • 2012-05-30

    实质审查的生效 IPC(主分类):G06F11/07 申请日:20110831

    实质审查的生效

  • 2012-01-18

    公开

    公开

说明书

技术领域

本发明涉及复杂环境下的视频解码系统的容错设计,特别是涉及 一种基于动态感知的容错保护机制。

背景技术

复杂网络环境下的视频解码应用需要同时处理大量数据,这些数 据具有多种码流格式、多种分辨率,采用传统的DSP、FPGA、ASIC硬 件单元、RISC处理器等都难以满足性能和多格式解码功能要求。

采用64核心的众核处理器技术,利用众核的丰富的计算资源, 通过软件来进行视频解码处理,可以满足同时解多种视频格式,多种 码流分辨率的应用需求。

网络视频分析系统需要高可靠的解码设备,该设备能够容忍从网 络包中提取的错误音视频数据导致的系统错误和其他系统突发故障。 因此需要设计一种高可靠的视频解码系统。

发明内容

为解决视频解码系统的容错性问题,本发明基于动态感知的系统 容错机制,该机制利用众核解码平台的共享内存和信号响应来实现容 错后的系统恢复,能够不丢弃正确的数据,不影响到系统的数据分析 应用。

一种众核环境下基于动态感知的系统容错机制,

A、构建一个多进程系统模型,给每个任务的解码处理进程分配 一个核心并将其与该核心绑定;

B、记录每个任务进程的PID和绑定的核心的序列位置SEQ;

C、将所有任务的元数据结构采用数组方式存储在共享内存中;

D、在共享内存中存放一个心跳数组,该数组为每个进程分配一 个心跳计数器;

E、检测进程检测到进程异常时发出的异常信号或者监控进程监 控到进程的心跳异常时,对该进程发出关闭信号;

F、管理进程接收到该进程的关闭信号后,收回该进程当前所用 的全部元数据资源,重启该进程并通过共享内存的存储的元数据恢复 该进程原来的运行状态。

优选的,所述心跳计数器每隔一定时间向监控简称发送心跳信 号。

优选的,所述任务的元数据结构是根据所绑定的核心序列位置 SEQ确定。

优选的,所述多进程系统模型自定义了信号处理函数,用来接管 系统信号的处理。

优选的,所述进程在任务结束后由监控进程回收器共享内存中的 数据信息。

通过本发明,可以实现细粒度的任务错误感知和恢复,系统整体 受到错误事件的影响最小,不会干涉到业务的执行。

附图说明

图1是本发明示意图

具体实施方式

本发明利用信号处理机制来感知被计算进程的错误,并恢复该进 程的执行;通过使用共享内存来完成各元数据的回复,可以只丢弃错 误数据,恢复计算进程继续执行下一个数据片段的处理。

计算进程遇到错误会主动发出信号给监控进程处理,或者是由检 测进程发现计算进程的异常后发信号让计算进程中止,并由监控进程 检测到计算进程的中止信号,重新运行该计算进程,并负责回收和恢 复共享内存中的元数据。

本容错机制包括:多进程并行架构;系统错误感知;基于共享内 存的错误恢复。

具体实现描述如下:

1、多进程系统模型,绑定每个任务的解码处理进程到其分配的 一个核心上,记录该进程的pid和cpu核心在cpu集合中的序列位置 seq;

2、所有任务相关数据结构采用数组方式在共享内存分配;每个 进程根据seq号确定其所使用的相关数据结构,如解码数据 data_pointer[seq]为序列号为seq的进程使用的共享内存数据缓 冲区的数据地址指针。

3、共享内存中设置一个心跳数组为每个进程设置一个心跳计数 器。

4、自定义信号处理函数,接管系统的各种信号处理,如SIGSEGV、 SIGABRT等。

5、进程本身异常会发出相关的异常信号给检测进程或者监控进 程监测到某进程心跳异常,则对该进程发出kill信号。管理进程接 收到此进程的信号后,收回当前处理所用的资源,重启该进程,通过 共享内存恢复该进程的运行,继续执行下一个任务。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号