CN104407920A - 一种基于进程间通信的数据处理方法及系统 - Google Patents
一种基于进程间通信的数据处理方法及系统 Download PDFInfo
- Publication number
- CN104407920A CN104407920A CN201410816254.0A CN201410816254A CN104407920A CN 104407920 A CN104407920 A CN 104407920A CN 201410816254 A CN201410816254 A CN 201410816254A CN 104407920 A CN104407920 A CN 104407920A
- Authority
- CN
- China
- Prior art keywords
- data
- process unit
- data acquisition
- graphic process
- image processor
- 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
Landscapes
- Multi Processors (AREA)
- Image Processing (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供一种基于进程间通信的数据处理方法及系统,包括以下步骤:若图形处理器数据监听程序首次执行时,创建一个数据采集进程并由所述数据采集进程对所述图形处理器进行初始化并获取所述图形处理器的个数;所述数据采集进程为每个图形处理器分别创建一个数据采集线程并为每个数据采集线程分别传递一个图形处理器索引;所述数据采集进程为每个图形处理器分别创建一个服务线程,所述服务线程监听到图形处理器利用率数据请求后,从所述数据采集线程采集的图像处理器利用率数据中获取对应的图像处理器利用率数据,本发明缩短了获取GPU利用率数据的时间,从而提高了效率。
Description
技术领域
本发明属于数据通信领域,尤其涉及一种基于进程间通信的数据处理方法及系统。
背景技术
由于在获取GPU(Graphic Processing Unit,图形处理器)利用率数据时,需要首先对GPU进程初始化,而该初始化操作非常耗时;传统的获取GPU利用率数据的方法,在每次获取数据时,都需要进行一次初始化,造成了效率的降低。
发明内容
本发明提供一种基于进程间通信的数据处理方法及系统,以解决上述问题。
本发明还提供一种基于进程间通信的数据处理方法,包括以下步骤:
若图形处理器数据监听程序首次执行时,创建一个数据采集进程并由所述数据采集进程对所述图形处理器进行初始化并获取所述图形处理器的个数;
所述数据采集进程为每个图形处理器分别创建一个数据采集线程并为每个数据采集线程分别传递一个图形处理器索引;
所述数据采集进程为每个图形处理器分别创建一个服务线程,所述服务线程监听到图形处理器利用率数据请求后,从所述数据采集线程采集的图像处理器利用率数据中获取对应的图像处理器利用率数据。
本发明还提供一种基于进程间通信的数据处理系统,包括数据采集进程管理模块、数据管理模块、请求处理模块;其中,所述数据采集进程管理模块通过所述数据管理模块与所述请求处理模块相连;
数据采集进程管理模块,用于图形处理器数据监听程序首次执行时,创建一个数据采集进程并由所述数据采集进程对所述图形处理器进行初始化并获取所述图形处理器的个数;还用于为每个图形处理器分别创建一个数据采集线程并为每个数据采集线程分别传递一个图形处理器索引;还用于为每个图形处理器分别创建一个服务线程;
数据管理模块,用于数据采集线程根据获取的图像处理器索引,获取所述图像处理器利用率数据;
请求处理模块,用于服务线程监听到图形处理器利用率数据请求后,从所述数据管理模块采集的图像处理器利用率数据中获取对应的图像处理器利用率数据。
相较于先前技术,根据本发明提供的一种基于进程间通信的数据处理方法及系统,缩短了获取GPU利用率数据的时间,从而提高了效率。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1所示为本发明实施例1的基于进程间通信的数据处理方法流程图;
图2所示为本发明实施例2的基于进程间通信的数据处理方法流程图;
图3所示为本发明实施例3的基于进程间通信的数据处理系统结构图;
图4所示为本发明实施例4的基于进程间通信的数据处理系统结构图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
图1所示为本发明实施例1的基于进程间通信的数据处理方法流程图,包括以下步骤:
步骤101:若GPU数据监听程序首次执行时,创建一个在后台运行的数据采集进程并将创建的数据采集进程的进程号记录在文件中,同时,所述数据采集进程对GPU进行初始化并获取所述GPU的个数;若GPU数据监听程序为非首次执行,则执行步骤104;
GPU数据监听程序每次执行时首先判断是否为首次执行,判断GPU数据监听程序是否为首次执行的方式为:检查记录所述数据采集进程对应的进程号的文件,若所述文件存在并且在/proc/路径下存在以所述进程号命名的目录,则所述GPU数据监听程序为非首次执行,否则为首次执行。
步骤102:所述数据采集进程获取所述图形处理器的个数后,为每个图形处理器分别创建一个数据采集线程并为每个数据采集线程分别传递一个图形处理器索引;
所述数据采集线程根据获取的图像处理器索引,获取所述图像处理器利用率数据。
所述数据采集线程实时地或周期性获取所述图像处理器利用率数据并进行更新。
周期可以根据实际情况进行灵活设定,例如:0.5秒。
步骤103:所述数据采集进程为每个图形处理器分别创建一个数据采集线程后,为每个图形处理器分别创建一个服务线程,对图形处理器利用率数据请求进行监听;
所述服务线程创建一个进程间通信套接字UNIX socket,对图形处理器利用率数据请求进行监听。
步骤104:所述服务线程在监听到图形处理器利用率数据请求后,从所述数据采集线程采集的图像处理器利用率数据中获取对应的图像处理器利用率数据并发送给请求方;其中,所述图像处理器利用率数据请求中携带图像处理器索引信息。
备注:
1、GPU数据监听程序以后每次执行时,从所述数据采集进程处获取当前GPU利用率数据;
2、GPU数据监听程序以后每次执行时,与所述服务线程通信,向所述服务线程发送获取GPU利用率数据请求并将返回的结果打印输出。
图2所示为本发明实施例2的基于进程间通信的数据处理方法流程图,包括以下步骤:
步骤201:若图形处理器数据监听程序首次执行时,创建一个数据采集进程并由所述数据采集进程对所述图形处理器进行初始化并获取所述图形处理器的个数;
步骤202:所述数据采集进程为每个图形处理器分别创建一个数据采集线程并为每个数据采集线程分别传递一个图形处理器索引;
步骤203:所述数据采集进程为每个图形处理器分别创建一个服务线程,所述服务线程监听到图形处理器利用率数据请求后,从所述数据采集线程采集的图像处理器利用率数据中获取对应的图像处理器利用率数据。
图3所示为本发明实施例3的基于进程间通信的数据处理系统结构图,包括数据采集进程管理模块、数据管理模块、请求处理模块;其中,所述数据采集进程管理模块通过所述数据管理模块与所述请求处理模块相连;
数据采集进程管理模块,用于图形处理器数据监听程序首次执行时,创建一个数据采集进程并由所述数据采集进程对所述图形处理器进行初始化并获取所述图形处理器的个数;还用于为每个图形处理器分别创建一个数据采集线程并为每个数据采集线程分别传递一个图形处理器索引;还用于为每个图形处理器分别创建一个服务线程;
数据管理模块,用于数据采集线程根据获取的图像处理器索引,获取所述图像处理器利用率数据;
请求处理模块,用于服务线程监听到图形处理器利用率数据请求后,从所述数据管理模块采集的图像处理器利用率数据中获取对应的图像处理器利用率数据。
图4所示为本发明实施例4的基于进程间通信的数据处理系统结构图,在图3的基础上增加了“输出管理模块”;其中,所述输出管理模块与所述请求处理模块相连;
所述输出管理模块,用于从所述请求处理模块中获取的图像处理器利用率数据后,进行打印输出。
相较于先前技术,根据本发明提供的一种基于进程间通信的数据处理方法及系统,缩短了获取GPU利用率数据的时间,从而提高了效率。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于进程间通信的数据处理方法,其特征在于,包括以下步骤:
若图形处理器数据监听程序首次执行时,创建一个数据采集进程并由所述数据采集进程对所述图形处理器进行初始化并获取所述图形处理器的个数;
所述数据采集进程为每个图形处理器分别创建一个数据采集线程并为每个数据采集线程分别传递一个图形处理器索引;
所述数据采集进程为每个图形处理器分别创建一个服务线程,所述服务线程监听到图形处理器利用率数据请求后,从所述数据采集线程采集的图像处理器利用率数据中获取对应的图像处理器利用率数据。
2.根据权利要求1所述的方法,其特征在于:若图形处理器数据监听程序首次执行时,创建一个在后台运行的数据采集进程并将创建的数据采集进程的进程号记录在文件中,同时,所述数据采集进程对所述图形处理器进行初始化并获取所述图形处理器的个数。
3.根据权利要求1所述的方法,其特征在于:所述数据采集线程根据获取的图像处理器索引,获取所述图像处理器利用率数据;其中,所述数据采集线程实时地或周期性获取所述图像处理器利用率数据并进行更新。
4.根据权利要求1所述的方法,其特征在于:所述数据采集进程为每个图形处理器分别创建一个数据采集线程后,为每个图形处理器分别创建一个服务线程,对图形处理器利用率数据请求进行监听;
所述服务线程在监听到图形处理器利用率数据请求后,从所述数据采集线程采集的图像处理器利用率数据中获取对应的图像处理器利用率数据。
5.根据权利要求4所述的方法,其特征在于:所述服务线程创建一个进程间通信套接字UNIX socket,对图形处理器利用率数据请求进行监听。
6.根据权利要求1所述的方法,其特征在于:所述图像处理器利用率数据请求中携带图像处理器索引信息。
7.根据权利要求1所述的方法,其特征在于:判断图形处理器数据监听程序是否为首次执行的方式为:检查记录所述数据采集进程对应的进程号的文件,若所述文件存在并且在/proc/路径下存在以所述进程号命名的目录,则所述图形处理器数据监听程序为非首次执行,否则为首次执行。
8.根据权利要求1所述的方法,其特征在于,若图形处理器数据监听程序为非首次执行时,服务线程监听到图形处理器利用率数据请求后,从数据采集线程采集的图像处理器利用率数据中获取对应的图像处理器利用率数据。
9.一种基于进程间通信的数据处理系统,其特征在于,包括数据采集进程管理模块、数据管理模块、请求处理模块;其中,所述数据采集进程管理模块通过所述数据管理模块与所述请求处理模块相连;
数据采集进程管理模块,用于图形处理器数据监听程序首次执行时,创建一个数据采集进程并由所述数据采集进程对所述图形处理器进行初始化并获取所述图形处理器的个数;还用于为每个图形处理器分别创建一个数据采集线程并为每个数据采集线程分别传递一个图形处理器索引;还用于为每个图形处理器分别创建一个服务线程;
数据管理模块,用于数据采集线程根据获取的图像处理器索引,获取所述图像处理器利用率数据;
请求处理模块,用于服务线程监听到图形处理器利用率数据请求后,从所述数据管理模块采集的图像处理器利用率数据中获取对应的图像处理器利用率数据。
10.根据权利要求9所述的系统,其特征在于,还包括输出管理模块;其中,所述输出管理模块与所述请求处理模块相连;
所述输出管理模块,用于从所述请求处理模块中获取的图像处理器利用率数据后,进行打印输出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410816254.0A CN104407920B (zh) | 2014-12-23 | 2014-12-23 | 一种基于进程间通信的数据处理方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410816254.0A CN104407920B (zh) | 2014-12-23 | 2014-12-23 | 一种基于进程间通信的数据处理方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104407920A true CN104407920A (zh) | 2015-03-11 |
CN104407920B CN104407920B (zh) | 2018-02-09 |
Family
ID=52645553
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410816254.0A Active CN104407920B (zh) | 2014-12-23 | 2014-12-23 | 一种基于进程间通信的数据处理方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104407920B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016173450A1 (zh) * | 2015-04-28 | 2016-11-03 | 阿里巴巴集团控股有限公司 | 图形处理装置、资源服务装置、资源调度方法和装置 |
CN107133152A (zh) * | 2017-05-31 | 2017-09-05 | 郑州云海信息技术有限公司 | 一种存储服务状态的查询方法及系统 |
CN107229485A (zh) * | 2016-03-23 | 2017-10-03 | 福建福昕软件开发股份有限公司 | 一种解决采集数据类软件关闭速度慢的方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101901042A (zh) * | 2010-08-27 | 2010-12-01 | 上海交通大学 | 多gpu系统中基于动态任务迁移技术的降功耗方法 |
US20110249010A1 (en) * | 2010-04-12 | 2011-10-13 | Nvidia Corporation | Utilization of a graphics processing unit based on production pipeline tasks |
US20130328890A1 (en) * | 2012-06-07 | 2013-12-12 | Gokhan Avkarogullari | GPU with Dynamic Performance Adjustment |
CN103780660A (zh) * | 2012-10-25 | 2014-05-07 | 中国石油化工股份有限公司 | 一种gpu集群监控系统及监控报警发布方法 |
CN103902387A (zh) * | 2014-04-29 | 2014-07-02 | 浪潮电子信息产业股份有限公司 | 一种cpu+gpu协同并行计算动态负载均衡方法 |
-
2014
- 2014-12-23 CN CN201410816254.0A patent/CN104407920B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110249010A1 (en) * | 2010-04-12 | 2011-10-13 | Nvidia Corporation | Utilization of a graphics processing unit based on production pipeline tasks |
CN101901042A (zh) * | 2010-08-27 | 2010-12-01 | 上海交通大学 | 多gpu系统中基于动态任务迁移技术的降功耗方法 |
US20130328890A1 (en) * | 2012-06-07 | 2013-12-12 | Gokhan Avkarogullari | GPU with Dynamic Performance Adjustment |
CN103780660A (zh) * | 2012-10-25 | 2014-05-07 | 中国石油化工股份有限公司 | 一种gpu集群监控系统及监控报警发布方法 |
CN103902387A (zh) * | 2014-04-29 | 2014-07-02 | 浪潮电子信息产业股份有限公司 | 一种cpu+gpu协同并行计算动态负载均衡方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016173450A1 (zh) * | 2015-04-28 | 2016-11-03 | 阿里巴巴集团控股有限公司 | 图形处理装置、资源服务装置、资源调度方法和装置 |
CN107229485A (zh) * | 2016-03-23 | 2017-10-03 | 福建福昕软件开发股份有限公司 | 一种解决采集数据类软件关闭速度慢的方法 |
CN107133152A (zh) * | 2017-05-31 | 2017-09-05 | 郑州云海信息技术有限公司 | 一种存储服务状态的查询方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN104407920B (zh) | 2018-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE102020208110A1 (de) | Verfahren und vorrichtungen zum aggregieren von telemetriedaten in einer edge-umgebung | |
CN104503894A (zh) | 分布式服务器状态实时监测系统及方法 | |
CN105162632A (zh) | 一种服务器集群故障自动处理系统 | |
CN105260485A (zh) | 一种数据加载的方法和装置 | |
CN104391705A (zh) | 一种应用于高可用集群软件的分布式自动化测试框架 | |
CN109769029B (zh) | 基于用电信息采集系统的通信连接方法及终端设备 | |
CN105490864A (zh) | 基于osgi的业务模块监控方法 | |
CN104407920A (zh) | 一种基于进程间通信的数据处理方法及系统 | |
CN104243610A (zh) | 一种分布式文件传输服务方法 | |
CN103716384A (zh) | 跨数据中心实现云存储数据同步的方法和装置 | |
CN105243499A (zh) | 订单分配方法及系统 | |
CN107479966B (zh) | 一种基于多核心cpu的信令采集方法 | |
CN105467907A (zh) | 一种自动巡检的系统及方法 | |
CN113111666B (zh) | 一种实现应用程序的多语言翻译的系统及方法 | |
CN103984617A (zh) | 一种服务器主动推送监控数据的方法 | |
CN104270455A (zh) | 一种数据传输方法、装置及系统 | |
CN103558819A (zh) | 一种切片机故障诊断系统 | |
CN109388589A (zh) | 一种调整缓存分区比例的方法、设备及存储介质 | |
CN111376255B (zh) | 机器人数据采集方法、装置及终端设备 | |
CN108021463B (zh) | 一种基于有限状态机的gpu故障管理方法 | |
CN104063451B (zh) | 一种数据库连接管理方法及系统 | |
CN105259896A (zh) | 一种基于电力调度数据网的故障诊断方法 | |
CN109525422A (zh) | 一种日志数据监控管理方法 | |
CN109302723A (zh) | 一种基于互联网的多节点实时无线电监测控制系统及控制方法 | |
CN105446707A (zh) | 一种数据转换方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |