File-oriented IO strength visualization and evaluation system construction method and device and medium
By building a file IO strength visualization and evaluation system, the problem of fine-grained analysis of file IO in high-performance computing operations is solved, and the refined evaluation and visual display of file IO performance is achieved, which improves the accuracy of system performance and resource scheduling.
Patent Information
- Application Number
- CN202510873214.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-27
- Publication Date
- 2025-07-25
- Estimated Expiration
- 2045-06-27
AI Technical Summary
The prior art cannot perform fine-grained analysis of file IO operations in high-performance computing jobs. The traditional evaluation model lacks fine-grained representation of multi-file concurrent scenarios, and visualization methods cannot present the spatial and temporal distribution characteristics of the overall load and individual files at the same time, resulting in insufficient accuracy of system tuning and resource scheduling.
Build a file-oriented IO intensity visualization and evaluation system, collect IO operation data through Darshan monitoring tool, calculate read and write IO intensity indicators and visually display them in a two-dimensional plan, use mathematical models to perform weighted calculations to form a comprehensive score, evaluate whether the file IO design is reasonable and locate potential bottlenecks.
It realizes refined evaluation and visual display of file IO performance, which can quickly locate hot spots and inefficient links in the operation, improve system performance and efficiency, and provide scientific basis to optimize system resource scheduling.
Smart Images

Figure CN120371780A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of performance evaluation of file I / O for operations, and particularly to a method, apparatus, and medium for constructing a visualization and evaluation system for file-oriented I / O intensity. Background Art
[0002] The statements in this section only provide background information related to the present disclosure and may not constitute prior art.
[0003] With the development of supercomputers, the types of high-performance computing (HPC) operations are shifting from compute-intensive to I / O (input / output)-intensive. In such operations, there are a large number of concurrent read and write operations on files. The traditional evaluation method based on overall I / O bandwidth can no longer meet the needs of fine-grained analysis. Existing methods can only provide macroscopic performance metrics, ignoring the differences in read and write intensity, time distribution, and operation types of different files, making it difficult to accurately locate the I / O bottlenecks within the operation.
[0004] Although the current mainstream Roofline model can effectively reveal the performance bottleneck between computing and memory bandwidth, its original design focuses on the relationship between computing density and memory access, lacking the ability to perform fine-grained analysis of file I / O operations. The complexity of file I / O is reflected in multiple dimensions such as storage medium performance, data distribution, and dynamic fluctuations in concurrent access. A single overall metric cannot reflect the true I / O characteristics of each file.
[0005] Modern distributed file systems (such as Lustre, GPFS, etc.) have high concurrent processing capabilities, but their monitoring tools are still limited to statistical macroscopic metrics such as overall bandwidth and latency, lacking the analysis of the spatio-temporal characteristics of individual files or file groups. The reports generated by existing performance monitoring tools mostly focus on global statistical data. Even if some support log export, additional tools are still required for secondary processing, and it is impossible to intuitively display the multi-dimensional I / O dynamic characteristics. This disconnection between macroscopic and microscopic analysis seriously restricts the accuracy of system tuning and resource scheduling.
[0006] In summary, the prior art has the following core defects: 1) The traditional evaluation model does not establish an analysis method for the correlation between I / O intensity and system performance; 2) The monitoring data lacks a fine-grained description of the multi-file concurrent scenario; 3) The visualization means cannot simultaneously present the overall load and the spatio-temporal distribution characteristics of individual files.
[0007] 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
[0008] The object of the present invention is to provide a method, device and medium for constructing a visualization and evaluation system for file-oriented IO intensity, aiming at solving the problems existing in the prior art, breaking through the limitations of traditional single indicators, collecting and analyzing detailed data of all file-related IO operations in a job, and intuitively displaying the read and write intensities of each file in a two-dimensional plane graph. Specifically, the present invention solves technical problems from the following aspects: Based on the idea of the Roofline model, the present invention designs a multi-dimensional index system suitable for file IO evaluation. In this system, quantitative analysis is respectively carried out on the read IO intensity, write IO intensity and their comprehensive intensity, and the differences between various indicators are compared and displayed. A mathematical model is used to perform weighted calculation on different-dimensional indicators, and finally a comprehensive score is formed, which can accurately reflect whether the IO design of each file in the job is reasonable and whether there are potential bottlenecks, so as to provide a scientific basis for system optimization and resource scheduling.
[0009] The present invention introduces visualization construction technology, intuitively presents the processed data in the form of a plane graph, enabling users to clearly observe the distribution and change trend of the IO intensity of each file on the graphical interface. Through this intuitive display, users can not only quickly locate the hot spots and inefficient links in the job, but also further formulate targeted optimization measures according to the evaluation results, significantly improving the overall performance and efficiency of the system.
[0010] The technical solution of the present invention is specifically as follows: A method for constructing a visualization and evaluation system for file-oriented IO intensity, including: Step S1: Collect the IO operation data of each file during the execution of the job through the Darshan monitoring tool; Step S2: Calculate the IO intensity indicators for each file, including: read IO intensity indicator, write IO intensity indicator and comprehensive IO intensity indicator; the IO intensity indicator is composed of a binary tuple <x, y>, where: x is IOP / Byte, and 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: Map the read IO intensity indicator, write IO intensity indicator and comprehensive IO intensity indicator of each file into a two-dimensional coordinate system respectively 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 point at the job level based on the representative IO feature points of all files; Step S6: Evaluate the matching degree 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.
[0011] Furthermore, the IO operation data includes: the read / write IO operation count of the file, the read / write IO time of the file, and the read / write IO traffic of the file.
[0012] Furthermore, the IOP / Byte is calculated by the following formula: IOP / Byte = number of operations / total traffic.
[0013] Furthermore, the IOP / S is calculated by the following formula: IOP / S = number of operations / total operation time.
[0014] Furthermore, 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 with the horizontal reference point; b) Calculate the slopes of all representative IO feature points, and determine 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, which is called the ridge line; the intersection point of the ray and the horizontal reference line is the ridge point.
[0015] Furthermore, the oblique line formed by the ridge point and the origin is the IO bandwidth peak value, and the horizontal line is the operation performance peak value.
[0016] Furthermore, step S6 includes: 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: Evaluate the matching degree between the performance pattern of the application and the optimal performance pattern of the system based on the maximum and minimum values of the cosine similarity.
[0017] Furthermore, step S63 includes: Take the middle value of the maximum and minimum values as the dividing line; 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.
[0018] The present invention also provides an apparatus 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. When the processor executes the computer program, the steps of the file-oriented IO intensity visualization and evaluation system construction method as described above are implemented.
[0019] The present invention also provides a computer-readable storage medium storing a computer program, which when executed by a processor, implements the steps of the file-oriented IO intensity visualization and evaluation system construction method as described above.
[0020] Compared with the existing technologies, the beneficial effects of the present invention are as follows: 1. Currently, regarding the performance model of traditional jobs, it mainly involves the Roofline model between computing and memory. The present invention mainly focuses on the construction and evaluation of the IO performance model, filling the gap in this field for scientific research and staff to effectively observe.
[0021] 2. Regarding the IO performance model, usually people directly focus on the IO performance at the job level, which belongs to a high-level and coarse-grained evaluation. However, the bottom layer of the job is dominated by file IO. Then, the method proposed by the present invention can meet this point and is more scientific and refined. BRIEF DESCRIPTION OF THE DRAWINGS
[0022] Figure 1 is a flowchart of the method for constructing a file-oriented IO intensity visualization and evaluation system; Figure 2 is a schematic diagram of the centroid; Figure 3 is a schematic diagram of file IO performance visualization. DETAILED DESCRIPTION OF THE EMBODIMENTS
[0023] It should be noted that relational terms such as "first" and "second" are only used 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 "comprise", "include" or any other variant thereof are intended to cover a non-exclusive inclusion, such that a process, method, article or device including a series of elements not only includes those elements but also includes other elements not expressly listed, or also includes elements inherent to such process, method, article or device. Without further limitation, an element defined by the phrase "comprising a..." does not exclude the existence of additional identical elements in the process, method, article or device including the element.
[0024] The features and performance of the present invention will be further described in detail below with reference to the embodiments.
[0025] Example 1 Please refer to Figure 1 , a method for constructing a visualization and evaluation system for file-oriented IO intensity, including: Step S1: Collect IO operation data of each file during the execution of the job through the Darshan monitoring tool; Step S2: Calculate IO intensity metrics for each file, including: read IO intensity metric, write IO intensity metric, and comprehensive IO intensity metric (read + write); The IO intensity metric consists of a binary tuple <x, y>, where: x is IOP / Byte, and 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 (operation frequency); The slope of the data points in the formed two-dimensional coordinate axis represents the bandwidth in Bytes / s; Step S3: Map the read IO intensity metric, write IO intensity metric, and comprehensive IO intensity metric of each file into a two-dimensional coordinate system respectively to form an IO performance triangle containing three coordinate points; As Figure 2 shown; Step S4: Calculate the centroid coordinates of the IO performance triangle as the representative IO feature point of the file; Step S5: Based on the representative IO feature points of all files, determine the ridge point at the job level; Step S6: Evaluate the matching degree between the performance pattern of the application program and the best performance pattern of the system by calculating the cosine similarity between the remaining representative IO feature points and the ridge point.
[0026] In this embodiment, specifically, the IO operation data includes: read / write IO operation counts of the file, read / write IO times of the file, and read / write IO traffic of the file; That is, by means of the Darshan monitoring log, record the file IO process involved during the execution of the job, including records of multiple IO interfaces (STDIO, POSIX, MPIIO), where the file may be read and written through one or more IO interfaces during the execution of the job.
[0027] Taking STDIO as an example, by obtaining the monitoring metrics STDIO_BYTES_WRITTEN and STDIO_BYTES_READ, the read / write IO traffic of the file can be obtained respectively, and STDIO_READS and STDIO_WRITES can obtain the read / write operation counts of the file respectively; The read / write IO times of the file can be obtained respectively through STDIO_F_READ_TIME and STDIO_F_WRITE_TIME; Because the read and write processes of multiple processes may overlap in time, STDIO_F_READ_START_TIMESTAMP and STDIO_F_WRITE_START_TIMESTAMP respectively represent the timestamps when the file is first read / written, and STDIO_F_READ_END_TIMESTAMP and STDIO_F_WRITE_END_TIMESTAMP respectively represent the timestamps when the file is last read / written. The comprehensive time of read and write I / O can be roughly determined by subtracting the minimum value from the maximum value of these four timestamps.
[0028] In this embodiment, it should be noted that the read I / O intensity index only calculates read operations, the write I / O intensity index only calculates write operations, and the comprehensive I / O intensity index calculates read + write operations.
[0029] In this embodiment, specifically, the IOP / Byte is calculated by the following formula: IOP / Byte = number of operations / total traffic In this embodiment, specifically, the IOP / S is calculated by the following formula: IOP / S = number of operations / total operation time In this embodiment, it should be noted that in a two-dimensional coordinate system, how to find the centroid of a triangle is known to those skilled in the art and will not be elaborated here.
[0030] In this embodiment, specifically, as Figure 3 shown, the method for determining the ridge point in step S5 includes: a) Select the point with the largest IOP / S value among all representative I / O feature points as the horizontal reference point, and draw a horizontal reference line with the horizontal reference point; b) Calculate the slopes of all representative I / O feature points and determine the representative I / O feature point with the largest slope; c) Draw a ray from the origin to the representative I / O feature point with the largest slope, which is called the ridge line; the intersection point of the ray and the horizontal reference line is the ridge point.
[0031] In this embodiment, specifically, the oblique line formed by the ridge point and the origin is the peak of the I / O bandwidth, and the horizontal line is the peak of the operation performance.
[0032] In this embodiment, it should be noted that the restricted space is divided into two parts by a perpendicular line to 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 I / O operations. The I / O performance distribution of each file can be visually seen.
[0033] In this embodiment, specifically, step S6 includes: Step S61: Calculate the cosine similarity between the remaining representative IO feature points and the ridge points; 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, evaluate the matching degree between the performance mode of the application and the optimal performance mode of the system.
[0034] In this embodiment, specifically, step S63 includes: Use the intermediate value between the maximum and minimum values as the dividing line; if it is greater than this intermediate value, it means that the performance mode of the application is very similar to the optimal performance mode of the system, and vice versa.
[0035] It should be noted that since all points are in the first quadrant of the coordinate system, the minimum value of the cosine similarity is the cosine of the ridge point in the positive x-axis direction, and the maximum value is 1, that is, coinciding with the ridge point. At this time, use the intermediate value between the maximum and minimum values as the dividing line, that is, 1 / 2 (max - min). If it is greater than this intermediate value, it means that the performance mode of the application is very similar to the optimal performance mode of the system, and the job performance can be further optimized by increasing the number of IO operations or data merging, etc., and vice versa.
[0036] It should be noted that the focus of the present invention is on scientifically visualizing the file IO performance during job execution. Through the scoring criteria, some inspirations can be observed. As for how to further improve and optimize the performance, it is not within the scope of emphasis of the present invention.
[0037] It should be noted that the advantages of the present invention are that it can feedback the IO performance bottlenecks and differences of files according to the different IO characteristics of supercomputer jobs and the real-time resources and performance status of the system. Secondly, the method involved in the present invention has generality and universality, and the method can also be applied to the performance evaluation of other IO interfaces (such as POSIX, MPIIO).
[0038] Embodiment 2 Embodiment 2 also proposes a device for constructing a visualization and evaluation system for file-oriented IO intensity, including: a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, it implements the steps of the method for constructing a visualization and evaluation system for file-oriented IO intensity as described above; preferably, the computer program can run on a terminal device, such as a personal computer.
[0039] Embodiment 3 Embodiment 3 also proposes a computer-readable storage medium. The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, it implements the steps of the above-mentioned method for constructing a visualization and evaluation system for file-oriented IO intensity. However, the device of the present invention is not limited thereto. In this document, the readable storage medium can be any tangible medium that contains or stores a program, and this program can be used by or in combination with an instruction execution system, device, or component.
[0040] 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 component, or any combination of the above. More specific examples (non-exhaustive list) of the readable storage medium 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 of the above.
[0041] The computer-readable storage medium can include a data signal propagated in a baseband or as part of a carrier wave, which carries the readable program code. Such a propagated data signal can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. The readable storage medium can also be any readable medium other than the readable storage medium, and this readable medium can send, propagate, or transmit a program for use by or in combination with an instruction execution system, device, or component. The program code contained on the readable storage medium can be transmitted using any appropriate medium, including but not limited to wireless, wired, optical fiber, RF, etc., or any suitable combination of the above.
[0042] The program code for performing the operations of the present invention can be written in any combination of one or more programming languages. The programming languages include object-oriented programming languages such as Java, C++, etc., and also include conventional procedural programming languages such as the "C" language or similar programming languages. The program code can be executed entirely on the user's computing device, partially on the user's device, executed as an independent software package, partially on the user's computing device and partially on a remote computing device, or entirely on a remote computing device or server. In the case of a remote computing device, the remote computing device can be connected to the user's computing device through any type of network, including a local area network (LAN) or a wide area network (WAN), or can be connected to an external computing device (for example, by using an Internet service provider to connect through the Internet).
[0043] The above-described embodiments merely represent the specific implementation manners of the present application. The description is relatively specific and detailed, but it should not be construed as a limitation on the protection scope of the present application. It should be noted that for those of ordinary skill in the art, without departing from the concept of the technical solution of the present application, several variations and improvements can still be made, and these all fall within the protection scope of the present application.
[0044] This Background Art section is provided to generally present the context of the present invention. The work of the currently named inventors, to the extent described in this Background Art section, and aspects of the work described herein that were not prior art at the time of filing this application are neither expressly nor impliedly admitted to be prior art to the present invention.
Claims
1. Method for constructing file-oriented IO intensity visualization and evaluation system, characterized in that Including: Step S1: Collect the IO operation data of each file during the execution of the job through the Darshan monitoring tool; Step S2: Calculate the IO intensity indicators for each file, including: read IO intensity indicator, write IO intensity indicator, and comprehensive IO intensity indicator; The IO intensity indicator is composed of a binary tuple <x, y>, where: x is IOP / Byte, and 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: Map the read IO intensity indicator, write IO intensity indicator, and comprehensive IO intensity indicator of each file into a two-dimensional coordinate system respectively 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: Based on the representative IO feature points of all files, determine the ridge point at the job level; Step S6: Evaluate the matching degree between the performance mode of the application program and the optimal performance mode of the system by calculating the cosine similarity between the remaining representative IO feature points and the ridge point.
2. The method for constructing a file-oriented IO intensity visualization and evaluation system according to claim 1, wherein The IO operation data includes: read / write IO operation count of the file, read / write IO time of the file, and read / write IO traffic of the file.
3. The method for constructing a file-oriented IO intensity visualization and evaluation system according to claim 2, wherein, The IOP / Byte is calculated by 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, wherein 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 with the horizontal reference point; b) Calculate the slopes of all representative IO feature points and determine 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, which is called the ridge line; The intersection point of the ray and the horizontal reference line is the ridge point.
6. The method for constructing a file-oriented IO intensity visualization and evaluation system according to claim 5, wherein, The oblique line formed by the ridge point and the origin is the IO bandwidth peak value, and the horizontal line is the operation performance peak value.
7. The method for constructing a file-oriented IO intensity visualization and evaluation system according to claim 1, wherein Step S6 includes: Step S61: Calculate the cosine similarity between the remaining representative IO feature points and the ridge point; Step S62: Determine the maximum value and the minimum value of the cosine similarity; Step S63: Based on the maximum value and the minimum value of the cosine similarity, evaluate the matching degree between the performance mode of the application program and the optimal performance mode of the system.
8. The method for constructing a document-oriented IO intensity visualization and evaluation system according to claim 7, wherein Step S63 includes: Taking the intermediate value between the maximum value and the minimum value as the dividing line; If it is greater than this intermediate value, it means that the performance mode of the application program is very similar to the optimal performance mode of the system, and vice versa.
9. An apparatus for constructing a visualization and evaluation system for file-oriented IO intensity, comprising: 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 visualization and evaluation system for file-oriented IO intensity as described in any one of claims 1-8 are implemented.
10. A computer-readable storage medium storing a computer program, characterized in that, When the computer program is executed by the processor, the steps of the method for constructing a visualization and evaluation system for file-oriented IO intensity as described in any one of claims 1-8 are implemented.
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