[go: up one dir, main page]

WO2024082853A1 - Procédé et système d'optimisation de performance d'application dans un calcul haute performance - Google Patents

Procédé et système d'optimisation de performance d'application dans un calcul haute performance Download PDF

Info

Publication number
WO2024082853A1
WO2024082853A1 PCT/CN2023/117104 CN2023117104W WO2024082853A1 WO 2024082853 A1 WO2024082853 A1 WO 2024082853A1 CN 2023117104 W CN2023117104 W CN 2023117104W WO 2024082853 A1 WO2024082853 A1 WO 2024082853A1
Authority
WO
WIPO (PCT)
Prior art keywords
parameter
computing node
configuration information
memory
disk
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.)
Ceased
Application number
PCT/CN2023/117104
Other languages
English (en)
Chinese (zh)
Inventor
吴祥智
周新中
胡耀国
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
XFusion Digital Technologies Co Ltd
Original Assignee
XFusion Digital Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by XFusion Digital Technologies Co Ltd filed Critical XFusion Digital Technologies Co Ltd
Publication of WO2024082853A1 publication Critical patent/WO2024082853A1/fr
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]

Definitions

  • the embodiments of the present application relate to the field of computing clusters, and in particular to a method and system for performance tuning of high-performance computing applications.
  • the computing cluster system needs to configure different system parameters according to different applications to improve computing performance or cluster throughput.
  • This application provides a method and system for high-performance computing application performance tuning, which can improve the efficiency of running HPC application software and the efficiency of executing jobs. It also provides more detailed parameter types, which can better improve the utilization rate of network resources and computing resources.
  • the present application provides a method for configuring a computing node, the method being applied to a management node, the computing node being at least one, in the method:
  • the management node receives a first application service.
  • the management node determines first configuration information and a target computing node according to a service type of the first application service.
  • the target computing node is any one of the computing nodes.
  • the first application service is a service assigned by the management node to the target computing node for execution
  • the management node sends the first configuration information to the target computing node; the first configuration information is used to indicate the configuration information used by the target computing node to run the first application service.
  • the first configuration information includes: one or more of a first central processing unit CPU parameter, a first memory parameter, a first operating system parameter, a first disk parameter, and a first network parameter.
  • the management node may receive a first application service sent by a local device. After sending the first configuration information to the target computing node, the management node may instruct the target computing node to run the first application service and send the running result to the storage system.
  • the management node can select a series of parameters according to the job type of the first application service, which can improve the efficiency of running the HPC application software.
  • this method has more parameter types and The data is more detailed, and the operating efficiency of HPC application software can be adjusted more accurately. It can also better improve the utilization rate of network resources and computing resources.
  • the first CPU parameter may include a CPU operating speed.
  • the first memory parameter may include one or more of a memory size and a memory bandwidth.
  • the first operating system parameter may include an operating system type.
  • the first disk parameter may include one or more of a disk size and a disk bandwidth.
  • the first network parameter may include a network protocol type.
  • the first configuration information may further include: whether to enable Transmission Control Protocol (TCP) Fast Open (TFO), that is, TFO parameters.
  • TFO parameters may be set to 1, 2, or 3 parameters, wherein when the TFO parameter is parameter 1, it indicates that the client enables TFO, that is, TFO can be enabled in the local device; when the TFO parameter is parameter 2, it indicates that the server enables TFO, that is, TFO can be enabled in the management node and the computing node; when the TFO parameter is parameter 3, it indicates that both the client and the server enable TFO, that is, all the device nodes in the high-performance computing system enable TFO.
  • TCP Transmission Control Protocol
  • TFO Transmission Control Protocol
  • TFO parameters may be set to 1, 2, or 3 parameters, wherein when the TFO parameter 1, it indicates that the client enables TFO, that is, TFO can be enabled in the local device; when the TFO parameter 2, it indicates that the server enables TFO, that is, TFO can be enabled in the management node and the computing node; when the T
  • the CPU operating speed of the computing node may include multiple CPU operating speeds, and the multiple CPU operating speeds may include the CPU operating speed indicated by the first CPU parameter.
  • the CPU parameter may refer to a performance parameter of the CPU when the computing node executes a job.
  • the CPU parameter may also be used to indicate the CPU operating frequency and clock signal, etc., without limitation.
  • the memory of the computing node has multiple memory sizes, and the multiple memory sizes include the memory size indicated by the first memory parameter; the memory of the computing node has multiple memory bandwidths, and the multiple memory bandwidths include the memory bandwidth indicated by the first memory parameter.
  • the type of the operating system run by the computing node includes multiple operating system types, and the multiple operating system types include the operating system type indicated by the first operating system parameter.
  • the operating system type may include but is not limited to Windows system, Mac system, Linux system, Chrome OS system, UNIX operating system, and Hongmeng HarmonyOS system.
  • the disk of the computing node has multiple disk sizes, and the multiple disk sizes include the disk size indicated by the first disk parameter.
  • the disk of the computing node has multiple disk bandwidths, and the multiple disk bandwidths include the disk bandwidth indicated by the first disk parameter.
  • the type of network protocol adopted by the computing node may include multiple network protocol types, and the multiple network protocol types may include the network protocol type indicated by the first network parameter.
  • a variety of configuration information is stored in the management node, and the plurality of configuration information may include the first configuration information.
  • the first configuration information is configuration information that enables: the operation efficiency of the target computing node that runs the first application service or the second application service to be higher than a first threshold.
  • the first configuration information may also refer to the configuration information with the highest operating efficiency.
  • the management node can select the optimal system parameter template according to the job type of the job, which can improve the work efficiency when executing the job.
  • the management node when the management node receives the second application service, the management node may send a collection instruction and the second application service to the computing node.
  • the second application service is a service of unknown service type, and the collection instruction can be used to instruct the computing node to collect characteristic values.
  • the management node may receive the characteristic value sent by the computing node, where the characteristic value is data collected when the computing node runs the second application service based on the configuration information used before the first configuration information.
  • the management node may determine the first configuration information according to the characteristic value.
  • the job received by the management node does not specify a job type, and a job of an unknown job type may be referred to as a second application service.
  • the management node can determine the most similar job type stored in the management node based on the feature values collected when the computing node executes the second application business, and thereby determine the optimal system parameter template corresponding to the most similar job type.
  • the optimal system parameter template can be used to execute the job through the above method, thereby improving the efficiency of executing the job.
  • the first configuration information is used to indicate that the configuration information used by the target computing node to run the first application service specifically includes:
  • the first configuration information is used to adjust the CPU operating speed in the target computing node to the CPU operating speed indicated by the first CPU parameter, adjust one or more of the memory size or memory bandwidth in the target computing node to the memory size or memory bandwidth indicated by the first memory parameter, adjust the operating system type in the target computing node to the operating system type indicated by the first operating system parameter, adjust one or more of the disk size or disk bandwidth in the target computing node to the disk size or disk bandwidth indicated by the first disk parameter, and adjust the network protocol type in the target computing node to the network protocol type indicated by the first network parameter to run the first application service.
  • the computing node can adjust various parameters when running the job according to the first configuration information, so as to improve the operating efficiency.
  • the management node sends a rollback instruction to the target computing node.
  • the rollback instruction may be used to restore the configuration information in the target computing node to the configuration information used before receiving the first configuration information.
  • the present application provides a method for configuring a computing node, the method being applied to a computing node, the computing node
  • the node is at least one, in this method,
  • the management node is used to receive the first application service
  • the management node is used to determine first configuration information and a target computing node according to a service type of the first application service;
  • the target computing node is any one of the computing nodes
  • the first application service is a service assigned by the management node to the target computing node for execution
  • the target computing node receives the first configuration information sent by the management node; the first configuration information is used to indicate the configuration information used by the target computing node to run the first application service.
  • the first configuration information includes: one or more of a first central processing unit CPU parameter, a first memory parameter, a first operating system parameter, a first disk parameter, and a first network parameter.
  • the management node may be used to receive a first application service sent by a local device. After the management node sends the first configuration information to the target computing node, the target computing node may run the first application service and send the running result to the storage system.
  • the management node can select a series of parameters according to the job type of the first application service, which can improve the efficiency of running the HPC application software.
  • the computing node can adjust various parameters when running its own job according to the series of parameters sent by the management node.
  • this method Compared with the current manual parameter configuration method by managers, this method has more parameter types and more detailed parameter data, which can more accurately adjust the operating efficiency of HPC application software and better improve the utilization rate of network resources and computing resources.
  • the first CPU parameter may include a CPU operating speed.
  • the first memory parameter may include one or more of a memory size and a memory bandwidth.
  • the first operating system parameter may include an operating system type.
  • the first disk parameter may include one or more of a disk size and a disk bandwidth.
  • the first network parameter may include a network protocol type.
  • the first configuration information may further include: whether to enable Transmission Control Protocol (TCP) Fast Open (TFO), that is, TFO parameters.
  • TFO parameters may be set to 1, 2, or 3 parameters, wherein when the TFO parameter is parameter 1, it indicates that the client enables TFO, that is, TFO can be enabled in the local device; when the TFO parameter is parameter 2, it indicates that the server enables TFO, that is, TFO can be enabled in the management node and the computing node; when the TFO parameter is parameter 3, it indicates that both the client and the server enable TFO, that is, all the device nodes in the high-performance computing system enable TFO.
  • TCP Transmission Control Protocol
  • TFO Transmission Control Protocol
  • TFO parameters may be set to 1, 2, or 3 parameters, wherein when the TFO parameter 1, it indicates that the client enables TFO, that is, TFO can be enabled in the local device; when the TFO parameter 2, it indicates that the server enables TFO, that is, TFO can be enabled in the management node and the computing node; when the T
  • the CPU operating speed of the computing node may include multiple CPU operating speeds, and the multiple CPU operating speeds may include the CPU operating speed indicated by the first CPU parameter.
  • the CPU parameter may refer to a performance parameter of the CPU when the computing node executes a job.
  • the CPU parameter may also be used to indicate the CPU operating frequency and clock signal, etc., without limitation.
  • the memory of the computing node has multiple memory sizes, the multiple memory sizes include the memory size indicated by the first memory parameter; the memory of the computing node has multiple memory bandwidths, the multiple memory bandwidths The memory bandwidth includes the memory bandwidth indicated by the first memory parameter.
  • the type of the operating system run by the computing node includes multiple operating system types, and the multiple operating system types include the operating system type indicated by the first operating system parameter.
  • the operating system type may include but is not limited to Windows system, Mac system, Linux system, Chrome OS system, UNIX operating system, and Hongmeng HarmonyOS system.
  • the disk of the computing node has multiple disk sizes, and the multiple disk sizes include the disk size indicated by the first disk parameter.
  • the disk of the computing node has multiple disk bandwidths, and the multiple disk bandwidths include the disk bandwidth indicated by the first disk parameter.
  • the type of network protocol adopted by the computing node may include multiple network protocol types, and the multiple network protocol types may include the network protocol type indicated by the first network parameter.
  • a variety of configuration information is stored in the management node, and the plurality of configuration information may include the first configuration information.
  • the first configuration information is configuration information that enables: the operation efficiency of the target computing node that runs the first application service or the second application service to be higher than a first threshold.
  • the first configuration information may also refer to the configuration information with the highest operating efficiency.
  • the management node can select the optimal system parameter template according to the job type of the job, which can improve the work efficiency when executing the job.
  • the computing node may receive the collection instruction and the second application service sent by the management node.
  • the second application service is a service of unknown service type, and the collection instruction can be used to instruct the computing node to collect characteristic values.
  • the computing node may send the characteristic value to the management node, where the characteristic value is data collected when the computing node runs the second application service based on the configuration information used before the first configuration information.
  • the management node can be used to determine the first configuration information according to the characteristic value.
  • the job received by the management node does not specify a job type, and a job of an unknown job type may be referred to as a second application service.
  • the management node can determine the most similar job type stored in the management node based on the feature values collected when the computing node executes the second application business, and thereby determine the optimal system parameter template corresponding to the most similar job type.
  • the optimal system parameter template can be used to execute the job through the above method, thereby improving the efficiency of executing the job.
  • the first configuration information is used to instruct the target computing node to run the
  • the configuration information used by the first application service specifically includes:
  • the first configuration information is used to adjust the CPU operating speed in the target computing node to the CPU operating speed indicated by the first CPU parameter, adjust one or more of the memory size or memory bandwidth in the target computing node to the memory size or memory bandwidth indicated by the first memory parameter, adjust the operating system type in the target computing node to the operating system type indicated by the first operating system parameter, adjust one or more of the disk size or disk bandwidth in the target computing node to the disk size or disk bandwidth indicated by the first disk parameter, and adjust the network protocol type in the target computing node to the network protocol type indicated by the first network parameter to run the first application service.
  • the computing node can adjust various parameters when running the job according to the first configuration information, so as to improve the operating efficiency.
  • the target computing node may receive a rollback instruction sent by the management node.
  • the rollback instruction may be used to restore the configuration information in the target computing node to the configuration information used before receiving the first configuration information.
  • the present application provides a management device, which includes a receiving unit, a processing unit, and a sending unit, wherein:
  • the receiving unit may be configured to receive a first application service.
  • the processing unit may be configured to determine first configuration information and a target computing node according to a service type of the first application service, wherein the target computing node is any one of the computing nodes.
  • the sending unit may be configured to send the first configuration information to the target computing node.
  • the first configuration information may include one or more of a first central processing unit CPU parameter, a first memory parameter, a first operating system parameter, a first disk parameter, and a first network parameter.
  • the first application service is a service assigned by the management node to the target computing node for execution.
  • the first configuration information is used to indicate the configuration information used by the target computing node to run the first application service.
  • the management node can be used to receive a first application service sent by a local device. After sending the first configuration information to the target computing node, the management node can also be used to instruct the target computing node to run the first application service and send the running result to the storage system.
  • the management device can select a series of parameters according to the operation type of the first application service, which can improve the efficiency of running the HPC application software.
  • this method Compared with the current manual parameter configuration method by managers, this method has more parameter types and more detailed parameter data, which can more accurately adjust the operating efficiency of HPC application software and better improve the utilization rate of network resources and computing resources.
  • the first CPU parameter may include a CPU operating speed.
  • the first memory parameter may include one or more of a memory size and a memory bandwidth.
  • the first network parameter may include the network protocol type.
  • the first configuration information may further include: whether to enable Transmission Control Protocol (TCP) Fast Open (TFO), that is, TFO parameters.
  • TFO parameters may be set to 1, 2, or 3 parameters, wherein when the TFO parameter is parameter 1, it indicates that the client enables TFO, that is, TFO can be enabled in the local device; when the TFO parameter is parameter 2, it indicates that the server enables TFO, that is, TFO can be enabled in the management node and the computing node; when the TFO parameter is parameter 3, it indicates that both the client and the server enable TFO, that is, all device nodes in the high-performance computing system enable TFO.
  • TCP Transmission Control Protocol
  • TFO Transmission Control Protocol
  • TFO parameters may be set to 1, 2, or 3 parameters, wherein when the TFO parameter 1, it indicates that the client enables TFO, that is, TFO can be enabled in the local device; when the TFO parameter 2, it indicates that the server enables TFO, that is, TFO can be enabled in the management node and the computing node; when the TFO
  • the CPU operating speed of the computing node may include multiple CPU operating speeds, and the multiple CPU operating speeds may include the CPU operating speed indicated by the first CPU parameter.
  • the CPU parameter may refer to a performance parameter of the CPU when the computing node executes a job.
  • the CPU parameter may also be used to indicate the CPU operating frequency and clock signal, etc., without limitation.
  • the memory of the computing node has multiple memory sizes, and the multiple memory sizes include the memory size indicated by the first memory parameter; the memory of the computing node has multiple memory bandwidths, and the multiple memory bandwidths include the memory bandwidth indicated by the first memory parameter.
  • the type of the operating system run by the computing node includes multiple operating system types, and the multiple operating system types include the operating system type indicated by the first operating system parameter.
  • the operating system type may include but is not limited to Windows system, Mac system, Linux system, Chrome OS system, UNIX operating system, and Hongmeng HarmonyOS system.
  • the disk of the computing node has multiple disk sizes, and the multiple disk sizes include the disk size indicated by the first disk parameter.
  • the disk of the computing node has multiple disk bandwidths, and the multiple disk bandwidths include the disk bandwidth indicated by the first disk parameter.
  • the type of network protocol adopted by the computing node may include multiple network protocol types, and the multiple network protocol types may include the network protocol type indicated by the first network parameter.
  • multiple configuration information is stored in the management node, and the multiple configuration information may include the first configuration information.
  • the first configuration information is configuration information that enables: the operation efficiency of the target computing node that runs the first application service or the second application service to be higher than a first threshold.
  • the first configuration information may also refer to the configuration information with the highest operating efficiency.
  • the management node can select the optimal system parameter template according to the job type of the job, which can improve the work efficiency when executing the job.
  • the receiving unit may also be used to receive a characteristic value sent by the computing node
  • the processing unit may also be used to determine the first configuration information according to the characteristic value
  • the sending unit may also be configured to send a collection instruction and the second application service to the computing node when the management device receives the second application service;
  • the second application service is a service of unknown service type.
  • the collection instruction may be used to instruct the computing node to collect the characteristic value.
  • the characteristic value is data collected when the computing node runs the second application service based on the configuration information used before the first configuration information.
  • the job received by the management node does not specify a job type, and a job of an unknown job type may be referred to as a second application service.
  • the management node can determine the most similar job type stored in the management node based on the feature values collected when the computing node executes the second application business, and thereby determine the optimal system parameter template corresponding to the most similar job type.
  • the optimal system parameter template can be used to execute the job through the above method, thereby improving the efficiency of executing the job.
  • the first configuration information is used to indicate that the configuration information used by the target computing node to run the first application service specifically includes:
  • the first configuration information is used to adjust the CPU operating speed in the target computing node to the CPU operating speed indicated by the first CPU parameter, adjust one or more of the memory size or memory bandwidth in the target computing node to the memory size or memory bandwidth indicated by the first memory parameter, adjust the operating system type in the target computing node to the operating system type indicated by the first operating system parameter, adjust one or more of the disk size or disk bandwidth in the target computing node to the disk size or disk bandwidth indicated by the first disk parameter, and adjust the network protocol type in the target computing node to the network protocol type indicated by the first network parameter to run the first application service.
  • the computing node can adjust various parameters when running the job according to the first configuration information, so as to improve the operating efficiency.
  • the sending unit may also be configured to send a rollback instruction to the target computing node.
  • the rollback instruction may be used to restore the configuration information in the target computing node to the configuration information used before the first configuration information.
  • the present application provides a computing device, the computing device comprising a receiving unit and a computing unit, wherein:
  • the receiving unit is used to receive first configuration information and a first application service sent by the management node.
  • the first configuration information is used to indicate the configuration information used by the target computing device to run the first application service.
  • the target computing device is any one of the computing devices.
  • the target computing device and the first configuration information are determined by the management node according to the service type of the first application service.
  • the computing unit is configured to run the first application service according to the first configuration information.
  • the first configuration information includes: one or more of a first central processing unit CPU parameter, a first memory parameter, a first operating system parameter, a first disk parameter, and a first network parameter.
  • the management node may be used to receive a first application service sent by a local device. After the management node sends the first configuration information to the target computing node, the target computing node may be used to run the first application service and send the running result to the storage system.
  • the management node can select a series of parameters according to the job type of the first application service, which can improve the efficiency of running the HPC application software.
  • the computing device can adjust various parameters when running its own job according to the series of parameters sent by the management node.
  • this method Compared with the current manual parameter configuration method by managers, this method has more parameter types and more detailed parameter data, which can more accurately adjust the operating efficiency of HPC application software and better improve the utilization rate of network resources and computing resources.
  • the first CPU parameter may include a CPU operating speed.
  • the first memory parameter may include one or more of a memory size and a memory bandwidth.
  • the first operating system parameter may include an operating system type.
  • the first disk parameter may include one or more of a disk size and a disk bandwidth.
  • the first network parameter may include a network protocol type.
  • the first configuration information may further include: whether to enable Transmission Control Protocol (TCP) Fast Open (TFO), that is, TFO parameters.
  • TFO parameters may be set to 1, 2, or 3 parameters, wherein when the TFO parameter is parameter 1, it indicates that the client enables TFO, that is, TFO can be enabled in the local device; when the TFO parameter is parameter 2, it indicates that the server enables TFO, that is, TFO can be enabled in the management node and the computing node; when the TFO parameter is parameter 3, it indicates that both the client and the server enable TFO, that is, all device nodes in the high-performance computing system enable TFO.
  • TCP Transmission Control Protocol
  • TFO Transmission Control Protocol
  • TFO parameters may be set to 1, 2, or 3 parameters, wherein when the TFO parameter 1, it indicates that the client enables TFO, that is, TFO can be enabled in the local device; when the TFO parameter 2, it indicates that the server enables TFO, that is, TFO can be enabled in the management node and the computing node; when the TFO
  • the CPU operating speed of the computing device may include multiple CPU operating speeds, and the multiple CPU operating speeds may include the CPU operating speed indicated by the first CPU parameter.
  • the CPU parameters may refer to the performance parameters of the CPU when the computing device is executing a task.
  • the CPU parameters may also be used to indicate the CPU operating frequency and clock signal, etc., without limitation.
  • the memory of the computing device has multiple memory sizes, and the multiple memory sizes include the memory size indicated by the first memory parameter; the memory of the computing device has multiple memory bandwidths, and the multiple memory bandwidths include the memory bandwidth indicated by the first memory parameter.
  • the type of operating system run by the computing device includes multiple operating system types, and the multiple operating system types include the operating system type indicated by the first operating system parameter.
  • the operating system type may include but is not limited to Windows system, Mac system, Linux system, Chrome OS system, UNIX operating system, and Hongmeng HarmonyOS system.
  • the disk of the computing device has multiple disk sizes, and the multiple disk sizes include the disk size indicated by the first disk parameter.
  • the disk of the computing device has multiple disk bandwidths, and the multiple disk bandwidths include the disk bandwidth indicated by the first disk parameter.
  • the type of network protocol adopted by the computing device may include multiple network protocol types, and the multiple network protocol types may include the network protocol type indicated by the first network parameter.
  • multiple configuration information is stored in the management node, and the multiple configuration information may include the first configuration information.
  • the first configuration information is configuration information that enables: the operating efficiency of the target computing device that runs the first application service or the second application service to be higher than a first threshold.
  • the first configuration information may also refer to the configuration information with the highest operating efficiency.
  • the management node can select the optimal system parameter template according to the job type of the job, which can improve the work efficiency when executing the job.
  • the receiving unit when the service received by the management node is the second application service, the receiving unit may also be used to receive a collection instruction and the second application service sent by the management node.
  • the second application service is a service of unknown service type, and the collection instruction can be used to instruct the computing node to collect characteristic values.
  • the computing device may further include a sending unit, which may be used to send the characteristic value to the management node, where the characteristic value is data collected when the computing device runs the second application service based on the configuration information used before the first configuration information.
  • a sending unit which may be used to send the characteristic value to the management node, where the characteristic value is data collected when the computing device runs the second application service based on the configuration information used before the first configuration information.
  • the management node can be used to determine the first configuration information according to the characteristic value.
  • the job received by the management node does not specify a job type, and a job of an unknown job type may be referred to as a second application service.
  • the management node can determine the most similar job type stored in the management node based on the feature values collected when the computing device executes the second application service, and thereby determine the optimal system parameter template corresponding to the most similar job type.
  • the optimal system parameter template can be used to execute the job through the above method, thereby improving the efficiency of executing the job.
  • the first configuration information is used to indicate that the configuration information used by the target computing device to run the first application service specifically includes:
  • the first configuration information is used to adjust the CPU operating speed in the target computing device to the CPU operating speed indicated by the first CPU parameter, adjust one or more of the memory size or memory bandwidth in the target computing device to the memory size or memory bandwidth indicated by the first memory parameter, adjust the operating system type in the target computing device to the operating system type indicated by the first operating system parameter, adjust one or more of the disk size or disk bandwidth in the target computing device to the disk size or disk bandwidth indicated by the first disk parameter, and adjust the network protocol type in the target computing device to the network protocol type indicated by the first network parameter to run the first application service.
  • the computing device can adjust various parameters when running the job according to the first configuration information, so as to improve the operating efficiency.
  • the receiving unit in the target computing device can be used to receive the rollback instruction sent by the management node.
  • the rollback instruction may be used to restore the configuration information in the target computing node to the configuration information used before receiving the first configuration information.
  • an embodiment of the present application provides a communication system, which includes a management node and a computing node.
  • the management node includes: one or more processors and a memory; the memory is coupled to the one or more processors, the memory is used to store computer program code, the computer program code includes computer instructions, and the first device is used to execute the method described in the first aspect.
  • the computing node includes: one or more processors and a memory; the memory is coupled to the one or more processors, the memory is used to store computer program code, the computer program code includes computer instructions, and the second device is used to execute the method described in the second aspect.
  • an embodiment of the present application provides an electronic device, comprising: one or more processors and a memory; the memory is coupled to the one or more processors, the memory is used to store computer program code, the computer program code comprises computer instructions, and the one or more processors call the computer instructions to enable the electronic device to execute the method described in the first aspect or the second aspect.
  • an embodiment of the present application provides a computer-readable storage medium, comprising computer instructions.
  • the computer instructions When the computer instructions are executed on an electronic device, the electronic device executes the method described in the first aspect or the second aspect.
  • the communication system provided in the fifth aspect, the electronic device provided in the sixth aspect, and the computer program product provided in the seventh aspect are all used to execute the method provided in the embodiment of the present application. Therefore, the beneficial effects that can be achieved can refer to the beneficial effects in the corresponding method, which will not be repeated here.
  • FIG1 is a schematic diagram of a framework of a high performance computing system provided in an embodiment of the present application.
  • FIG2A is a schematic block diagram of the structure of a management node provided in an embodiment of the present application.
  • FIG2B is a schematic block diagram of the structure of a computing node provided in an embodiment of the present application.
  • FIG3 is a schematic diagram of components of a high performance computing system provided in an embodiment of the present application.
  • FIG4 is a flow chart of a method for optimizing performance of a high-performance computing application provided in an embodiment of the present application.
  • first and second are used for descriptive purposes only and are not to be understood as suggesting or implying relative importance or implicitly indicating the number of the indicated technical features.
  • a feature defined as “first” or “second” may explicitly or implicitly include one or more of the features, and in the description of the embodiments of the present application, unless otherwise specified, "plurality” means two or more.
  • GUI graphical user interface
  • High-performance computing can refer to the use of aggregated computing power to handle data-intensive computing tasks (such as simulation, modeling, and rendering) that cannot be completed by standard workstations.
  • HPC as a computer cluster system, can decompose a large number of computing tasks and can also be calculated by different computing nodes to solve large-scale computing problems. It is widely used in scientific research, weather forecasting, simulation experiments, biopharmaceuticals, gene sequencing, image processing and other industries.
  • the process of high-performance computing is as follows: the user installs HPC application software on the local device and uploads data through the HPC application software, that is, uploads the job.
  • the management node receives the job script submitted by the user, applies for computing resources, and allocates the job to the computing cluster (multiple computing nodes).
  • the computing node runs the job assigned by the management node and uploads the running results to the storage system through the network. The user can obtain the computing results of the job by accessing the storage system.
  • HPC application software users expect to run more applications and more jobs in a shorter time, and want to improve job efficiency by adjusting system parameters.
  • HPC application software in different industries has different characteristics (for example, compute-intensive, memory-intensive, communication-intensive, complex, etc.), and the system parameters corresponding to different characteristics are also different. Therefore, if you want to configure the optimal system parameters for applications with different characteristics, you need to continuously adjust and match them according to the type of HPC application software.
  • HPC manufacturers conduct a large number of test simulations on system parameters based on user needs (such as the type of HPC application software running locally) when shipping HPC equipment. Production is carried out only after the HPC performance meets user needs. In this way, due to the large number of application software types, multiple debugging is required, which is a large workload. In addition, when running multiple HPC application software in the same environment, the configured system parameters may not be optimal for each application software, which may affect the operating efficiency.
  • an embodiment of the present application provides a method for performance tuning of high performance computing applications.
  • a large-scale small Linux cluster job scheduling system (Simple Linux Utility for Resource Management, Slurm) as a scheduler can be installed on the management node.
  • the management node can allocate and process jobs submitted by users, and select the best parameter tuning template that matches the job type.
  • the management node can send the best parameter tuning template and the job to the computing node.
  • the computing node adjusts the system parameters of the computing node according to the best parameter tuning template and then executes the job.
  • the system parameter settings in the optimal parameter tuning template may include but are not limited to central processing unit (CPU) parameter configuration, memory size allocation parameters, operating system parameter settings, disk allocation parameters, network parameter settings, etc.
  • CPU central processing unit
  • the parameters configured in the method for performance tuning of high-performance computing applications provided by the embodiment of the present application have more categories and more detailed parameter data than the current manually configured parameters, which can better improve the utilization rate of network resources and computing resources.
  • FIG. 1 exemplarily shows a schematic diagram of a framework of a high performance computing system provided in an embodiment of the present application.
  • the high performance computing system may include but is not limited to a local device, a switch, a management node, multiple computing nodes, a storage system, and the like.
  • the high performance computing system can be applied to scenarios where jobs are run through various types of HPC application software.
  • the types of HPC application software may include but are not limited to: Weather Research and Forecasting (WRF), Weather Forecast Preprocessing System (WPS), Weather Forecast Data Assimilation (WRFDA), Global-Regional Assimilation and PrEdiction System (GRAPES), Nucleus for European Modelling of the Ocean (NEMO), Generalized Operators Modelling of Ocean (GOMO), Community Earth System Model (CESM), Open Field Operation and Munipilation (OpenFOAM) based on finite volume method (for example, applied in fluid mechanics or industrial manufacturing), Electronic Structure Calculation and Quantum Mechanics-Molecular Dynamics Simulation Package (Vienna Ab-initio Simulation Package, VASP) (for example, applied in material simulation and computational material science), Groningen MAchine for Chemical Simulator (GROningen MAchine for Chemical Simulator) and other related software.
  • WRF Weather Research and Forecasting
  • WPS Weather Forecast Preprocessing System
  • WRFDA Weather Forecast Data Assimilation
  • GRAPES Global-Regional As
  • GROMACS for example, applied to molecular dynamics simulations, etc.
  • NAMD Nanoscale Molecular Dynamics
  • LAMMPS Large-scale Atomic/Molecular Massively Parallel Simulator
  • quantum-espresso for example, applied in quantum chemistry, etc.
  • CP2K simulation software for example, applied in quantum chemistry, etc.
  • NWchem computational chemistry software for example, applied in quantum chemistry, etc.
  • digital twin toolkit Unity Manufacturing Toolkits, UMT
  • Monte Carlo box positioning (monte-carlolocationboxed, mcb), etc.
  • HPC application software is not limited, and other types of HPC application software may be included.
  • the local device may refer to an electronic device used by a user to input a job script.
  • the electronic device may be a mobile phone, a tablet computer, a desktop computer, a laptop computer, a handheld computer, a notebook computer, an ultra-mobile personal computer (UMPC), a netbook, as well as a cellular phone, a personal digital assistant (PDA), an augmented reality (AR) device, a virtual reality (VR) device, an artificial intelligence (AI) device, a wearable device, a vehicle-mounted device, a smart home device and/or a smart city device.
  • PDA personal digital assistant
  • AR augmented reality
  • VR virtual reality
  • AI artificial intelligence
  • wearable device a vehicle-mounted device
  • smart home device a smart home device and/or a smart city device.
  • the communication module in the local device can send the job to the management node and receive the message of the completion of the job execution sent by the management node.
  • a user interface of a display screen in a local device may pop up a prompt message, which is used to prompt the user to use the optimal system parameter template when the computing node runs the job.
  • a user interface of a display screen in a local device may also pop up a prompt message, which is used to prompt the user to access the running result.
  • the job script submitted by the user may include, but is not limited to: job name, job type, task attributes of the job, and the like.
  • the task attribute may refer to the start value and the end value of the scanning task. For example, the user may set the start value to "0" and the end value to "9".
  • the task attribute may also refer to an increment of each step of the scanning task.
  • the user may set the increment value to “1” or the HPC application software may set a default value for the increment value.
  • the task attribute may also refer to a command line of the scanning task.
  • the user may input a command line “AsianOptions.exe1.0*”.
  • the task attribute may also refer to the working directory and the file location, for example, the user may enter ⁇ headnode> ⁇ Applications, where ⁇ headnode> is the specific head node name.
  • the task attribute may also include more or less information, which is not limited.
  • management nodes There may be one or more management nodes. In addition to the number of management nodes shown in FIG. 1 , there may be multiple management nodes. For example, the number of management nodes may be 2, one being a primary management node and the other being a secondary management node.
  • the management node is used to manage the computing nodes and storage systems. Specifically, the management node can be equipped with Slurm to allocate and process the jobs uploaded by users, select the computing nodes to run the jobs, match the optimal system parameter template corresponding to the jobs and instruct the designated computing nodes to adjust their own system parameters. In addition, the storage system where the computing node operation results are stored can also be determined.
  • Slurm is a highly scalable and fault-tolerant cluster manager and job scheduling system that can be used for large clusters of computing nodes. It is widely used by supercomputers and computing clusters around the world. Slurm can maintain a queue of pending jobs and manage overall network resource utilization. Slurm can also reasonably allocate resources to task queues and monitor jobs until they are completed. In the embodiments of the present application, the management node uses the Slurm job scheduling system. In some possible implementations, other job scheduling systems can also be used when the method for performance tuning of high-performance computing applications provided by the embodiments of the present application is adopted.
  • the management node may be a hardware device, such as a server, a router, etc., or may be just a software device (for example, a software program running on a hardware device). This is not limited in the embodiments of the present application.
  • a plurality of computing nodes may form a computing cluster.
  • the computing nodes may receive the assigned tasks sent by the management node, perform computing tasks (eg, execute jobs or run jobs), and send the running results to the storage device.
  • computing tasks eg, execute jobs or run jobs
  • the computing node can also receive the optimal system parameter template sent by the management node, adjust its own parameter configuration according to the settings of the optimal system parameter template, and then execute the job, so as to improve the performance of the software application running job.
  • the computing node may be a hardware device, such as a server.
  • the storage system can store the results of the job after it is run.
  • the storage system can be a distributed storage system and can include multiple storage nodes.
  • the storage nodes can be servers.
  • the storage system can provide file storage services. Generally speaking, in order to provide users with better storage services, most of the storage nodes in the storage system are physical devices, not virtual devices.
  • a switch can provide an exclusive electrical signal path for any two nodes connected to the switch.
  • switches can be divided into Ethernet switches, Fast Ethernet switches, Gigabit Ethernet switches, Fiber Distributed Data Interface (FDDI) switches, Asynchronous Transfer Mode (ATM) switches and Token Ring switches.
  • FDDI Fiber Distributed Data Interface
  • ATM Asynchronous Transfer Mode
  • the switch connected between the local device and the management node can be a Gigabit Ethernet switch, and the switch connected between the management node and the computing node can be an Ethernet switch.
  • the type of switch used in the high-performance computing system framework is not limited.
  • management node and computing node provided in the embodiments of the present application are described in detail below.
  • Fig. 2A is a schematic diagram of the structure of a management node provided in an embodiment of the present application.
  • the management node is taken as a server 100 for example.
  • the server 100 may include: one or more processors 101 , a memory 102 , a communication interface 103 , a transmitter 105 , a receiver 106 , a coupler 107 , and an antenna 108 .
  • FIG2A takes the connection via bus as an example.
  • the processor 101 can be used to read and execute computer-readable instructions.
  • the processor 101 can be used to call a program stored in the memory 102, such as an implementation program of the method for performance tuning of high-performance computing applications provided in an embodiment of the present application on the server 100, and execute instructions contained in the program.
  • a program stored in the memory 102 such as an implementation program of the method for performance tuning of high-performance computing applications provided in an embodiment of the present application on the server 100, and execute instructions contained in the program.
  • the processor 101 may also be configured to select an optimal coefficient parameter template according to the job type.
  • processor 101 can be a central processing unit (CPU) and can also be integrated into a multi-core processor.
  • CPU central processing unit
  • the memory 102 is coupled to the processor 101 and is used to store various software programs and/or multiple sets of computer instructions.
  • the memory 102 may include a high-speed random access memory, and may also include a non-volatile memory (such as a read-only memory (ROM), a solid state disk (SSD), a hard disk (HDD)), such as one or more disk storage devices, flash memory devices or other non-volatile solid-state storage devices.
  • ROM read-only memory
  • SSD solid state disk
  • HDD hard disk
  • the memory 102 may store computer instructions and data required to implement the method for high performance computing application performance tuning provided in the embodiment of the present application.
  • the memory 102 stores instructions for implementing the step of matching the optimal coefficient template provided in the embodiment of the present application.
  • the memory 102 may also store instructions for the steps of matching the optimal coefficient templates for various types of applications.
  • the memory 102 may store an operating system (hereinafter referred to as system), such as an embedded operating system such as uCOS, VxWorks, RTLinux, etc.
  • system such as an embedded operating system such as uCOS, VxWorks, RTLinux, etc.
  • the memory 102 may also store a network communication program, which may be used to communicate with computing nodes and local devices.
  • the communication interface 103 can be used for data communication between the server 100 and other devices (e.g., computing nodes, local devices).
  • the communication interface 103 can be a 3G communication interface, a long-term evolution (LTE) (4G) communication interface, a 5G communication interface, a WLAN communication interface, a WAN communication interface, etc.
  • LTE long-term evolution
  • the server 100 can also be configured with a wired communication interface 103 to support wired communication.
  • the communication interface 103 can receive jobs sent by a local device.
  • the transmitter 105 and the receiver 106 can be regarded as a wireless modem.
  • the transmitter 105 can be used to transmit the signal output by the processor 101.
  • the receiver 106 can be used to receive the signal.
  • the number of the transmitter 105 and the number of the receiver 106 can be one or more.
  • the antenna 108 may be used to convert electromagnetic energy in the transmission line into electromagnetic waves in free space, or to convert electromagnetic waves in free space into electromagnetic energy in the transmission line.
  • the coupler 107 may be used to divide the mobile communication signal into multiple paths and distribute the signals to multiple receivers 106. It is understandable that the antenna 108 of the network device may be implemented as a large-scale antenna array.
  • the transmitter 105 may be used to send tuning instructions, acquisition instructions, and callback instructions.
  • the receiver 106 may receive feedback instructions from other devices in response to the tuning instructions, acquisition instructions, and callback instructions.
  • server 100 shown in FIG. 2A is only one implementation of the embodiment of the present application. In actual applications, the server 100 may also include more or fewer components, which is not limited here.
  • Fig. 2B is a schematic diagram of the structure of a computing node provided in an embodiment of the present application.
  • the computing node is described as a server 200 as an example. It is worth noting that the high-performance computing system framework may include multiple servers 200.
  • the server 200 may include: one or more processors 201, a memory 202, a communication interface 203, a transmitter 205, a receiver 206, a coupler 207, and an antenna 208.
  • the above components may be connected to each other through a bus 204 Or other ways of connection, FIG2B takes the bus connection as an example.
  • the processor 201 can be used to read and execute computer-readable instructions. Specifically, the processor 201 can be used to call a program stored in the memory 202, such as the implementation program of the method for performance tuning of high-performance computing applications provided in the embodiment of the present application on the server 200, and execute the instructions contained in the program. The processor 201 can also be used to run a job according to the optimal coefficient parameter template sent by the management node. Optionally, the processor 201 can be a CPU, and can also be integrated into a multi-core processor.
  • the memory 202 is coupled to the processor 201 and is used to store various software programs and/or multiple sets of computer instructions.
  • the memory 202 may include a high-speed random access memory, and may also include a non-volatile memory (such as ROM, SSD, HDD), such as one or more disk storage devices, flash memory devices or other non-volatile solid-state storage devices.
  • the memory 202 may store computer instructions and data required to implement the method for optimizing the performance of high-performance computing applications provided in the embodiment of the present application.
  • the memory 202 stores instructions for implementing the operation steps provided in the embodiment of the present application.
  • the memory 202 may also contain various instructions for executing job steps.
  • the memory 202 may store an operating system (hereinafter referred to as system), such as embedded operating systems such as uCOS, VxWorks, RTLinux, etc.
  • system such as embedded operating systems such as uCOS, VxWorks, RTLinux, etc.
  • the memory 202 may also store a network communication program, which may be used to communicate with other servers 200 and management nodes.
  • the communication interface 203 can be used for data communication between the server 200 and other devices (such as management nodes, other computing nodes).
  • the communication interface 203 can be a 3G communication interface, a long-term evolution (LTE) (4G) communication interface, a 5G communication interface, a WLAN communication interface, a WAN communication interface, etc.
  • LTE long-term evolution
  • the server 200 can also be configured with a wired communication interface 203 to support wired communication.
  • the transmitter 205 and the receiver 206 can be regarded as a wireless modem.
  • the transmitter 205 can be used to transmit the signal output by the processor 201.
  • the receiver 206 can be used to receive the signal.
  • the number of the transmitter 205 and the number of the receiver 206 can be one or more.
  • the antenna 208 may be used to convert electromagnetic energy in the transmission line into electromagnetic waves in free space, or to convert electromagnetic waves in free space into electromagnetic energy in the transmission line.
  • the coupler 207 may be used to divide the mobile communication signal into multiple paths and distribute the signals to multiple receivers 206. It is understandable that the antenna 208 of the network device may be implemented as a large-scale antenna array.
  • the receiver 206 may be used to receive a tuning instruction, a collection instruction, and a callback instruction.
  • the transmitter 205 may be used to send a plurality of feedback instructions in response to the tuning instruction, the collection instruction, and the callback instruction.
  • server 200 shown in FIG. 2B is only one implementation of the embodiment of the present application. In actual applications, the server 200 may also include more or fewer components, which is not limited here.
  • the following is a schematic diagram of the components of the high performance computing system provided in an embodiment of the present application.
  • FIG3 exemplarily shows a schematic diagram of components of a high-performance computing system provided in an embodiment of the present application. It is worth noting that the schematic diagram of components shown in FIG3 is a high-performance computing system consisting of one management node and two computing nodes. In the embodiment of the present application, there is no limit on the number of computing nodes, and the high-performance computing system can be composed of multiple management nodes and multiple computing nodes.
  • the method for performance tuning of a high-performance computing application mainly includes the following components: a tuning trigger (Trigger), a tuning server (Server), and a tuning Agent.
  • the tuning trigger can be set on the management node
  • the tuning server can also be set on the management node
  • the tuning agent can be set on each computing node.
  • the tuning agent is installed on each computing node.
  • the tuning server can be independently set on other hardware devices in addition to being set on the management node, which is not limited in the embodiments of the present application.
  • the following embodiments take the tuning server being set on the management node as an example.
  • tuning trigger Trigger
  • tuning server Controller
  • tuning Agent any component of tuning trigger (Trigger), tuning server (Server), and tuning Agent, and may also include more components, which will not be described in detail here.
  • the tuning trigger can be used to receive job messages (e.g., job type, job identifier, identifier of the assigned computing node).
  • the tuning trigger can receive job messages sent by Slurm. Specifically, after the user uploads the job to the management node, Slurm arranges the job in the execution queue waiting for allocation, and then Slurm can pass the job information to the tuning trigger by setting environment variables.
  • the management node needs to configure the tuning Triggrt in the configuration items PrologSlurmctld and EpilogSlurmctld in the Slurm configuration file Slurm.conf, so that the job start and job end events can be captured.
  • the tuning trigger can also be used to send tuning instructions and collection instructions to the tuning server.
  • the tuning trigger may send a rollback instruction to the tuning server after the computing job is completed.
  • the tuning server can be used to receive tuning instructions from the tuning trigger, select the optimal system parameter template, and send the tuning instructions to the tuning agent.
  • the tuning server can select the optimal system parameter template corresponding to the job type from the template database based on the job type received by the tuning trigger, and then send tuning instructions to the tuning agent in the corresponding computing node based on the assigned computing node information and job identifier received by the tuning trigger.
  • the tuning server if the job submitted by the user does not specify the type, the tuning server also needs to send a job feature value collection command to the tuning agent.
  • the tuning server can match the optimal system parameter template based on the job feature value.
  • how to match the optimal system parameter template based on the job feature value collection method is not described in detail, and you can refer to the content in the specific method flow below.
  • a job of a specified type or a job whose job type can be identified by the tuning server can be called a first application business
  • a job of an unspecified job type that can be calculated using the optimal system parameter template of the first application business can be called a second application business.
  • the tuning server may receive a rollback instruction sent by the tuning trigger, and send the rollback instruction to the tuning agent.
  • the tuning server can maintain a queue of pending work by sending tuning instructions when the CPU is idle.
  • the tuning agent can receive tuning instructions, collection instructions, and rollback instructions sent by the tuning server.
  • the tuning Agent may modify the parameters according to the optimal system parameter template sent by the tuning Server. Specifically, the parameters may be modified by calling a system command or interface.
  • the tuning agent can also save the default parameters before modification so that the parameters can be adjusted after the job is finished.
  • Perform rollback processing that is, restore the parameters in each computing node to the default parameters.
  • the tuning agent can use tools such as perf and vtune to collect characteristic value data for the job.
  • tools such as perf and vtune are tools for software performance analysis. They can use PMU, tracepoint and special counters in the kernel to perform performance statistics, so as to obtain data that can be used to analyze the job type.
  • the tuning agent can run jobs of unspecified job types with default parameters, and use tools to collect feature values of the running jobs. After a period of time, the collected data is sent to the tuning server for analysis and identification of the job type.
  • This embodiment takes the example of installing a tuning trigger and a tuning server on a management node and installing a tuning agent on a computing node to introduce a method for performance tuning of a high-performance computing application.
  • FIG4 exemplarily shows a flow chart of a method for performance tuning of a high performance computing application provided in an embodiment of the present application.
  • S401 A management node receives a job sent by a local device.
  • the local device may generate a job based on a user operation, and the local device may send the job to the management node.
  • the local device may specify a job type. Specifically, the local device may generate different types of jobs by running a variety of HPC application software.
  • the local device may not specify the job type, and the job type may be identified by the tuning server in subsequent steps.
  • the job type may be identified by the tuning server in subsequent steps.
  • Slurm may obtain relevant information based on the job and send the relevant information to the tuning Trigger.
  • Slurm is installed on the management node and can be used to distribute jobs.
  • Slurm can obtain the job type and set the designated computing node to perform the job calculation based on factors such as the job's computational workload, complexity, operation steps, and available resources. It can be understood that the job type includes the job's computational workload, complexity, operation steps, and available resources.
  • the relevant information obtained by Slurm based on the job may include, but is not limited to: job type, job ID, identifier of the allocated computing node, etc., and may also include other information, which is not limited to this.
  • Slurm can pass relevant information to the tuning trigger based on the prolog mechanism, which is a pre-processing mechanism unique to Slurm.
  • Slurm allocating a job by tuning a Trigger may refer to Slurm triggering a job allocation event.
  • the computing node designated by the management node to execute the job according to the optimal system parameter template may be referred to as a target computing node.
  • the tuning trigger sends the tuning instruction and related information to the tuning server.
  • a tuning trigger and a tuning server are set on the management node, and the tuning trigger of the same management node can send the tuning instruction and related information to the tuning server of the same management node.
  • the sent tuning instruction is used to instruct the tuning server to match the optimal system parameter template according to the relevant information of the job, wherein the relevant information may include but is not limited to: the job type, the job ID, the identifier of the allocated computing node, and the like.
  • the tuning server may match the optimal system parameter template from the template database according to the job type.
  • a template database in the management node stores multiple job types and multiple system parameter templates that match them.
  • the above-mentioned matching may mean that if the system parameter template that matches it is used when running the job, the efficiency of the computing node running the job is the highest among the multiple system parameter templates.
  • the above-mentioned multiple job types can refer to the above-mentioned HPC application software types, and different HPC application software may generate different job types.
  • the management node can obtain system parameter templates by running a large number of jobs generated by various HPC application software.
  • the computing node runs multiple jobs generated by HPC application software of type A, and the management node then uses data analysis algorithms or deep learning methods to analyze and obtain the optimal system parameter template corresponding to HPC application software of type A;
  • the computing node runs one or more jobs generated by type A HPC application software, and each job is executed multiple times.
  • the computing node is configured with different system parameters each time.
  • the management node analyzes the effect of each execution to obtain the optimal system parameter template corresponding to type A HPC application software.
  • the optimal system parameter template may be referred to as first configuration information.
  • the specific parameter information contained in the system parameter template stored in the template database in the management node may include, but is not limited to: CPU parameters, memory parameters, operating system (OS) parameters, disk parameters, and network parameters, etc. In the embodiment of the present application, more specific parameters may also be included, which is not limited.
  • OS operating system
  • the CPU parameters in the optimal system parameter template may be referred to as first CPU parameters
  • the memory parameters in the optimal system parameter template may be referred to as first memory parameters
  • the OS parameters in the optimal system parameter template may be referred to as first operating system parameters
  • the disk parameters in the optimal system parameter template may be referred to as first disk parameters
  • the network parameters in the optimal system parameter template may be referred to as first network parameters.
  • the CPU parameter may refer to the performance parameter of the CPU when the computing node executes the job.
  • the CPU parameter may refer to the running speed of the CPU.
  • the execution capability of a CPU may be divided into multiple levels, and different levels may be set according to different jobs. Generally speaking, the higher the level, the stronger the execution capability of the CPU.
  • the CPU parameter mentioned here is different from the CPU number parameter.
  • the number of CPUs is determined when the server is tuned to set the specified computing node.
  • the number of CPUs contained in the specified computing node is also determined when the computing node leaves the factory.
  • the number of CPUs in the computing node is the number of CPUs when executing the job. Therefore, the CPU parameter adjusted in the embodiment of the present application is not the CPU number parameter. In this way, CPU resources can be allocated more reasonably and more fully by setting the CPU parameter.
  • the parameters of the CPU may be parameters such as the operating frequency and clock signal of the CPU adjusted according to different jobs.
  • the memory parameter may refer to one or more of the memory size or memory bandwidth that can be used by the computing node when executing a job.
  • the memory is used to temporarily store the running data in the processor.
  • setting memory parameters can ensure efficient completion of jobs without wasting resources, prevent memory leaks during job execution, and ensure that each job runs in its own memory space without conflict. Setting an appropriate memory size and memory bandwidth can avoid wasting resources when using too large a memory size and memory bandwidth, and avoid data overflow when using too small a memory size and memory bandwidth.
  • the OS parameter may refer to the operating system that the computing node carries when executing a job, such as Windows, Mac, Linux, Chrome OS, UNIX, and Hongmeng HarmonyOS.
  • some HPC application software has restrictions on the OS, so it is necessary to select a suitable computing node based on the operating system settings of the HPC application software itself, or to select a suitable operating system on a specified computing node.
  • Disk parameters may refer to storage media in a computing node.
  • disk parameters may be used to indicate one or more of disk size or disk bandwidth.
  • Computing nodes may allocate different disk sizes or disk bandwidths according to different job types, thereby optimizing the work efficiency and work speed when executing jobs.
  • operations such as creating and deleting files on a disk are required when running a job, so it is necessary to rationally allocate disk resources based on the resources required to run the job.
  • specific parameters may also include whether to enable Transmission Control Protocol (TCP) Fast Open (TFO).
  • TCP Transmission Control Protocol
  • TFO Transmission Control Protocol Fast Open
  • TFO can be used to increase the speed of opening the connection between two endpoints. Since TFO modifies the data exchange during the three-way handshake compared to TCP, the specific optimization content is not repeated here. In a possible implementation, TFO improves the client page loading time by about 4% to 5% compared to TCP, and the average performance improvement is about 25%. Therefore, the computing node can set TFO parameters in the system parameter template.
  • the TFO parameter can be set to 1, 2, or 3 parameters.
  • the TFO parameter is parameter 1
  • the TFO parameter is parameter 2 it indicates that the server turns on TFO, that is, TFO can be turned on in the management node and the computing node
  • the TFO parameter is parameter 3 it indicates that both the client and the server turn on TFO, that is, all device nodes in the high-performance computing system turn on TFO.
  • the TFO parameter in the default parameters may be set to parameter 1. It is worth noting that the above-mentioned TFO parameter settings are only exemplary, and in the embodiments of the present application, the TFO parameter may be set in other ways.
  • the tuning server sends the tuning instructions, jobs, and optimal system parameter template to the tuning agent.
  • a tuning agent may be provided on each computing node.
  • the tuning server can send the tuning instructions to the tuning agent in the specified computing node (that is, the target computing node), and send the job and the optimal system parameter template to the tuning agent.
  • the management node can send the job and the corresponding optimal system parameter template to the specified computing Nodes complete the function of their assigned tasks.
  • the tuning instructions sent by the tuning server are used to instruct the computing nodes to adjust their own system parameters according to the optimal system parameter template sent by the tuning server to improve the efficiency of running jobs.
  • the tuning agent may run the job according to the optimal system parameter template to obtain the job result, and send the job result to the storage device.
  • the computing nodes designated by the management node may run jobs according to the optimal system parameter template, and the computing nodes not designated by the management node (the computing nodes other than the target node) may not receive the tuning instructions, jobs, and optimal system parameter templates sent by the management node, nor run jobs.
  • the system parameters in the target computing node are default parameters, where the default parameters can be the parameter configuration set when the computing node leaves the factory, or the parameter configuration sent to the computing node by the management node, which is not limited.
  • the tuning agent can adjust the system parameters of the computing node according to the received optimal system parameter template.
  • the tuning agent may store the default parameters in the computing node to facilitate subsequent rollback of the system parameters.
  • the tuning agent adjusts the system parameters in the computing node
  • the job sent by the management node can be run.
  • the computing node executes the job with higher execution efficiency and more reasonable resource allocation.
  • the computing node After the computing node finishes running the job, the computing node can send the job results to the storage device.
  • the management node may designate a specific storage device to store the job results, or the computing node may select a group of storage devices and send information of the selected storage devices to the management node.
  • the operation result may be stored in a storage device, and the user may obtain the operation result by accessing the storage device. Specifically, the local device may access the storage device based on the user's input operation.
  • the above S403-S404 are executed.
  • the above S403-S404 can be replaced by executing the following S407-S410.
  • the tuning Server sends the collection instructions and the job to the tuning Agent.
  • the tuning server may send a collection command to the tuning agent in the computing node, and simultaneously send the job to the tuning agent.
  • the management node can complete the job type identification function by sending the collection instruction and the job to the specified computing node.
  • the collection instruction is used to instruct the computing node to collect feature values through tools such as perf or vtune when running the job with the default parameter template.
  • the tuning agent can collect characteristic values of the job by running the job under the default parameter template.
  • the management node can run the job.
  • the tuning agent can run the job when the system parameters in the computing node are default parameters.
  • the tuning agent can run the job with the system parameters set to default parameters.
  • the tuning agent can also collect data during the job execution and the job results when running the job. For example, the tuning agent can collect data using the perf tool or the vtune tool to obtain the feature value.
  • the tuning agent may collect data on the job execution process and the job results when running the job within a fixed period of time.
  • the fixed period of time may be determined by the management node and sent to the computing node.
  • the feature value may be sent to the management node. Specifically, after the tuning agent collects the feature value, the feature value may be sent to the tuning server.
  • the tuning server may analyze the characteristic values sent by the tuning agent to obtain similar job types, and perform matching and comparison in the template database in the tuning server, thereby matching the optimal system parameter template.
  • the tuning server may store a variety of system parameter templates and a variety of known job types.
  • the tuning server After receiving the feature value sent by the tuning agent, the tuning server can analyze the feature value to obtain similar known job types.
  • the above similarity may mean that the conditions, environment and configuration required for running jobs of unknown job types are similar to the conditions, environment and configuration required for jobs of known job types stored in the management node.
  • running jobs of unknown job types with the optimal system parameter template matched by similar job types is the most efficient among multiple system parameter templates.
  • the tuning server then matches the best system parameter template based on similar job types. In this way, even if the job type is not specified for the job submitted by the local device, the best parameter template matching the unspecified job type can be selected.
  • the system parameters of the computing node may also be rolled back.
  • the tuning agent may send a job completion message to the tuning trigger.
  • the tuning trigger After receiving the job end message, the tuning trigger trigger triggers the job end event based on Slurm's epilog mechanism, sends a rollback instruction to the tuning server, and sends job related information to determine the identifier of the computing node to be rolled back and the specific parameters before and after the modification.
  • the above epilog mechanism is a post-processing mechanism unique to Slurm, which is used to remind the high-performance computing system Slurm that the assigned task has been completed.
  • the tuning server After receiving the rollback instruction from the tuning trigger, the tuning server sends the rollback instruction to the tuning agent that needs to be rolled back. After receiving the rollback instruction from the tuning server, the tuning agent adjusts the system parameters according to the default parameters previously stored in the computing node, so as to avoid affecting the runtime setting of system parameters of jobs of different types.
  • the high performance computing system can complete the steps of submitting a job, assigning a job, running a job, and completing a job.
  • a job For the specific process, please refer to the method flow chart shown in Figure 4. It is worth noting that after the high performance computing system completes a job, it can start to execute the job submission step of the next job, so as to ensure that the job team is in an orderly state.
  • jobs can be allocated based on Slurm, and different parameters can be configured according to the job type, without the need for the user to manually configure the parameters again, which can improve the efficiency of running HPC application software and the efficiency of executing jobs.
  • the parameters can be rolled back, so that different types of jobs can be prevented from affecting each other during operation.
  • the parameters configured in the method for performance tuning of high-performance computing applications provided by the embodiment of the present application have more categories than the current manually configured parameters, and the parameter data is more precise and detailed, which can better improve the utilization rate of network resources and computing resources.
  • the computer program product includes one or more computer instructions.
  • the computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device.
  • the computer instructions can be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium.
  • the computer instructions can be transmitted from one website site, computer, server or data center to another website site, computer, server or data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line) or wireless (e.g., infrared, wireless, microwave, etc.) mode.
  • the computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device such as a server or data center that includes one or more available media integrated.
  • the available medium can be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid state drive (SSD)), etc.
  • SSD solid state drive
  • the processes can be completed by a computer program to instruct the relevant hardware, and the program can be stored in a computer-readable storage medium.
  • the program When the program is executed, it can include the processes of the above-mentioned method embodiments.
  • the aforementioned storage medium includes: ROM or random access memory RAM, magnetic disk or optical disk and other media that can store program codes.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Computer And Data Communications (AREA)

Abstract

La présente demande concerne un procédé et un système d'optimisation de performance d'application dans un calcul haute performance (HPC). Le procédé comprend les étapes suivantes : dans un scénario dans lequel un dispositif local exécute un logiciel d'application HPC, un nœud de gestion peut distribuer une tâche envoyée par le dispositif local, et sélectionne un modèle d'optimisation de paramètre optimal mis en correspondance selon le type de la tâche, le nœud de gestion peut envoyer le modèle d'optimisation de paramètre optimal et la tâche à un nœud de calcul, et le nœud de calcul ajuste des paramètres de système selon le modèle d'optimisation de paramètre optimal et met en œuvre efficacement la tâche. Selon la solution technique de la présente demande, différents paramètres peuvent être automatiquement configurés selon des types de tâche, l'efficacité d'exécution d'un logiciel d'application HPC est améliorée, et l'efficacité d'utilisation de ressources de réseau et de ressources de calcul peut également être améliorée.
PCT/CN2023/117104 2022-10-18 2023-09-05 Procédé et système d'optimisation de performance d'application dans un calcul haute performance Ceased WO2024082853A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202211277045.4 2022-10-18
CN202211277045.4A CN115756822B (zh) 2022-10-18 2022-10-18 高性能计算应用性能调优的方法及系统

Publications (1)

Publication Number Publication Date
WO2024082853A1 true WO2024082853A1 (fr) 2024-04-25

Family

ID=85353777

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/117104 Ceased WO2024082853A1 (fr) 2022-10-18 2023-09-05 Procédé et système d'optimisation de performance d'application dans un calcul haute performance

Country Status (2)

Country Link
CN (1) CN115756822B (fr)
WO (1) WO2024082853A1 (fr)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118631810A (zh) * 2024-05-30 2024-09-10 济南浪潮数据技术有限公司 信息发送方法、装置、电子设备及可读存储介质
CN119603211A (zh) * 2024-11-29 2025-03-11 中国联合网络通信集团有限公司 应用耗时评估方法、装置、设备、存储介质及程序产品
CN120371532A (zh) * 2025-06-24 2025-07-25 浪潮电子信息产业股份有限公司 一种系统参数的调优方法、装置、设备、存储介质和产品

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115756822B (zh) * 2022-10-18 2024-03-19 超聚变数字技术有限公司 高性能计算应用性能调优的方法及系统
CN116643875A (zh) * 2023-04-23 2023-08-25 超聚变数字技术有限公司 一种任务调度方法、服务器及服务器集群
CN116582537A (zh) * 2023-07-13 2023-08-11 国家超级计算天津中心 远程仿真方法、装置、设备、存储介质及系统
CN119336278B (zh) * 2024-12-20 2025-02-25 苏州元脑智能科技有限公司 参数配置的调整方法、装置、存储介质及电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110727506A (zh) * 2019-10-18 2020-01-24 北京航空航天大学 一种基于成本模型的spark参数自动调优方法
CN112035238A (zh) * 2020-09-11 2020-12-04 曙光信息产业(北京)有限公司 任务调度处理方法、装置、集群系统及可读存储介质
CN112306383A (zh) * 2019-08-02 2021-02-02 华为技术有限公司 执行作业的方法、计算节点、管理节点及计算设备
CN114675975A (zh) * 2022-05-24 2022-06-28 新华三人工智能科技有限公司 一种基于强化学习的作业调度方法、装置及设备
CN115756822A (zh) * 2022-10-18 2023-03-07 超聚变数字技术有限公司 高性能计算应用性能调优的方法及系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103078759B (zh) * 2013-01-25 2017-06-06 北京润通丰华科技有限公司 计算节点的管理方法及装置、系统
CN109165093B (zh) * 2018-07-31 2022-07-19 宁波积幂信息科技有限公司 一种计算节点集群弹性分配系统及方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112306383A (zh) * 2019-08-02 2021-02-02 华为技术有限公司 执行作业的方法、计算节点、管理节点及计算设备
CN110727506A (zh) * 2019-10-18 2020-01-24 北京航空航天大学 一种基于成本模型的spark参数自动调优方法
CN112035238A (zh) * 2020-09-11 2020-12-04 曙光信息产业(北京)有限公司 任务调度处理方法、装置、集群系统及可读存储介质
CN114675975A (zh) * 2022-05-24 2022-06-28 新华三人工智能科技有限公司 一种基于强化学习的作业调度方法、装置及设备
CN115756822A (zh) * 2022-10-18 2023-03-07 超聚变数字技术有限公司 高性能计算应用性能调优的方法及系统

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118631810A (zh) * 2024-05-30 2024-09-10 济南浪潮数据技术有限公司 信息发送方法、装置、电子设备及可读存储介质
CN119603211A (zh) * 2024-11-29 2025-03-11 中国联合网络通信集团有限公司 应用耗时评估方法、装置、设备、存储介质及程序产品
CN120371532A (zh) * 2025-06-24 2025-07-25 浪潮电子信息产业股份有限公司 一种系统参数的调优方法、装置、设备、存储介质和产品

Also Published As

Publication number Publication date
CN115756822A (zh) 2023-03-07
CN115756822B (zh) 2024-03-19

Similar Documents

Publication Publication Date Title
CN115756822B (zh) 高性能计算应用性能调优的方法及系统
US11030009B2 (en) Systems and methods for automatically scaling compute resources based on demand
US20230072358A1 (en) Tenant resource optimization (tro) in clouds
US11016673B2 (en) Optimizing serverless computing using a distributed computing framework
CN109478147B (zh) 分布式计算系统中的自适应资源管理
US10698737B2 (en) Interoperable neural network operation scheduler
CN113918314B (zh) 任务处理方法、边缘计算设备、计算机设备、介质
CN108496324A (zh) 云工作负载发放系统和方法
CN114490048B (zh) 任务执行方法、装置、电子设备及计算机存储介质
CN103713935B (zh) 一种在线管理Hadoop集群资源的方法和装置
CN111209077A (zh) 深度学习框架设计方法
EP4361808A1 (fr) Procédé et dispositif d'ordonnancement de ressources et noeud informatique
CN112764902B (zh) 任务调度方法及系统
Syrigos et al. Optimization of execution for machine learning applications in the computing continuum
CN104598311A (zh) 一种面向Hadoop的实时作业公平调度的方法和装置
CN117311937A (zh) 一种分布式任务调度方法、装置、电子设备及存储介质
CN110058941A (zh) 任务调度管理方法、装置、设备及存储介质
CN111143033B (zh) 基于可伸缩操作系统的操作执行方法及装置
CN118785257A (zh) 切片资源调整方法、装置、存储介质及计算机设备
CN118796372A (zh) 微服务资源的调度方法及装置、电子设备和存储介质
CN117827397A (zh) 关联测试任务调度方法、装置、计算机设备及存储介质
Škrinárová Heterogeneous cloud systems and criteria for enhanced performance
Li et al. Predicting latency distributions of aperiodic time-critical services
CN115686744A (zh) 数据处理方法、装置、设备及存储介质
Wang et al. Accelerating RL-Based Scheduler Adaptation with Transfer Learning in Evolving HPC Architectures

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23878848

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 23878848

Country of ref document: EP

Kind code of ref document: A1