Method, device and medium for constructing file-oriented IO intensity visualization and evaluation system
By building a file IO intensity visualization and evaluation system, the problem that traditional evaluation models are unable to analyze the fine-grained characteristics of file IO is solved, and detailed analysis and optimization of file IO operations are achieved, thereby improving system performance and efficiency.
Patent Information
- Application Number
- CN202510873214.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-27
- Publication Date
- 2025-09-05
- Estimated Expiration
- 2045-06-27
AI Technical Summary
Existing technologies are unable to effectively analyze the fine-grained characteristics of file IO operations. Traditional evaluation models lack correlation analysis between file IO intensity and system performance. Monitoring tools are unable to intuitively display multi-dimensional IO dynamic characteristics, resulting in insufficient accuracy in system tuning and resource scheduling.
Build a file-oriented IO intensity visualization and evaluation system. Use the Darshan tool to collect IO operation data, calculate read and write intensity indicators and display them in a two-dimensional plane map. Use mathematical models to evaluate the degree of match between file IO feature points and the system's optimal performance mode. Combined with visualization technology, intuitively present IO distribution and change trends.
It realizes detailed analysis and optimization of file IO operations, can accurately locate hot spots and inefficient links, improve system performance and efficiency, and provide scientific optimization measures.
Smart Images

Figure CN120371780B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of file IO performance evaluation of jobs, and in particular to a method, device and medium for constructing a file-oriented IO intensity visualization and evaluation system. Background Art
[0002] The statements in this section merely provide background information related to the present disclosure and may not constitute prior art.
[0003] With the development of supercomputers, high-performance computing (HPC) jobs are shifting from compute-intensive to I / O-intensive. These jobs involve concurrent read and write operations on large numbers of files, making traditional evaluation methods based on overall I / O bandwidth inadequate for detailed analysis. Existing methods only provide macro-level performance metrics, ignoring the differences in read and write intensity, time distribution, and operation types across different files. This makes it difficult to accurately identify I / O bottlenecks within the job.
[0004] While the current mainstream Roofline model can effectively reveal performance bottlenecks between compute and memory bandwidth, its original design focused on the relationship between compute density and memory access, lacking the ability to analyze file I / O operations in a fine-grained manner. The complexity of file I / O lies in multiple dimensions, including storage media performance, data distribution, and the dynamic fluctuations of concurrent access. A single, overall metric cannot reflect the true I / O characteristics of individual files.
[0005] While modern distributed file systems (such as Lustre and GPFS) offer high concurrent processing capabilities, their monitoring tools are still limited to macro metrics like overall bandwidth and latency, lacking analysis of the spatiotemporal characteristics of individual files or groups of files. Reports generated by existing performance monitoring tools often focus on global statistics. Even those that support log export still rely on additional tools for secondary processing, failing to intuitively display multi-dimensional I / O dynamics. This disconnect between macro and micro analysis severely hinders the accuracy of system tuning and resource scheduling.
[0006] In summary, the existing technology has the following core defects:
[0007] 1) Traditional evaluation models do not establish a correlation analysis method between IO intensity and system performance;
[0008] 2) Monitoring data lacks fine-grained characterization of multi-file concurrent scenarios;
[0009] 3) Visualization methods cannot simultaneously present the temporal and spatial distribution characteristics of the overall load and individual files.
[0010] Therefore, there is an urgent need for a comprehensive solution that can integrate multi-dimensional data collection, mathematical modeling and visualization display. Summary of the Invention
[0011] The present invention aims to address the problems existing in the prior art by providing a method, device, and medium for constructing a file-oriented I / O intensity visualization and evaluation system. This method aims to overcome the limitations of traditional single indicators by collecting and analyzing detailed data on all I / O operations involving files in a job, visually displaying the read and write intensity of each file in a two-dimensional plane. Specifically, the present invention addresses the following technical challenges:
[0012] Based on the Roofline model, this paper designs a multidimensional indicator system suitable for file I / O evaluation. This system quantifies read I / O intensity, write I / O intensity, and their combined intensity, and compares and displays the differences between these indicators. Using a mathematical model, this system weights these different dimensional indicators, ultimately generating a comprehensive score that accurately reflects the rationality of the I / O design for each file in a job and the presence of potential bottlenecks, providing a scientific basis for system optimization and resource scheduling.
[0013] This invention incorporates visualization technology to present processed data intuitively as a flat graph, allowing users to clearly observe the distribution and changing trends of each file's I / O intensity on a graphical interface. This intuitive display not only allows users to quickly locate hotspots and inefficient links in a job, but also allows them to develop targeted optimization measures based on the evaluation results, significantly improving overall system performance and efficiency.
[0014] The technical solutions of the present invention are as follows:
[0015] The file-oriented IO intensity visualization and evaluation system construction method includes:
[0016] Step S1: Use the Darshan monitoring tool to collect IO operation data of each file during the job execution;
[0017] Step S2: Calculate the IO intensity index for each file, including: read IO intensity index, write IO intensity index and comprehensive IO intensity index; IO intensity index consists of two tuples<x,y> Composition, where: x is IOP / Byte, y is IOP / S; IOP / Byte represents the number of IO operations corresponding to each byte of data, and IOP / S represents the number of IO operations per second;
[0018] Step S3: Mapping the read IO intensity index, write IO intensity index, and comprehensive IO intensity index of each file to a two-dimensional coordinate system to form an IO performance triangle containing three coordinate points;
[0019] Step S4: Calculate the centroid coordinates of the IO performance triangle as the representative IO feature point of the file;
[0020] Step S5: Determine the ridge points of the job layer based on the representative IO feature points of all files;
[0021] Step S6: Evaluate the degree of match between the performance pattern of the application and the optimal performance pattern of the system by calculating the cosine similarity between the remaining representative IO feature points and the ridge point.
[0022] Furthermore, the IO operation data includes: a read / write IO operation count of a file, a read / write IO time of a file, and a read / write IO flow of a file.
[0023] Furthermore, the IOP / Byte is calculated using the following formula:
[0024] IOP / Byte = number of operations / total traffic.
[0025] Furthermore, the IOP / S is calculated by the following formula:
[0026] IOP / S=number of operations / total operation time.
[0027] Furthermore, the method for determining the ridge point in step S5 includes:
[0028] a) Select the point with the largest IOP / S value among all representative IO feature points as the horizontal reference point, and draw a horizontal reference line based on the horizontal reference point;
[0029] b) calculating the slopes of all representative IO feature points and determining the representative IO feature point with the largest slope;
[0030] c) Draw a ray from the origin to the representative IO feature point with the largest slope, called the ridge line; the intersection of the ray and the horizontal reference line is the ridge point.
[0031] Furthermore, the oblique line formed by the ridge point and the origin is the IO bandwidth peak, and the horizontal line is the operation performance peak.
[0032] Furthermore, the step S6 includes:
[0033] Step S61: Calculate the cosine similarity between the remaining representative IO feature points and the ridge point;
[0034] Step S62: Determine the maximum and minimum values of the cosine similarity;
[0035] Step S63: Based on the maximum and minimum values of the cosine similarity, the degree of matching between the performance pattern of the application and the optimal performance pattern of the system is evaluated.
[0036] Furthermore, the step S63 includes:
[0037] The dividing line is the middle value between the maximum and minimum values; if it is greater than this middle value, it means that the performance pattern of the application is very similar to the optimal performance pattern of the system, and vice versa.
[0038] The present invention also proposes a device for constructing a file-oriented IO intensity visualization and evaluation system, comprising: a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, the steps of the method for constructing a file-oriented IO intensity visualization and evaluation system are implemented as described above.
[0039] The present invention also proposes a computer-readable storage medium, which stores a computer program. When the computer program is executed by a processor, it implements the steps of the above-mentioned method for constructing a file-oriented IO intensity visualization and evaluation system.
[0040] Compared with the existing technology, the beneficial effects of the present invention are:
[0041] 1. Currently, traditional job performance models mainly involve roofline models between computing and memory. This paper focuses on the construction and evaluation of IO performance models, filling the gap in this field and providing effective observation for scientific researchers and staff.
[0042] 2. Regarding the IO performance model, people typically focus directly on job-level IO performance, which is a high-level, coarse-grained assessment. However, the underlying layer of the job is dominated by file IO. The method proposed in this invention can meet this requirement and is more scientific and refined. BRIEF DESCRIPTION OF THE DRAWINGS
[0043] Figure 1 Construct a method flow chart for file-oriented IO intensity visualization and evaluation system;
[0044] Figure 2 is a schematic diagram of the center of mass;
[0045] Figure 3 A diagram showing the visualization of file IO performance. DETAILED DESCRIPTION
[0046] It should be noted that relational terms such as "first" and "second" are used only to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any actual relationship or order between these entities or operations. Moreover, the terms "comprises," "comprising," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus comprising a series of elements includes not only those elements, but also other elements not explicitly listed, or elements inherent to such process, method, article, or apparatus. In the absence of further limitations, an element defined by the phrase "comprising a ..." does not exclude the presence of additional identical elements in the process, method, article, or apparatus comprising the element.
[0047] The features and performance of the present invention are further described in detail below with reference to the embodiments.
[0048] Example 1
[0049] See also Figure 1 ,The file IO intensity visualization and evaluation system construction method includes:
[0050] Step S1: Use the Darshan monitoring tool to collect IO operation data of each file during the job execution;
[0051] Step S2: Calculate the IO intensity index for each file, including: read IO intensity index, write IO intensity index and comprehensive IO intensity index (read + write); IO intensity index consists of two tuples<x,y> The binary coordinate system is composed of: x is IOP / Byte, y is IOP / S; IOP / Byte represents the number of I / O operations per byte of data, and IOP / S represents the number of I / O operations per second (operation frequency); the slope of the data point in the binary coordinate system represents the bandwidth in bytes / s;
[0052] Step S3: Map the read IO intensity index, write IO intensity index and comprehensive IO intensity index of each file to a two-dimensional coordinate system to form an IO performance triangle containing three coordinate points; Figure 2 As shown;
[0053] Step S4: Calculate the centroid coordinates of the IO performance triangle as the representative IO feature point of the file;
[0054] Step S5: Determine the ridge points of the job layer based on the representative IO feature points of all files;
[0055] Step S6: Evaluate the degree of match between the performance pattern of the application and the optimal performance pattern of the system by calculating the cosine similarity between the remaining representative IO feature points and the ridge point.
[0056] In this embodiment, specifically, the IO operation data includes: a file's read / write IO operation count, a file's read / write IO time, and a file's read / write IO flow;
[0057] That is, with the help of Darshan monitoring logs, the file I / O processes involved in the job execution are recorded, including records of multiple I / O interfaces (STDIO, POSIX, MPIIO). Files may be read and written through one or more I / O interfaces during the job execution.
[0058] Taking STDIO as an example, by obtaining the monitoring indicators STDIO_BYTES_WRITTEN and STDIO_BYTES_READ, we can get the read / write IO traffic of the file respectively, and STDIO_READS and STDIO_WRITES can get the read / write operation count of the file respectively;
[0059] The read / write IO time of the file can be obtained through STDIO_F_READ_TIME and STDIO_F_WRITE_TIME respectively;
[0060] Because the read and write processes of multiple processes may overlap in time, STDIO_F_READ_START_TIMESTAMP and STDIO_F_WRITE_START_TIMESTAMP represent the timestamps of the first read / write of the file, and STDIO_F_READ_END_TIMESTAMP and STDIO_F_WRITE_END_TIMESTAMP represent the timestamps of the last read / write of the file. The maximum value minus the minimum value of these four timestamps can be used to roughly determine the combined time of read and write IO.
[0061] In this embodiment, it should be noted that the read IO intensity index only calculates read operations, the write IO intensity index only calculates write operations, and the comprehensive IO intensity index calculates read + write operations.
[0062] In this embodiment, specifically, the IOP / Byte is calculated using the following formula:
[0063] IOP / Byte = Number of operations / Total traffic
[0064] In this embodiment, specifically, the IOP / S is calculated by the following formula:
[0065] IOP / S=number of operations / total operation time
[0066] In this embodiment, it should be noted that, in a two-dimensional coordinate system, how to calculate the centroid of a triangle is known to those skilled in the art and will not be described in detail here.
[0067] In this embodiment, specifically, Figure 3 As shown, the method for determining the ridge point in step S5 includes:
[0068] a) Select the point with the largest IOP / S value among all representative IO feature points as the horizontal reference point, and draw a horizontal reference line based on the horizontal reference point;
[0069] b) calculating the slopes of all representative IO feature points and determining the representative IO feature point with the largest slope;
[0070] c) Draw a ray from the origin to the representative IO feature point with the largest slope, called the ridge line; the intersection of the ray and the horizontal reference line is the ridge point.
[0071] In this embodiment, specifically, the oblique line formed by the ridge point and the origin is the IO bandwidth peak, and the horizontal line is the operation performance peak.
[0072] In this embodiment, it should be noted that the constrained space is divided into two parts by the vertical line of the x-coordinate of the ridge point. The left part is mainly affected by the number of file bytes, and the right part is mainly affected by the number of IO operations. The IO performance distribution of each file can be intuitively seen.
[0073] In this embodiment, specifically, step S6 includes:
[0074] Step S61: Calculate the cosine similarity between the remaining representative IO feature points and the ridge point;
[0075] Step S62: Determine the maximum and minimum values of the cosine similarity;
[0076] Step S63: Based on the maximum and minimum values of the cosine similarity, the degree of matching between the performance pattern of the application and the optimal performance pattern of the system is evaluated.
[0077] In this embodiment, specifically, step S63 includes:
[0078] The dividing line is the middle value between the maximum and minimum values; if it is greater than this middle value, it means that the performance pattern of the application is very similar to the optimal performance pattern of the system, and vice versa.
[0079] It's important to note that since all points are in the first quadrant of the coordinate system, the minimum cosine similarity is the cosine of the ridge point in the positive x-axis direction, and the maximum is 1, which means it coincides with the ridge point. In this case, the dividing line is the midpoint between the maximum and minimum values, i.e., 1 / 2 (max-min). If the value is greater than this midpoint, it indicates that the application's performance pattern is very similar to the system's optimal performance pattern. Further optimization can be performed to improve job performance by increasing the number of I / O operations or merging data, and vice versa.
[0080] It should be noted that the present invention focuses on scientifically visualizing the file IO performance during job execution. Through the scoring criteria, some insights can be observed. As for how to further improve the optimization performance, it is not within the scope of the present invention.
[0081] It should be noted that the advantage of this invention lies in its ability to identify file I / O performance bottlenecks and differences based on the varying I / O characteristics of supercomputer operations, as well as the system's real-time resources and performance status. Furthermore, the method disclosed herein is versatile and universally applicable, making it equally applicable to performance evaluation of other I / O interfaces (such as POSIX and MPIIO).
[0082] Example 2
[0083] Embodiment 2 further proposes a device for constructing a file-oriented IO intensity visualization and evaluation system, comprising: a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, the steps of the method for constructing a file-oriented IO intensity visualization and evaluation system are implemented as described above. Preferably, the computer program can be executed on a terminal device, such as a personal computer.
[0084] Example 3
[0085] Example 3 also proposes a computer-readable storage medium, which stores a computer program. When the computer program is executed by a processor, it implements the steps of the above-mentioned file-oriented IO intensity visualization and evaluation system construction method; however, the device of the present invention is not limited to this. In this document, the readable storage medium can be any tangible medium that contains or stores a program, and the program can be used by or in combination with an instruction execution system, device or component.
[0086] The readable medium can be a readable signal medium or a readable storage medium. The readable storage medium can be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination thereof. More specific examples of readable storage media (a non-exhaustive list) include: an electrical connection with one or more wires, a portable disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof.
[0087] The computer-readable storage medium may include a data signal propagated in baseband or as part of a carrier wave, wherein the readable program code is carried. The data signal propagated may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. The readable storage medium may also be any readable medium other than a readable storage medium, which may send, propagate, or transmit a program for use by or in conjunction with an instruction execution system, device, or component. The program code contained on the readable storage medium may be transmitted using any suitable medium, including but not limited to wireless, wired, optical cable, RF, etc., or any suitable combination thereof.
[0088] The program code for performing the operations of the present invention may be written in any combination of one or more programming languages, including object-oriented programming languages such as Java, C++, and the like, as well as conventional procedural programming languages such as "C" or similar programming languages. The program code may be executed entirely on the user computing device, partially on the user device, as a stand-alone software package, partially on the user computing device and partially on a remote computing device, or entirely on a remote computing device or server. In cases involving a remote computing device, the remote computing device may be connected to the user computing device via any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computing device (e.g., via the Internet using an Internet service provider).
[0089] The above-described embodiments merely represent specific implementation methods of the present application. While the descriptions are relatively specific and detailed, they should not be construed as limiting the scope of protection of the present application. It should be noted that a person skilled in the art would be able to make numerous variations and improvements without departing from the technical concept of the present application, and all such variations and improvements fall within the scope of protection of the present application.
[0090] This background section is provided to generally present the context of the invention, and the work of the presently named inventors, the work to the extent described in this background section, and aspects of the description in this section that did not constitute prior art at the time of filing are neither explicitly nor implicitly admitted to be prior art to the present invention.
Claims
1. A file-oriented IO intensity visualization and evaluation system construction method, characterized by: include: Step S1: Use the Darshan monitoring tool to collect IO operation data of each file during the job execution; Step S2: Calculate the IO intensity index for each file, including: read IO intensity index, write IO intensity index and comprehensive IO intensity index; IO intensity index consists of two tuples<x,y> Composition, where: x is IOP / Byte, y is IOP / S; IOP / Byte represents the number of IO operations corresponding to each byte of data, and IOP / S represents the number of IO operations per second; Step S3: Mapping the read IO intensity index, write IO intensity index, and comprehensive IO intensity index of each file to a two-dimensional coordinate system to form an IO performance triangle containing three coordinate points; Step S4: Calculate the centroid coordinates of the IO performance triangle as the representative IO feature point of the file; Step S5: Determine the ridge points of the job layer based on the representative IO feature points of all files; Step S6: Evaluate the degree of match between the application's performance pattern and the system's optimal performance pattern by calculating the cosine similarity between the remaining representative IO feature points and the ridge point; The method for determining the ridge point in step S5 includes: a) Select the point with the largest IOP / S value among all representative IO feature points as the horizontal reference point, and draw a horizontal reference line based on the horizontal reference point; b) calculating the slopes of all representative IO feature points and determining the representative IO feature point with the largest slope; c) Draw a ray from the origin to the representative IO feature point with the largest slope, called the ridge line; the intersection of the ray and the horizontal reference line is the ridge point.
2. The method for constructing a file-oriented IO intensity visualization and evaluation system according to claim 1, characterized in that: The IO operation data includes: a file's read / write IO operation count, a file's read / write IO time, and a file's read / write IO flow.
3. The method for constructing a file-oriented IO intensity visualization and evaluation system according to claim 2, characterized in that: The IOP / Byte is calculated using the following formula: IOP / Byte = number of operations / total traffic.
4. The method for constructing a file-oriented IO intensity visualization and evaluation system according to claim 2, characterized in that: The IOP / S is calculated by the following formula: IOP / S=number of operations / total operation time.
5. The method for constructing a file-oriented IO intensity visualization and evaluation system according to claim 1, characterized in that: The oblique line formed by the ridge point and the origin is the IO bandwidth peak, and the horizontal line is the operation performance peak.
6. The method for constructing a file-oriented IO intensity visualization and evaluation system according to claim 1, characterized in that: The step S6 comprises: Step S61: Calculate the cosine similarity between the remaining representative IO feature points and the ridge point; Step S62: Determine the maximum and minimum values of the cosine similarity; Step S63: Based on the maximum and minimum values of the cosine similarity, the degree of matching between the performance pattern of the application and the optimal performance pattern of the system is evaluated.
7. The method for constructing a file-oriented IO intensity visualization and evaluation system according to claim 6, characterized in that: The step S63 includes: The dividing line is the middle value between the maximum and minimum values; if it is greater than this middle value, it means that the performance pattern of the application is very similar to the optimal performance pattern of the system, and vice versa.
8. A device for constructing a file-oriented IO intensity visualization and evaluation system, including: A memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the computer program, the steps of the method for constructing a file-oriented IO intensity visualization and evaluation system are implemented as described in any one of claims 1 to 7.
9. A computer-readable storage medium storing a computer program, characterized in that: When the computer program is executed by a processor, the steps of the method for constructing a file-oriented IO intensity visualization and evaluation system are implemented as described in any one of claims 1 to 7.
Citation Information
Patent Citations
Cloud mobile phone end-to-end performance tracking method and related equipment
CN120151231A
Apparatus and method for data ingestion for user-specific outputs of one or more machine learning models
US20250124001A1