CN103324479B - 松散环境下分布式大数据计算的中间件体系框架 - Google Patents
松散环境下分布式大数据计算的中间件体系框架 Download PDFInfo
- Publication number
- CN103324479B CN103324479B CN201310233252.4A CN201310233252A CN103324479B CN 103324479 B CN103324479 B CN 103324479B CN 201310233252 A CN201310233252 A CN 201310233252A CN 103324479 B CN103324479 B CN 103324479B
- Authority
- CN
- China
- Prior art keywords
- module
- task
- cloud
- big data
- proxy
- 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.)
- Active
Links
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及的是一个对应于PAAS&IASS可适用于云大数据计算应用的松散环境下分布式大数据计算中间件体系框架(以下简称Rhizome),包括代理模块,功能模块和功能管理模块三个构架主体。本发明的优点:1)解决了常用云分布式计算框架支持大数据计算应用时无法处理复杂通信机制及效率低下的问题;同时可采用MoC,如数据流模式在云计算框架中显式体现和拓展应用的并行模式;2)采用的两层代理模式在云操作***环境中支持可靠及可量化的客户端+云的软件开发;实验性的评估展示了在Rhizome的帮助下Hadoop云视频计算应用取得了优异的表现,并且提供了实质上更好的编程简易性、硬件加速单元对接便易性和***稳健性。
Description
技术领域
本发明涉及的是一种松散环境下分布式大数据计算的中间件体系框架,对应于云计算中PAAS&IASS层,用来构建专门的高效大数据计算应用(如云计算环境下视频处理应用),亦可应用于异构MPSoC及多电路板计算机体系软件运行环境中。
背景技术
开源的云基础软件如Nimbus和Eucalyptus, 允许组织团体建立自己的云***来促进计算设备资源的利用,我们可以设想对需要进行集中大数据运算如智能监控的用户而言计算能力的获取已经不再是障碍。然而,要进行这样的计算必须满足两个主要的先决条件: (i) 编程模式的简易性,能更好的支持服务质量如容错性和监控型,(ii) 要有适当的并行模式来实行高效机制。
云技术(特别是其中的分布式大数据计算框架)如Hadoop,
Dryad, 和 HPCC 应用到大数据计算应用(如视频处理中视频摘要提取),经验表明尽管大多数所谓的并行应用程序可以借助云技术但需要面对复杂通信模式和高强度计算性能的要求,而当前框架设计即使用上MPI仍然无法满足运行效率要求。
发明内容
本发明提出的是一种松散环境下分布式大数据计算的中间件体系框架,其目的旨在采取一种代理加功能管理器加功能实体的方案,通过共享内存管道及可加速的本地实现解决现有框架的运行效率问题,同时通过代理加功能管理器方式维护并提高了现有框架在任务调度,状态监控等方面的一致性和有效性。
其中各种不同模块的接口被类似MPI的技术很好的定义。这些接口允许各种不同的模块可以在相关环境下协同使用,如代理模块就可以用任何一种语言编写例如java/C#/ECL,提高了中间件体系框架的适用性,如可嵌入现有云分布式计算框架或异构MPSoC及多电路板计算机体系软件运行环境中。
本发明的技术解决方案:松散环境下分布式大数据计算中间件体系框架,对应于PAAS&IASS层,适用于云大数据计算应用,亦可应用于异构MPSoC及多电路板计算机体系软件运行环境中,其特征是包括代理模块,功能模块和功能管理模块,以视频分析为例各模块的操作步骤如下:
步骤一:通过数据源代理模块,连接数据源及格式转换功能管理模块,启动数据源及格式转换任务(功能模块),功能管理模块同时分配共享内存通道作为数据源及格式转换任务(功能模块)输出,相关信息(含共享内存接口信息反映在代理模块中);
步骤二:通过算法代理模块, 连接算法功能管理模块,启动算法分析任务(功能模块),功能管理模块同时分配共享内存通道作算法分析任务(功能模块)输入,相关信息(含共享内存接口信息反映在代理模块中);
步骤三:待处理云数据在信号的帮助下在共享内存的通道内高速传输,同时算法分析任务等功能模块以本地操作***实现或硬件加速单元等方式高速执行,并上传/存储相应分析结果;
步骤四:各功能模块的任务完成进度及任务状态将频繁的报给特定的功能管理模块,并等待代理模块请求时(现有云框架的任务调度,状态监控需求),由功能管理模块提交给代理模块;
步骤五:任务完成后,通过代理模块,提交请求给对应功能管理模块,关闭视频解码任务和算法分析任务(功能模块)。
本发明的优点:解决了常用云分布式计算框架(Hadoop、Drayd、HPCC)等无法高效解决视频分析等大数据计算应用的复杂通信机制及效率低下的问题。同时可采用MoC(计算模式),如数据流模式(DataFlow)在云计算框架中显式体现和拓展应用的并行模式。 该中间件体系框架采用的代理加功能管理器加功能实体模式在云操作***环境中支持运行更加稳健和开发更加敏捷的客户端+云的软件开发。实验性的评估展示了在其帮助下Hadoop云视频计算应用取得了优异的表现,并且提供了实质上更好的编程简易性和***稳健性。
附图说明
附图1是 Rhizome 构架及云***框架部署运行示意图。
附图2是 Rhizome 构架及云***框架接口操作示例时序图。
具体实施方式
对照附图1,其结构包括代理模块,功能模块和功能管理模块,各模块的操作步骤如下:
步骤一:通过数据源代理模块,连接数据源及格式转换功能管理模块,启动数据源及格式转换任务(功能模块),功能管理模块同时分配共享内存通道作为数据源及格式转换任务(功能模块)输出,相关信息(含共享内存接口信息反映在代理模块中);
步骤二:通过算法代理模块, 连接算法功能管理模块,启动算法分析任务(功能模块),功能管理模块同时分配共享内存通道作算法分析任务(功能模块)输入,相关信息(含共享内存接口信息反映在代理模块中);
步骤三:待处理云数据在信号的帮助下在共享内存的通道内高速传输,同时算法分析任务等功能模块以本地操作***实现或硬件加速单元等方式高速执行,并上传/存储相应分析结果;
步骤四:各功能模块的任务完成进度及任务状态将频繁的报给特定的功能管理模块,并等待代理模块请求时(现有云框架的任务调度,状态监控需求),由功能管理模块提交给代理模块;
步骤五:任务完成后,通过代理模块,提交请求给对应功能管理模块,关闭视频解码任务和算法分析任务(功能模块)。
所述的功能模块,其结构包括类似于MPI的标准通讯信令接口(含构造参数传递指令、状态上传指令、管理模块注册指令等),标准用于大数据传递的共享内存接口(含数据格式描述、数据有效性标识、数据所有者标识等),标准功能(如分析、解码等)执行模块(可为接口层加上实际硬件加速单元)。
所述功能管理模块,其结构包括类似于MPI的标准通讯信令接口,该接口包括对代理请求接口、对功能请求接口;代理管理模块含代理和对应功能的组合的管理;功能管理模块含功能生命周期和状态的管理。
所述代理模块,是包含在云分布式计算环境中的任务中, 作为实际执行功能模块的代表并包含配置和状态信息,这些代理可以用任何一种语言编写例如java/C#/ECL,嵌入现有云分布式计算框架或异构MPSoC及多电路板计算机体系软件运行环境中。
图1中云***包含分布式任务运行环境(任务调度***,例如MapReduce),其中任务中示例代理模块有(算法1,算法2,视频源1),云***基础构架为支持分布式任务运行的基本环境及其组件,其中示例功能管理模块(算法功能管理,视频源功能管理)和其中示例功能模块(算法1工作实体,算法2工作实体,视频源获取工作实体)位于***虚拟机中或本地操作***层,内存共享管理为本地操作***提供给云运行基本环境和Rhizome运行服务。
所述的代理在任务中作为功能模块的代表并包含配置和状态信息,这些信息可以用任何一种语言编写例如java/C#/ECL。作为一个代表,代理会在任务被提交并安排好时创建,并且在任务逻辑功能申明的数据流中与对应的功能节点一致。输入和输出通道的信息在它们被任务链接在一起时会被传送。有了类似MPI的接口,每个代理关联一个特定功能管理进程,比如视频抓取,动态检测甚至矩阵乘法。
某个特定功能的管理进程在VM或在本地操作***内作为守护进程。它们管理并监控功能模块的生命周期并且当硬件或软件运行失败时允许云服务主动作出反应去重启该功能模块。每个功能模块的状态(如完成进度,活的\死的)会由类似MPI的消息定期向管理模块更新,并当请求时报告给代理以实现负载平衡的目的。
特定类型的功能模块在VM或在本地操作***内作为独立的进程运行。每个功能模块在共享内存中有各自的输入输出通道,大量的待处理云数据在信号的帮助下高速传输。任务完成进度将会频繁的报告给特定的管理模块。尽管要处理类似MPI的接口库和共享内存管道(按一定模式固定封装),功能模块更像是一般包含特定功能的DOS可执行文件。
对照附图2, 其中功能任务为云视频分析应用在云分布式运行环境中的具体任务示例,包含两个任务代理示例。
通常云***上的Hadoop(包含Map-Reduce任务调度)和类似的微软的Dryad还有HPCC被看作是云软件的基础环境/运行环境(PAAS)(含分布式大数据计算框架),并向程序开发者提供编程环境,例如云***的Map-Reduce任务调度框架。所有这些服务平台得益于对大数据的支持和迁移计算能力到数据端的概念,以及更好的诸如容错和监控的服务使得大多数并行计算问题都能很好运行。然而面对一些大数据计算应用(如智能监控视频分析应用中视频摘要提取),因为除了算法中复杂的通信机制还面临大数据传输和实时处理要求。如一个高清(1920x1080)人脸识别应用而言,从摄像机传输的数据是8M/秒并且需要几乎实时处理。在Map-Reduce任务调度模式下由于虚拟化的消耗,已经有几毫秒到几秒的延迟。这在Edward Walker的基准测试结果中也提及到,结果显示相比本地簇群在Amazon EC2云资源上大概有40%-1000%的性能衰退。
有了Rhizome, 不但继承诸如容错和***运行状态监控等云技术(异构MPSoC及多电路板计算机体系软件运行环境相类似)的优点,运算性能也被大幅度提高,并且利用类似MPI的快速处理方式,可靠的并且可量化的客户端+云软件将可以被开发出来,而且更简单更稳健。
实施时我们通过一套在Hadoop上构建的云视频分析, 衡量在Rhizome帮助下的性能提升。测量基于一个由4核intel i7 CUP (Core 3.16GHz)组成集群,运行环境为32G内存,64位windows
server2008的环境,测试压力,视频平均超过200000帧。
测量中有两种实现方法进行比较,首先是整个任务在Hadoop环境下利用原有分布式计算和调度框架,采用JNI实现视频分析算法和视频抓取功能(Hadoop 常规方式)。第2种方法在Hadoop环境下使用Rhizome。表1阐明了在D1分辨率(702x576)的200000帧(约2小时)监控视频下各自方法的性能对比。 表 1. 效率比对表
实现方法 | 视频长度(帧) | 单机工组线程数 | 耗时(分) |
JNI(Alg+Cap) | 200000 | 4 | 80 |
Rhizome | 200000 | 4 | 31 |
Claims (4)
1. 松散环境下分布式大数据计算中间件***,对应于PAAS&IASS层,适用于云大数据计算应用,亦可应用于异构MPSoC及多电路板计算机体系软件运行环境中,其特征是包括代理模块,功能模块和功能管理模块,视频分析处理各模块的操作步骤如下:
步骤一:通过数据源代理模块,连接数据源及格式转换功能管理模块,启动数据源及格式转换任务功能模块,数据源及格式转换功能管理模块同时分配共享内存通道作为数据源及格式转换任务功能模块输出,共享内存接口信息反映在代理模块中;
步骤二:通过算法代理模块, 连接算法功能管理模块,启动算法分析任务功能模块,算法功能管理模块同时分配共享内存通道作为算法分析任务功能模块输入,共享内存接口信息反映在代理模块中;
步骤三:待处理云数据在信号的帮助下在共享内存通道内高速传输,同时算法分析任务功能模块以本地操作***实现或硬件加速单元方式高速执行,并上传和存储相应分析结果;
步骤四:各功能模块的任务完成进度及任务状态将频繁的报给各功能模块对应的功能管理模块,并等待代理模块请求,应现有云框架的任务调度,状态监控需求时,由各功能模块对应的功能管理模块将各功能模块的任务完成进度及任务状态提交给代理模块;
步骤五:任务完成后,通过代理模块,提交请求给对应功能管理模块,关闭视频解码任务和算法分析任务功能模块。
2. 根据权利要求1所述的松散环境下分布式大数据计算中间件***,其特征是所述的功能模块,其结构包括MPI标准通讯信令接口、标准用于大数据传递的共享内存接口、标准功能,其中MPI标准通讯信令接口包括构造参数传递指令、状态上传指令、管理模块注册指令,标准用于大数据传递的共享内存接口包括数据格式描述、数据有效性标识、数据所有者标识,标准功能包括分析、解码执行模块,并为接口层加上实际硬件加速单元。
3. 根据权利要求1所述的松散环境下分布式大数据计算中间件***,其特征是所述功能管理模块,其结构包括MPI标准通讯信令接口、代理管理模块,其中MPI标准通讯信令接口包括对代理请求接口、对功能请求接口,代理管理模块含代理和对应功能的组合的管理。
4. 根据权利要求1所述的松散环境下分布式大数据计算中间件***,其特征是所述的代理模块,是包含在云分布式计算环境中的任务中,作为实际执行功能模块的代表并包含配置和状态信息,这些代理模块用下述的语言编写:java/C#/ECL,嵌入现有云分布式计算框架或异构MPSoC及多电路板计算机体系软件运行环境中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310233252.4A CN103324479B (zh) | 2013-06-13 | 2013-06-13 | 松散环境下分布式大数据计算的中间件体系框架 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310233252.4A CN103324479B (zh) | 2013-06-13 | 2013-06-13 | 松散环境下分布式大数据计算的中间件体系框架 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103324479A CN103324479A (zh) | 2013-09-25 |
CN103324479B true CN103324479B (zh) | 2016-12-28 |
Family
ID=49193248
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310233252.4A Active CN103324479B (zh) | 2013-06-13 | 2013-06-13 | 松散环境下分布式大数据计算的中间件体系框架 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103324479B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104881491A (zh) * | 2015-06-11 | 2015-09-02 | 广州市云润大数据服务有限公司 | 一种基于大数据平台的软件开发*** |
CN106371931B (zh) * | 2016-09-30 | 2019-11-05 | 电子科技大学 | 一种基于Web框架的高性能地学计算服务*** |
CN107566785B (zh) * | 2017-08-02 | 2021-05-25 | 重庆菲莫科技有限公司 | 一种面向大数据的视频监控***及方法 |
CN108829515A (zh) * | 2018-05-29 | 2018-11-16 | 中国科学院计算技术研究所 | 一种云端平台计算***及其应用方法 |
CN109918216A (zh) * | 2019-03-07 | 2019-06-21 | 山东浪潮通软信息科技有限公司 | 一种基于管道的数据处理方法和*** |
CN111967741B (zh) * | 2020-08-04 | 2022-11-18 | 中国人民解放军国防科技大学 | 一种基于ec2的无人化作战体系云流化指控架构设计方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102158554A (zh) * | 2011-04-02 | 2011-08-17 | 南京邮电大学 | 基于移动代理的物联网中间件开发方法 |
CN102681899A (zh) * | 2011-03-14 | 2012-09-19 | 金剑 | 云计算服务平台的虚拟计算资源动态管理*** |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8862933B2 (en) * | 2011-02-09 | 2014-10-14 | Cliqr Technologies, Inc. | Apparatus, systems and methods for deployment and management of distributed computing systems and applications |
-
2013
- 2013-06-13 CN CN201310233252.4A patent/CN103324479B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102681899A (zh) * | 2011-03-14 | 2012-09-19 | 金剑 | 云计算服务平台的虚拟计算资源动态管理*** |
CN102158554A (zh) * | 2011-04-02 | 2011-08-17 | 南京邮电大学 | 基于移动代理的物联网中间件开发方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103324479A (zh) | 2013-09-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Sriraman et al. | Accelerometer: Understanding acceleration opportunities for data center overheads at hyperscale | |
CN103324479B (zh) | 松散环境下分布式大数据计算的中间件体系框架 | |
Martín et al. | Enhancing the performance of malleable MPI applications by using performance-aware dynamic reconfiguration | |
JP6099760B2 (ja) | プロセスをマイグレートするためのコンピュータ実装方法、コンピュータベースのシステム、およびコンピュータプログラム | |
US10698711B2 (en) | Cloud computing systems | |
US20180024863A1 (en) | Task Scheduling and Resource Provisioning System and Method | |
US20110131329A1 (en) | Application processing allocation in a computing system | |
Sengupta et al. | Scheduling multi-tenant cloud workloads on accelerator-based systems | |
US8972702B2 (en) | Systems and methods for power management in a high performance computing (HPC) cluster | |
US8789046B2 (en) | Method to embed a light-weight kernel in a full-weight kernel to provide a heterogeneous execution environment | |
Erb | Concurrent programming for scalable web architectures | |
WO2012028214A1 (en) | High-throughput computing in a hybrid computing environment | |
CN109117252B (zh) | 基于容器的任务处理的方法、***及容器集群管理*** | |
KR20140018187A (ko) | 계산 작업을 처리하기 위한 컴퓨터 클러스터 장치 및 이를 작동시키기 위한 방법 | |
CN113495857A (zh) | 存储器错误隔离技术 | |
US20100218190A1 (en) | Process mapping in parallel computing | |
Diab et al. | Dynamic sharing of GPUs in cloud systems | |
US20170371713A1 (en) | Intelligent resource management system | |
Orellana et al. | FPGA‐Aware Scheduling Strategies at Hypervisor Level in Cloud Environments | |
Wozniak et al. | MPI jobs within MPI jobs: A practical way of enabling task-level fault-tolerance in HPC workflows | |
Denninnart et al. | Efficiency in the serverless cloud paradigm: A survey on the reusing and approximation aspects | |
Kjorveziroski et al. | Webassembly orchestration in the context of serverless computing | |
CN113326098B (zh) | 支持kvm虚拟化与容器虚拟化的云管平台 | |
Kuity et al. | Performance evaluation of container-based high performance computing ecosystem using OpenPOWER | |
US9235445B2 (en) | Process mapping parallel computing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |