CN116166508B - Io数据分析方法、装置、设备、存储介质及*** - Google Patents
Io数据分析方法、装置、设备、存储介质及*** Download PDFInfo
- Publication number
- CN116166508B CN116166508B CN202310412396.XA CN202310412396A CN116166508B CN 116166508 B CN116166508 B CN 116166508B CN 202310412396 A CN202310412396 A CN 202310412396A CN 116166508 B CN116166508 B CN 116166508B
- Authority
- CN
- China
- Prior art keywords
- data
- server
- program
- copy
- user space
- 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
- 238000000034 method Methods 0.000 title claims abstract description 89
- 238000007405 data analysis Methods 0.000 title claims abstract description 46
- 238000012545 processing Methods 0.000 claims abstract description 69
- 238000004458 analytical method Methods 0.000 claims abstract description 61
- 230000006835 compression Effects 0.000 claims abstract description 20
- 238000007906 compression Methods 0.000 claims abstract description 20
- 230000006870 function Effects 0.000 claims description 42
- 230000008569 process Effects 0.000 claims description 31
- 230000006837 decompression Effects 0.000 claims description 12
- 230000008859 change Effects 0.000 claims description 10
- 238000004891 communication Methods 0.000 claims description 9
- 238000012544 monitoring process Methods 0.000 claims description 7
- 238000004364 calculation method Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 5
- 230000035945 sensitivity Effects 0.000 claims description 5
- 238000012800 visualization Methods 0.000 claims description 5
- 238000012163 sequencing technique Methods 0.000 claims description 2
- 239000000523 sample Substances 0.000 claims 1
- 230000000694 effects Effects 0.000 abstract description 11
- 238000005457 optimization Methods 0.000 abstract description 8
- 230000005540 biological transmission Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 9
- 239000004973 liquid crystal related substance Substances 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 7
- 238000013480 data collection Methods 0.000 description 5
- 230000006399 behavior Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3041—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is an input/output interface
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3065—Monitoring arrangements determined by the means or processing involved in reporting the monitored data
- G06F11/3072—Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting
- G06F11/3082—Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting the data filtering being achieved by aggregating or compressing the monitored data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3452—Performance evaluation by statistical analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3476—Data logging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Probability & Statistics with Applications (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Debugging And Monitoring (AREA)
Abstract
本公开涉及一种IO数据分析方法、装置、设备及存储介质。响应于IO数据采集请求,基于内核空间中的捕获程序和用户空间中的拷贝程序,采集目标应用的IO数据;对IO数据进行序列化处理以及压缩处理,生成IO数据对应的压缩数据;将压缩数据上传至服务器,其中,服务器用于对压缩数据进行解压缩处理以及反序列化处理,得到IO数据,并且,服务器对IO数据进行分析,得到IO数据的分析结果,其中,IO数据的分析结果作为优化超级计算***应用的参考数据。这样,能够实现在内核空间和用户空间采集应用的IO数据,降低了IO数据的粒度和层级,从而提高了IO数据的分析精度,最终提高了超级计算机***应用的优化效果。
Description
技术领域
本公开涉及数据分析技术领域,尤其涉及一种IO数据分析方法、装置、设备、存储介质及***。
背景技术
随着计算机技术的不断发展,超级计算机已在诸如电力、天气预测以及航天等领域受到了广泛应用。在使用超级计算机时,往往要优化超级计算***的应用,则需要开发者在应用调整之前与调整之后观察应用的行为,以便开发者能够确定调整方案以及评估调整方案对应用产生的影响,其中,影响应用性能的关键指标是IO数据。
为了方便开发者确定调整方案以及评估方案对应用产生的影响,相关技术一般采用Darshan采集IO数据,然后对采集的IO数据进行分析。然而,Darshan使用插桩方式采集IO数据,使得其只能在用户空间进行IO数据采集,导致IO数据粒度和层级过高,降低了IO数据的分析精度,进而影响超级计算机***应用的优化效果。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本公开提供了一种IO数据分析方法、装置、设备、存储介质及***。
第一方面,本公开提供了一种IO数据分析方法,应用于本地设备,所述方法包括:
响应于IO数据采集请求,基于内核空间中的捕获程序和用户空间中的拷贝程序,采集目标应用的IO数据;
对所述IO数据进行序列化处理以及压缩处理,生成所述IO数据对应的压缩数据;
将所述压缩数据上传至服务器,其中,所述服务器用于对所述压缩数据进行解压缩处理以及反序列化处理,得到所述IO数据,并且,所述服务器对所述IO数据进行分析,得到所述IO数据的分析结果,其中,所述IO数据的分析结果作为优化超级计算***应用的参考数据。
第二方面,本公开提供了一种IO数据分析装置,配置于本地设备,所述装置包括:
采集模块,用于响应于IO数据采集请求,基于内核空间中的捕获程序和用户空间中的拷贝程序,采集目标应用的IO数据;
生成模块,用于对所述IO数据进行序列化处理以及压缩处理,生成所述IO数据对应的压缩数据;
分析模块,用于将所述压缩数据上传至服务器,其中,所述服务器用于对所述压缩数据进行解压缩处理以及反序列化处理,得到所述IO数据,并且,所述服务器对所述IO数据进行分析,得到所述IO数据的分析结果,其中,所述IO数据的分析结果作为优化超级计算***应用的参考数据。
第三方面,本公开实施例还提供了一种设备,该设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现第一方面所提供的方法。
第四方面,本公开实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现第一方面所提供的方法。
第五方面,本公开实施例还提供了一种IO数据分析***,包括:本地设备和服务器;
本地设备,用于响应于IO数据采集请求,基于内核空间中的捕获程序和用户空间中的拷贝程序,采集目标应用的IO数据,对所述IO数据进行序列化处理以及压缩处理,生成所述IO数据对应的压缩数据,将所述压缩数据上传至服务器;
所述服务器,用于对所述压缩数据进行解压缩处理以及反序列化处理,得到所述IO数据,并且,所述服务器对所述IO数据进行分析,得到所述IO数据的分析结果。
本公开实施例提供的技术方案与现有技术相比具有如下优点:
本公开实施例的一种IO数据分析方法、设备、存储介质及***,所述方法应用于本地设备,所述方法包括:响应于IO数据采集请求,基于内核空间中的捕获程序和用户空间中的拷贝程序,采集目标应用的IO数据;对IO数据进行序列化处理以及压缩处理,生成IO数据对应的压缩数据;将压缩数据上传至服务器,其中,服务器用于对压缩数据进行解压缩处理以及反序列化处理,得到IO数据,并且,服务器对IO数据进行分析,得到IO数据的分析结果,其中,IO数据的分析结果作为优化超级计算***应用的参考数据。这样,能够实现在内核空间和用户空间采集应用的IO数据,降低了IO数据的粒度和层级,从而提高了IO数据的分析精度,最终提高了超级计算机***应用的优化效果。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本公开实施例提供的一种IO数据分析***的架构示意图;
图2为本公开实施例提供的一种IO数据分析方法的流程示意图;
图3为本公开实施例提供的另一种IO数据分析***的架构示意图;
图4为本公开实施例提供的一种IO数据分析装置的结构示意图;
图5为本公开实施例提供的一种IO数据分析设备的结构示意图。
具体实施方式
为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
目前,很多技术具有捕获单个应用程序运行和存储***中特定组件的I/O数据,但是对于用于数十万个计算内核和容量可达PB存储的超级计算***而言,大部分技术在超级计算***上连续表征几乎无法满足时效性、有效性等需求。为了满足时效性和有效性的需求,相关技术采用Darshan进行IO数据采集。但是,Darshan在函数库中对函数进行插桩以实现IO数据采集,并使用Darshan的应用重新编译,这就导致了其扩展性和通用性都受到了严重制约。另外,由于Darshan使用插桩方式采集数据,导致其只能在用户空间进行IO数据采集,导致IO数据粒度和层级较大,使得对超级计算机***应用的优化产生了局限性。
为了解决上述问题,本公开实施例提供了一种IO数据分析方法、装置、设备、存储介质及***。本公开实施例提供的IO数据分析方法应用于图1所示的IO数据分析***。参见图,IO数据分析***包括:本地设备100和服务器200。
本地设备100,用于响应于IO数据采集请求,基于内核空间中的捕获程序和用户空间中的拷贝程序,采集目标应用的IO数据,对IO数据进行序列化处理以及压缩处理,生成IO数据对应的压缩数据,将压缩数据上传至服务器;
服务器200,用于对压缩数据进行解压缩处理以及反序列化处理,得到IO数据,并且,服务器对IO数据进行分析,得到IO数据的分析结果。
可选的,本地设备100包括客户端110和代理端120,服务器200包括目标收集设备210、数据库220以及分析设备230。
具体的,在客户端110利用用户空间中的拷贝程序,按照第一拷贝阈值从目标存储区域中拷贝IO数据的过程中,检测IO数据是否被成功拷贝至用户空间;若IO数据被成功拷贝至用户空间,则通过客户端110将第一拷贝阈值调整至第二拷贝阈值,并利用用户空间中的拷贝程序,按照第二拷贝阈值继续将目标存储区域中存储的IO数据拷贝至用户空间,其中,第一拷贝阈值小于第二拷贝阈值;若IO数据未被成功拷贝至用户空间,则通过客户端110将第一拷贝阈值调整至第三拷贝阈值,并利用用户空间中的拷贝程序,按照第三拷贝阈值继续将目标存储区域中存储的IO数据拷贝至用户空间,其中,第一拷贝阈值大于第三拷贝阈值。
具体的,通过代理端120,IO数据进行序列化处理以及压缩处理,生成IO数据对应的压缩数据。
具体的,基于远程过程调用方式,按照可扩展的序列化结构将压缩数据上传至目标收集设备210,其中,目标收集设备210用于对压缩数据进行解压缩处理以及反序列化处理,得到IO数据,并且,目标收集设备210按照预设存储模式将IO数据存储至数据库220。
具体的,分析设备230基于数据库中存储的IO数据,确定IO数据变化图;和/或,分析设备230基于数据库中存储的IO数据,确定文件***数据预取准确率;和/或,分析设备230基于数据库中存储的IO数据,确定作业运行过程中IO数据采集请求的次数在不同节点之间的平衡度;和/或,分析设备230基于数据库中存储的IO数据,确定作业I/O读写敏感强度;和/或,分析设备230基于数据库中存储的IO数据,确定作业运行过程中I/O负载在不同节点之间的平衡度。
通过上述方式,能够实现在内核空间和用户空间采集应用的IO数据,降低了IO数据的粒度和层级,从而提高了IO数据的分析精度,最终提高了超级计算机***应用的优化效果。
在上述实施例的基础上,首先结合图2至图3对本公开实施例提供的一种IO数据分析方法进行说明。
图2示出了本公开实施例提供的一种IO数据分析方法的流程示意图。
在本公开实施例中,图2所示的IO数据分析方法可以由图1中的本地设备执行。如图2所示,该IO数据分析方法可以包括如下步骤。
S210、响应于IO数据采集请求,基于内核空间中的捕获程序和用户空间中的拷贝程序,采集目标应用的IO数据。
在本实施例中,当需要对IO数据进行分析时,用户可以向本地设备发送IO数据采集请求,或者,本地设备定期生成IO数据采集请求,本地设备具体可以通过客户端采集目标应用的IO数据。具体的,客户端可以基于用户空间中的相关程序并结合内核空间中的相关程序,采集目标应用的IO数据。
其中,内核空间是操作***内核访问的区域,独立于普通的应用程序,是受保护的内存空间。
其中,用户空间是普通应用程序可访问的内存区域。
其中,捕获程序是内核空间中捕获IO数据的功能程序,用于捕获目标应用的IO数据,并将捕获的IO数据存储到内核空间。
其中,拷贝程序是将存储在内核空间中的IO数据拷贝到用户空间的功能程序。
其中,目标应用是指超级计算机***中需要优化的应用程序。具体的,目标应用可以是产生IO数据的生产者,也可以是特定的应用程序,还可以是特定进程对应的应用程序。
可选的,目标应用可以具有计算功能、存储功能、可视化功能、监控功能。例如,具有计算功能的目标应用具体可以提供提交作业状态、查看作业状态、取消作业状态等计算功能,具有存储功能的目标应用具体可以提供文件预览、文件下载、文件删除等存储功能,具有可视化功能的目标应用可以提供远程可视化软件服务等功能,具有监控功能的目标应用可以提供作业的监控信息等功能。
S220、对IO数据进行序列化处理以及压缩处理,生成IO数据对应的压缩数据。
在本实施例中,本地设备中的客户端采集到IO数据之后,客户端可以将IO数据发送至本地设备中的代理端,以使代理端对IO数据进行序列化处理以及压缩处理,生成IO数据对应的压缩数据。
可以理解的是,代理端存在的目的主要是用于提高客户端的工作效率,客户端的主要工作就是IO数据的采集并从内核空间中取出,以保证IO数据的传输效率。具体的,本地设备中的客户端可以采用先进进程间通讯(Advanced IPC)方式,将IO数据发送至代理端,由于先进进程间通讯传递的可靠性和效率较高,对***影响小,从而提高了IO数据的发送效率和可靠性。
S230、将压缩数据上传至服务器,其中,服务器用于对压缩数据进行解压缩处理以及反序列化处理,得到IO数据,并且,服务器对IO数据进行分析,得到IO数据的分析结果,其中,IO数据的分析结果作为优化超级计算***应用的参考数据。
在本实施例中,客户端具体可以通过代理端,将压缩数据上传至服务器,也就是说,代理端存在的目的主要关注IO数据如何高效且可靠的上传至服务器。
在本实施例中,可选的,S230具体包括:基于远程过程调用方式,按照可扩展的序列化结构将压缩数据上传至服务器中的目标收集设备,其中,目标收集设备用于对压缩数据进行解压缩处理以及反序列化处理,得到IO数据,并且,目标收集设备按照预设存储模式将IO数据存储至服务器中的数据库。
可以理解的是,基于IO数据的高效可靠的需求,代理端基于远程过程调用(gRPC)方式,按照可扩展的序列化结构(protobuf)将压缩数据上传至服务器中的目标收集设备。其中,gRPC是一种高性能、通用的开源RPC框架,主要面向移动应用开发且基于HTTP/2协议标准而设计,同时支持大多数编程语言。Protobuf是用于通信协议、数据存储领域的语言无关、平台无关、可扩展的序列化结构数据格式。由于protobuf的性能和效率较高,并且压缩效果较好,gRPC采用二进制格式的传输协议,能够支持多路复用,从而提高IO数据从代理端传输至目标收集设备的效率和可靠性。
可以理解的是,超级计算***庞大需要传输较大的数据量,为了避免同一个收集设备连接所有的代理端,从而导致收集设备的压力过大,本实施例中的超级计算***设置多个收集设备,不同的代理端连接不同的收集设备。为了更大程度的保证收集设备的性能,可选的,“基于远程过程调用方式,按照可扩展的序列化结构将压缩数据上传至服务器中的目标收集设备”,包括:从服务器获取与本地设备通信连接的多个收集设备,并确定各收集设备的剩余资源量;从多个收集设备选择剩余资源量大于或等于预设资源量阈值的目标收集设备;基于远程过程调用方式,按照可扩展的序列化结构将压缩数据上传至服务器中的目标收集设备。
其中,各收集设备的剩余资源量是指各收集设备剩余的资源,能够用于衡量各收集设备处理压缩数据的能力。可以理解的是,各收集设备的剩余资源量越大,则表征收集设备处理压缩数据的能力越强,相反的,各收集设备的剩余资源量越小,则表征收集设备处理压缩数据的能力越弱。
其中,预设资源量阈值是预先设置的资源大小,用于确定出目标收集设备。
由此,能够选择处理能力较强的收集设备来接收代理端发送的压缩数据,有利于保证对压缩数据的处理效率和处理效果,另外,通过Protobuf+gRPC方式传输压缩数据,保证了压缩数据发送过程的可靠性和效率。
进一步的,目标收集设备接收到压缩数据之后,对压缩数据进行解压缩处理以及反序列化处理,从而还原IO数据。具体的,目标收集设备预先采用Go语言编写,由于 Go语言并发的特性以及目标收集设备能够比较充裕的使用所在***的资源,有利于保证压缩数据的还原效果以及被后续充分利用。
进一步的,目标收集设备还原IO数据之后,可以将IO数据存储至数据库中。其中,数据库的具体形式可以是时序数据库,时序数据库是专门处理时序数据的数据库,通过I/O数据的形式,不难分析出不同I/O数据中具有时序关系,并且其是一种集时序数据高效读写,压缩存储,实时计算能力为一体的数据库服务,显然,时序数据库适合对设备及业务服务进行实时监控,从而进行预测告警。
可选的,数据库可以按照如下存储结构来存储IO数据:
|捕获时间|实体标识(PID, CPU ID, R/W等)|文件相关标识(文件***名称,文件名称等)|指标名称|指标值|。
进一步的,将IO数据存储至数据库中之后,服务器中的分析设备可以立即从数据库中获取已存储的IO数据,或者,在一定时间之后从数据库中获取已存储的IO数据,并对IO数据进行深度挖掘。
可选的,服务器中的分析设备基于数据库中存储的IO数据,确定IO数据变化图;和/或,
服务器中的分析设备基于数据库中存储的IO数据,确定文件***数据预取准确率;和/或,
服务器中的分析设备基于数据库中存储的IO数据,确定作业运行过程中IO数据采集请求的次数在不同节点之间的平衡度;和/或,
服务器中的分析设备基于数据库中存储的IO数据,确定作业I/O读写敏感强度;和/或,
服务器中的分析设备基于数据库中存储的IO数据,确定作业运行过程中I/O负载在不同节点之间的平衡度。
其中,IO数据变化图包括但不限于热力图、曲线图、柱状图、散点图等,便于了解作业调用不同IO lib的负载情况,以便了解作业中核心IO及负载高峰,从局部到全局角度刻画曲线。可选的,IO数据变化图具体是:可移植操作***接口(Portable Operating SystemInterface,POSIX)操作计数变化曲线、作业涉及各节点IO量(例如读写次数,读写数据量,文件数量)占比,便于了解作业所调用POSIX I/O情况;多点接口(MultiPointInterface,MPI)操作计数变化曲线、作业涉及各节点IO量(例如读写次数,读写数据量,文件数量)占比,便于了解作业所调用 MPI I/O情况;标准(standard,STD)操作计数变化曲线、作业涉及各节点IO量(例如读写次数,读写数据量,文件数量)占比,便于了解作业所调用 STD I/O情况;虚拟文件***(Virtual File Systems,VFS)操作计数变化曲线、作业涉及各节点IO量(例如读写次数,读写数据量,文件数量)占比,便于了解涉及改作业IO时内核IO工作情况;以文件为基准,展现不同节点操作该文件时间、读写该文件量,便于找到作业核心IO。其中,文件***数据预取准确率,可以通过如下方式确定:
其中,作业运行过程中IO数据采集请求的次数在不同节点之间的平衡度,可以通过如下方式确定:
其中,是作业运行过程中IO数据采集请求的次数在不同节点之间的平衡度;/>是分析IO数据时使用的计算节点数量;/>是分析IO数据时,某个节点在作业运行期间发出IO数据的读取请求的数量;/>是分析IO数据时,某个节点在作业运行期间发出IO数据的写请求的数量;/>是分析IO数据时,发出全部读取请求的数量;/>是分析IO数据时,发出全部写请求的数量。
其中,作业I/O读写敏感强度,可以通过如下方式确定:
其中,是读操作数量,/>是IO数据包含的作业读操作数量;WC是写操作数量,/>是IO数据包含的作业读操作数量;/>时,表示IO数据包含的作业为写密集型作业,/>时,表示IO数据包含的作业为读密集型作业。
其中,作业运行过程中I/O负载在不同节点之间的平衡度,可以通过如下方式确定:
其中,是IO数据分析请求包含的读操作数据总量,下标/>是IO数据包含的作业中某节点在作业运行过程中读操作数据总量,下标/>是IO数据包含的作业在运行过程中读操作数据总量;/>是IO数据分析请求包含的写操作数据总量,下标是IO数据包含的作业中某节点在作业运行过程中写操作数据总量,下标是IO数据包含的作业在运行过程中写操作数据总量。
由此,服务器中的分析设备可以在多个维度对IO数据进行分析,从而确定多种分析结果,以实现对IO数据进行全面分析。
本公开实施例提供了一种IO数据分析方法,应用于本地设备,所述方法包括:响应于IO数据采集请求,基于内核空间中的捕获程序和用户空间中的拷贝程序,采集目标应用的IO数据;对IO数据进行序列化处理以及压缩处理,生成IO数据对应的压缩数据;将压缩数据上传至服务器,其中,服务器用于对压缩数据进行解压缩处理以及反序列化处理,得到IO数据,并且,服务器对IO数据进行分析,得到IO数据的分析结果,其中,IO数据的分析结果作为优化超级计算***应用的参考数据。这样,能够实现在内核空间和用户空间采集应用的IO数据,降低了IO数据的粒度和层级,从而提高了IO数据的分析精度,最终提高了超级计算机***应用的优化效果。
在本公开另一种实施方式中,在IO数据采集的过程中,为了降低性能损耗,并保证IO数据的可靠性,先基于内核空间中的捕获程序临时存储IO数据,然后基于用户空间中的拷贝程序将已存储的IO数据拷贝到用户空间,使得基于用户空间中的相关程序将IO数据进一步发送至代理端。
在本公开一些实施例中,在执行S210中“基于内核空间中的捕获程序和用户空间中的拷贝程序,采集目标应用的IO数据”,包括:
S2101、基于内核空间中的捕获程序,捕获目标应用的IO数据,并将IO数据保存至目标存储区域中;
S2102、基于用户空间中的拷贝程序,将目标存储区域中的IO数据拷贝至用户空间。
其中,目标存储区域在客户端中内核空间的临时缓存中。
可以理解的是,客户端是在***调用(syscalls)以及虚拟文件***(VFS)中采集的,也就是在内核空间,因此,基于柏克莱封包过滤器(Berkeley Packet Filter,BPF)机制采集的IO数据会先保存在内核空间中的一片存储区域,进而将存储区域中保存的IO数据取出之后才能进行发送以及分析。
基于此,为了便于理解IO数据的采集方式,图3示出了另一种IO数据分析***的结构示意图。如图3所示,本地设备300中的客户端310包括用户空间(User Space),用户空间配置了传输追踪函数(transmit trace)、获取追踪函数(get trace)以及多个bpf程序(bpfprog1)。具体的,用户空间中的多个bpf程序是一种静态功能的程序,在进行IO数据采集时,客户端将用户空间的多个bpf程序写入内核空间(Kernel Space)的多个内核功能函数(Kernel Function)中,使得内核空间中的多个bpf程序具有采集IO数据的能力,将多个bpf作为内核空间中的捕获程序,以采集目标应用的IO数据,并将IO数据存储至内核空间中的目标存储区域(MAP),然后,将用户空间中的追踪函数作为拷贝程序,并利用该拷贝程序主动从目标存储区域中获取IO数据,或者,获取目标存储区域推送的IO数据,并将IO数据拷贝到用户空间,进一步的,从而完成IO数据的采集。可选地,每个内核功能函数还包括原始函数(original function),每个内核功能函数中的bpf程序包括:捕获追踪函数(capturetrace)和写入函数(write into)。
可以理解的是,目标存储区域的存储空间是有限的,但是采集I/O数据的速度是由I/O数据生产者决定的。这样的情况就会导致若当目标存储区域存储满时将I/O数据拷贝到用户空间,此时仍发生采集动作,那么目标存储区域的行为是未定义的。但是,可以确定的是上述情况一定会导致采集的IO数据发生丢失,如果I/O数据的采集速度很快,目标存储区域的拷贝速度却很慢,就会导致大量IO数据被丢失,无法保证IO数据采集过程的可靠性,如果采集到一条IO数据便拷贝一条数据到用户空间,尽管能够避免IO数据发生丢失,但是会带来过多的数据拷贝,极大增加采集对***的损耗。
为了在保证采集IO数据可靠性的同时,降低IO数据的采集过程产生的损耗,在本实施例中,S2102具体包括:
在本地设备中的客户端利用用户空间中的拷贝程序,按照第一拷贝阈值从目标存储区域中拷贝IO数据的过程中,检测IO数据是否被成功拷贝至用户空间;
若IO数据被成功拷贝至所述用户空间,则通过客户端将第一拷贝阈值调整至第二拷贝阈值,并利用用户空间中的拷贝程序,按照第二拷贝阈值继续将目标存储区域中存储的IO数据拷贝至用户空间,其中,第一拷贝阈值小于第二拷贝阈值;
若IO数据未被成功拷贝至用户空间,则通过客户端将第一拷贝阈值调整至第三拷贝阈值,并利用用户空间中的拷贝程序,按照第三拷贝阈值继续将目标存储区域中存储的IO数据拷贝至用户空间,其中,第一拷贝阈值大于第三拷贝阈值。
可以理解的是,在采集IO数据时,设置第一拷贝阈值作为初始的采集阈值,基于IO数据的实际拷贝情况,采用滑动窗口方式调整拷贝阈值。具体的,若IO数据被成功拷贝至用户空间,说明IO数据被成功采集,IO数据采集的可靠性较高,为了减少采集对***的损耗,增加单次发送的数据量,以减少IO数据发送的次数,以实现在保证采集IO数据可靠性的同时,也能降低IO数据的采集过程产生的损耗。相反的,若IO数据未被成功拷贝至用户空间,说明IO数据未被成功采集,IO数据采集的可靠性较低,为了提高IO数据采集的可靠性,降低单次发送的数据量,以提高IO数据发送的次数,这样,能够提高将IO数据成功拷贝的概率,以实现在保证采集IO数据可靠性的同时,也能降低IO数据的采集过程产生的损耗。
其中,第一拷贝阈值、第二拷贝阈值以及第三拷贝阈值可以根据目标存储区域的大小确定。可选地,第一拷贝阈值可以是目标存储区域的50%,第二拷贝阈值可以是目标存储区域的85%,第三拷贝阈值可以是目标存储区域的25%。
由此,在采集IO数据时,基于IO数据的实际拷贝情况,采用滑动窗口方式调整拷贝阈值,以实现在保证采集IO数据可靠性的同时,也能降低IO数据的采集过程产生的损耗。
进一步的,客户端310中的用户空间可以基于传输追踪函数并采用先进进程间通讯方式,将IO数据传输至代理端320,使得代理端320利用预加工追函数(pre- processingtrace)对IO数据进行序列化处理以及压缩处理,得到压缩数据。然后,代理端320利用发送追踪函数(send trace)并采用远程过程调用方式,按照可扩展的序列化结构将压缩数据上传至服务器330中的目标收集设备340。进一步的,目标收集设备340基于远程过程调用服务(rpc server)模块对压缩数据进行解压缩处理以及反序列化处理,得到IO数据,目标收集设备340基于时序数据库(influxdb client)模块按照预设存储模式将IO数据存储至数据库350。最后,分析设备360对IO数据进行分析,得到IO数据的分析结果。
综上,利用不同设备中的函数以及设备之间的通讯方式,采集并传输IO数据,使得对采集的IO数据进行分析,以实现对IO数据进行采集和分析,IO数据的采集过程适用于多种***版本,具有高通用性的效果,并且,IO数据的采集过程是用户无感知的,与计算科学应用的开发语言无关,能够从用户层及***层两方面综合分析应用IO负载,为应用优化提供建议。
本公开实施例还提供了一种用于实现上述的IO数据分析方法的IO数据分析装置,下面结合图4进行说明。在本公开实施例中,该IO数据分析装置可以配置于图1中的本地设备。
图4示出了本公开实施例提供的一种IO数据分析装置的结构示意图。
如图4所示,IO数据分析模块400可以包括:
采集模块410,用于响应于IO数据采集请求,基于内核空间中的捕获程序和用户空间中的拷贝程序,采集目标应用的IO数据;
生成模块420,用于对所述IO数据进行序列化处理以及压缩处理,生成所述IO数据对应的压缩数据;
分析模块430,用于将所述压缩数据上传至服务器,其中,所述服务器用于对所述压缩数据进行解压缩处理以及反序列化处理,得到所述IO数据,并且,所述服务器对所述IO数据进行分析,得到所述IO数据的分析结果,其中,所述IO数据的分析结果作为优化超级计算***应用的参考数据。
本公开实施例的一种IO数据分析装置,所述装置配置于本地设备,响应于IO数据采集请求,基于内核空间中的捕获程序和用户空间中的拷贝程序,采集目标应用的IO数据;对IO数据进行序列化处理以及压缩处理,生成IO数据对应的压缩数据;将压缩数据上传至服务器,其中,服务器用于对压缩数据进行解压缩处理以及反序列化处理,得到IO数据,并且,服务器对IO数据进行分析,得到IO数据的分析结果,其中,IO数据的分析结果作为优化超级计算***应用的参考数据。这样,能够实现在内核空间和用户空间采集应用的IO数据,降低了IO数据的粒度和层级,从而提高了IO数据的分析精度,最终提高了超级计算机***应用的优化效果。
在一些实施例中,采集模块410,包括:
捕获单元,用于基于所述内核空间中的捕获程序,捕获所述目标应用的IO数据,并将所述IO数据保存至目标存储区域中;
拷贝单元,用于基于所述用户空间中的拷贝程序,将所述目标存储区域中的IO数据拷贝至所述用户空间。
在一些实施例中,拷贝单元具体用于:
在所述本地设备中的客户端利用所述用户空间中的拷贝程序,按照第一拷贝阈值从所述目标存储区域中拷贝所述IO数据的过程中,检测所述IO数据是否被成功拷贝至所述用户空间;
若所述IO数据被成功拷贝至所述用户空间,则通过所述客户端将所述第一拷贝阈值调整至第二拷贝阈值,并利用所述用户空间中的拷贝程序,按照所述第二拷贝阈值继续将所述目标存储区域中存储的IO数据拷贝至所述用户空间,其中,所述第一拷贝阈值小于所述第二拷贝阈值。
在一些实施例中,拷贝单元还用于:若所述IO数据未被成功拷贝至所述用户空间,则通过所述客户端将所述第一拷贝阈值调整至第三拷贝阈值,并利用所述用户空间中的拷贝程序,按照所述第三拷贝阈值继续将所述目标存储区域中存储的IO数据拷贝至所述用户空间,其中,所述第一拷贝阈值大于所述第三拷贝阈值。
在一些实施例中,生成模块420具体用于:通过所述本地设备中的代理端,对所述IO数据进行序列化处理以及压缩处理,生成所述IO数据对应的压缩数据。
在一些实施例中,分析模块430具体用于:
基于远程过程调用方式,按照可扩展的序列化结构将所述压缩数据上传至所述服务器中的目标收集设备,其中,所述目标收集设备用于对所述压缩数据进行解压缩处理以及反序列化处理,得到所述IO数据,并且,所述目标收集设备按照预设存储模式将所述IO数据存储至所述服务器中的数据库。
在一些实施例中,分析模块430具体用于:
从所述服务器获取与所述本地设备通信连接的多个收集设备,并确定各所述收集设备的剩余资源量;
从所述多个收集设备选择所述剩余资源量大于或等于预设资源量阈值的目标收集设备;
基于所述远程过程调用方式,按照所述可扩展的序列化结构将所述压缩数据上传至所述服务器中的目标收集设备。
在一些实施例中,所述服务器中的分析设备基于所述数据库中存储的IO数据,确定IO数据变化图;和/或,
所述服务器中的分析设备基于所述数据库中存储的IO数据,确定文件***数据预取准确率;和/或,
所述服务器中的分析设备基于所述数据库中存储的IO数据,确定作业运行过程中IO数据采集请求的次数在不同节点之间的平衡度;和/或,
所述服务器中的分析设备基于所述数据库中存储的IO数据,确定作业I/O读写敏感强度;和/或,
所述服务器中的分析设备基于所述数据库中存储的IO数据,确定作业运行过程中I/O负载在不同节点之间的平衡度。
需要说明的是,图4所示的IO数据分析装置400可以执行图2至图3所示的方法实施例中的各个步骤,并且实现图2至图3所示的方法或***实施例中的各个过程和效果,在此不做赘述。
图5示出了本公开实施例提供的一种IO数据分析设备的结构示意图。
如图5所示,该IO数据分析设备可以包括处理器501以及存储有计算机程序指令的存储器502。
具体地,上述处理器501可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,ASIC),或者可以被配置成实施本申请实施例的一个或多个集成电路。
存储器502可以包括用于信息或指令的大容量存储器。举例来说而非限制,存储器502可以包括硬盘驱动器(Hard Disk Drive,HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(Universal Serial Bus,USB)驱动器或者两个及其以上这些的组合。在合适的情况下,存储器502可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器502可在综合网关设备的内部或外部。在特定实施例中,存储器502是非易失性固态存储器。在特定实施例中,存储器502包括只读存储器(Read-Only Memory,ROM)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程ROM(Programmable ROM,PROM)、可擦除PROM(Electrical Programmable ROM,EPROM)、电可擦除PROM(Electrically ErasableProgrammable ROM,EEPROM)、电可改写ROM(Electrically Alterable ROM,EAROM)或闪存,或者两个或及其以上这些的组合。
处理器501通过读取并执行存储器502中存储的计算机程序指令,以执行本公开实施例所提供的IO数据分析方法的步骤。
在一个示例中,该IO数据分析设备还可包括收发器503和总线504。其中,如图5所示,处理器501、存储器502和收发器503通过总线504连接并完成相互间的通信。
总线504包括硬件、软件或两者。举例来说而非限制,总线可包括加速图形端口(Accelerated Graphics Port,AGP)或其他图形总线、增强工业标准架构(ExtendedIndustry Standard Architecture,EISA)总线、前端总线(Front Side BUS,FSB)、超传输(Hyper Transport,HT)互连、工业标准架构(Industrial Standard Architecture,ISA)总线、无限带宽互连、低引脚数(Low Pin Count,LPC)总线、存储器总线、微信道架构(MicroChannel Architecture,MCA)总线、***控件互连(Peripheral Component Interconnect,PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(Serial Advanced TechnologyAttachment,SATA)总线、视频电子标准协会局部(Video Electronics StandardsAssociation Local Bus,VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线504可包括一个或多个总线。尽管本申请实施例描述和示出了特定的总线,但本申请考虑任何合适的总线或互连。
以下是本公开实施例提供的计算机可读存储介质的实施例,该计算机可读存储介质与上述各实施例的IO数据分析方法属于同一个发明构思,在计算机可读存储介质的实施例中未详尽描述的细节内容,可以参考上述IO数据分析方法的实施例。
本实施例提供一种包含计算机可执行指令的存储介质,计算机可执行指令在由计算机处理器执行时用于执行一种IO数据分析方法。
当然,本公开实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上的方法操作,还可以执行本公开任意实施例所提供的IO数据分析方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本公开可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory, ROM)、随机存取存储器(RandomAccess Memory, RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机云平台(可以是个人计算机,服务器,或者网络云平台等)执行本公开各个实施例所提供的IO数据分析方法。
注意,上述仅为本公开的较佳实施例及所运用技术原理。本领域技术人员会理解,本公开不限于这里的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本公开的保护范围。因此,虽然通过以上实施例对本公开进行了较为详细的说明,但是本公开不仅仅限于以上实施例,在不脱离本公开构思的情况下,还可以包括更多其他等效实施例,而本公开的范围由所附的权利要求范围决定。
Claims (12)
1.一种IO数据分析方法,其特征在于,应用于本地设备,所述方法包括:
响应于IO数据采集请求,基于内核空间中的捕获程序和用户空间中的拷贝程序,采集目标应用的IO数据;
对所述IO数据进行序列化处理以及压缩处理,生成所述IO数据对应的压缩数据;
将所述压缩数据上传至服务器,其中,所述服务器用于对所述压缩数据进行解压缩处理以及反序列化处理,得到所述IO数据,并且,所述服务器对所述IO数据进行分析,得到所述IO数据的分析结果,其中,所述IO数据的分析结果作为优化超级计算***应用的参考数据;
所述基于内核空间中的捕获程序和用户空间中的拷贝程序,采集目标应用的IO数据,包括:
基于所述内核空间中的捕获程序,捕获所述目标应用的IO数据,并将所述IO数据保存至目标存储区域中,目标应用是指超级计算机***中需要优化的应用程序,所述目标应用包括计算功能、存储功能、可视化功能、监控功能;
基于所述用户空间中的拷贝程序,将所述目标存储区域中的IO数据拷贝至所述用户空间。
2.根据权利要求1所述的方法,其特征在于,所述基于所述用户空间中的拷贝程序,将所述目标存储区域中的IO数据拷贝至所述用户空间,包括:
在所述本地设备中的客户端利用所述用户空间中的拷贝程序,按照第一拷贝阈值从所述目标存储区域中拷贝所述IO数据的过程中,检测所述IO数据是否被成功拷贝至所述用户空间;
若所述IO数据被成功拷贝至所述用户空间,则通过所述客户端将所述第一拷贝阈值调整至第二拷贝阈值,并利用所述用户空间中的拷贝程序,按照所述第二拷贝阈值继续将所述目标存储区域中存储的IO数据拷贝至所述用户空间,其中,所述第一拷贝阈值和所述第二拷贝阈值根据所述目标区域的大小确定,所述第一拷贝阈值小于所述第二拷贝阈值。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
若所述IO数据未被成功拷贝至所述用户空间,则通过所述客户端将所述第一拷贝阈值调整至第三拷贝阈值,并利用所述用户空间中的拷贝程序,按照所述第三拷贝阈值继续将所述目标存储区域中存储的IO数据拷贝至所述用户空间,其中,所述第一拷贝阈值和所述第三拷贝阈值根据所述目标区域的大小确定,所述第一拷贝阈值大于所述第三拷贝阈值。
4.根据权利要求1所述的方法,其特征在于,所述对所述IO数据进行序列化处理以及压缩处理,生成所述IO数据对应的压缩数据,包括:
通过所述本地设备中的代理端,对所述IO数据进行序列化处理以及压缩处理,生成所述IO数据对应的压缩数据。
5.根据权利要求1所述的方法,其特征在于,所述将所述压缩数据上传至服务器,包括:
基于远程过程调用方式,按照可扩展的序列化结构将所述压缩数据上传至所述服务器中的目标收集设备,其中,所述目标收集设备用于对所述压缩数据进行解压缩处理以及反序列化处理,得到所述IO数据,并且,所述目标收集设备按照预设存储模式将所述IO数据存储至所述服务器中的数据库。
6.根据权利要求5所述的方法,其特征在于,所述基于远程过程调用方式,按照可扩展的序列化结构将所述压缩数据上传至所述服务器中的目标收集设备,包括:
从所述服务器获取与所述本地设备通信连接的多个收集设备,并确定各所述收集设备的剩余资源量;
从所述多个收集设备选择所述剩余资源量大于或等于预设资源量阈值的目标收集设备;
基于所述远程过程调用方式,按照所述可扩展的序列化结构将所述压缩数据上传至所述服务器中的目标收集设备。
7.根据权利要求5所述的方法,其特征在于,
所述服务器中的分析设备基于所述数据库中存储的IO数据,确定IO数据变化图;和/或,
所述服务器中的分析设备基于所述数据库中存储的IO数据,确定文件***数据预取准确率;和/或,
所述服务器中的分析设备基于所述数据库中存储的IO数据,确定作业运行过程中IO数据采集请求的次数在不同节点之间的平衡度;和/或,
所述服务器中的分析设备基于所述数据库中存储的IO数据,确定作业I/O读写敏感强度;和/或,
所述服务器中的分析设备基于所述数据库中存储的IO数据,确定作业运行过程中I/O负载在不同节点之间的平衡度。
8.一种IO数据分析装置,其特征在于,配置于本地设备,所述装置包括:
采集模块,用于响应于IO数据采集请求,基于内核空间中的捕获程序和用户空间中的拷贝程序,采集目标应用的IO数据;
生成模块,用于对所述IO数据进行序列化处理以及压缩处理,生成所述IO数据对应的压缩数据;
分析模块,用于将所述压缩数据上传至服务器,其中,所述服务器用于对所述压缩数据进行解压缩处理以及反序列化处理,得到所述IO数据,并且,所述服务器对所述IO数据进行分析,得到所述IO数据的分析结果,其中,所述IO数据的分析结果作为优化超级计算***应用的参考数据;
所述采集模块,包括:
捕获单元,用于基于所述内核空间中的捕获程序,捕获所述目标应用的IO数据,并将所述IO数据保存至目标存储区域中,目标应用是指超级计算机***中需要优化的应用程序,所述目标应用包括计算功能、存储功能、可视化功能、监控功能;
拷贝单元,用于基于所述用户空间中的拷贝程序,将所述目标存储区域中的IO数据拷贝至所述用户空间。
9.一种IO数据分析设备,其特征在于,包括:
处理器;
存储器,用于存储可执行指令;
其中,所述处理器用于从所述存储器中读取所述可执行指令,并执行所述可执行指令以实现上述权利要求1-7中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述存储介质存储有计算机程序,当所述计算机程序被处理器执行时,使得处理器实现上述权利要求1-7中任一项所述的方法。
11.一种IO数据分析***,其特征在于,包括:本地设备和服务器;
本地设备,用于响应于IO数据采集请求,基于内核空间中的捕获程序和用户空间中的拷贝程序,采集目标应用的IO数据,对所述IO数据进行序列化处理以及压缩处理,生成所述IO数据对应的压缩数据,将所述压缩数据上传至服务器;
所述服务器,用于对所述压缩数据进行解压缩处理以及反序列化处理,得到所述IO数据,并且,所述服务器对所述IO数据进行分析,得到所述IO数据的分析结果;
所述本地设备具体用于:
基于所述内核空间中的捕获程序,捕获所述目标应用的IO数据,并将所述IO数据保存至目标存储区域中,目标应用是指超级计算机***中需要优化的应用程序,所述目标应用包括计算功能、存储功能、可视化功能、监控功能;
基于所述用户空间中的拷贝程序,将所述目标存储区域中的IO数据拷贝至所述用户空间。
12.根据权利要求11所述的***,其特征在于,
所述本地设备包括客户端和代理端;
所述服务器包括目标收集设备、数据库以及分析设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310412396.XA CN116166508B (zh) | 2023-04-18 | 2023-04-18 | Io数据分析方法、装置、设备、存储介质及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310412396.XA CN116166508B (zh) | 2023-04-18 | 2023-04-18 | Io数据分析方法、装置、设备、存储介质及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116166508A CN116166508A (zh) | 2023-05-26 |
CN116166508B true CN116166508B (zh) | 2023-07-07 |
Family
ID=86420403
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310412396.XA Active CN116166508B (zh) | 2023-04-18 | 2023-04-18 | Io数据分析方法、装置、设备、存储介质及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116166508B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1925465A (zh) * | 2006-09-22 | 2007-03-07 | 中国科学院计算技术研究所 | 基于共享内存实现的数据包捕获方法 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8121148B2 (en) * | 2005-03-24 | 2012-02-21 | Ixia | Protocol stack using shared memory |
CN100464304C (zh) * | 2006-08-29 | 2009-02-25 | 飞塔信息科技(北京)有限公司 | 一种基于Linux操作***实现零拷贝的装置和方法 |
CN106096455A (zh) * | 2016-08-08 | 2016-11-09 | 王波 | 一种主机内核数据还原保护方法 |
CN108509255B (zh) * | 2017-02-24 | 2021-01-22 | 龙芯中科技术股份有限公司 | 硬件中断的处理方法和装置 |
CN109992398B (zh) * | 2017-12-29 | 2021-06-25 | Oppo广东移动通信有限公司 | 资源管理方法、装置、移动终端及计算机可读存储介质 |
US11792307B2 (en) * | 2018-03-28 | 2023-10-17 | Apple Inc. | Methods and apparatus for single entity buffer pool management |
US11036683B2 (en) * | 2018-07-10 | 2021-06-15 | International Business Machines Corporation | Hot-pluggable file system interface |
CN109697034B (zh) * | 2018-12-19 | 2022-04-29 | 北京字节跳动网络技术有限公司 | 一种数据写入方法、装置、电子设备及存储介质 |
CN112558858B (zh) * | 2019-09-10 | 2022-11-15 | 无锡江南计算技术研究所 | 基于动态io感知的超大规模应用外存访问特征获取方法 |
CN115248764A (zh) * | 2021-04-27 | 2022-10-28 | 腾讯科技(深圳)有限公司 | 一种性能指标确定方法、装置、设备及存储介质 |
CN114422452A (zh) * | 2021-12-14 | 2022-04-29 | 杭州安恒信息安全技术有限公司 | 数据传输方法、装置、处理设备、存储介质和芯片 |
CN114637577A (zh) * | 2022-03-25 | 2022-06-17 | 阿里巴巴(中国)有限公司 | 实例使用状态的识别方法及设备 |
CN115033407B (zh) * | 2022-08-09 | 2022-11-04 | 微栈科技(浙江)有限公司 | 一种适用于云计算的采集识别流量的***和方法 |
CN115622772A (zh) * | 2022-10-10 | 2023-01-17 | 中国银行股份有限公司 | 一种金融业务服务的金融数据传输方法及应用网关 |
-
2023
- 2023-04-18 CN CN202310412396.XA patent/CN116166508B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1925465A (zh) * | 2006-09-22 | 2007-03-07 | 中国科学院计算技术研究所 | 基于共享内存实现的数据包捕获方法 |
Also Published As
Publication number | Publication date |
---|---|
CN116166508A (zh) | 2023-05-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9965327B2 (en) | Dynamically scalable data collection and analysis for target device | |
CN112988284B (zh) | 应用程序启动方法、装置、计算机设备和存储介质 | |
JP7059508B2 (ja) | ビデオ時系列動作の検出方法、装置、電子デバイス、プログラム及び記憶媒体 | |
US20160328314A1 (en) | System and method for providing code coverage | |
CN110515808B (zh) | 数据库监控方法、装置、计算机设备及存储介质 | |
US20190042457A1 (en) | Cache (partition) size determination method and apparatus | |
WO2016105362A1 (en) | Resource predictors indicative of predicted resource usage | |
CN111611145B (zh) | 崩溃信息收集方法、装置、存储介质及电子设备 | |
US10657099B1 (en) | Systems and methods for transformation and analysis of logfile data | |
CN111813629A (zh) | 一种Web页面的监控数据生成方法、装置及设备 | |
CN111666201A (zh) | 回归测试方法、装置、介质及电子设备 | |
CN110941530A (zh) | 监控数据的获取方法、装置、计算机设备和存储介质 | |
Novak et al. | New approaches to digital evidence acquisition and analysis | |
WO2022161047A1 (zh) | 页面的埋点分析方法和装置 | |
CN110597704A (zh) | 应用程序的压力测试方法、装置、服务器和介质 | |
CN109697034B (zh) | 一种数据写入方法、装置、电子设备及存储介质 | |
CN116166508B (zh) | Io数据分析方法、装置、设备、存储介质及*** | |
CN110659435A (zh) | 页面数据采集处理方法、装置、计算机设备和存储介质 | |
CN113961611A (zh) | 日志的处理方法、装置、设备以及存储介质 | |
CN112307386A (zh) | 信息监控方法、***、电子设备及计算机可读存储介质 | |
CN112035205A (zh) | 数据处理方法、装置、设备和存储介质 | |
US20230065492A1 (en) | Method for obtaining browser running data, electronic device, and storage medium | |
CN114238048B (zh) | 一种Web前端性能自动化测试方法及*** | |
CN113656391A (zh) | 数据检测方法及装置、存储介质及电子设备 | |
CN114690988B (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 |