RU2591020C1 - Method of monitoring user program progress, running on computational nodes of computer system - Google Patents

Method of monitoring user program progress, running on computational nodes of computer system Download PDF

Info

Publication number
RU2591020C1
RU2591020C1 RU2015120816/08A RU2015120816A RU2591020C1 RU 2591020 C1 RU2591020 C1 RU 2591020C1 RU 2015120816/08 A RU2015120816/08 A RU 2015120816/08A RU 2015120816 A RU2015120816 A RU 2015120816A RU 2591020 C1 RU2591020 C1 RU 2591020C1
Authority
RU
Russia
Prior art keywords
program
information
progress
user program
computing
Prior art date
Application number
RU2015120816/08A
Other languages
Russian (ru)
Inventor
Алексей Борисович Киселев
Сергей Николаевич Киселев
Original Assignee
Российская Федерация, от имени которой выступает Государственная корпорация по атомной энергии "Росатом" (Госкорпорация "Росатом")
Федеральное государственное унитарное предприятие "Российский Федеральный ядерный центр - Всероссийский научно-исследовательский институт экспериментальной физики" (ФГУП "РФЯЦ-ВНИИЭФ")
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 Российская Федерация, от имени которой выступает Государственная корпорация по атомной энергии "Росатом" (Госкорпорация "Росатом"), Федеральное государственное унитарное предприятие "Российский Федеральный ядерный центр - Всероссийский научно-исследовательский институт экспериментальной физики" (ФГУП "РФЯЦ-ВНИИЭФ") filed Critical Российская Федерация, от имени которой выступает Государственная корпорация по атомной энергии "Росатом" (Госкорпорация "Росатом")
Priority to RU2015120816/08A priority Critical patent/RU2591020C1/en
Application granted granted Critical
Publication of RU2591020C1 publication Critical patent/RU2591020C1/en

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

FIELD: computer engineering.
SUBSTANCE: invention relates to monitoring progress of program executed on computer system, computer cluster. Method of monitoring user program progress running on computational nodes of a computer system, consists in that operating in each computing unit of computer system software control system tasks reads information from streams of standard issue and diagnosis of running user program and records in distributed software buffer in random-access memory of several service computers, from which software system for controlling tasks, operating on control service server computer system, reads and writes into files on a separate information storage device.
EFFECT: efficient use of user program, which provides for timely detection of cause of failure of execution of user program.
1 cl, 1 dwg

Description

Изобретение относится к области вычислительной техники, в частности к обеспечению контроля хода выполнения программы пользователя, исполняющейся на вычислительной системе или вычислительном кластере.The invention relates to the field of computer technology, in particular to providing control over the progress of a user program running on a computer system or computer cluster.

Моделирование сложных физических, химических или других процессов производится посредством выполнения параллельной программы на высокопроизводительной вычислительной системе (ВС) или вычислительном кластере. Исполняемый файл (двоичный файл) параллельной программы запускается на компьютерах ВС (вычислительных элементах, вычислительных узлах) программной компонентой системы управления заданиями и вычислительными ресурсами (далее просто системой управления заданиями). При выполнении программы возникают сбои/отказы аппаратных или программных компонентов ВС, поэтому пользователю необходимо контролировать ход выполнения программы по информации стандартной выдачи и диагностики.Modeling of complex physical, chemical or other processes is performed by executing a parallel program on a high-performance computing system (AC) or computing cluster. The executable file (binary file) of the parallel program is launched on the aircraft computers (computational elements, computational nodes) by the program component of the job management system and computing resources (hereinafter simply a job management system). When the program is executed, malfunctions / failures of the hardware or software components of the aircraft occur; therefore, the user must control the progress of the program according to the standard output and diagnostics.

Известны способы контроля хода выполнения программы пользователя на ВС, реализованные в программных системах управления заданиями SLURM (simple linux utility for resource management) (https://www.computing.llnl.gov/linux/slurm/download.html) и Torque, (http://www.adaptivecomputing.com/support/download-center/torque-download), заключающиеся в том, что предварительно в каждый вычислительный узел устанавливают программную компоненту системы управления заданиями, посредством которой сохраняют в определенном порядке информацию о ходе выполнения программы в каждом вычислительном узле (информация стандартной выдачи и диагностики), на котором выполняется программа пользователя, затем с помощью системы управления заданиями информацию о ходе выполнения программы записывают в файлы стандартной выдачи и диагностики, расположенные в устройстве хранения файловой системы общего назначения вычислительной системы (сетевой файловой системе или параллельной файловой системе, в которой размещаются исполняемые файлы, файлы с промежуточными данными, исходными текстами программ и т.д.).Known methods for monitoring the progress of the user program on the sun, implemented in SLURM (simple linux utility for resource management) job management systems (https://www.computing.llnl.gov/linux/slurm/download.html) and Torque, ( http://www.adaptivecomputing.com/support/download-center/torque-download), which consists in the fact that the software component of the job management system is first installed in each computing node, by means of which information is saved in a certain order on the progress of the program in each computing node (standard output information and diagnosis tics) on which the user program is executed, then, using the job management system, information about the program’s execution is recorded in standard output and diagnostic files located in the storage device of the general-purpose file system of the computing system (network file system or parallel file system in which executable files, files with intermediate data, source codes of programs, etc.).

В общем случае перед запуском программы на ВС пользователь размещает ее файлы в файловой системе общего назначения, которая подключена к каждому вычислительному узлу ВС. Затем пользователь формирует текстовый файл задания, в котором указывает характерные для задания атрибуты: необходимое для выполнения программы время, название исполняемого файла программы, который должен быть запущен на вычислительных узлах, количество вычислительных узлов, а также названия файлов стандартной выдачи и диагностики. В файлы стандартной выдачи и диагностики после запуска на вычислительных узлах исполняемого файла пользовательской программы система управления заданиями должна записать информацию, которую выполняющаяся программа записывает в стандартную выдачу и диагностику. Эта информация отражает ход выполнения программы.In the general case, before starting the program on the aircraft, the user places its files in the general-purpose file system, which is connected to each computing node of the aircraft. Then the user generates a text file of the task, which indicates the attributes typical for the task: the time necessary for the program to run, the name of the program executable file that must be run on the computational nodes, the number of computational nodes, as well as the names of the standard output and diagnostic files. After launching the user program executable file on the computational nodes on the computing nodes, the job management system must write the information that the running program writes to the standard output and diagnostics. This information reflects the progress of the program.

Поскольку у каждого запущенного на ВС исполняемого файла программы собственные потоки стандартной выдачи и диагностики, то задача системы управления заданиями - считать информацию из всех потоков стандартной выдачи и диагностики и записать ее целиком в файлы стандартной выдачи и диагностики в том же порядке, в котором они были считаны. С помощью служебной утилиты пользователь передает файл задания системе управления заданиями, которая выполняет обработку файла и назначает заданию уникальный идентификатор. Идентификатор задания используется как пользователем, так и системой управления заданиями для контроля и управления заданием. Система управления заданиями выделяет для выполнения программы пользователя указанное в задании количество вычислительных узлов и запускает на них исполняемый файл программы.Since each executable file of the program running on the aircraft has its own standard output and diagnostics streams, the task of the task management system is to read information from all the standard output and diagnostics streams and write it in its entirety to the standard output and diagnostics files in the same order in which they were read out. Using the utility utility, the user transfers the job file to the job management system, which processes the file and assigns a unique identifier to the job. The job identifier is used by both the user and the job management system to monitor and manage the job. The task management system allocates for the user program the number of computing nodes specified in the task and runs the program executable on them.

В SLURM и Torque одновременно со стартом исполняемого файла пользовательской программы на первом, выделенном для выполнения программы пользователя, вычислительном узле запускается программная компонента системы управления заданиями, которая осуществляет обработку (сбор, буферизацию и запись) информации стандартной выдачи и диагностики. Поскольку процесс обработки информации осуществляется одновременно с выполнением программы, то он мешает расчетам, так как им используются аппаратные ресурсы вычислительного узла, которые должны полностью принадлежать программе. Кроме этого, сбой программных компонентов на данном вычислительном узле приводит к потере необработанной информации.In SLURM and Torque, simultaneously with the start of the user program executable file, the first computing node allocated for the user program launches the software component of the job management system, which processes (collects, buffers and records) standard output and diagnostic information. Since the process of information processing is carried out simultaneously with the execution of the program, it interferes with the calculations, since they use the hardware resources of the computing node, which must belong entirely to the program. In addition, the failure of software components on this computing node leads to the loss of raw information.

Для повышения отказоустойчивости процесса обработки информации стандартного выдачи и диагностики в Torque реализован способ, когда система управления заданиями записывает информацию во временные файлы на одном вычислительном узле. Временные файлы система управления заданиями размещает на устройстве хранения информации, которое подключено только к данному вычислительному узлу. Однако такой способ неудобен для пользователя, поскольку файлы становятся доступны для анализа информации лишь после завершения работы программы. Способ в Torque повышает устойчивость к сбоям файловой системы, однако не позволяет пользователю контролировать ход программы в процессе ее выполнения. Кроме этого, в случае вычислительных узлов, которые загружают операционную систему по сети, данный способ неприемлем из-за ограниченного размера электронного диска, размещаемого в оперативной памяти вычислительного узла.To increase the fault tolerance of the standard output and diagnostic information processing process, Torque implements a method where the job management system writes information to temporary files on one computing node. The job management system places temporary files on the information storage device, which is connected only to this computing node. However, this method is inconvenient for the user, since the files become available for information analysis only after the program is completed. The method in Torque increases the resistance to file system failures, but does not allow the user to control the progress of the program during its execution. In addition, in the case of computing nodes that load the operating system over the network, this method is unacceptable due to the limited size of the electronic disk located in the RAM of the computing node.

Таким образом, способы контроля хода выполнения программы пользователя, обеспечиваемые такими системами, как SLURM, Torque, наиболее близки к заявляемому способу по технической сущности, и способ контроля хода выполнения программы пользователя, реализованный в SLURM, выбран в качестве наиболее близкого аналога.Thus, the methods for monitoring the progress of the user program provided by systems such as SLURM, Torque are closest to the claimed method in technical essence, and the method for monitoring the progress of the user program implemented in SLURM is selected as the closest analogue.

Недостатками способа являются:The disadvantages of the method are:

- влияние на пользовательскую программу:- impact on the user program:

- использование процессорных ядер, предназначенных для выполнения программы пользователя;- the use of processor cores designed to execute a user program;

- расход оперативной памяти вычислительного узла для буферизации информации;- the consumption of RAM of the computing node for buffering information;

- зависимость от сбоев файловой системы общего назначения;- Dependence on failures of the general file system;

- отсутствие возможности сохранить последние диагностические сообщения, с помощью которых можно отыскать причину сбоя программы пользователя на вычислительных узлах ВС;- the inability to save the latest diagnostic messages, with which you can find the cause of the failure of the user program on the computing nodes of the aircraft;

- отсутствие возможности определить сбой/отказ пользовательской программы.- the inability to determine the failure / failure of the user program.

Технические результаты, на достижение которых направлено заявленное изобретение, заключаются в повышении эффективности выполнения программы пользователя, отказоустойчивости (сбоеустойчивости) процесса контроля хода выполнения пользовательской программы, расширение функциональных возможностей.The technical results to which the claimed invention is directed are to increase the efficiency of the user program, the fault tolerance (fault tolerance) of the process of monitoring the progress of the user program, the expansion of functionality.

Данный технический результат достигается тем, что в способе контроля выполнения программы пользователя, исполняющейся на вычислительных узлах вычислительной системы, заключающемся в том, что предварительно в каждый вычислительный узел устанавливают программную компоненту системы управления заданиями, посредством которой сохраняют в определенном порядке информацию о ходе выполнения программы в каждом вычислительном узле, выделенном для выполнения программы пользователя, затем с помощью установленной программной компоненты информацию о ходе выполнения программы записывают в файлы стандартной выдачи и диагностики, размещенные в устройстве хранения файловой системы общего назначения вычислительной системы, обрабатывают записанную информацию, новым является то, что дополнительно программную компоненту системы управления заданиями устанавливают на служебном сервере, на котором обрабатывают полученное задание пользователя, присваивают ему идентификатор и передают на соответствующий вычислительный узел команду запуска исполняемого файла программы, одновременно с этим на служебном сервере запускают программную компоненту «контроль и формирование файлов стандартной выдачи и диагностики», информацию о ходе выполнения программы на вычислительных узлах сохраняют в распределенный программный буфер, обеспечивающий временное хранение информации; затем данную информацию записывают во временные файлы стандартной выдачи и диагностики дополнительного устройства хранения информации с присвоением названия каждому файлу и формируют ссылки на созданные временные файлы на устройстве хранения файловой системы общего назначения вычислительной системы для осуществления текущего контроля хода выполнения программы пользователя, после выполнения программы пользователя удаляют ссылки на временные файлы и на их место сохраняют временные файлы стандартной выдачи и диагностики, при этом определенную часть информации о ходе выполнения программы сохраняют в базу данных системы управления заданиями на служебном сервере.This technical result is achieved in that in a method for monitoring the execution of a user program executed on computing nodes of a computing system, which consists in first installing the software component of the job management system into each computing node, by means of which information is saved in a certain order on the progress of the program in each computing node allocated to execute the user program, then using the installed software component inform The progress report of the program is written to the standard output and diagnostic files located in the storage device of the general-purpose file system of the computing system, the recorded information is processed, it is new that the software component of the job management system is additionally installed on the service server, on which the received user's task is processed , assign an identifier to it and send the command to launch the executable file of the program to the corresponding computing node, simultaneously but with this, the software component “control and generation of files of standard output and diagnostics” is launched on the service server, information about the progress of the program on the computing nodes is stored in a distributed software buffer that provides temporary storage of information; then this information is recorded in temporary files of standard output and diagnostics of an additional information storage device with a name for each file and links are created to temporary files created on the storage device of the general-purpose file system of the computing system to monitor the progress of the user program; after the user program is executed, delete links to temporary files and to their place save temporary files of standard output and diagnostics, while a certain part of the information on the progress of the program is stored in the database of the job management system on the service server.

Выполнение обработки и промежуточного хранения информации о ходе выполнения программы пользователя вне файловой системы общего назначения и вне вычислительных узлов позволяет выполняющейся программе монопольно использовать ресурсы вычислительных узлов, а также снизить зависимость процесса обработки от сбоя/отказа устройства хранения файловой системы общего назначения. Кроме этого, обеспечивается возможность одновременно с выполнением программы пользователя анализировать и контролировать ход выполнения пользовательской программы, своевременно найти причину сбоя/отказа выполнения программы, прекратить выполнение программы из-за неправильных промежуточных результатов или ее зависания. В случае зависания программы описываемый способ позволяет освободить вычислительные ресурсы для выполнения других заданий (программ) пользователей. Хранение после завершения программы пользователя определенной части информации о ходе ее выполнения в базе данных системы управления заданиями гарантирует наличие информации о последнем этапе выполнения программы, в том числе информации о сбоях системных программ, завершении пользовательской программы при определении ее зависания даже в случае удаления файлов стандартной выдачи и диагностики. В совокупности все это повышает эффективность выполнения программы пользователя, эффективность использования вычислительных ресурсов вычислительной системы, сбоеустойчивость/отказоустойчивость процесса контроля хода выполнения программы пользователя, расширяет функциональные возможности системы управления заданиями в целом.The processing and intermediate storage of information about the progress of the user program outside the general-purpose file system and outside the computing nodes allows the running program to exclusively use the resources of the computing nodes, as well as reducing the dependence of the processing process on the failure / failure of the general-purpose file system storage device. In addition, it is possible at the same time as the user program is running to analyze and monitor the progress of the user program, find the cause of the program failure / refusal in time, and stop the program due to incorrect intermediate results or its freezing. If the program freezes, the described method allows you to free computing resources to perform other tasks (programs) of users. Storage after completion of the user program of a certain part of the information about the course of its execution in the database of the job management system guarantees the availability of information about the last stage of the program execution, including information about the failures of system programs, the completion of the user program when determining its freezing even if the standard output files are deleted and diagnostics. Together, all this increases the efficiency of the user program, the efficiency of the use of computing resources of the computing system, the fault tolerance / fault tolerance of the process of monitoring the progress of the user program, expands the functionality of the job management system as a whole.

На фигуре представлена структурная схема вычислительной системы, в которой реализован заявляемый способ контроля хода выполнения программы пользователя, исполняющейся на ее вычислительных узлах (далее способ контроля хода выполнения программы пользователя).The figure shows a structural diagram of a computing system that implements the inventive method for monitoring the progress of a user program running on its computing nodes (hereinafter, a method for monitoring the progress of a user program).

Вычислительная система содержит блок 1 вычислительных узлов, распределенный программный буфер 2, служебный сервер 3, дополнительное устройство 4 хранения информации, устройство 5 хранения файловой системы общего назначения вычислительной системы.The computing system comprises a block 1 of computing nodes, a distributed software buffer 2, a service server 3, an additional information storage device 4, a general-purpose file system storage device 5 of the computing system.

Группа входов-выходов блока 1 вычислительных узлов соединена с группой входов-выходов устройства 5 хранения файловой системы общего назначения вычислительной системы посредством коммуникационной сети, например, Ethernet. Группа выходов блока 1 вычислительных узлов соединена с первой группой входов распределенного программного буфера 2. Вторая группа входов распределенного программного буфера 2 соединена с первой группой выходов служебного сервера 3. Вторая и третья группы выходов служебного сервера 3 соединены соответственно с первыми группами входов устройства 5 хранения файловой системы общего назначения вычислительной системы и дополнительного устройства 4 хранения информации. Группа выходов распределенного программного буфера 2 соединена со второй группой входов дополнительного устройства 4 хранения информации. Четвертая группа выходов служебного сервера 3 соединена с группой входов блока 1 вычислительных узлов. Группа выходов дополнительного устройства 4 хранения информации соединена со второй группой входов устройства 5 хранения файловой системы общего назначения вычислительной системы. Группа входов служебного сервера 3 является группой входов файлов заданий пользователей.The group of inputs and outputs of block 1 of the computing nodes is connected to the group of inputs and outputs of the device 5 for storage of a general-purpose file system of a computing system via a communication network, for example, Ethernet. The group of outputs of block 1 of the computing nodes is connected to the first group of inputs of the distributed software buffer 2. The second group of inputs of the distributed software buffer 2 is connected to the first group of outputs of the service server 3. The second and third groups of outputs of the service server 3 are connected respectively to the first groups of inputs of the file storage device 5 general-purpose computing system and additional information storage device 4. The group of outputs of the distributed software buffer 2 is connected to the second group of inputs of the additional device 4 for storing information. The fourth group of outputs of the service server 3 is connected to the group of inputs of block 1 of the computing nodes. The group of outputs of the additional information storage device 4 is connected to the second group of inputs of the general purpose file system storage device 5 of the computing system. The group of inputs of the service server 3 is a group of inputs of user job files.

Блок 1 вычислительных узлов содержит вычислительные узлы ВУ1, …, ВУm, где m=1, 2, …, соединенные между собой, например, по топологии «звезда». Вычислительные узлы ВУ1, …, ВУm предназначены для выполнения пользовательских программ. В каждый вычислительный узел ВУ1 (ВУ2, …, ВУm) установлено и выполняется специализированное программное обеспечение, включающее программную компоненту системы управления заданиями.Block 1 computing nodes contains the computing nodes WU 1 , ..., WU m , where m = 1, 2, ..., interconnected, for example, according to the topology of the "star". Computing nodes WU 1 , ..., WU m are designed to execute user programs. In each computing node of VU 1 (VU 2 , ..., VU m ), specialized software is installed and runs, including the software component of the job management system.

Распределенный программный буфер 2 может быть реализован на отдельных служебных компьютерах Б1, …, Бk, где k=1, 2, …. Распределенный программный буфер 2 предназначен для временного хранения информации о ходе выполнения программ пользователей. Буферизацию информации обеспечивает специализированная распределенная по служебным компьютерам Б1, …, Бk, программа, которая использует для временного хранения информации оперативную память компьютеров.Distributed software buffer 2 can be implemented on separate office computers B1, ..., Bk, where k = 1, 2, .... Distributed software buffer 2 is intended for temporary storage of information on the progress of user programs. Information buffering is provided by a specialized program distributed over the service computers B1, ..., Bk, which uses the computer random access memory for temporary storage of information.

В служебный сервер 3 установлено и выполняется программное обеспечение системы управления заданиями, включающее программу «контроль и формирование файлов стандартной выдачи и диагностики». Данная программа контролирует зависание/сбой программы пользователя и формирует временные файлы стандартной выдачи и диагностики. Также в служебном сервере 3 размещена база данных (на фигуре не показана) системы управления заданиями. Система управления заданиями, функционирующая на служебном сервере 3, формирует и посылает на ВУ1 (ВУ2, …, ВУm) команды запуска на них исполняемого файла программы пользователя (название файла предварительно указывается пользователем в задании), а также считывает из распределенного программного буфера 2 и записывает во временные файлы, размещаемые в дополнительном устройстве 4 хранения информации, информацию о ходе выполнения программы пользователя (информацию стандартной выдачи и диагностики программ).The software for the job management system is installed and runs in the service server 3, including the program “control and generation of files of standard output and diagnostics”. This program monitors the freeze / crash of the user program and generates temporary files of standard output and diagnostics. Also in the service server 3 there is a database (not shown in the figure) of the job management system. The job management system operating on the service server 3 generates and sends to WU 1 (WU 2 , ..., WU m ) commands to launch the user program executable file on them (the file name is pre-specified by the user in the task) and also reads from the distributed program buffer 2 and writes to temporary files located in the additional device 4 for storing information, information about the progress of the user program (information of standard output and diagnostics of programs).

Дополнительное устройство 4 хранения информации во временных файлах стандартной выдачи и диагностики о выполняющихся на ВС программ пользователей, предназначено для хранения файлов стандартной выдачи и диагностики на время выполнения на ВС пользовательских программ. Устройство может быть выполнено в виде жесткого диска или дискового массива.An additional device 4 for storing information in temporary files of standard output and diagnostics about user programs running on aircraft is designed to store files of standard output and diagnostics for the duration of execution of user programs on aircraft. The device can be made in the form of a hard disk or disk array.

Устройство 5 хранения файловой системы общего назначения вычислительной системы предназначено для хранения исполняемых файлов пользовательских программ, файлов с их входными данными, файлов с исходными текстами программ и т.д., в общем случае оно представляет собой несколько дисковых массивов. Запуск исполняемого файла на ВУ1 (ВУ2, …, ВУm) пользовательской программы осуществляется путем его считывания из устройства 5 и передачи по коммуникационной сети на ВУ1 (ВУ2, …, ВУm).The general purpose file system storage device 5 of the computing system is intended for storing executable files of user programs, files with their input data, files with program source texts, etc., in the general case, it is several disk arrays. The executable file is launched on VU 1 (VU 2 , ..., VU m ) of the user program by reading it from device 5 and transferring it via the communication network to VU 1 (VU 2 , ..., VU m ).

Способ контроля хода выполнения программы пользователя, исполняющейся на вычислительных узлах вычислительной системы, реализуется следующим образом.A method for monitoring the progress of a user program executing on computing nodes of a computing system is implemented as follows.

Для запуска программы на ВУ1, …, ВУm вычислительной системы пользователь предварительно формирует файл задания, в котором указывает время, которое должна потратить на расчет программа, название исполняемого файла программы, который система управления заданиями должна запустить на вычислительных узлах ВУ1, …, ВУm, а также названия файлов стандартной выдачи и диагностики. Далее пользователь с помощью соответствующей утилиты передает файл задания управляющей программе системы управления заданиями, которая функционирует на служебном сервере 3.To run the program on WU 1 , ..., WU m of the computing system, the user pre-generates a task file, which indicates the time that the program should spend on calculating, the name of the program executable file that the job management system should run on the computing nodes of WU 1 , ..., WU m , as well as the names of the files of standard output and diagnostics. Next, the user using the appropriate utility transfers the job file to the control program of the job management system, which operates on the service server 3.

Управляющая программа системы управления заданиями на служебном сервере 3 обрабатывает указанные в задании атрибуты, присваивает заданию идентификатор и по коммуникационной сети посылает программным компонентам системы управления заданиями на вычислительных узлах, например, ВУn, …, BУm, где n<m, служебные сообщения «запустить исполняемый файл программы пользователя». Одновременно с этим для данного задания на служебном сервере 3 запускается экземпляр программы «контроль и формирование файлов стандартной выдачи и диагностики». The control program of the job management system on the service server 3 processes the attributes specified in the job, assigns an identifier to the job and sends to the software components of the job management system on the computing nodes, for example, ВУn, ..., БУm, where n <m, the service messages “start executable user program file. " At the same time, for this task, an instance of the program “monitoring and generating standard output and diagnostics files” is launched on the service server 3.

На дополнительном устройстве 4 хранения информации посредством данной программы создают временные файлы выдачи и диагностики с соответствующими названиями, а на устройстве 5 хранения файловой системы общего назначения вычислительной системы на созданные временные файлы формируют ссылки с названиями, которые указал пользователь в задании. Используя данные ссылки, пользователь может контролировать ход (этапы) выполнения своей программы, как если бы файлы реально размещались бы в устройстве 5 хранения файловой системы общего назначения вычислительной системы. Выполнив перечисленные действия, программа «контроль и формирование файлов стандартного вывода и диагностики» начинает циклически обращаться к распределенному программному буферу 2, осуществляя поиск информации по идентификатору задания.On the additional information storage device 4, through this program, temporary output and diagnostic files with the corresponding names are created, and on the general purpose file system storage device 5 of the computing system, links to the created temporary files are formed with the names indicated by the user in the task. Using these links, the user can control the course (steps) of the execution of his program, as if the files would actually be located in the storage device 5 of the general-purpose file system of a computing system. Having completed the above steps, the program “control and generation of standard output and diagnostics files” begins to cycle through the distributed program buffer 2, searching for information by the job identifier.

После запуска и в процессе выполнения на ВУ1 (ВУ2, …, ВУm) программа пользователя записывает информацию в стандартную выдачу или стандартную диагностику, которую программная компонента системы управления заданиями на ВУ1 (ВУ2, …, ВУm) считывает и записывает в распределенный программный буфер 2. Чтобы облегчить поиск/считывание информации программе «контроль и формирование файлов стандартного вывода и диагностики», информация сопровождается идентификатором задания и отдельными метками (флажками), которыми помечается информация, относящаяся к стандартному выводу или диагностике.After starting and during execution on WU 1 (WU 2 , ..., WU m ), the user program writes information to the standard output or standard diagnostics, which the software component of the job management system on WU 1 (WU 2 , ..., WU m ) reads and writes to a distributed program buffer 2. To facilitate the search / reading of information for the program “control and generation of standard output and diagnostic files”, the information is accompanied by a job identifier and separate labels (flags) that mark the information, relative yaschayasya to standard output or diagnosis.

Найдя информацию с требуемым идентификатором задания, программа «контроль и формирование файлов стандартной выдачи и диагностики» считывает ее из распределенного программного буфера 2 и обрабатывает: стандартная выдача и диагностика записываются в отдельные временные файлы в дополнительном устройстве 4 хранения информации. Если пользователь не уверен в том, что программа может успешно завершиться, то он посредством директивы в файле задания дает указание системе управления заданиями контролировать зависание программы.Having found the information with the required job identifier, the program “control and generation of files of standard output and diagnostics” reads it from the distributed program buffer 2 and processes it: standard output and diagnostics are recorded in separate temporary files in the additional information storage device 4. If the user is not sure that the program can successfully complete, then he directs the task file to instruct the job management system to control the program freezes.

Способ контроля зависания программы состоит в том, что если в течение некоторого указанного пользователем периода времени нет новой информации из стандартного вывода программы, то она считается зависшей. В этом случае система управления заданиями завершает выполнение программы на вычислительных узлах. После завершения программы система управления заданиями записывает определенную последнюю часть информации о ходе выполнения программы пользователя из временных файлов стандартной выдачи и диагностики в собственную базу данных, которая также находится на служебном сервере 3. Затем ссылки на временные файлы стандартной выдачи и диагностики задания на устройстве 5 хранения файловой системы общего назначения вычислительной системы удаляются. На их место записываются временные файлы из дополнительного устройства 4 хранения информации. Даже если в процессе выполнения программы пользователь намеренно стер ссылки на временные файлы стандартной выдачи и диагностики задания, то система управления заданиями продолжает записывать информацию во временные файлы на дополнительном устройстве 4 хранения информации. После завершения каждого задания определенная последняя часть информации из временных файлов стандартной выдачи и диагностики сохраняется в базу данных, размещенной на служебном сервере 3. Если пользователь удалит перенесенные на устройство 5 файлы, то записанная в базу данных информация даст возможность разобраться в причине, например, нештатного завершения программы. The way to control the program freezing is that if for some time period specified by the user there is no new information from the standard output of the program, then it is considered to be hung. In this case, the job management system completes the program on the computing nodes. After completion of the program, the job management system writes a certain last piece of information about the progress of the user program from temporary files of standard output and diagnostics to its own database, which is also located on the service server 3. Then links to temporary files of standard delivery and diagnosis of the task on storage device 5 general-purpose file system computing systems are deleted. In their place are recorded temporary files from an additional device 4 for storing information. Even if, during the execution of the program, the user intentionally erased the links to temporary files of standard output and diagnostics of the task, the task management system continues to record information in temporary files on the additional information storage device 4. After completing each task, a certain last piece of information from temporary files of standard output and diagnostics is stored in a database located on the service server 3. If the user deletes files transferred to device 5, then the information recorded in the database will make it possible to understand the reason, for example, emergency program completion.

Claims (1)

Способ контроля хода выполнения программы пользователя, исполняющейся на вычислительных узлах вычислительной системы, заключающийся в том, что предварительно в каждый вычислительный узел устанавливают программную компоненту системы управления заданиями, посредством которой сохраняют в определенном порядке информацию о ходе выполнения программы в каждом вычислительном узле, выделенном для выполнения программы пользователя, затем с помощью установленной программной компоненты информацию о ходе выполнения программы записывают в файлы стандартной выдачи и диагностики, размещенные в устройстве хранения файловой системы общего назначения вычислительной системы, обрабатывают записанную информацию, отличающийся тем, что дополнительно программную компоненту системы управления заданиями устанавливают на служебном сервере, на котором обрабатывают полученное задание пользователя, присваивают ему идентификатор и передают на соответствующий вычислительный узел команду запуска исполняемого файла программы, одновременно с этим на служебном сервере запускают программную компоненту «контроль и формирование файлов стандартной выдачи и диагностики», информацию о ходе выполнения программы на вычислительных узлах сохраняют в распределенный программный буфер, обеспечивающий временное хранение информации; затем данную информацию записывают во временные файлы стандартной выдачи и диагностики дополнительного устройства хранения информации с присвоением названия каждому файлу и формируют ссылки на созданные временные файлы на устройстве хранения файловой системы общего назначения вычислительной системы для осуществления текущего контроля хода выполнения программы пользователя, после выполнения программы пользователя удаляют ссылки на временные файлы и на их место сохраняют временные файлы стандартной выдачи и диагностики, при этом определенную часть информации о ходе выполнения программы сохраняют в базу данных системы управления заданиями на служебном сервере. A method for monitoring the progress of a user program executing on computing nodes of a computing system, which consists in first installing the software component of the job control system into each computing node, by which information is saved in a specific order on the progress of the program in each computing node dedicated to execution user program, then using the installed software component information about the progress of the program is recorded in The standard output and diagnostic files located in the storage device of the general-purpose file system of the computing system process the recorded information, characterized in that the software component of the job management system is additionally installed on the service server, on which the received user's job is processed, assigned an identifier and transferred to the corresponding computing node, the command to run the executable file of the program; at the same time, the programs are launched on the service server hydrochloric component "control and the formation of a standard file issue and diagnostics", information on the implementation of the program on the compute nodes is stored in the distributed software buffer provides temporary storage of information; then this information is recorded in temporary files of standard output and diagnostics of an additional information storage device with a name for each file and links are created to temporary files created on the storage device of the general-purpose file system of the computing system to monitor the progress of the user program; after the user program is executed, delete links to temporary files and to their place save temporary files of standard output and diagnostics, while a certain part of the information on the progress of the program is stored in the database of the job management system on the service server.
RU2015120816/08A 2015-06-01 2015-06-01 Method of monitoring user program progress, running on computational nodes of computer system RU2591020C1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2015120816/08A RU2591020C1 (en) 2015-06-01 2015-06-01 Method of monitoring user program progress, running on computational nodes of computer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2015120816/08A RU2591020C1 (en) 2015-06-01 2015-06-01 Method of monitoring user program progress, running on computational nodes of computer system

Publications (1)

Publication Number Publication Date
RU2591020C1 true RU2591020C1 (en) 2016-07-10

Family

ID=56372251

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2015120816/08A RU2591020C1 (en) 2015-06-01 2015-06-01 Method of monitoring user program progress, running on computational nodes of computer system

Country Status (1)

Country Link
RU (1) RU2591020C1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114584455A (en) * 2022-03-04 2022-06-03 吉林大学 Small and medium-sized high-performance cluster monitoring system based on enterprise WeChat

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5621885A (en) * 1995-06-07 1997-04-15 Tandem Computers, Incorporated System and method for providing a fault tolerant computer program runtime support environment
RU2220443C2 (en) * 1997-01-15 2003-12-27 Сименс Акциенгезелльшафт Method for checking execution of computer programs in compliance with their application
RU2254608C2 (en) * 1999-09-20 2005-06-20 Гизеке Унд Девриент Гмбх Method for protecting program execution process

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5621885A (en) * 1995-06-07 1997-04-15 Tandem Computers, Incorporated System and method for providing a fault tolerant computer program runtime support environment
RU2220443C2 (en) * 1997-01-15 2003-12-27 Сименс Акциенгезелльшафт Method for checking execution of computer programs in compliance with their application
RU2254608C2 (en) * 1999-09-20 2005-06-20 Гизеке Унд Девриент Гмбх Method for protecting program execution process

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114584455A (en) * 2022-03-04 2022-06-03 吉林大学 Small and medium-sized high-performance cluster monitoring system based on enterprise WeChat
CN114584455B (en) * 2022-03-04 2023-06-30 吉林大学 Small and medium-sized high-performance cluster monitoring system based on enterprise WeChat

Similar Documents

Publication Publication Date Title
Almeida et al. ChainReaction: a causal+ consistent datastore based on chain replication
US9792321B2 (en) Online database migration
Mundkur et al. Disco: a computing platform for large-scale data analytics
Zhao et al. Exploring reliability of exascale systems through simulations.
CN107678752B (en) Task processing method and device for heterogeneous cluster
Tsai et al. Service replication strategies with mapreduce in clouds
US10223172B2 (en) Object storage workflow optimization leveraging storage area network value adds
CN111176818A (en) Distributed prediction method, device, system, electronic equipment and storage medium
Wang et al. Design and implementation of an analytical framework for interference aware job scheduling on apache spark platform
CN107992354B (en) Method and device for reducing memory load
Ousterhout et al. Performance clarity as a first-class design principle
CN115225506A (en) Data processing method and system based on cloud platform, electronic equipment and storage medium
Zhu et al. Fast Recovery MapReduce (FAR-MR) to accelerate failure recovery in big data applications
RU2591020C1 (en) Method of monitoring user program progress, running on computational nodes of computer system
CN111552494B (en) Method, device, system and medium for managing container group
Wang et al. Towards improving mapreduce task scheduling using online simulation based predictions
US10521272B1 (en) Testing in grid computing systems
Jayakumar et al. INTERNATIONAL JOURNAL OF COMPUTER ENGINEERING & TECHNOLOGY (IJCET)
WO2023165512A1 (en) Fault file storage method and related apparatus
US10296354B1 (en) Optimized boot operations within a flash storage array
CN113485828B (en) Distributed task scheduling system and method based on quatertz
WO2018188959A1 (en) Method and apparatus for managing events in a network that adopts event-driven programming framework
CN112148420B (en) Abnormal task processing method based on container technology, server and cloud platform
Lazovik et al. Runtime modifications of spark data processing pipelines
Uyar et al. Twister2 Cross‐platform resource scheduler for big data