EA043837B1 - METHOD, DEVICE AND ELECTRONIC EQUIPMENT FOR DATA PROCESSING - Google Patents

METHOD, DEVICE AND ELECTRONIC EQUIPMENT FOR DATA PROCESSING Download PDF

Info

Publication number
EA043837B1
EA043837B1 EA202291273 EA043837B1 EA 043837 B1 EA043837 B1 EA 043837B1 EA 202291273 EA202291273 EA 202291273 EA 043837 B1 EA043837 B1 EA 043837B1
Authority
EA
Eurasian Patent Office
Prior art keywords
specified
grid
computing
grids
data
Prior art date
Application number
EA202291273
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 Зе Фёрст Инститьют Оф Океанографи
Publication of EA043837B1 publication Critical patent/EA043837B1/en

Links

Description

Область техникиField of technology

Настоящее изобретение относится к технической области обработки данных и, в частности к способу, устройству и электронному оборудованию для обработки данных.The present invention relates to the technical field of data processing and, in particular, to a method, apparatus and electronic equipment for data processing.

Уровень техникиState of the art

Циркуляция океана - это изучение морских течений, вызванных ветром и течений плотности, возникающих в результате неравномерного распределения плотности, образования и распределения циклонов в океанической циркуляции, усиления океанической циркуляции в западном направлении, изгибов и изменений морских течений, структуры систем течений в приэкваториальной области, антарктических циркумполярных течений, океанической термохалинной циркуляции, глубоководной циркуляции и ее свази с главным термоклином, связи между дисперсионными и конвергентными движениями морской воды и подъемно-поступательными течениями и циркуляции Ленгмюра и др., мезомасштабных вихрей и их преобразование энергии, особых явлений течения, таких как дрейф льда, реакция океана на ветровую нагрузку и т.д., а также циркуляции в прибрежных зонах.Ocean circulation is the study of wind-induced sea currents and density currents resulting from uneven density distributions, the formation and distribution of cyclones in ocean circulation, the intensification of westerly ocean circulation, bends and changes in sea currents, the structure of current systems in the near-equatorial region, Antarctic circumpolar currents, oceanic thermohaline circulation, deep-sea circulation and its relationship with the main thermocline, connections between dispersive and convergent movements of sea water and uplifting currents and Langmuir circulation, etc., mesoscale eddies and their energy conversion, special flow phenomena such as drift ice, ocean response to wind load, etc., as well as circulation in coastal zones.

Модель циркуляции океана - это численная модель, которая количественно описывает циркуляцию океана и ее изменения, отражая сложные процессы динамики, физики океана и взаимодействия между ними путем установления системы уравнений математической физики. Она дискретизирует непрерывное движение океанической жидкости, при этом земное пространство разделяют с образованием меридиональной, зональной и вертикальной трехмерной сеточной структуры, т.е. трехмерной сеточной структуры в меридиональном, зональном и вертикальном направлениях, а затем решают набор дифференциальных уравнений с использованием численного интегрирования.An ocean circulation model is a numerical model that quantitatively describes ocean circulation and its changes, reflecting the complex processes of ocean dynamics, physics, and interactions between them by establishing a system of mathematical physics equations. It discretizes the continuous movement of oceanic fluid, while the earth's space is divided to form a meridional, zonal and vertical three-dimensional grid structure, i.e. three-dimensional grid structure in the meridional, zonal and vertical directions, and then solve a set of differential equations using numerical integration.

По мере углубления исследований океана и изменения климата модель циркуляции океана постепенно переходит к более высокому разрешению (чем выше разрешение, тем мельче сетка), большему количеству физических процессов (число уравнений увеличивается в наборе уравнений) и более высокой скорости вычислений. В настоящее время модель циркуляции океана изучается с использованием второстепенной параллельной структуры меридионально-зональной горизонтальной разбивки и меридионального (или зонального, или вертикального) циклического параллельного вычисления.As research into the ocean and climate change deepens, the ocean circulation model is gradually moving to higher resolution (the higher the resolution, the finer the grid), more physical processes (the number of equations increases in a set of equations), and faster computational speed. Currently, the ocean circulation model is studied using a secondary parallel structure of meridional-zonal horizontal partitioning and meridional (or zonal or vertical) cyclic parallel computation.

Однако горизонтальное разрешение модели глобальной циркуляции океана увеличено от 5° (около 500 км) до 0,1° (около 10 км), и каждый шаг увеличения ее разрешения будет приводить к геометрическому увеличению потребности в вычислительных ресурсах и вычислительном объеме. Вообще говоря, если горизонтальное разрешение увеличивается в 10 раз, то вычислительный объем увеличивается в 1000 раз, при этом с увеличением числа физических процессов увеличиваются и вычислительный объем, так что приведенная выше второстепенная параллельная структура ограничивает вычислительную эффективность модели циркуляции океана по долготе-широте-вертикали.However, the horizontal resolution of the global ocean circulation model has been increased from 5° (about 500 km) to 0.1° (about 10 km), and each step in increasing its resolution will lead to a geometric increase in the need for computational resources and computational volume. Generally speaking, if the horizontal resolution increases by a factor of 10, then the computational volume increases by a factor of 1000, and as the number of physical processes increases, the computational volume also increases, so the above minor parallel structure limits the computational efficiency of the longitude-latitude-vertical ocean circulation model .

Сущность изобретенияThe essence of the invention

Задачей настоящего изобретения является предоставление способа, устройства и электронного оборудования для обработки данных, что позволяет реализовать разделение модели циркуляции океана по долготе-широте-вертикали в трехмерном пространстве и повысить вычислительную эффективность по модели циркуляции океана долготе-широте-вертикали.It is an object of the present invention to provide a method, apparatus and electronic equipment for data processing, which can realize the separation of the longitude-latitude-vertical ocean circulation model in three-dimensional space and improve the computational efficiency of the longitude-latitudinal-vertical ocean circulation model.

Первый аспект изобретения относится к способу обработки данных, причем данный способ применяется в сценарии модели циркуляции океана, который может включать:The first aspect of the invention relates to a method for processing data, the method being applied to an ocean circulation model scenario, which may include:

разделение Земли на географические области в меридиональном, зональном и вертикальном направлениях в соответствии с заданным пространственным разрешением, и получение трехмерной сеточной структуры, соответствующей указанному земному пространству, и сеточной информации соответствующей структуры; указанная сеточная информация включает географическую область, к которой принадлежит сетка, и областные данные в пределах указанной географической области;dividing the Earth into geographical areas in the meridional, zonal and vertical directions in accordance with a given spatial resolution, and obtaining a three-dimensional grid structure corresponding to the specified earth space and grid information of the corresponding structure; said grid information includes the geographic area to which the grid belongs and regional data within said geographic area;

разделение сеток в указанной сеточной структуре в соответствии со сконфигурированным количеством вычислительных узлов, на сеточной плоскости, соответствующей меридиональному и зональному направлениям в указанной сеточной структуре, и получение подсеточной структуры после разделения, соответствующей каждому вычислительному узлу и областные данные, относящиеся к соответствующей структуры;dividing the grids in said grid structure in accordance with the configured number of computing nodes, on a grid plane corresponding to the meridional and zonal directions in said grid structure, and obtaining a subgrid structure after division corresponding to each computing node and regional data related to the corresponding structure;

относительно каждого вычислительного узла, на основе заданной стратегии разделения, разделение сеток в указанной подсеточной структуре в первом направлении или указанном вертикальном направлении, и получение вторичной подсеточной структуры после разделения и областных данных, относящихся к соответствующей структуре; и распределение областных данных, соответствующих указанной вторичной подсеточной структуре, на главный вычислительный блок указанного вычислительного узла; указанным первым направлением является указанное зональное направление или указанное вертикальное направление; указанная вторичная подсеточная структура включает в себя вторичную подсеточную структуру, соответствующую указанному главному вычислительному блоку, и по меньшей мере одну вторичную подсеточную структуру, соответствующую вычислительному подблоку указанного вычислительного узла;relative to each computing node, based on a predetermined partitioning strategy, partitioning grids in said subgrid structure in a first direction or said vertical direction, and obtaining a secondary subgrid structure after the partition and area data related to the corresponding structure; and distributing regional data corresponding to said secondary subgrid structure to a main computing unit of said computing node; said first direction is said zonal direction or said vertical direction; said secondary subgrid structure includes a secondary subgrid structure corresponding to said main computing unit and at least one secondary subgrid structure corresponding to a computing subunit of said computing node;

на основе указанной заданной стратегии распределения, управление указанным главным вычислительным блоком для распределения областных данных, соответствующих второстепенной вторичнойbased on said predetermined allocation strategy, controlling said main computing unit to allocate area data corresponding to the secondary secondary

- 1 043837 подсеточной структуре, по меньшей мере на один указанный вычислительный подблок для того, чтобы указанный главный вычислительный блок и по меньшей мере один указанный вычислительный подблок, основываясь на оперативных требованиях, выполнили вычисление оперативных данных из распределенных областных данных; причем указанная второстепенная вторичная подсеточная структура получена путем разделения сеток во вторичной подсеточной структуре, соответствующей по меньшей мере одному указанному вычислительному подблоку, указанным главным вычислительным блоком, на сеточной плоскости, соответствующей указанным вторым направлении и указанным вертикальным направлением, причем указанным вторым направлением является указанное зональное направление или указанное меридиональное направление.- 1 043837 subgrid structure, on at least one specified computing subunit so that the specified main computing unit and at least one specified computing subunit, based on operational requirements, perform the calculation of operational data from the distributed area data; wherein said secondary secondary sub-grid structure is obtained by dividing grids in a secondary sub-grid structure corresponding to at least one said computing sub-unit, said main computing unit, on a grid plane corresponding to said second direction and said vertical direction, wherein said second direction is said zonal direction or the specified meridional direction.

В одном частном случае реализации способа управляют главным вычислительным блоком указанного вычислительного узла для распределения областных данных второстепенной вторичной подсеточной структуры по меньшей мере на один вычислительный подблок указанного вычислительного узла, включая:In one particular case of implementation of the method, the main computing unit of the specified computing node is controlled to distribute the regional data of the secondary secondary subgrid structure to at least one computing subunit of the specified computing node, including:

относительно каждого вычислительного подблока, управление главным вычислительным блоком указанного вычислительного узла для разделения сеток в указанной второстепенной вторичной подсеточной структуре в третьем направлении в соответствии с количеством целевых блоков обработки из указанных вычислительных подблоков, получение обрабатываемой сеточной структуры, соответствующей каждому целевому блоку обработки, и областных данных, относящихся к соответствующей структуре, и распределение областных данных, соответствующих указанной обрабатываемой сеточной структуре, на указанный целевой блок обработки для того, чтобы указанный целевой блок обработки выполнил вычисление областных данных, соответствующих указанной обрабатываемой сеточной структуре; указанным целевым блоком обработки является блок обработки с функцией набора векторизованных команд, соответствующей типу данных указанных областных данных.relative to each computing sub-unit, controlling the main computing unit of said computing node to partition the grids in said secondary secondary sub-grid structure in a third direction according to the number of target processing units from said computing sub-units, obtaining a processed grid structure corresponding to each target processing unit and area data related to the corresponding structure, and distributing area data corresponding to the specified processed grid structure to the specified target processing unit so that the specified target processing unit performs calculation of the area data corresponding to the specified processed grid structure; said target processing unit is a processing unit with a vectorized instruction set function corresponding to the data type of said area data.

В возможном частном случае реализации способа главный вычислительный блок указанного вычислительного узла обменивается данными с главным вычислительным блоком в других вычислительных узлах, отличных от указанного вычислительного узла, используя сконфигурированный интерфейс передачи информации, при этом указанный способ дополнительно включает в себя:In a possible particular case of implementing the method, the main computing unit of the specified computing node exchanges data with the main computing unit in other computing nodes other than the specified computing node using a configured information transfer interface, wherein the specified method additionally includes:

передачу областных данных целевой сетки, передаваемых главным вычислительным блоком в других вычислительных узлах, на главный вычислительный блок указанного вычислительного узла; указанная целевая сетка представляет собой сетку, в которой существует перекрытие географических областей с сеткой, соответствующей областным данным, которые распределены на указанный вычислительный узел;transmitting regional data of the target grid transmitted by the main computing unit in other computing nodes to the main computing unit of the specified computing node; said target grid is a grid in which there is an overlap of geographic areas with a grid corresponding to area data that is distributed to said computing node;

распределение областных данных, соответствующих указанной вторичной подсеточной структуре, на главный вычислительный блок указанного вычислительного узла, включая:distribution of regional data corresponding to the specified secondary subgrid structure to the main computing unit of the specified computing node, including:

распределение областных данных указанной вторичной подсеточной структуры и областных данных целевой сетки, передаваемых главным вычислительным блоком указанного другого вычислительного узла, на главный вычислительный блок указанного вычислительного узла.distributing the region data of said secondary subgrid structure and the region data of the target grid transmitted by the main computing unit of said other computing node to the main computing unit of said computing node.

В частном случае реализации способа разделяют сетки в указанной сеточной структуре в соответствии со сконфигурированным количеством вычислительных узлов, на сеточной плоскости, соответствующей меридиональному и зональному направлениям в указанной сеточной структуре, и получая подсеточную структуру после разделения, соответствующую каждому вычислительному узлу, и областных данных, относящихся к соответствующей структуре, включая:In a particular case of implementation of the method, the grids in the specified grid structure are divided in accordance with the configured number of computing nodes, on a grid plane corresponding to the meridional and zonal directions in the specified grid structure, and obtaining a subgrid structure after division corresponding to each computing node, and regional data related to the appropriate structure, including:

определение вычисляемых сеток в указанной сеточной структуре на основе вычисляемых требований;defining computed meshes in said grid structure based on the computed requirements;

ровное разделение вычисляемых сеток в указанной сеточной структуре в соответствии со сконфигурированным количеством вычислительных узлов, на сеточной плоскости, соответствующей меридиональному и зональному направлениям в указанной сеточной структуре, и получение набора вычисляемых сеток, соответствующего каждому указанному вычислительному узлу;evenly dividing the computational grids in said grid structure in accordance with the configured number of computational nodes, on a grid plane corresponding to the meridional and zonal directions in the specified grid structure, and obtaining a set of computational grids corresponding to each specified computational node;

произвольное разделение невычисляемых сеток в указанной сеточной структуре, на сеточной плоскости, соответствующей меридиональному и зональному направлениям, и получение набора сеток, соответствующего указанным невычисляемым сеткам;arbitrarily dividing non-calculated grids in the specified grid structure, on a grid plane corresponding to the meridional and zonal directions, and obtaining a set of grids corresponding to the specified non-calculating grids;

на основе набора вычисляемых сеток, соответствующего каждому указанному вычислительному узлу, и набора сеток, соответствующего указанным невычисляемым сеткам, определение подсеточной структуры после разделения, соответствующей каждому указанному вычислительному узлу, и областных данных соответствующей структуры.based on the set of computed grids corresponding to each specified computational node, and the set of grids corresponding to the specified non-computable grids, determining the subgrid structure after partitioning corresponding to each specified computational node, and the area data of the corresponding structure.

В одной возможной реализации сеточная информация дополнительно включает областной тип географической области, к которой принадлежит указанная сетка, причем указанный областной тип включает тип океана;In one possible implementation, the grid information further includes an area type of the geographic area to which the grid belongs, wherein the area type includes an ocean type;

если указанными оперативными вычислительными требованиями являются вычислительные требования целевой переменной в модели циркуляции океана, то определяют вычисляемые сетки в указанной сеточной структуре на основе вычислительных требований, включая:If the specified operational computational requirements are the computational requirements of the target variable in the ocean circulation model, then determine the computational grids in the specified grid structure based on the computational requirements, including:

получение областного типа, соответствующего каждой сетке в указанной сеточной структуре;obtaining a region type corresponding to each grid in the specified grid structure;

определение сеток, указанным областным типом которой является указанный тип океана, как вычисляемую сетку.defining grids whose specified area type is the specified ocean type as a computed grid.

- 2 043837- 2 043837

В возможном случае реализации способа обмен данными между указанным главным вычислительным блоком и указанным по меньшей мере одним вычислительным подблоком осуществляется с использованием прямого доступа к памяти.In a possible implementation of the method, data exchange between the specified main computing unit and the specified at least one computing subunit is carried out using direct memory access.

В возможном случае реализации способа на основе указанной заданной стратегии распределения, управляют указанным главным вычислительным блоком для распределения областных данных, соответствующих второстепенной вторичной подсеточной структуре, на по меньшей мере один указанный вычислительный подблок, включая:In the possible case of implementing the method based on the specified specified distribution strategy, the specified main computing unit is controlled to distribute the area data corresponding to the minor secondary subgrid structure to at least one specified computing subunit, including:

на основе заданной стратегии двумерного разделения второго направления и указанного вертикального направления, управление указанным главным вычислительным блоком для разделения сеток во вторичной подсеточной структуре, соответствующей по меньшей мере одному указанному вычислительному подблоку, на сеточной плоскости, соответствующей указанному второму направлению и указанному вертикальному направлению, и получение указанной второстепенной вторичной подсеточной структуры и областные данные, относящиеся к соответствующей структуре, для распределения областных данных, соответствующих второстепенной вторичной подсеточной структуре после разделения, указанным главным вычислительным блоком по меньшей мере на один указанный вычислительный подблок.based on a predetermined two-dimensional separation strategy of the second direction and said vertical direction, controlling said main computing unit to separate grids in a secondary subgrid structure corresponding to at least one said computing subunit on a grid plane corresponding to said second direction and said vertical direction, and obtaining said minor secondary sub-grid structure and area data related to the corresponding structure, for distributing area data corresponding to the minor secondary sub-grid structure after being divided by said main computing unit to at least one said computing sub-unit.

Второй аспект изобретения раскрывает устройство для обработки данных, которое может включать в себя:A second aspect of the invention discloses a data processing apparatus, which may include:

блок областного разделения, который применяется для разделения Земли на географические области в меридиональном, зональном и вертикальном направлениях в соответствии с заданным пространственным разрешением, и получения трехмерной сеточной структуры, соответствующей указанному земному пространству, и сеточной информации соответствующей структуры; указанная сеточная информация включает географическую область, к которой принадлежит сетка, и областные данные в пределах указанной географической области;an area division unit, which is used to divide the Earth into geographical areas in the meridional, zonal and vertical directions in accordance with a specified spatial resolution, and obtain a three-dimensional grid structure corresponding to the specified earth space and grid information of the corresponding structure; said grid information includes the geographic area to which the grid belongs and regional data within said geographic area;

блок разделения сеток, который применяется для разделения сеток в соответствии со сконфигурированным количеством вычислительных узлов, на сеточной плоскости, соответствующей меридиональному и зональному направлениям в указанной сеточной структуре, и получения подсеточной структуры, соответствующей каждому вычислительному узлу после разделения, и областных данных, относящихся к соответствующей структуре;a grid splitting unit, which is used to split grids according to the configured number of computing nodes, on a grid plane corresponding to the meridional and zonal directions in the specified grid structure, and obtain a subgrid structure corresponding to each computing node after the division, and regional data related to the corresponding structure;

и, относительно каждого вычислительного узла, на основе заданной стратегии разделения, разделения сеток в указанной подсеточной структуре в первом направлении или в указанном вертикальном направлении, и получения вторичной подсеточной структуры после разделения, соответствующей главному вычислительному блоку в указанном вычислительном узле, и областных данных, относящихся к соответствующей структуре;and, with respect to each computing node, based on a given partitioning strategy, partitioning the grids in said subgrid structure in a first direction or in said vertical direction, and obtaining a secondary subgrid structure after the partition corresponding to the main computing unit in said computing node, and area data related to to the appropriate structure;

блок распределения данных, который применяется для распределения областных данных, соответствующих указанной вторичной подсеточной структуре, на главный вычислительный блок соответствующего вычислительного узла; указанным первым направлением является указанное зональное направление или указанное вертикальное направление; указанная вторичная подсеточная структура включает в себя вторичную подсеточную структуру, соответствующую указанному главному вычислительному блоку, и вторичную подсеточную структуру, соответствующую по меньшей мере одному вычислительному подблоку указанного вычислительного узла;a data distribution unit, which is used to distribute area data corresponding to the specified secondary subgrid structure to the main computing unit of the corresponding computing node; said first direction is said zonal direction or said vertical direction; said secondary subgrid structure includes a secondary subgrid structure corresponding to said main computing unit and a secondary subgrid structure corresponding to at least one computing subunit of said computing node;

блок управления, который на основе указанной заданной стратегии распределения, применяется для управления указанным главным вычислительным устройством для распределения областных данных, соответствующих второстепенной вторичной подсеточной структуре, по меньшей мере на один указанный вычислительный подблок для того, чтобы указанный главный вычислительный блок и по меньшей мере один указанный вычислительный подблок, основываясь на оперативных требованиях, выполнили вычисление оперативных данных из распределенных областных данных; причем указанная второстепенная вторичная подсеточная структура получена путем разделения сеток во вторичной подсеточной структуре, соответствующей по меньшей мере одному указанному вычислительному подблоку, указанным главным вычислительным блоком, на сеточной плоскости, соответствующей указанному второму направлению и указанному вертикальному направлению, причем указанным вторым направлением является указанное зональное направление или указанное меридиональное направление.a control unit which, based on said predetermined distribution strategy, is used to control said main computing device to distribute area data corresponding to the minor secondary sub-grid structure to at least one said computing sub-unit so that said main computing unit and at least one the specified computing subunit, based on operational requirements, performed the calculation of operational data from the distributed area data; wherein said secondary secondary sub-grid structure is obtained by dividing grids in a secondary sub-grid structure corresponding to at least one said computing sub-unit, said main computing unit, on a grid plane corresponding to said second direction and said vertical direction, wherein said second direction is said zonal direction or the specified meridional direction.

В частном случае реализации устройства указанный блок управления, в частности относительно каждого вычислительного подблока, применяется для управления главным вычислительным блоком указанного вычислительного узла для разделения сеток в указанной второстепенной вторичной подсеточной структуре в третьем направлении в соответствии с количеством целевых блоков обработки из указанных вычислительных подблоков, получения обрабатываемой сеточной структуры, соответствующей каждому целевому блоку обработки, и областных данных, относящихся к соответствующей структуре, и распределения областных данных, соответствующих указанной обрабатываемой сеточной структуре, на указанный целевой блок обработки для того, чтобы указанный целевой блок обработки выполнил вычисление областных данных, соответствующих указанной обрабатываемой сеточной структуре; указанным целевым блоком обработки является блок обработки с функцией набора векторизованных команд, соответствующей типу данных указанных областных данных.In a particular case of the implementation of the device, the specified control unit, in particular with respect to each computing subunit, is used to control the main computing unit of the specified computing node to divide the grids in the specified secondary secondary subgrid structure in the third direction in accordance with the number of target processing blocks from the specified computing subblocks, obtaining a processed grid structure corresponding to each processing target block, and area data related to the corresponding structure, and distributing the area data corresponding to the specified processing grid structure to the specified processing target unit so that the specified processing target unit performs the calculation of the area data corresponding to the specified processed mesh structure; said target processing unit is a processing unit with a vectorized instruction set function corresponding to the data type of said area data.

- 3 043837- 3 043837

В возможном случае реализации устройства главный вычислительный блок указанного вычислительного узла обменивается данными с главным вычислительным блоком в других вычислительных узлах, отличных от указанного вычислительного узла, используя сконфигурированный интерфейс передачи информации, при этом указанное устройство дополнительно включает в себя: блок передачи;In a possible implementation of the device, the main computing unit of the specified computing node communicates with the main computing unit in other computing nodes other than the specified computing node using a configured information transfer interface, wherein the specified device further includes: a transmission unit;

указанный блок передачи применяется для передачи областных данных целевой сетки, передаваемых главным вычислительным блоком в других вычислительных узлах, на главный вычислительный блок указанного вычислительного узла; указанная целевая сетка представляет собой сетку, в которой существует перекрытие географических областей с сеткой, соответствующей областным данным, которые распределены на указанный вычислительный узел;the specified transmission unit is used to transmit the regional data of the target grid transmitted by the main computing unit in other computing nodes to the main computing unit of the specified computing node; said target grid is a grid in which there is an overlap of geographic areas with a grid corresponding to area data that is distributed to said computing node;

указанный блок распределения данных применяется, в частности, для распределения областных данных указанной вторичной подсеточной структуры и областных данных целевой сетки, передаваемых главным вычислительным блоком в указанном другом вычислительном узле, на главный вычислительный блок соответствующего вычислительного узла.said data distribution unit is used, in particular, for distributing the area data of said secondary subgrid structure and the area data of the target grid transmitted by the main computing unit in said other computing node to the main computing unit of the corresponding computing node.

В одном возможном варианте реализации указанный блок сеточного разделения, в частности применяется для:In one possible embodiment, said grid division unit is particularly used for:

определения вычисляемых сеток в указанной сеточной структуре на основе вычисляемых требований;defining computed meshes in said grid structure based on the computed requirements;

ровного разделения вычисляемых сеток в указанной сеточной структуре в соответствии со сконфигурированным количеством вычислительных узлов, на сеточной плоскости, соответствующей меридиональному и зональному направлениям в указанной сеточной структуре, и получения набора вычисляемых сеток, соответствующего каждому указанному вычислительному узлу;evenly dividing the calculated grids in the specified grid structure in accordance with the configured number of computing nodes, on a grid plane corresponding to the meridional and zonal directions in the specified grid structure, and obtaining a set of calculated grids corresponding to each specified computing node;

произвольного разделения невычисляемых сеток в указанной сеточной структуре, на сеточной плоскости, соответствующей меридиональному и зональному направлениям, и получения набора сеток, соответствующего указанным невычисляемым сеткам;arbitrarily dividing non-calculated grids in the specified grid structure, on a grid plane corresponding to the meridional and zonal directions, and obtaining a set of grids corresponding to the specified non-calculating grids;

на основе набора вычисляемых сеток, соответствующего каждому указанному вычислительному узлу, и набора сеток, соответствующего указанным невычисляемым сеткам, определения подсеточной структуры после разделения, соответствующей каждому указанному вычислительному узлу, и областных данных соответствующей структуры.based on a set of computational grids corresponding to each specified computational node and a set of grids corresponding to the specified non-computational grids, a definition of the subgrid structure after partitioning corresponding to each specified computational node, and area data of the corresponding structure.

В одной возможной реализации сеточная информация дополнительно включает областной тип географической области, к которой принадлежит указанная сетка, причем указанный областной тип включает тип океана;In one possible implementation, the grid information further includes an area type of the geographic area to which the grid belongs, wherein the area type includes an ocean type;

если указанными оперативными вычислительными требованиями являются вычислительные требования целевой переменной в модели циркуляции океана, то указанный блок сеточного разделения, в частности дополнительно применяется для:If the specified operational computational requirements are the computational requirements of the target variable in the ocean circulation model, then the specified grid division block is, in particular, additionally applied to:

получения областного типа, соответствующего каждой сетке в указанной сеточной структуре;obtaining a region type corresponding to each grid in said grid structure;

определения сеток, указанным областным типом которой является указанный тип океана, как вычисляемую сетку.defines grids whose specified area type is the specified ocean type as a computed grid.

В одной возможной реализации обмен данными между указанным главным вычислительным блоком и указанным по меньшей мере одним вычислительным подблоком осуществляется с использованием прямого доступа к памяти.In one possible implementation, communication between said main computing unit and said at least one computing subunit is accomplished using direct memory access.

В одной возможной реализации указанный блок управления, в частности дополнительно применяется для:In one possible implementation, said control unit is additionally used in particular for:

на основе заданной стратегии двумерного разделения второго направления и указанного вертикального направления, управления указанным главным вычислительным блоком для разделения сеток во вторичной подсеточной структуре, соответствующей по меньшей мере одному указанному вычислительному подблоку, на сеточной плоскости, соответствующей указанному второму направлению и указанному вертикальному направлению, и получения указанной второстепенной вторичной подсеточной структуры и областные данные, относящиеся к соответствующей структуре, для распределения областных данных, соответствующих второстепенной вторичной подсеточной структуре после разделения, указанным главным вычислительным блоком по меньшей мере на один указанный вычислительный подблок.based on a predetermined strategy of two-dimensional separation of the second direction and the specified vertical direction, controlling the specified main computing unit to separate the grids in a secondary subgrid structure corresponding to at least one specified computing subunit on a grid plane corresponding to the specified second direction and the specified vertical direction, and obtaining said minor secondary sub-grid structure and area data related to the corresponding structure, for distributing area data corresponding to the minor secondary sub-grid structure after being divided by said main computing unit to at least one said computing sub-unit.

Третьим аспектом изобретения является указанное электронное устройство, которое включает в себя процессор, интерфейс связи, память и шину связи, при этом связь между процессором, интерфейсом связи и памятью осуществляется через шину связи;A third aspect of the invention is an electronic device that includes a processor, a communication interface, a memory and a communication bus, wherein communication between the processor, the communication interface and the memory is effected through a communication bus;

память используется для хранения компьютерных программ;memory is used to store computer programs;

процессор используется для осуществления этапы любого способа в первом аспекте при выполнении программы, хранящейся в памяти.the processor is used to implement the steps of any method in the first aspect while executing a program stored in the memory.

В четвертом аспекте предоставлен компьютерно-читаемый носитель информации, который содержит компьютерную программу, причем указанная компьютерная программа реализует этапы любого способа в описанном выше первом аспекте при выполнении процессором.In a fourth aspect, there is provided a computer-readable storage medium that contains a computer program, wherein said computer program implements the steps of any method in the first aspect described above when executed by a processor.

В способе обработки данных, предусмотренном вариантом осуществления настоящего изобретения, для начала достигается трехуровневое параллельное вычисление земного пространства путем трехуровневого разделения трехмерной сеточной структуры, соответствующей земному пространству, и в даль- 4 043837 нейшем достигается четырехуровневое параллельное вычисление земного пространства путем разделения четвертого уровня в каждом вычислительном подблоке, что повышает эффективность вычисления модели циркуляции океана по долготе-ширине-вертикале.In the data processing method provided by an embodiment of the present invention, firstly, three-level parallel earth space computation is achieved by dividing the three-dimensional grid structure corresponding to the earth space into three layers, and further achieves four-level parallel earth space computation by dividing the fourth layer in each computing layer. subblock, which increases the efficiency of calculating the longitude-width-vertical ocean circulation model.

Описание чертежейDescription of drawings

Для более четкого объяснения технических решений вариантов осуществления настоящего изобретения ниже приводится краткое описание необходимых прилагаемых чертежей, использованных в вариантах осуществления настоящего изобретения. Следует понимать, что следующие прилагаемые чертежи показывают только некоторые варианты осуществления настоящего изобретения и поэтому не должны рассматриваться как ограничение объема, и что другие соответствующие чертежи также могут быть получены на основе этих прилагаемых чертежей без каких-либо творческой работы для специалистов в данной области техники.To more clearly explain the technical solutions of the embodiments of the present invention, the following is a brief description of the necessary accompanying drawings used in the embodiments of the present invention. It should be understood that the following accompanying drawings show only some embodiments of the present invention and therefore should not be construed as a limitation on scope, and that other related drawings may also be derived from these accompanying drawings without any creative work for those skilled in the art.

Фиг. 1 представляет собой схематический чертеж структуры многоядерного процессора нового поколения Shenwei, предусмотренного вариантом осуществления настоящего изобретения.Fig. 1 is a schematic diagram of the structure of a new generation Shenwei multi-core processor provided by an embodiment of the present invention.

Фиг. 2 представляет собой схематический чертеж процедуры параллельной обработки данных в модели циркуляции океана, предусмотренной вариантом осуществления настоящего изобретения.Fig. 2 is a schematic drawing of a parallel processing procedure in an ocean circulation model provided by an embodiment of the present invention.

Фиг. 3 представляет собой схематический чертеж процесса способа обработки данных, предусмотренного вариантом осуществления настоящего изобретения.Fig. 3 is a schematic flow diagram of a data processing method provided by an embodiment of the present invention.

Фиг. 4 представляет собой схематический чертеж результатов тестов на сильную масштабируемость, предусмотренных вариантом осуществления настоящего изобретения.Fig. 4 is a schematic drawing of the results of strong scalability tests provided by an embodiment of the present invention.

Фиг. 5 представляет собой схематический чертеж результатов тестов на слабую масштабируемость, предусмотренных вариантом осуществления настоящего изобретения.Fig. 5 is a schematic drawing of the results of weak scalability tests provided by an embodiment of the present invention.

Фиг. 6 представляет собой схематический чертеж структуры устройства обработки данных, предусмотренного вариантом осуществления настоящего изобретения.Fig. 6 is a schematic diagram of the structure of a data processing apparatus provided by an embodiment of the present invention.

Фиг. 7 представляет собой схематический чертеж структуры электронного оборудования, предусмотренного вариантом осуществления настоящего изобретения.Fig. 7 is a schematic diagram of the structure of electronic equipment provided by an embodiment of the present invention.

Конкретные способы осуществления изобретенияSpecific methods for carrying out the invention

Технические решения в вариантах осуществления настоящего изобретения ясно и полностью описаны ниже в сочетании с прилагаемыми чертежами вариантов осуществления настоящего изобретения. Очевидно, что описанные варианты осуществления являются только частью вариантов осуществления настоящего изобретения, а не всеми. На основании вариантов осуществления настоящего изобретения, все другие варианты осуществления, полученные без творческой работы специалистами в данной области техники, попадают в объем охраны настоящего изобретения.The technical solutions in the embodiments of the present invention are clearly and fully described below in conjunction with the accompanying drawings of the embodiments of the present invention. It will be appreciated that the described embodiments are only a portion of the embodiments of the present invention and not all of them. Based on the embodiments of the present invention, all other embodiments obtained without creative work by those skilled in the art fall within the scope of protection of the present invention.

Для облегчения понимания ниже приведено объяснение терминов, используемых в вариантах осуществления изобретения.To facilitate understanding, an explanation of the terms used in the embodiments of the invention is provided below.

В многоядерном процессоре нового поколения Shenwei (модернизированная версия модели SW26010) интегрированы 6 групп ядер (Core Group, CG) (или вычислительных узлов), которые соединены через кольцевую сеть (Loop network), при этом каждый вычислительный узел CG содержит одну синхронную динамическую память с произвольным доступом и удвоенной скоростью (Double Data Rate) с интерфейсом памяти (memory interface), одно вычислительное контрольное ядро (Management Processing Element, MPE) (или главный вычислительный блок) и одно вычислительное ядро 8*8 (Computing Processing Element, CPE) (или вычислительный подблок), которые соединены через кольцевую сеть, как показано на фиг. 1. Данный процессор имеет 512-битный набор инструкций в форме одной инструкции нескольких данных (Single Instruction Multiple Data, SIMD), который может вычислить 8 чисел двойной точности одновременно, поэтому данный процессор имеет по крайней мере один блок обработки с функцией набора векторизованных инструкций.The new generation Shenwei multi-core processor (an upgraded version of the SW26010 model) integrates 6 Core Groups (CGs) (or compute nodes), which are connected via a Loop network, with each CG compute node containing one synchronous dynamic memory with random access and double data rate (Double Data Rate) with a memory interface, one computing control core (Management Processing Element, MPE) (or main computing unit) and one computing core 8 * 8 (Computing Processing Element, CPE) ( or computing subunit) which are connected via a ring network, as shown in FIG. 1. This processor has a 512-bit instruction set in the form of a Single Instruction Multiple Data (SIMD) instruction that can compute 8 double precision numbers simultaneously, so this processor has at least one processing unit with a vectorized instruction set function.

При этом главный вычислительный блок MPE имеет независимую операционную систему, который в основном используется для планирования, распределения, управления, связи, 10 и вычисления, и вычислительный подблок CPE в основном используется для вычисления. Вычислительные подблоки CPE в вычислительном узле CG расположены в виде массива 8*8. Вычислительные блоки CPE взаимодействуют друг с другом и с главным вычислительным блоком MPE, соединяясь через сеть внутри массива.In this case, the main computing unit MPE has an independent operating system, which is mainly used for scheduling, distribution, control, communication, 10 and calculation, and the computing subunit CPE is mainly used for computing. The CPE computing subblocks in the CG computing node are located in the form of an 8*8 array. The CPE compute units interact with each other and with the main MPE compute unit, connecting through a network within the array.

Обмен данными между главными вычислительными блоками MPE осуществляется с помощью метода интерфейса передачи информации (Massage Passing Interface, MPI); обмен данными между любыми двумя вычислительными подблоками CPE в массиве вычислительных подблоков CPE может осуществляться с помощью одного из таких методов связи как: удаленный доступ к памяти (RMA), P2P и агрегированная связь. Обмен данными между главным вычислительным блоком MPE и вычислительным подблоком CPE осуществляется через прямой доступ к памяти (Direct Memory Access, DMA).Data exchange between the main computing units of the MPE is carried out using the Massage Passing Interface (MPI) method; Data exchange between any two CPE compute subunits in an array of CPE compute subunits can be carried out using one of such communication methods as: remote memory access (RMA), P2P and aggregated communication. Data exchange between the main computing unit MPE and the computing subunit CPE is carried out via Direct Memory Access (DMA).

Способ обработки данных, предусмотренный вариантами осуществления настоящего изобретения, может быть применен в сценарии изучения модели циркуляции океана, и, в частности может быть применен в вышеупомянутом многоядерном процессоре нового поколения Shenwei для реализации изучения модели циркуляции океана. Способ обработки данных позволяет получить трехмерные океанические значения в реальном времени, такие как температура океана, соленость, динамическая высота поверхности моря, океанские течения и плотность морского льда, обеспечить вычислительную поддержку дляThe data processing method provided by embodiments of the present invention can be applied to an ocean circulation model learning scenario, and in particular can be applied to the above-mentioned Shenwei next-generation multi-core processor to implement ocean circulation model learning. The data processing method can obtain real-time three-dimensional ocean values such as ocean temperature, salinity, dynamic sea surface height, ocean currents and sea ice density, providing computational support for

- 5 043837 изучения модели циркуляции океана.- 5 043837 studying the ocean circulation model.

Следует отметить, что способ обработки данных, предусмотренный вариантами осуществления настоящего изобретения, может также применяться в других процессорах, где присутствует несколько вычислительных блоков, что не ограничивается настоящим изобретением.It should be noted that the data processing method provided by embodiments of the present invention may also be applied to other processors where multiple computing units are present, which is not limited to the present invention.

Как показано на фиг. 2, в способе обработки данных, предусмотренном вариантом осуществления настоящего изобретения, в сочетании с характеристиками модели циркуляции океана, в основном разработаны параллельные вычисления первого уровня модели циркуляции океана - на основе меридионально-зонального горизонтального пространственного разбиения главным вычислительным блоком, параллельные вычисления второго уровня модели циркуляции океана - на основе меридионально-зонального горизонтального пространственного разбиения главным вычислительным блоком и вычислительным подблоком, и параллельные вычисления третьего уровня модели циркуляции океана - на основе меридионально или зонально-вертикального горизонтального пространственного разбиения вычислительными подблоками, в дальнейшем можут быть включены параллельные вычисления четвертого уровня - на основе меридионального или зонального пространственного разбиения набора векторизованных инструкций, что позволяет реализовать трехмерное пространственное разбиение модели циркуляции океана по долготе-широте-вертикали, и повысить эффективность вычисления модели циркуляции океана по долготе-широте-вертикали.As shown in FIG. 2, in the data processing method provided by the embodiment of the present invention, in combination with the characteristics of the ocean circulation model, the first-level parallel calculation of the ocean circulation model is mainly developed - based on the meridional-zonal horizontal spatial partition by the main computing unit, the second-level parallel calculation of the circulation model of the ocean - based on the meridional-zonal horizontal spatial partition by the main computing unit and the computational subunit, and parallel calculations of the third level of the ocean circulation model - based on the meridional or zonal-vertical horizontal spatial partition by the computational subblocks; in the future, parallel calculations of the fourth level can be included - on based on the meridional or zonal spatial partitioning of a set of vectorized instructions, which makes it possible to implement a three-dimensional spatial partition of the ocean circulation model along longitude-latitude-vertical, and to increase the efficiency of calculating the ocean circulation model along longitude-latitude-vertical.

Где долгота относится к меридиональному направлению на основе земного пространства, например: направление оси x; широта относится к зональному направлению на основе земного пространства, например: направление оси y; и вертикаль относится к вертикальному направлению на основе земного пространства, например направление оси z, и n - число направлений оси x.Where longitude refers to the meridional direction based on earth space, for example: x-axis direction; latitude refers to the zonal direction based on the earth's space, for example: y-axis direction; and vertical refers to a vertical direction based on earth space, such as the z-axis direction, and n is the number of x-axis directions.

Предпочтительные варианты осуществления настоящего изобретения описаны ниже в сочетании с прилагаемыми чертежами описания, при этом следует понимать, что описанные здесь предпочтительные варианты осуществления предназначены только для описания и объяснения изобретения и не предназначены для ограничения изобретения, и что варианты осуществления и особенности в вариантах осуществления настоящего изобретения могут комбинироваться друг с другом в том случае, когда они не противоречат друг другу.Preferred embodiments of the present invention are described below in conjunction with the accompanying descriptive drawings, it being understood that the preferred embodiments described herein are intended to describe and explain the invention only and are not intended to limit the invention, and that the embodiments and features in the embodiments of the present invention can be combined with each other if they do not contradict each other.

Фиг. 3 представляет собой схематический чертеж процесса способа обработки данных, предусмотренного в одном варианте осуществления настоящего изобретения. Как показано на фиг. 3, этот способ может включать следующее.Fig. 3 is a schematic flow diagram of a data processing method provided in one embodiment of the present invention. As shown in FIG. 3, this method may include the following.

Этап S310: Разделяют Землю на географические области в меридиональном, зональном и вертикальном направлениях в соответствии с заданным пространственным разрешением, получая соответствующую трехмерную сеточную структуру Земли и информацию сеточной соответствующей структуры.Step S310: Divide the Earth into geographic areas in the meridional, zonal and vertical directions in accordance with a predetermined spatial resolution, obtaining the corresponding three-dimensional grid structure of the Earth and the corresponding grid structure information.

Заданное пространственное разрешение определяет размер разделенной сетки, чем выше разрешение, тем мельче сетка, т.е. тем меньше размеры сетки.The specified spatial resolution determines the size of the divided grid; the higher the resolution, the finer the grid, i.e. the smaller the mesh size.

В конкретной реализации, в сочетании с фиг. 2, Землю разделяют на географические области в соответствии с заданным пространственным разрешением в меридиональном, зональном и вертикальном направлениях, получая трехмерную сетчатую структуру, соответствующую Земли. При этом каждая географическая область является сеткой в этой сеточной структуре.In a particular implementation, in combination with FIG. 2, the Earth is divided into geographical areas according to a given spatial resolution in the meridional, zonal and vertical directions, obtaining a three-dimensional grid structure corresponding to the Earth. Moreover, each geographic area is a grid in this grid structure.

Поскольку географическая область имеет географическое местоположение, соответствующая сетка также имеет то же географическое местоположение, и соответствующая сетка также имеет областные данные, которые существуют в пределах этой географической области.Because a geographic area has a geographic location, the corresponding grid also has the same geographic location, and the corresponding grid also has area data that exists within that geographic area.

Например, целевая географическая область представляет собой морскую область, принадлежащую стране A, на плоскости, соответствующей меридиональному и зональному направлениям, причем данная область представляет собой область, окруженная точкой географического положения a, точкой географического положения b, точкой географического положения c и точкой географического положения d, определенными по меридиональному и зональному направлениям, т.е. размеры сетки, соответствующей этой целевой географической области, на плоскости, соответствующей меридиональному и зональному направлениям, представляют собой морскую область, принадлежащую стране A, в этом случае данная сетка содержит областные данные данной области океана, такие как температура океана, соленость, динамическая высота поверхности моря, морские течения, концентрация морского льда и т.д.For example, the target geographic area is a maritime area belonging to country A on a plane corresponding to the meridional and zonal directions, the area being an area surrounded by geographic location point a, geographic location point b, geographic location point c, and geographic location point d , defined in the meridional and zonal directions, i.e. the dimensions of the grid corresponding to this target geographical area, on a plane corresponding to the meridional and zonal directions, represent the sea area belonging to country A, in this case this grid contains regional data of this ocean area, such as ocean temperature, salinity, dynamic sea surface height , sea currents, sea ice concentration, etc.

При этом, если исследовательские требования модели циркуляции океана заключаются в изучении температуры океана, данные о температуре океана из областных данных являются оперативными данными, содержащимися в данной сетке.However, if the research requirement of an ocean circulation model is to study ocean temperature, the ocean temperature data from the regional data is the operational data contained in this grid.

Например, возьмем модель циркуляции океана в качестве примера для изучения температуры океана, в этом случае оперативными данными является температура океана. При постоянных размерах целевой географической области температура океана постепенно снижается по мере увеличения глубины океана (т.е. высоты по вертикали), поэтому сетка, соответствующая целевой географической области, включает температуру океана, соответствующую различным высотам по вертикали.For example, take the ocean circulation model as an example to study ocean temperature, in this case the operational data is ocean temperature. Given constant size of the target geographic area, ocean temperature gradually decreases as ocean depth (i.e., vertical altitude) increases, so the grid corresponding to the target geographic area includes ocean temperatures corresponding to different vertical altitudes.

То есть сеточная информация каждой сетки включает географическую область, к которой принадлежит сетка, и оперативные данные в пределах соответствующей географической области.That is, the grid information of each grid includes the geographic area to which the grid belongs and operational data within the corresponding geographic area.

Этап S320: разделяют сетки в сеточной структуре в соответствии со сконфигурированным количеством вычислительных узлов, на сеточной плоскости, соответствующие меридиональному и зональномуStep S320: divide the grids into a grid structure according to the configured number of computing nodes, on a grid plane corresponding to meridional and zonal

- 6 043837 направлениям в сеточной структуре, получая подсеточную структуру после разделения, соответствующую каждому вычислительному узлу, и областные данные, относящиеся к соответствующей структуре.- 6 043837 directions in the grid structure, obtaining the subgrid structure after division corresponding to each computing node, and the area data related to the corresponding structure.

В сочетании с фиг. 2, поскольку масштабы сеток по осям х и у значительно больше, чем по оси z, для уменьшения вычислительного объема этой сеточной структуры можно сначала разделять сетки в сеточной структуре в соответствии с меридионально-зональной плоскостью сетки, т.е. разделять сетки в сеточной структуре вдоль осей х и у, т.е. добиваться декомпозиции областных данных из различных географических областей, и распределять полученные путем разделения сетки на различные главные вычислительные блоки, т.е. на различные процессы MPI, что позволяет различным главным вычислительным блокам выполнить параллельное вычисление распределенных областных данных различных сеток.In combination with fig. 2, since the grid scales along the x and y axes are much larger than those along the z axis, to reduce the computational volume of this grid structure, you can first separate the grids in the grid structure in accordance with the meridional-zonal plane of the grid, i.e. separate meshes in a grid structure along the x and y axes, i.e. achieve the decomposition of regional data from different geographical areas, and distribute the obtained by dividing the grid into different main computing units, i.e. to different MPI processes, allowing different main computational units to perform parallel computation of distributed domain data of different grids.

В конкретной реализации, на основе полученной трехмерной сеточной структуры, разделяют сетки в сеточной структуре в соответствии со сконфигурированным количеством вычислительных узлов, на соответствующей плоскости сетки, соответствующей меридиональному и зональному направлениям, т.е. путем разделения получают подсеточную структуру с таким же сконфигурированным количеством, как и у вычислительных узлов, таким образом получают областные данные, соответствующие каждой подсеточной структуре, и распределяют каждую полученную путем разделения подсеточную структуру и областные данные, относящиеся к соответствующей структуре, на каждый вычислительный узел.In a specific implementation, based on the obtained three-dimensional grid structure, the grids in the grid structure are divided in accordance with the configured number of computing nodes, on the corresponding grid plane corresponding to the meridional and zonal directions, i.e. by dividing, a sub-grid structure with the same configured number as the computing nodes is obtained, thereby obtaining area data corresponding to each sub-grid structure, and distributing each sub-grid structure obtained by dividing and area data related to the corresponding structure to each computing node.

В дальнейшем, поскольку областные данные некоторых сеток в полученной трехмерной сеточной структуре могут не включать оперативные данные, эти сетки могут называться недействительными сетками, т.е. сетками, которые не имеют отношения к оперативными вычислительным требованиям, поэтому для получения точных данных целевых переменных под оперативными вычислительными требованиями, необходимо сначала определить вычисляемые сетки в сеточной структуре, которые имеют отношение к целевым переменным, в частности следующее.In the following, since the area data of some grids in the resulting 3D grid structure may not include operational data, these grids may be referred to as invalid grids, i.e. grids that are not relevant to the operational computational requirements, so in order to obtain accurate data of the target variables under the operational computational requirements, it is necessary to first define the computational grids in the grid structure that are relevant to the target variables, in particular the following.

Если оперативными вычислительными требованиями являются вычислительные требования для целевой переменной в модели циркуляции океана, то получают областной тип, соответствующий каждой сетке в сеточной структуре; где областной тип - это областной тип географической области, к которой принадлежит сетка. Областной тип географической области может включать морскую область, сухопутную область, равнинную область, горнолесная область и так далее. После этого сетка с морским типом в качестве областного типа, определяется как вычисляемая сетка.If the operational computational requirements are the computational requirements for the target variable in the ocean circulation model, then a domain type corresponding to each grid in the grid structure is obtained; where area type is the regional type of the geographic area to which the grid belongs. The regional type of geographic area may include a sea area, a land area, a plain area, a mountain forest area, and so on. The mesh with marine type as the area type is then defined as a calculated mesh.

В некоторых вариантах осуществления, для достижения балансировки нагрузки на вычислительные узлы и увеличения скорости вычисления, после определения вычисляемых сеток, вычисляемые сетки можно разделять поровну сетки в соответствии со сконфигурированным количеством вычислительных узлов, на сеточной плоскости, соответствующей меридиональному и зональному направлениям в сеточной структуре, получая набор вычисляемых сеток, соответствующий каждому вычислительному узлу.In some embodiments, to achieve load balancing on the compute nodes and increase computation speed, once the compute meshes are defined, the compute meshes may be divided equally into the meshes according to the configured number of compute nodes, on a mesh plane corresponding to the meridional and zonal directions in the mesh structure, yielding a set of computed grids corresponding to each computational node.

В то время произвольно разделяют невычисляемые сетки (т.е. недействительные сетки) в сеточной структуре, на сеточной плоскости, соответствующей меридиональному и зональному направлениям в указанной сеточной структуре, получая набор сеток, соответствующий невычисляемым сеткам.At that time, non-calculated grids (ie, invalid grids) in the grid structure are arbitrarily divided on a grid plane corresponding to the meridional and zonal directions in said grid structure, obtaining a set of grids corresponding to the non-calculated grids.

На основе набора вычисляемых сеток, соответствующего каждому вычислительному узлу, и набора сеток, соответствующего невычисляемым сеткам, определяют подсеточную структуру после разделения, соответствующую каждому вычислительному узлу, и областные данные соответствующей структуры.Based on the set of computed meshes corresponding to each computational node and the set of meshes corresponding to the non-computable meshes, the subgrid structure after division corresponding to each computational node and the area data of the corresponding structure are determined.

В вышеописанном варианте осуществления только можно выполнять вычисление областных данных в вычисляемых сетках, а не выполнять вычисление областных данных в недействительных сетках, так что вычислительный объем каждого вычислительного узла определяется только количеством вычисляемых сеток, так что разделяют поровну вычисляемые сетки, в соответствии с количеством вычислительных узлов, тем самым количество распределенных вычисляемых сеток на каждый вычислительный узел сбалансировано, таким образом достигается балансировка нагрузки вычислительных узлов.In the above-described embodiment, it is only possible to perform domain data computation on computed grids rather than performing domain data computation on invalid grids, so that the computational capacity of each computation node is determined only by the number of computed grids, so that the computed grids are equally divided according to the number of computation nodes , thus the number of distributed computational grids per computing node is balanced, thus achieving load balancing of the computing nodes.

Следует отметить, что в приведенном выше способе осуществления только необходимо учесть, является ли количество распределенных вычисляемых сеток на каждый вычислительный узел сбалансированным, и не нужно учесть количество распределенных недействительных сеток на него, например, все недействительные сетки могут быть распределены на один вычислительный узел целиком или на несколькие вычислительные узлы случайным образом, т.е. способ распределения не ограничен.It should be noted that in the above implementation method, it only needs to consider whether the number of distributed computed grids on each computing node is balanced, and does not need to consider the number of distributed invalid grids on it, for example, all invalid grids can be distributed to one entire computing node or to several computing nodes randomly, i.e. the method of distribution is not limited.

Этап S330: относительно каждого вычислительного узла, на основе заданной стратегии разделения, разделяют сетки в подсеточной структуре в первом направлении, получая вторичную подсеточную структуру после разделения и областные данные, относящиеся к соответствующей структуре; и распределяют областные данные, соответствующие вторичной подсеточной структуре, на этот главный вычислительный блок.Step S330: With respect to each computing node, based on a predetermined division strategy, the grids in the subgrid structure are divided in the first direction, obtaining a secondary subgrid structure after division and area data related to the corresponding structure; and distributing area data corresponding to the secondary subgrid structure to this main computing unit.

Где первым направлением является зональное или вертикальное направление.Where the first direction is the zonal or vertical direction.

В конкретной реализации, для достижения балансировки нагрузки главного вычислительного блока и по меньшей мере одного вычислительного подблока в каждом вычислительном узле, стратегия разделения может быть задана в соответствии с конфигурацией количества вычислительных блоков в вычислительном узле, например, стратегия разделения в соответствии с количеством вычислительных блоков.In a specific implementation, to achieve load balancing of the main computing unit and at least one computing subunit in each computing node, a partitioning strategy may be set according to the configuration of the number of computing units in the computing node, for example, a partitioning strategy according to the number of computing units.

Разделяют сетки в подсеточной структуре в зональном направлении или вертикальном направлении на основе заданной стратегии разделения, получая вторичную подсеточную структуру после разделенияSeparate the meshes in the subgrid structure in the zonal direction or vertical direction based on the specified division strategy, obtaining a secondary subgrid structure after division

- 7 043837 и областные данные, относящиеся к соответствующей структуре; и распределяют областные данные, соответствующие вторичной подсеточной структуре, на главный вычислительный блок. Вторичная подсеточная структура включает в себя вторичную подсеточную структуру, соответствующую главному вычислительному блоку, и вторичную подсеточную структуру, соответствующую по меньшей мере одному вычислительному подблоку вычислительного узла.- 7 043837 and regional data related to the relevant structure; and distributing the area data corresponding to the secondary subgrid structure to the main computing unit. The secondary subgrid structure includes a secondary subgrid structure corresponding to the main computing unit and a secondary subgrid structure corresponding to at least one computing subunit of the computing node.

В некоторых вариантах осуществления главный вычислительный блок в другом вычислительном узле, отличном от данного вычислительного узла, передает областные данные целевой сетки на главный вычислительный блок в данном вычислительном узле в режиме передачи данных через интерфейс передачи информации MPI. Где целевая сетка представляет собой сетку, в которой существует перекрытие географической области с сеткой, соответствующей распределенным областным данным на вычислительный узел, т.е. в данной сетке, соответствующей вычислительному узлу, существует перекрытие географической области с целевой сеткой, причем данное перекрытие может быть в виде частичного перекрытия двух географических областей.In some embodiments, a main compute unit at a different compute node than the current compute node transmits the target grid region data to the main compute unit at the given compute node in a data transfer mode via an MPI communication interface. Where the target grid is a grid in which there is an overlap of the geographic area with the grid corresponding to the distributed area data per computing node, i.e. in a given grid corresponding to a computing node, there is an overlap of a geographic area with the target grid, and this overlap may be in the form of a partial overlap of two geographic areas.

Таким образом, после получения вторичной подсеточной структуры после разделения и областных данных, относящихся к соответствующей структуре, распределяют областные данные вторичной подсеточной структуры и областные данные целевой сетки, передаваемые главным вычислительным блоком другого вычислительного узла, на главный вычислительный блок этого вычислительного узла.Thus, after receiving the secondary subgrid structure after division and the area data related to the corresponding structure, the area data of the secondary subgrid structure and the area data of the target grid transmitted by the main computing unit of another computing node are distributed to the main computing unit of that computing node.

В приведенном выше способе осуществления, когда главный вычислительный блок отвечает за обмен данными между главными вычислительными блоками в разных вычислительных узлах, его передача данных с другим главным вычислительным осуществляется в режиме MPI.In the above embodiment, when the main computing unit is responsible for exchanging data between main computing units in different computing nodes, its communication with another main computing unit is carried out in MPI mode.

Этап S340: на основе заданной стратегии распределения, управляют главным вычислительным блоком для распределения областных данных, соответствующих второстепенной вторичной подсеточной структуре, по меньшей мере на один вычислительный подблок.Step S340: Based on the predetermined distribution strategy, the main computing unit is controlled to distribute the area data corresponding to the minor secondary subgrid structure to at least one computing subunit.

Где вторым направлением является зональное или меридиональное направление. В плане заданной стратегии распределения, на основании емкости памяти устройства эмпирических значений или вычислительного подблока, можно установить стратегию двумерного разделения второго направления с вертикальным направлением, т.е. стратегию двумерного разделения зонального направления или меридионального направления с вертикальным направлением; или стратегию разделения в соответствии с количеством вычислительных блоков, которые в частности могут быть установлены в соответствии с фактической ситуацией, и настоящее изобретение не ограничивается этим.Where the second direction is the zonal or meridional direction. In terms of a given distribution strategy, based on the memory capacity of the empirical value device or the computing subunit, it is possible to set a two-dimensional division strategy of the second direction with the vertical direction, i.e. a strategy for two-dimensional separation of the zonal direction or the meridional direction with the vertical direction; or a division strategy according to the number of computing units, which may be particularly set according to the actual situation, and the present invention is not limited to this.

Возьмем в качестве примера стратегию двумерного разделения меридионального и вертикального направлений, данная стратегия двумерного разделения относится к стратегии, в которой сохраняют неизменную сеточную структуру меридионального направления, и разделяют сетки в соответствующей сеточной структуре, зональное и вертикальное направления в соответствии с заданным двумерным значением (например, двумерное значение 3x4) на сеточной плоскости, соответствующей зональному и вертикальному направлениям.Taking the two-dimensional separation strategy of the meridional and vertical directions as an example, this two-dimensional separation strategy refers to the strategy that keeps the meridional direction grid structure unchanged, and separates the grids into the corresponding grid structure, zonal and vertical directions according to the specified two-dimensional value (e.g. two-dimensional 3x4 value) on a grid plane corresponding to the zonal and vertical directions.

В конкретной реализации, возьмем заданную стратегию распределения в качестве примера заданной стратегии двумерного разделения во втором направлении и вертикальном направлении, на основе заданной двухмерной стратегии разделения, соответствующей второму направлению и вертикальному направлению, управляют главным вычислительным блоком в вычислительном узле для разделения сеток во вторичной подсеточной структуре, соответствующих по меньшей мере одному вычислительному подблоку, на сеточной плоскости, соответствующей второму направлению (т.е. зональным или меридиональным) и вертикальному направлению, получая второстепенную вторичную подсеточную структуру и областные данные, относящиеся к соответствующей структуре, и после распределения главным вычислительным блоком областных данных, соответствующих вторичной подсеточной структуре после разделения, по крайней мере на один вычислительный подблок, главный вычислительный блок и по крайней мере один вычислительный подблок выполняют вычисление оперативных данных из распределенных областных данных на основе оперативных требований.In a specific implementation, taking the predetermined distribution strategy as an example of the predetermined two-dimensional division strategy in the second direction and the vertical direction, based on the predetermined two-dimensional division strategy corresponding to the second direction and the vertical direction, the main computing unit in the computing node for dividing the grids in the secondary subgrid structure is controlled , corresponding to at least one computational sub-unit, on a grid plane corresponding to the second direction (i.e., zonal or meridional) and the vertical direction, obtaining the secondary secondary sub-grid structure and area data related to the corresponding structure, and after the main computation unit distributes the area of the data corresponding to the secondary sub-grid structure after being divided into at least one computing sub-unit, the main computing unit and the at least one computing sub-unit perform calculation of operational data from the distributed area data based on operational requirements.

В дальнейшем, поскольку данные вычисляются в каждом вычислительном подблоке параллельным образом векторизации данных, относительно каждого вычислительного подблока управляют главным вычислительным блоком в вычислительном узле для разделения сеток во вторичной подсеточной структуре в третьем направлении, в соответствии с количеством целевых блоков обработки из вычислительных подблоков, получая обрабатываемую сеточную структуру, соответствующую каждому целевому блоку обработки, и областные данные, относящиеся к соответствующей структуре, и распределяют областные данные, соответствующие обрабатываемой сеточной структуре, на целевой блок обработки, чтобы целевой блок обработки выполнил вычисление областных данных, соответствующих обрабатываемой сеточной структуре.Subsequently, since the data is calculated in each computing sub-unit in a parallel data vectorization manner, with respect to each computing sub-unit, the main computing unit in the computing node is controlled to divide the grids in the secondary sub-grid structure in the third direction, according to the number of target processing blocks from the computing sub-blocks, obtaining a processed a grid structure corresponding to each target processing unit and area data related to the corresponding structure, and distributing area data corresponding to the grid structure being processed to the target processing unit so that the target processing unit performs calculation of the area data corresponding to the grid structure being processed.

Данный целевой блок обработки представляет собой блок обработки с функцией набора векторизованных команд, соответствующей типу областных данных.This target processing block is a processing block with a vectorized instruction set function corresponding to the area data type.

В приведенной выше реализации, поскольку вычислительные подблоки не могут обмениваться данными между вычислительными узлами, когда главный вычислительный блок отвечает за мелкозернистое сеточное разделение вычислительных подблоков, его связь данных с вычислительными блокамиIn the above implementation, since the compute subunits cannot communicate between compute nodes, when the main compute unit is responsible for the fine-grained grid division of the compute subunits, its data communication with the compute units

- 8 043837 осуществляется с использованием DMA; связь данных между вычислительными подблоками в одном и том же вычислительном узле осуществляется с использованием RMA. Поэтому, в сочетании с предыдущим этапом, передача данных в варианте осуществления настоящего изобретения может осуществляться с использованием метода DMA+MPI+RMA.- 8 043837 is carried out using DMA; Data communication between computing subunits in the same computing node is carried out using RMA. Therefore, in combination with the previous step, data transmission in an embodiment of the present invention can be performed using the DMA+MPI+RMA method.

В одном примере, после получения трехмерной сеточной структуры 752*502*65 (долгота-широтавертикаль), соответствующей Земли, и сеточной информации соответствующей структуры, параллельная обработка данных в варианте осуществления настоящего изобретения может осуществляться с использованием четырехуровневого разделения, в частности следующее.In one example, after obtaining a three-dimensional grid structure of 752*502*65 (longitude-latitude-vertical) corresponding to the Earth and grid information of the corresponding structure, parallel data processing in an embodiment of the present invention can be carried out using four-level partitioning, in particular the following.

Уровень 1. Пусть в многоядерном процессоре нового поколения Shenwei имеется 128 вычислительных узлов, разделяют 128 вычислительных узлов на столбец двумерной матрицы 16*8, соответствующих сеточной плоскости 752*502, соответствующей меридиональному и зональному направлениям, и разделяют сетки в сеточной структуре, получая примерно по 49*65 сеток (включая количество граничных элементов), за которые отвечает каждый вычислительный узел, на плоскостях сетки 752*502, соответствующих меридиональному и зональному направлениям, поэтому на каждую группу ядер может быть фактически распределена подсеточная структура, состоящая из 49*65*65 сеток, и в том случае передача данных между вычислительными узлами выполняется с использованием механизма связи MPI.Level 1. Let the new generation Shenwei multi-core processor have 128 computing nodes, divide 128 computing nodes into a column of a 16*8 two-dimensional matrix corresponding to a 752*502 grid plane corresponding to the meridional and zonal directions, and divide the grids in the grid structure, obtaining approximately 49*65 grids (including the number of boundary elements) for which each computational node is responsible, on 752*502 grid planes corresponding to the meridional and zonal directions, so a subgrid structure consisting of 49*65*65 can actually be distributed to each group of cores grids, in which case data transfer between computing nodes is performed using the MPI communication mechanism.

Уровень 2. Поскольку вычислительный узел включает в себя главный вычислительный блок и несколько вычислительных подблоков, сетки в подсеточной структуре 49*65*65 могут быть разделены в вертикальном направлении в режиме 1+64 по вертикаль в соответствии с количеством вычислительных блоков в вычислительном узле, получая вторичную подсеточную структуру 49*65*1, за которую отвечает главный вычислительный блок, и областные данные, относящиеся к соответствующей структуре, а также подсеточную структуру 49*65*64, за которую отвечают несколько вычислительных подблоков, и областные данные, относящиеся к соответствующей структуре.Level 2. Since the computing node includes a main computing unit and several computing subunits, the grids in the 49*65*65 subgrid structure can be divided in the vertical direction in a 1+64 vertical mode according to the number of computing units in the computing node, obtaining a secondary subgrid structure 49*65*1, for which the main computing unit is responsible, and regional data related to the corresponding structure, as well as a subgrid structure 49*65*64, for which several computing subblocks are responsible, and regional data related to the corresponding structure .

Или, разделяют сетки в подсеточной структуре 49*65*65 в зональном направлении в режиме 1+64 по широте в соответствии с количеством вычислительных блоков в вычислительном узле, получая вторичную подсеточную структуру 49*1*65, за которую отвечает главный вычислительный блок, и областные данные, относящиеся к соответствующей структуре, а также подсеточную структуру 49*64*65, за которую отвечают несколько вычислительных подблоков, и областные данные, относящиеся к соответствующей структуре.Or, they divide the grids in a 49*65*65 subgrid structure in the zonal direction in 1+64 latitude mode in accordance with the number of computing units in the computing node, obtaining a secondary 49*1*65 subgrid structure, for which the main computing unit is responsible, and regional data related to the corresponding structure, as well as a 49*64*65 subgrid structure, for which several computational subblocks are responsible, and regional data related to the corresponding structure.

После разделения распределяют все областные данные, соответствующие полученным путем разделения вторичным подсеточным структурам, на главный вычислительный блок, чтобы обеспечить распределение сеточных данных главным вычислительным блоком на вычислительные подблоки, за которые он отвечает.After the division, all regional data corresponding to the secondary subgrid structures obtained by division are distributed to the main computing unit to ensure that the main computing unit distributes the grid data to the computing subblocks for which it is responsible.

Уровень 3. На основе емкости памяти вычислительного подблока, задают стратегию двумерного разделения 16*2 во втором направлении и вертикальном направлении. Способ осуществления третьего уровня подробно описан на примере того, что подсеточная структура, за которую отвечают несколько полученных из второго уровня вычислительных подблоков, является 49*65*64, и при этом вторым направлением является зональное направление:Level 3: Based on the memory capacity of the computing subunit, a 16*2 two-dimensional partition strategy is set in the second direction and the vertical direction. The method for implementing the third level is described in detail using the example that the subgrid structure, for which several computational subblocks obtained from the second level are responsible, is 49*65*64, and the second direction is the zonal direction:

Разделяют сетки во вторичной подсеточной структуре 49*65*64, на сеточной плоскости, соответствующей зональному и вертикальному направлениям, в соответствии со стратегией двумерного разделения 16*2 в зональном направлении и вертикальным направлении, получая второстепенную вторичную подсеточную структуру 49*32*4 (или 49* 33*4) и областные данные, относящиеся к соответствующей структуре.The grids are divided into a secondary subgrid structure of 49*65*64, on a grid plane corresponding to the zonal and vertical directions, in accordance with the two-dimensional division strategy of 16*2 in the zonal direction and the vertical direction, obtaining a secondary secondary subgrid structure of 49*32*4 (or 49* 33*4) and regional data related to the corresponding structure.

Уровень 4. Разделяют сетки во второстепенной вторичной подсеточной структуре 49*32*4 (или 49*33*4) в меридиональном направлении в соответствии с количеством целевых сеток обработки из вычислительных подблоков, получая обрабатываемую сеточную структуру, соответствующую каждому целевому блоку обработки, и областные данные, относящиеся к соответствующей структуре. Например, если количество целевых сеток обработки равно 49, то сеточная структура, соответствующая каждой целевому блоку обработки, представляет собой 1*32*4 (или 1*33*4), что дополнительно увеличивает возможность параллельного вычисления данных.Level 4. Separate the grids in the secondary secondary subgrid structure 49*32*4 (or 49*33*4) in the meridional direction in accordance with the number of target processing grids from the computational subblocks, obtaining a processed grid structure corresponding to each target processing block, and regional data related to the relevant structure. For example, if the number of processing target grids is 49, then the grid structure corresponding to each processing target block is 1*32*4 (or 1*33*4), which further increases the possibility of parallel data computation.

В способе обработки данных, предусмотренном вариантом осуществления настоящего изобретения, для начала достигается трехуровневое параллельное вычисление земного пространства путем трехуровневого разделения трехмерной сеточной структуры, соответствующей земному пространству, и в дальнейшем достигается четырехуровневое параллельное вычисление земного пространства путем трехуровневого разделения в каждом вычислительном подблоке, что повышает эффективность вычисления модели циркуляции океана по долготе-ширине-вертикале.In the data processing method provided by an embodiment of the present invention, firstly, three-level parallel earth space calculation is achieved by three-level division of the three-dimensional grid structure corresponding to the earth space, and further, four-level parallel earth space calculation is achieved by three-level division in each computing sub-unit, which improves the efficiency calculations of the ocean circulation model in longitude-width-vertical.

В дальнейшем, в результате применения настоящего изобретения к модели циркуляции океана NEMO, разработана новая версия swNEMO многоядерного процессора нового поколения Shenwei, реализована четырехуровневая параллелизация NEMO на суперкомпьютере, состоящем из многоядерных процессоров нового поколения Shenwei. Затем выбирая эталонные тесты под названием GYRE-PISCES, проводится тестирование на рабочие характеристики swNEMO.Subsequently, as a result of applying the present invention to the NEMO ocean circulation model, a new version of the swNEMO new generation Shenwei multi-core processor was developed, and NEMO four-level parallelization was implemented on a supercomputer consisting of Shenwei new generation multi-core processors. Then, by selecting benchmarks called GYRE-PISCES, swNEMO performance testing is carried out.

Смоделированная область GYRE-PISCES представляет собой замкнутый прямоугольный бассейнThe modeled area GYRE-PISCES is a closed rectangular pool

- 9 043837 на плоскости beta, который длиной 3180 км, шириной 2120 км и глубиной 4 км, с центром 30° N и поворотом на 45°. Этот эталон представляет идеальный Северо-Атлантический или Северо-Тихоокеанский бассейн. Кроме того, учитывая влияние сеточной структуры третьего уровня в глобальной режиме на периодические условия восточного и западного океанов и арктическую складчатость глобального океана, в эталонных тестах активирована опция BENCH для включения этих периодических условий, и воспроизведен режим связи сеточной структуры третьего уровня для глобального океана. С точки зрения вычислительных затрат и вычислительных свойств, она эквивалентна глобальному океану с сеточной структурой третьего уровня и таким же количеством сеток. Ниже горизонтальное разрешение - это горизонтальное разрешение, эквивалентное глобальному океану после пересчета.- 9 043837 on the beta plane, which is 3180 km long, 2120 km wide and 4 km deep, with a center of 30° N and a rotation of 45°. This standard represents the ideal North Atlantic or North Pacific basin. In addition, considering the influence of the third level grid structure in the global mode on the periodic conditions of the eastern and western oceans and the Arctic folding of the global ocean, the BENCH option is activated in the benchmarks to include these periodic conditions, and the coupling mode of the third level grid structure for the global ocean is reproduced. In terms of computational costs and computational properties, it is equivalent to a global ocean with a third-level grid structure and the same number of grids. Below, the horizontal resolution is the horizontal resolution equivalent to the global ocean after resampling.

Были разработаны 3 эксперимента с горизонтальным разрешением 2 км, 1 км и 500 м для проведения анализа сильной масштабируемости. При этом каждый эксперимент состоял из 8 различных параллельных соотношений. Ускорение Speedup - это деление тактового времени различных соотношений на базовую запись наименьшего соотношения с 2,129,920 вычислительными узлами. Для анализа слабой масштабируемости разработаны эксперименты с 8 разрешениями. Все эксперименты проводились в течение 1 дня моделирования без I/O.3 experiments were designed with horizontal resolutions of 2 km, 1 km and 500 m to perform the strong scalability analysis. Moreover, each experiment consisted of 8 different parallel ratios. Speedup is the division of clock times of various ratios by the base entry of the smallest ratio with 2,129,920 compute nodes. Experiments with 8 resolutions are designed to analyze weak scalability. All experiments were carried out during 1 day of simulation without I/O.

Анализ тестов на сильную масштабируемость: эксперименты проводились при разрешениях 2 км, 1 км и 500 м, увеличивая количество вычислительных узлов (Number of cores) с 2,129,9200 до 27,988,480. В модели циркуляции океана разрешение однозначно соответствует количеству сеток, при этом разрешения 2 км, 1 км и 500 м соответствуют таким количествам сеток на глобальной горизонтальной плоскости (широта-долгота) как: 24002x16002, 43502x29002 и 82502x55002 соответственно, а количество сеток вертикального слоя 128 является обычной спецификацией арифметического примера, поэтому количество сеток, соответствующее разрешениям 2 км, 1 км и 500 м, составляет 24002x16002x128, 43502x29002x128 и 82502x55002x128 соответственно. Установив 2,129,920 вычислительных узлов в качестве эталона сильного масштабирования, окончательная параллельная эффективность составит 74.18%, 83.40% и 99.29% соответственно, как показано на фиг. 4. Видно, что все три разрешения имеют очень хорошую масштабируемость, и гипермасштабное ускорение остается близким к линейному, в случае тестирования при самом высоком разрешении 500 м параллельная эффективность все еще может достичь до 99,29% с использованием 27,988,480 вычислительных узлов.Analysis of tests for strong scalability: experiments were carried out at resolutions of 2 km, 1 km and 500 m, increasing the number of computing nodes (Number of cores) from 2,129,9200 to 27,988,480. In the ocean circulation model, the resolution uniquely corresponds to the number of grids, with resolutions of 2 km, 1 km and 500 m corresponding to such numbers of grids on the global horizontal plane (latitude-longitude) as: 24002x16002, 43502x29002 and 82502x55002, respectively, and the number of vertical layer grids of 128 is the usual specification of an arithmetic example, so the number of grids corresponding to the 2 km, 1 km and 500 m resolutions is 24002x16002x128, 43502x29002x128 and 82502x55002x128 respectively. Setting 2,129,920 compute nodes as the strong scaling benchmark, the final parallel efficiency is 74.18%, 83.40%, and 99.29%, respectively, as shown in FIG. 4. It can be seen that all three resolutions have very good scalability, and the hyperscale speedup remains close to linear, in the case of testing at the highest resolution of 500m, the parallel efficiency can still reach up to 99.29% using 27,988,480 compute nodes.

Анализ тестов на слабую масштабируемость: анализы слабой масштабируемости выполняются при разрешениях 9 км, 7 км, 4,5 км, 3,5 км, 2,5 км, 2,0 км, 1,2 км и 1,0 км.Weak scalability test analysis: Weak scalability tests are performed at resolutions of 9 km, 7 km, 4.5 km, 3.5 km, 2.5 km, 2.0 km, 1.2 km and 1.0 km.

В анализе слабой масштабируемости: теоретически эффективность вычисления с плавающей запятой отдельного вычислительного узла в среднем остается неизменной при обработке одного и того же количества сеток внутри узла. Таким образом, при проведении анализа слабой масштабируемости необходимо учесть тенденции в двух аспектах: 1. изменение общего количества сеток по мере вычислительного узла; 2. изменение общей эффективности вычислений по мере вычислительного узла.In weak scalability analysis: theoretically, the floating point efficiency of a single compute node remains the same on average when processing the same number of grids within a node. Thus, when analyzing weak scalability, it is necessary to take into account trends in two aspects: 1. changes in the total number of grids as the computing node progresses; 2. change in overall computing efficiency over the course of a computing node.

Как показано на фиг. 5, абсцисса представляет количество вычислительных узлов, а ордината представляет инкрементную зависимость общего количества сеток от вычислительного узла, и из фиг. 5 видно, что изменение общего количества сеток (computed grid points number) в зависимости от количества вычислительных узлов (Number of cores) имеет почти линейную тенденцию, т.е. количество сеток, обрабатываемых отдельным узлом (т.е.угловой коэффициент линейного графика) почти постоянен, а процентные значения на фиг. 5 представляют общую вычислительную эффективность в этом масштабе, а значения вычислительной эффективности на фиг. 5 представляют, что общая вычислительная эффективность при различных вычислительных масштабах также почти линейна, возьмем 9 км в качестве эталона тестов, теоретическая постоянная вычислительная эффективность при слабом масштабировании составляет 2,03/1000, как показано на фиг. 5, вычислительная эффективность при разрешении, повышенном до 1 км составляет 1,99/1000, что на 0,04/1000 ниже теоретического значения, при этом снижение составляет менее 2%. Результаты показывают, что работоспособность стабильна при различных разрешениях, а вычислительная эффективность при разрешении 1 км остается на уровне 1,99/1000, причем тенденция, близкая к базовой линии указывает на то, что swNEMO обладает отличной слабой масштабируемостью, как показано на фиг. 5.As shown in FIG. 5, the abscissa represents the number of computing nodes, and the ordinate represents the incremental dependence of the total number of grids on the computing node, and from FIG. Figure 5 shows that the change in the total number of grids (computed grid points number) depending on the number of computational nodes (Number of cores) has an almost linear trend, i.e. the number of meshes processed by a single node (i.e., the slope of the line graph) is almost constant, and the percentage values in Fig. 5 represents the overall computational efficiency at this scale, and the computational efficiency values in FIG. 5 represent that the overall computational efficiency under different computational scales is also almost linear, taking 9 km as the test benchmark, the theoretical constant computational efficiency under weak scaling is 2.03/1000, as shown in Fig. 5, the computational efficiency at a resolution increased to 1 km is 1.99/1000, which is 0.04/1000 lower than the theoretical value, while the reduction is less than 2%. The results show that the performance is stable across different resolutions, and the computational efficiency at 1 km resolution remains at 1.99/1000, with a trend close to the baseline indicating that swNEMO has excellent weak scalability, as shown in Fig. 5.

В соответствии с описанным выше способом, вариант осуществления настоящего изобретения также обеспечивает устройство для обработки данных, как показано на фиг. 6, которое включает в себя: блок областного разделения 610, блок сеточного разделения 620, блок распределения данных 630 и блок управления 640.According to the method described above, an embodiment of the present invention also provides a data processing apparatus as shown in FIG. 6, which includes: an area division unit 610, a grid division unit 620, a data distribution unit 630, and a control unit 640.

Блок областного разделения 610 применяется для разделения Земли на географические области в меридиональном, зональном и вертикальном направлениях в соответствии с заданным пространственным разрешением, и получения трехмерной сеточной структуры, соответствующей указанному земному пространству, и сеточной информации соответствующей структуры; указанная сеточная информация включает географическую область, к которой принадлежит сетка, и областные данные в пределах указанной географической области.The area division unit 610 is used to divide the Earth into geographic areas in the meridional, zonal and vertical directions in accordance with a specified spatial resolution, and obtain a three-dimensional grid structure corresponding to the specified earth space and grid information of the corresponding structure; said grid information includes the geographic area to which the grid belongs and regional data within said geographic area.

Блок сеточного разделения 620 применяется для разделения сеток в указанной сеточной структуре вThe mesh separator 620 is used to separate the meshes in the specified mesh structure into

- 10 043837 соответствии со сконфигурированным количеством вычислительных узлов, на сеточной плоскости, соответствующей меридиональному и зональному направлениям в указанной сеточной структуре, и получения подсеточной структуры после разделения, соответствующей каждому вычислительному узлу, и областные данные, относящиеся к соответствующей структуре.- 10 043837 according to the configured number of computing nodes, on a grid plane corresponding to the meridional and zonal directions in the specified grid structure, and obtaining a subgrid structure after division corresponding to each computing node, and regional data related to the corresponding structure.

И, относительно каждого вычислительного узла, на основе заданной стратегии разделения, разделения сеток в указанной подсеточной структуре в первом направлении или указанном вертикальном направлении, и получения подсеточной структуры после разделения и областных данных, относящихся к соответствующей структуре.And, with respect to each computing node, based on a given partitioning strategy, partitioning the meshes in said subgrid structure in a first direction or said vertical direction, and obtaining the subgrid structure after partitioning and area data related to the corresponding structure.

Блок распределения данных 630 применяется для распределения областных данных, соответствующих указанной вторичной подсеточной структуре, на главный вычислительный блок соответствующего вычислительного узла; указанное первым направлением является указанное зональное направление или указанное вертикальное направление; указанная вторичная подсеточная структура включает в себя вторичную подсеточную структуру, соответствующую указанному главному вычислительному блоку, и вторичную подсеточную структуру, соответствующую по меньшей мере одному вычислительному подблоку указанного вычислительного узла.The data distribution unit 630 is used to distribute the area data corresponding to the specified secondary subgrid structure to the main computing unit of the corresponding computing node; said first direction is said zonal direction or said vertical direction; said secondary subgrid structure includes a secondary subgrid structure corresponding to said main computing unit and a secondary subgrid structure corresponding to at least one computing subunit of said computing node.

Блок управления 640 применяется на основе указанной заданной стратегии распределения, для управления указанным главным вычислительным устройством для распределения областных данных, соответствующих второстепенной вторичной подсеточной структуре, по меньшей мере на один указанный вычислительный подблок для того, чтобы указанный главный вычислительный блок и по меньшей мере один указанный вычислительный подблок, основываясь на оперативных требованиях, выполнили вычисление оперативных данных из распределенных областных данных; причем указанная второстепенная вторичная подсеточная структура получена путем разделения сеток во вторичной подсеточной структуре, соответствующей по меньшей мере одному указанному вычислительному подблоку, указанным главным вычислительным блоком, на сеточной плоскости, соответствующей указанному второму направлению и указанному вертикальному направлению, причем указанным вторым направлением является указанное зональное направление или указанное меридиональное направление.The control unit 640 is applied, based on said predetermined distribution strategy, to control said main computing device to distribute area data corresponding to the minor secondary subgrid structure to at least one specified computing subunit so that said main computing unit and at least one specified the computing subunit, based on operational requirements, performed the calculation of operational data from the distributed area data; wherein said secondary secondary sub-grid structure is obtained by dividing grids in a secondary sub-grid structure corresponding to at least one said computing sub-unit, said main computing unit, on a grid plane corresponding to said second direction and said vertical direction, wherein said second direction is said zonal direction or the specified meridional direction.

В одной возможной реализации блок 640 управления, в частности применяется относительно каждого вычислительного подблока, для управления главным вычислительным блоком указанного вычислительного узла для разделения сеток в указанной второстепенной вторичной подсеточной структуре в третьем направлении в соответствии с количеством целевых блоков обработки из указанных вычислительных подблоков, получения обрабатываемой сеточной структуры, соответствующей каждому целевому блоку обработки, и областных данных, относящихся к соответствующей структуре, и распределение областных данных, соответствующих указанной обрабатываемой сеточной структуре, на указанный целевой блок обработки для того, чтобы указанный целевой блок обработки выполнил вычисление областных данных, соответствующих указанной обрабатываемой сеточной структуре; указанным целевым блоком обработки является блок обработки с функцией набора векторизованных команд, соответствующей типу данных указанных областных данных.In one possible implementation, control unit 640 is specifically applied with respect to each computing subunit to control the main computing unit of said computing node to partition the grids in said secondary secondary subgrid structure in a third direction in accordance with the number of target processing units from said computing subunits, obtaining a processed grid structure corresponding to each processing target unit, and area data related to the corresponding structure, and distributing area data corresponding to the specified processing grid structure to the specified processing target unit so that the specified processing target unit performs calculation of the area data corresponding to the specified processing grid structure; said target processing unit is a processing unit with a vectorized instruction set function corresponding to the data type of said area data.

В одной возможной реализации главный вычислительный блок указанного вычислительного узла обменивается данными с главным вычислительным блоком в других вычислительных узлах, отличных от указанного вычислительного узла, используя сконфигурированный интерфейс передачи информации;In one possible implementation, the main computing unit of the specified computing node communicates with the main computing unit in other computing nodes other than the specified computing node using a configured communication interface;

указанное устройство дополнительно включает: блок передачи 650;said device further includes: a transmission unit 650;

блок 650 передачи применяется для передачи областных данных целевой сетки, передаваемых главным вычислительным блоком в других вычислительных узлах, на главный вычислительный блок указанного вычислительного узла; указанная целевая сетка представляет собой сетку, в которой существует перекрытие географических областей с сеткой, соответствующей областным данным, которые распределены на указанный вычислительный узел;the transmission unit 650 is used to transmit the target grid area data transmitted by the main computing unit in other computing nodes to the main computing unit of the specified computing node; said target grid is a grid in which there is an overlap of geographic areas with a grid corresponding to area data that is distributed to said computing node;

блок распределения данных 630 применяется, в частности, для распределения областных данных указанной вторичной подсеточной структуры и областных данных целевой сетки, передаваемых главным вычислительным блоком в указанном другом вычислительном узле, на главный вычислительный блок соответствующего вычислительного узла.The data distribution unit 630 is used, in particular, to distribute the area data of the specified secondary subgrid structure and the area data of the target grid transmitted by the main computing unit in the specified other computing node to the main computing unit of the corresponding computing node.

В одной возможной реализации блок сеточного разделения 620, в частности применяется для следующего.In one possible implementation, grid partitioning unit 620 is specifically used for the following.

Определения вычисляемых сеток в указанной сеточной структуре на основе вычисляемых требований.Defines computed meshes in a specified grid structure based on computed requirements.

Ровного разделения вычисляемых сеток в указанной сеточной структуре, на сеточной плоскости, соответствующей меридиональному и зональному направлениям в указанной сеточной структуре, в соответствии со сконфигурированным количеством вычислительных узлов, и получения набора вычисляемых сеток, соответствующего каждому указанному вычислительному узлу.Equally dividing the computational grids in the specified grid structure, on a grid plane corresponding to the meridional and zonal directions in the specified grid structure, in accordance with the configured number of computational nodes, and obtaining a set of computational grids corresponding to each specified computational node.

Произвольного разделения невычисляемых сеток в указанной сеточной структуре, на сеточной плоскости, соответствующей меридиональному и зональному направлениям, и получения набора сеток, соответствующего указанным невычисляемым сеткам.Arbitrarily dividing non-calculated grids in the specified grid structure, on a grid plane corresponding to the meridional and zonal directions, and obtaining a set of grids corresponding to the specified non-calculating grids.

На основе набора вычисляемых сеток, соответствующего каждому указанному вычислительномуBased on a set of computational meshes corresponding to each specified computational

- 11 043837 узлу, и набора сеток, соответствующего указанным невычисляемым сеткам, определения подсеточной структуры после разделения, соответствующей каждому указанному вычислительному узлу, и областных данных соответствующей структуры.- 11 043837 node, and a set of grids corresponding to the specified non-computable grids, a definition of the subgrid structure after division corresponding to each specified computational node, and the area data of the corresponding structure.

В одной возможной реализации сеточная информация дополнительно включает областной тип географической области, к которой принадлежит указанная сетка, причем указанный областной тип включает тип океана;In one possible implementation, the grid information further includes an area type of the geographic area to which the grid belongs, wherein the area type includes an ocean type;

если указанными оперативными вычислительными требованиями являются вычислительные требования целевой переменной в модели циркуляции океана, то блок сеточного разделения 620, в частности дополнительно применяется для:If the specified operational computational requirements are the computational requirements of a target variable in an ocean circulation model, then the grid partitioning block 620 is specifically further applied to:

получения областного типа, соответствующего каждой сетке в указанной сеточной структуре;obtaining a region type corresponding to each grid in said grid structure;

определения сеток, указанным областным типом которой является указанный тип океана, как вычисляемую сетку.defines grids whose specified area type is the specified ocean type as a computed grid.

В одной возможной реализации обмен данными между указанным главным вычислительным блоком и указанным по меньшей мере одним вычислительным подблоком осуществляется с использованием прямого доступа к памяти.In one possible implementation, communication between said main computing unit and said at least one computing subunit is accomplished using direct memory access.

В одной возможной реализации блок управления 640, в частности дополнительно используется для:In one possible implementation, control unit 640 is specifically further used to:

на основе заданной стратегии двумерного разделения второго направления и указанного вертикального направления, управления указанным главным вычислительным блоком для разделения сеток во вторичной подсеточной структуре, соответствующей по меньшей мере одному указанному вычислительному подблоку, на сеточной плоскости, соответствующей указанному второму направлению и указанному вертикальному направлению, и получения указанной второстепенной вторичной подсеточной структуры и областных данных, относящихся к соответствующей структуре, для распределения областных данных, соответствующих второстепенной вторичной подсеточной структуре после разделения, указанным главным вычислительным блоком по меньшей мере на один указанный вычислительный подблок.based on a predetermined strategy of two-dimensional separation of the second direction and the specified vertical direction, controlling the specified main computing unit to separate the grids in a secondary subgrid structure corresponding to at least one specified computing subunit on a grid plane corresponding to the specified second direction and the specified vertical direction, and obtaining said minor secondary sub-grid structure and area data related to the corresponding structure, for distributing the area data corresponding to the minor secondary sub-grid structure after being divided by said main computing unit to at least one said computing sub-unit.

Функции каждого функционального блока устройства обработки данных, предусмотренного вышеуказанным вариантом осуществления настоящего изобретения, могут быть достигнуты через этапы каждого описанного выше способа, и поэтому конкретный рабочий процесс и полезные эффекты каждого блока в устройстве обработки данных, предусмотренном вариантом осуществления настоящего изобретения, здесь повторяться не будут.The functions of each functional block of the data processing device provided by the above embodiment of the present invention can be achieved through the steps of each method described above, and therefore the specific working process and beneficial effects of each block in the data processing device provided by the embodiment of the present invention will not be repeated here. .

Вариант осуществления настоящего изобретения также обеспечивает электронное устройство, как показано на фиг. 7, включающее процессор 710, интерфейс связи 720, память 730 и шину связи 740, причем связь между процессором 710, интерфейсом связи 720 и памятью 730 осуществляется через шину связи 740.An embodiment of the present invention also provides an electronic device as shown in FIG. 7, including a processor 710, a communications interface 720, a memory 730, and a communications bus 740, wherein communication between the processor 710, communications interface 720, and memory 730 occurs via communications bus 740.

Память 730 принимается для хранения компьютерных программ.The memory 730 is adopted for storing computer programs.

Процессор 710 принимается для выполнения нижеследующих этапов при выполнении программы, хранящейся в памяти 730:Processor 710 is adopted to perform the following steps when executing a program stored in memory 730:

разделение Земли на географические области в меридиональном, зональном и вертикальном направлениях в соответствии с заданным пространственным разрешением, и получение трехмерной сеточной структуры, соответствующей указанному земному пространству, и информации сеточной соответствующей структуры; указанная сеточная информация включает географическую область, к которой принадлежит сетка, и областные данные в пределах указанной географической области;dividing the Earth into geographical areas in the meridional, zonal and vertical directions in accordance with a given spatial resolution, and obtaining a three-dimensional grid structure corresponding to the specified earth space and grid structure information; said grid information includes the geographic area to which the grid belongs and regional data within said geographic area;

разделение сеток в указанной сеточной структуре в соответствии со сконфигурированным количеством вычислительных узлов, на сеточной плоскости, соответствующей меридиональному и зональному направлениям в указанной сеточной структуре, и получение подсеточной структуры после разделения, соответствующей каждому вычислительному узлу, и областных данных, относящиеся к соответствующей структуры;dividing the grids in said grid structure in accordance with the configured number of computing nodes, on a grid plane corresponding to the meridional and zonal directions in the specified grid structure, and obtaining a subgrid structure after division corresponding to each computing node, and regional data related to the corresponding structure;

относительно каждого вычислительного узла, на основе заданной стратегии разделения, разделение сеток в указанной подсеточной структуре в первом направлении или указанном вертикальном направлении, и получение вторичной подсеточной структуры после разделения и областных данных, относящихся к соответствующей структуре; и распределение областных данных, соответствующих указанной вторичной подсеточной структуре, на главный вычислительный блок указанного вычислительного узла; указанным первым направлением является указанное зональное направление или указанное вертикальное направление; указанная вторичная подсеточная структура включает в себя вторичную подсеточную структуру, соответствующую указанному главному вычислительному блоку, и по меньшей мере одну вторичную подсеточную структуру, соответствующую вычислительному подблоку указанного вычислительного узла;relative to each computing node, based on a predetermined partitioning strategy, partitioning grids in said subgrid structure in a first direction or said vertical direction, and obtaining a secondary subgrid structure after the partition and area data related to the corresponding structure; and distributing regional data corresponding to said secondary subgrid structure to a main computing unit of said computing node; said first direction is said zonal direction or said vertical direction; said secondary subgrid structure includes a secondary subgrid structure corresponding to said main computing unit and at least one secondary subgrid structure corresponding to a computing subunit of said computing node;

на основе указанной заданной стратегии распределения, управление указанным главным вычислительным блоком для распределения областных данных, соответствующих второстепенной вторичной подсеточной структуре, по меньшей мере на один указанный вычислительный подблок для того, чтобы указанный главный вычислительный блок и по меньшей мере один указанный вычислительный подблок, основываясь на оперативных требованиях, выполнили вычисления оперативных данных из распределенных областных данных; причем указанная второстепенная вторичная подсеточная структура полученаbased on said predetermined allocation strategy, controlling said main computing unit to distribute the area data corresponding to the minor secondary subgrid structure to at least one said computing subunit so that said main computing unit and at least one said computing subunit, based on operational requirements, performed calculations of operational data from distributed regional data; wherein said secondary secondary subgrid structure is obtained

- 12 043837 путем разделения сеток во вторичной подсеточной структуре, соответствующей по меньшей мере одному указанному вычислительному подблоку, указанным главным вычислительным блоком на сеточной плоскости, соответствующей указанным вторым направлении и указанным вертикальным направлением, причем указанным вторым направлением является указанное зональное направление или указанное меридиональное направление.- 12 043837 by dividing the grids in a secondary sub-grid structure corresponding to at least one specified computing sub-unit by said main computing block on a grid plane corresponding to said second direction and said vertical direction, wherein said second direction is said zonal direction or said meridional direction.

В одной возможной реализации управляют главным вычислительным блоком указанного вычислительного узла для распределения областных данных второстепенной вторичной подсеточной структуры по меньшей мере на один вычислительный подблок указанного вычислительного узла, включая относительно каждого вычислительного подблока, управление главным вычислительным блоком указанного вычислительного узла для разделения сеток в указанной второстепенной вторичной подсеточной структуре в третьем направлении в соответствии с количеством целевых блоков обработки в указанном вычислительном подблоке, получение обрабатываемой сеточной структуры, соответствующей каждому целевому блоку обработки, и областных данных, относящихся к соответствующей структуре, и распределение областных данных, соответствующих указанной обрабатываемой сеточной структуре, на указанный целевой блок обработки для того, чтобы указанный целевой блок обработки выполнил вычисление областных данных, соответствующих указанной обрабатываемой сеточной структуре; указанным целевым блоком обработки является блок обработки с функцией набора векторизованных команд, соответствующей типу данных указанных областных данных.In one possible implementation, the main computing unit of said computing node is controlled to distribute regional data of a secondary secondary subgrid structure to at least one computing subunit of said computing node, including, with respect to each computing subunit, control of the main computing unit of said computing node to partition grids in said secondary secondary sub-grid structure in the third direction in accordance with the number of target processing units in the specified computing sub-unit, obtaining a processed grid structure corresponding to each target processing unit and area data related to the corresponding structure, and distributing area data corresponding to said processing grid structure to said a target processing unit for causing said target processing unit to perform calculation of area data corresponding to said grid structure to be processed; said target processing unit is a processing unit with a vectorized instruction set function corresponding to the data type of said area data.

В одной возможной реализации главный вычислительный блок указанного вычислительного узла обменивается данными с главным вычислительным блоком в других вычислительных узлах, отличных от указанного вычислительного узла, используя сконфигурированный интерфейс передачи информации, при этом указанный способ дополнительно включает в себя передачу областных данных целевой сетки, передаваемых главным вычислительным блоком в других вычислительных узлах, на главный вычислительный блок указанного вычислительного узла; указанная целевая сетка представляет собой сетку, в которой существует перекрытие географических областей с сеткой, соответствующей областным данным, которые распределены на указанный вычислительный узел;In one possible implementation, the main computing unit of the specified computing node communicates with the main computing unit in other computing nodes other than the specified computing node using a configured communication interface, wherein the method further includes transmitting regional data of the target grid transmitted to the main computing block in other computing nodes, to the main computing block of the specified computing node; said target grid is a grid in which there is an overlap of geographic areas with a grid corresponding to area data that is distributed to said computing node;

распределение областных данных, соответствующих указанной вторичной подсеточной структуре, на главный вычислительный блок указанного вычислительного узла, включая:distribution of regional data corresponding to the specified secondary subgrid structure to the main computing unit of the specified computing node, including:

распределение областных данных указанной вторичной подсеточной структуры и областных данных целевой сетки, передаваемых главным вычислительным блоком указанного другого вычислительного узла, на главный вычислительный блок указанного вычислительного узла.distributing the region data of said secondary subgrid structure and the region data of the target grid transmitted by the main computing unit of said other computing node to the main computing unit of said computing node.

В одной возможной реализации сетку в указанной сеточной структуре разделяют в соответствии со сконфигурированным количеством вычислительных узлов на сеточной плоскости, соответствующей меридиональному и зональному направлениям в указанной сеточной структуре, и получая подсеточную структуру после разделения, соответствующую каждому вычислительному узлу, и областные данные, относящихся к соответствующей структуре, включая:In one possible implementation, the grid within said grid structure is divided according to a configured number of compute nodes on a grid plane corresponding to the meridional and zonal directions in said grid structure, resulting in a post-divided subgrid structure corresponding to each compute node and area data associated with the corresponding structure, including:

определение вычисляемых сеток в указанной сеточной структуре на основе вычисляемых требований;defining computed meshes in said grid structure based on the computed requirements;

ровное разделение вычисляемых сеток в указанной сеточной структуре в соответствии со сконфигурированным количеством вычислительных узлов, на сеточной плоскости, соответствующей меридиональному и зональному направлениям в указанной сеточной структуре, и получение набора вычисляемых сеток, соответствующего каждому указанному вычислительному узлу;evenly dividing the computational grids in said grid structure in accordance with the configured number of computational nodes, on a grid plane corresponding to the meridional and zonal directions in the specified grid structure, and obtaining a set of computational grids corresponding to each specified computational node;

произвольное разделение невычисляемых сеток в указанной сеточной структуре, на сеточной плоскости, соответствующей меридиональному и зональному направлениям, и получение набора сеток, соответствующего указанным невычисляемым сеткам;arbitrarily dividing non-calculated grids in the specified grid structure, on a grid plane corresponding to the meridional and zonal directions, and obtaining a set of grids corresponding to the specified non-calculating grids;

на основе набора вычисляемых сеток, соответствующего каждому указанному вычислительному узлу, и набора сеток, соответствующего указанным невычисляемым сеткам, определение подсеточной структуры после разделения, соответствующей каждому указанному вычислительному узлу, и областных данных соответствующей структуры.based on the set of computed grids corresponding to each specified computational node, and the set of grids corresponding to the specified non-computable grids, determining the subgrid structure after partitioning corresponding to each specified computational node, and the area data of the corresponding structure.

В одной возможной реализации сеточная информация дополнительно включает областной тип географической области, к которой принадлежит указанная сетка, причем указанный областной тип включает тип океана;In one possible implementation, the grid information further includes an area type of the geographic area to which the grid belongs, wherein the area type includes an ocean type;

если указанными оперативными вычислительными требованиями является вычислительные требования целевой переменной в модели циркуляции океана, то определяют вычисляемые сетки в указанной сеточной структуре на основе вычислительных требований, включая:If the specified operational computational requirements are the computational requirements of the target variable in the ocean circulation model, then determine the computational grids in the specified grid structure based on the computational requirements, including:

получение областного типа, соответствующего каждой сетке в указанной сеточной структуре;obtaining a region type corresponding to each grid in the specified grid structure;

определение сеток, указанным областным типом которой является указанный тип океана, как вычисляемую сетку.defining grids whose specified area type is the specified ocean type as a computed grid.

В одной возможной реализации обмен данными между указанным главным вычислительным блоком и указанным по меньшей мере одним вычислительным подблоком осуществляется с использованием прямого доступа к памяти.In one possible implementation, communication between said main computing unit and said at least one computing subunit is accomplished using direct memory access.

В одной возможной реализации на основе указанной заданной стратегии распределения, управляют указанным главным вычислительным блоком для распределения областных данных, соответствующихIn one possible implementation, based on said specified allocation strategy, said main computing unit is controlled to allocate area data corresponding to

- 13 043837 второстепенной вторичной подсеточной структуре, по меньшей мере на один указанный вычислительный подблок, включая:- 13 043837 minor secondary subgrid structure, for at least one specified computing subblock, including:

на основе заданной стратегии двумерного разделения второго направления и указанного вертикального направления, управление указанным главным вычислительным блоком для разделения сеток во вторичной подсеточной структуре, соответствующей по меньшей мере одному указанному вычислительному подблоку, на сеточной плоскости, соответствующей указанному второму направлению и указанному вертикальному направлению, и получение указанной второстепенной вторичной подсеточной структуры и областные данные, относящиеся к соответствующей структуре, для распределения областных данных, соответствующих второстепенной вторичной подсеточной структуре после разделения, указанным главным вычислительным блоком по меньшей мере на один указанный вычислительный подблок.based on a predetermined two-dimensional separation strategy of the second direction and said vertical direction, controlling said main computing unit to separate grids in a secondary subgrid structure corresponding to at least one said computing subunit on a grid plane corresponding to said second direction and said vertical direction, and obtaining said minor secondary sub-grid structure and area data related to the corresponding structure, for distributing area data corresponding to the minor secondary sub-grid structure after being divided by said main computing unit to at least one said computing sub-unit.

Вышеупомянутая шина связи может быть шиной стандарта взаимосвязи периферийных компонентов (Peripheral Component Interconnect, PCI) или шиной расширенной стандартной промышленной архитектуры (Extended Industry Standard Architecture, EISA) и т.п. Данная шина связи может иметь различные типы, такие как адресная шина, шина данных, шина управления и т.п. Для простоты изложения на чертежах его представление осуществляется только с помощью одной толстой линии, но это не означает, что имеется только одна штука шины или шины одного типа.The above communication bus may be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus or the like. This communication bus may be of various types, such as an address bus, a data bus, a control bus, and the like. For ease of presentation in the drawings, it is represented by only one thick line, but this does not mean that there is only one piece of tire or one type of tire.

Интерфейс связи используется для связи между вышеупомянутыми электронным устройством и другим устройством.A communication interface is used for communication between the above-mentioned electronic device and another device.

Память может включать в себя память с произвольным доступом (Random Access Memory, RAM), а также энергонезависимую память (Non-Volatile Memory, NVM), например, по меньшей мере одну дисковую память. Альтернативно, память также может представлять собой по меньшей мере одно запоминающее устройство, расположенное на расстоянии от вышеупомянутого процессора.The memory may include random access memory (RAM), as well as non-volatile memory (NVM), such as at least one disk memory. Alternatively, the memory may also be at least one storage device located at a distance from the aforementioned processor.

Вышеупомянутый процессор может быть процессором общего назначения, включающим центральный процессор (Central Processing Unit, CPU), сетевой процессор (Network Processor, NP) и т.д.; также может быть цифровым сигнальным процессором (Digital Signal Processing, DSP), интегральной схемой специального назначения (Application Specific Integrated Circuit, ASIC), полевыой программируемой вентильной матрицей (Field-Programmable Gate Array, FPGA) или другим программируемым логическим устройством, дискретным вентильным или транзисторным логическим устройством, дискретным аппаратным узлом.The above-mentioned processor may be a general purpose processor including a Central Processing Unit (CPU), a Network Processor (NP), etc.; may also be a Digital Signal Processing (DSP), Application Specific Integrated Circuit (ASIC), Field-Programmable Gate Array (FPGA), or other programmable logic device, discrete gate or transistor logical device, discrete hardware node.

Поскольку способы осуществления для решения задачи каждого элемента электронного устройства в вышеуказанном варианте осуществления изобретения и полезные эффекты могут быть достигнуты путем обращения к этапам варианта осуществления, показанным на фиг. 3, конкретный рабочий процесс и полезные эффекты электронного устройства, обеспечиваемые вариантом осуществления настоящего изобретения, здесь не повторяются.Since implementation methods for solving the problem of each element of the electronic device in the above embodiment of the invention and beneficial effects can be achieved by referring to the steps of the embodiment shown in FIG. 3, the specific operating process and beneficial effects of the electronic device provided by the embodiment of the present invention are not repeated here.

В еще одном варианте осуществления настоящего изобретения также предусмотрен компьютерносчитываемый носитель информации, причем инструкции, хранящиеся на данном компьютерносчитываемом носителе информации, которые при своей работе на компьютере заставляют компьютер выполнить любой из способов обработки данных вышеуказанного варианта осуществления.In another embodiment of the present invention, there is also provided a computer-readable storage medium, wherein instructions stored on the computer-readable storage medium that, when operated on a computer, cause the computer to perform any of the data processing methods of the above embodiment.

В еще одном варианте осуществления настоящего изобретения также предусмотрен компьютернопрограммный продукт, включающий инструкции, которые при своей работе на компьютере заставляют компьютер выполнить любой из способов обработки данных вышеуказанного варианта осуществления.In another embodiment of the present invention, there is also provided a computer program product including instructions that, when operated on a computer, cause the computer to perform any of the data processing methods of the above embodiment.

Специалисты в данной области техники должны понимать, что вариант осуществления из вариантов осуществления настоящего изобретения может быть представлен в виде метода, системы или компьютерно-программного продукта. Таким образом, вариант осуществления настоящего изобретения может быть принят в форме полноаппаратного варианта, полнопрограммного варианта или варианта, сочетающего программного и аппаратного аспекты. Кроме того, вариант осуществления настоящего изобретения может быть принят в форме компьютерно-используемого программного продукта, реализованного на одном или нескольких компьютерных носителях информации (включая, но не ограничиваясь этим, дисковую память, CD-ROM, оптическую память и т.д.), содержащих компьютерно-используемый программный код.Those skilled in the art will understand that an embodiment of the embodiments of the present invention may be in the form of a method, system, or computer program product. Thus, an embodiment of the present invention may be taken in the form of a full hardware embodiment, a full software embodiment, or an embodiment combining software and hardware aspects. Moreover, an embodiment of the present invention may be taken in the form of a computer-usable software product implemented on one or more computer storage media (including, but not limited to, disk memory, CD-ROM, optical memory, etc.), containing computer-used program code.

Компьютерно-программные инструкции в варианте осуществления изобретения описаны в соответствии со схемой процесса и/или блок-схемой способа, аппарата (системы) и компьютерного программного продукта в варианте осуществления из вариантов осуществления настоящего изобретения. Следует понимать, что с помощью компьютерно-программных инструкций может осуществляться каждый процесс и/или блок из схемы процесса и/или блок-схемы и/или комбинация процессов и/или блоков из блоксхемы и/или блок-схемы. Эти компьютерно-программные инструкции могут быть предоставлены процессору компьютера общего назначения, специализированного компьютера, встроенного процессора или другого программируемого устройства обработки данных для создания машины таким образом, чтобы инструкции, выполняемые процессором компьютера или другого программируемого устройства обработки данных, создали устройство для реализации назначенных функций одного или нескольких процессов из схемы процесса и/или одной или нескольких блоков из блок-схемы.The computer program instructions in an embodiment of the invention are described in accordance with a process diagram and/or a flow diagram of a method, apparatus (system) and computer program product in an embodiment of embodiments of the present invention. It should be understood that each process and/or block from the process diagram and/or flowchart and/or a combination of processes and/or blocks from the flowchart and/or flowchart can be implemented using computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, a special purpose computer, an embedded processor, or other programmable data processing device to create a machine such that the instructions executed by the processor of the computer or other programmable data processing device create a device to implement the designated functions of one or several processes from a process diagram and/or one or more blocks from a flow diagram.

Эти компьютерно-программные инструкции также могут храниться в компьютерно-считываемойThese computer program instructions may also be stored in a computer readable

--

Claims (9)

памяти, способной вводить компьютер или другое программируемое устройство обработки данных в работу определенного режима, чтобы инструкции, хранящиеся в компьтерно-считываемой памяти, создали изделие с командным устройством, причем данное командное устройство реализует функцию одного или нескольких процессов блок процесса и/или одного или нескольких блоков из блок-схемы.memory capable of putting a computer or other programmable data processing device into operation in a specified mode such that instructions stored in the computer-readable memory create an article with a command device, wherein the command device implements the function of one or more processes, a process block and/or one or more blocks from the flowchart. Эти компьютерные программные инструкции также могут быть загружены в компьютер или другое программируемое устройство обработки данных таким образом, чтобы на компьютере или другом программируемом устройстве выполнялись ряд операционных шагов для создания реализуемого компьютерном обработки таким образом, чтобы инструкции, выполняемые на компьютере или другом программируемом устройстве, обеспечивали инструкции для реализации шагов назначенной функции одного или нескольких процессов из схемы процесса и/или одного или нескольких блоков из блок-схемы.These computer program instructions may also be loaded onto a computer or other programmable processing device such that a series of operational steps are performed on the computer or other programmable device to create computer implementable processing such that the instructions executed on the computer or other programmable device provide instructions for implementing the steps of an assigned function of one or more processes from a process diagram and/or one or more blocks from a flow diagram. Хотя были описаны предпочтительные варианты осуществления настоящего изобретения, дополнительные изменения и модификации этих вариантов могут быть сделаны специалистами в данной области после того, как основные изобретательские концепции станут известны. Поэтому прилагаемую формулу изобретения предполагается толковать как включающую предпочтительные варианты осуществления изобретения и все изменения и модификации, которые входят в объем вариантов осуществления настоящего изобретения.Although preferred embodiments of the present invention have been described, further changes and modifications to these embodiments may be made by those skilled in the art once the basic inventive concepts become known. Therefore, the appended claims are intended to be construed as including the preferred embodiments of the invention and all changes and modifications that come within the scope of the embodiments of the present invention. Очевидно, что специалисты в данной области техники могут вносить различные изменения и вариации в вариант осуществления из вариантов осуществления настоящего изобретения, не отходя от духа и объема вариантов осуществления в вариантах осуществления настоящего изобретения. Таким образом, если эти изменения и вариации относительно варианта осуществления из вариантов осуществления настоящего изобретения попадают в объем формулы изобретения вариантов осуществления настоящего изобретения и их технических эквивалентов, предполагается, что варианты осуществления настоящего изобретения также включают эти изменения и вариации.It will be appreciated that those skilled in the art may make various changes and variations to an embodiment of the embodiments of the present invention without departing from the spirit and scope of the embodiments in the embodiments of the present invention. Thus, if these changes and variations with respect to an embodiment of the embodiments of the present invention come within the scope of the claims of the embodiments of the present invention and their technical equivalents, it is intended that the embodiments of the present invention also include these changes and variations. ФОРМУЛА ИЗОБРЕТЕНИЯCLAIM 1. Способ обработки данных для получения трехмерных океанических значений в реальном времени, характеризующийся тем, что указанный способ включает разделение Земли на географические области в меридиональном, зональном и вертикальном направлениях в соответствии с заданным пространственным разрешением и получение трехмерной сеточной структуры, соответствующей указанному земному пространству, и информации сеточной соответствующей структуры; указанная сеточная информация включает географическую область, к которой принадлежит сетка, и областные данные в пределах указанной географической области, при этом данные из областных данных являются оперативными данными в пределах соответствующей географической области;1. A method of processing data to obtain three-dimensional ocean values in real time, characterized in that the said method includes dividing the Earth into geographical areas in the meridional, zonal and vertical directions in accordance with a given spatial resolution and obtaining a three-dimensional grid structure corresponding to the specified earth space, and information about the corresponding grid structure; said grid information includes the geographic area to which the grid belongs and regional data within said geographic area, wherein the data from the regional data is operational data within the corresponding geographic area; разделение сеток в указанной сеточной структуре, на сеточной плоскости, соответствующей меридиональному и зональному направлениям в указанной сеточной структуре, в соответствии со сконфигурированным количеством вычислительных узлов, и получение подсеточной структуры после разделения, соответствующей каждому вычислительному узлу, и областные данные, относящиеся к соответствующей структуре;dividing grids in said grid structure, on a grid plane corresponding to the meridional and zonal directions in said grid structure, in accordance with the configured number of computing nodes, and obtaining a subgrid structure after division corresponding to each computing node, and area data related to the corresponding structure; относительно каждого вычислительного узла, на основе заданной стратегии разделения, осуществление разделения сеток в указанной подсеточной структуре в первом направлении или указанном вертикальном направлении и получение вторичной подсеточной структуры после разделения и областных данных, относящихся к соответствующей структуре; и распределение областных данных, соответствующих указанной вторичной подсеточной структуре, на главный вычислительный блок указанного вычислительного узла; указанным первым направлением является указанное зональное направление или указанное вертикальное направление; указанная вторичная подсеточная структура включает в себя вторичную подсеточную структуру, соответствующую указанному главному вычислительному блоку, и вторичную подсеточную структуру, соответствующую по меньшей мере одному вычислительному подблоку указанного вычислительного узла;with respect to each computing node, based on a predetermined partitioning strategy, performing partitioning of grids in said subgrid structure in a first direction or said vertical direction and obtaining a secondary subgrid structure after partitioning and area data related to the corresponding structure; and distributing regional data corresponding to said secondary subgrid structure to a main computing unit of said computing node; said first direction is said zonal direction or said vertical direction; said secondary subgrid structure includes a secondary subgrid structure corresponding to said main computing unit and a secondary subgrid structure corresponding to at least one computing subunit of said computing node; на основе указанной заданной стратегии распределения, управление указанным главным вычислительным блоком для распределения областных данных, соответствующих второстепенной вторичной подсеточной структуре, по меньшей мере на один указанный вычислительный подблок для того, чтобы указанный главный вычислительный блок и по меньшей мере один указанный вычислительный подблок, основываясь на оперативных требованиях, выполнили вычисления оперативных данных из распределенных областных данных; причем указанная второстепенная вторичная подсеточная структура получена путем разделения сеток во вторичной подсеточной структуре, соответствующей по меньшей мере одному указанному вычислительному подблоку, указанным главным вычислительным блоком на сеточной плоскости, соответствующей указанным вторым направлении и указанным вертикальным направлением, причем указанным вторым направлением является указанное зональное направление или указанное меридиональное направление.based on said predetermined allocation strategy, controlling said main computing unit to distribute the area data corresponding to the minor secondary subgrid structure to at least one said computing subunit so that said main computing unit and at least one said computing subunit, based on operational requirements, performed calculations of operational data from distributed regional data; wherein said secondary secondary subgrid structure is obtained by dividing grids in a secondary subgrid structure corresponding to at least one said computing subunit by said main computing unit on a grid plane corresponding to said second direction and said vertical direction, wherein said second direction is said zonal direction or the indicated meridional direction. 2. Способ по п.1, характеризующийся тем, что управляют главным вычислительным блоком ука-2. The method according to claim 1, characterized in that the main computing unit is controlled - 15 043837 занного вычислительного узла для распределения областных данных второстепенной вторичной подсеточной структуры по меньшей мере на один вычислительный подблок указанного вычислительного узла, включая:- 15 043837 of a specified computing node for distributing regional data of a secondary secondary subgrid structure to at least one computing subunit of the specified computing node, including: относительно каждого вычислительного подблока, управление главным вычислительным блоком указанного вычислительного узла для разделения сеток в указанной второстепенной вторичной подсеточной структуре в третьем направлении в соответствии с количеством целевых блоков обработки в указанном вычислительном подблоке, получение обрабатываемой сеточной структуры, соответствующей каждому целевому блоку обработки, и областных данных, относящихся к соответствующей структуре, и распределение областных данных, соответствующих указанной обрабатываемой сеточной структуре, на указанный целевой блок обработки для того, чтобы указанный целевой блок обработки выполнил вычисление областных данных, соответствующих указанной обрабатываемой сеточной структуре; указанным целевым блоком обработки является блок обработки с функцией набора векторизованных команд, соответствующей типу данных указанных областных данных.relative to each computing sub-unit, controlling the main computing unit of said computing node to partition the grids in said secondary secondary sub-grid structure in a third direction according to the number of target processing units in said computing sub-unit, obtaining a processed grid structure corresponding to each target processing unit and area data related to the corresponding structure, and distributing area data corresponding to the specified processed grid structure to the specified target processing unit so that the specified target processing unit performs calculation of the area data corresponding to the specified processed grid structure; said target processing unit is a processing unit with a vectorized instruction set function corresponding to the data type of said area data. 3. Способ по п.1, характеризующийся тем, что главный вычислительный блок указанного вычислительного узла обменивается данными с главным вычислительным блоком в других вычислительных узлах, отличных от указанного вычислительного узла, используя сконфигурированный интерфейс передачи информации, при этом указанный способ дополнительно включает в себя:3. The method according to claim 1, characterized in that the main computing unit of the specified computing node communicates with the main computing unit in other computing nodes other than the specified computing node using a configured communication interface, wherein the method further includes: передачу областных данных целевой сетки, передаваемых главным вычислительным блоком в других вычислительных узлах, на главный вычислительный блок указанного вычислительного узла; указанная целевая сетка представляет собой сетку, в которой существует перекрытие географических областей с сеткой, соответствующей областным данным, которые распределены на указанный вычислительный узел;transmitting regional data of the target grid transmitted by the main computing unit in other computing nodes to the main computing unit of the specified computing node; said target grid is a grid in which there is an overlap of geographic areas with a grid corresponding to area data that is distributed to said computing node; распределение областных данных, соответствующих указанной подсеточной структуре, на главный вычислительный блок указанного вычислительного узла, включая распределение областных данных указанной подсеточной структуры и областных данных целевой сетки, передаваемых главным вычислительным блоком указанного другого вычислительного узла, на главный вычислительный блок указанного вычислительного узла.distributing area data corresponding to said subgrid structure to a main computing unit of said computing node, including distributing area data of said subgrid structure and area data of a target grid transmitted by the main computing unit of said other computing node to the main computing unit of said computing node. 4. Способ по п.1, характеризующийся тем, что разделяют сетки в указанной сеточной структуре в соответствии со сконфигурированным количеством вычислительных узлов, на сеточной плоскости, соответствующей меридиональному и зональному направлениям в указанной сеточной структуре, получая подсеточную структуру после разделения, соответствующую каждому вычислительному узлу, и областных данных, относящихся к соответствующей структуре, включая определение вычисляемых сеток в указанной сеточной структуре на основе вычисляемых требований;4. The method according to claim 1, characterized in that the grids in the specified grid structure are divided in accordance with the configured number of computing nodes, on a grid plane corresponding to the meridional and zonal directions in the specified grid structure, obtaining a subgrid structure after the division corresponding to each computing node , and area data related to the corresponding structure, including the definition of calculated grids in the specified grid structure based on the calculated requirements; ровное разделение вычисляемых сеток в указанной сеточной структуре в соответствии со сконфигурированным количеством вычислительных узлов, на сеточной плоскости, соответствующей меридиональному и зональному направлениям в указанной сеточной структуре, и получение набора вычисляемых сеток, соответствующего каждому указанному вычислительному узлу;evenly dividing the computational grids in said grid structure in accordance with the configured number of computational nodes, on a grid plane corresponding to the meridional and zonal directions in the specified grid structure, and obtaining a set of computational grids corresponding to each specified computational node; произвольное разделение невычисляемых сеток в указанной сеточной структуре, на сеточной плоскости, соответствующей меридиональному и зональному направлениям, и получение набора сеток, соответствующего указанным невычисляемым сеткам;arbitrarily dividing non-calculated grids in the specified grid structure, on a grid plane corresponding to the meridional and zonal directions, and obtaining a set of grids corresponding to the specified non-calculating grids; на основе набора вычисляемых сеток, соответствующего каждому указанному вычислительному узлу, и набора сеток, соответствующего указанным невычисляемым сеткам, определение подсеточной структуры после разделения, соответствующей каждому указанному вычислительному узлу, и областных данных соответствующей структуры.based on the set of computed grids corresponding to each specified computational node, and the set of grids corresponding to the specified non-computable grids, determining the subgrid structure after partitioning corresponding to each specified computational node, and the area data of the corresponding structure. 5. Способ по п.4, характеризующийся тем, что сеточная информация дополнительно включает областной тип географической области, к которой принадлежит указанная сетка, причем указанный областной тип включает тип океана;5. The method according to claim 4, characterized in that the grid information further includes an area type of the geographic area to which the specified grid belongs, and the specified area type includes an ocean type; если указанными оперативными вычислительными требованиями являются вычислительные требования целевой переменной в модели циркуляции океана, то определяют вычисляемые сетки в указанной сеточной структуре на основе вычислительных требований, включая получение областного типа, соответствующего каждой сетке в указанной сеточной структуре;if said operational computational requirements are the computational requirements of a target variable in an ocean circulation model, then determining computational grids in said grid structure based on the computational requirements, including obtaining a domain type corresponding to each grid in said grid structure; определение сеток, указанным областным типом которой является указанный тип океана, как вычисляемую сетку.defining grids whose specified area type is the specified ocean type as a computed grid. 6. Способ по п.1, характеризующийся тем, что обмен данными между указанным главным вычислительным блоком и указанным по меньшей мере одним вычислительным подблоком осуществляется с использованием прямого доступа к памяти.6. The method according to claim 1, characterized in that data exchange between said main computing unit and said at least one computing subunit is carried out using direct memory access. 7. Способ по п.1 или 2, характеризующийся тем, что на основе указанной заданной стратегии распределения управляют указанным главным вычислительным блоком для распределения областных данных, соответствующих второстепенной вторичной подсеточной структуре, по меньшей мере на один указанный вычислительный подблок, включая, на основе заданной стратегии двумерного разделения второго направления и указанного вертикального направления, управление указанным главным вычислительным блоком для разделения сеток во вторичной подсеточной структуре, соответствующей по меньшей мере одному указанному вычислительному подблоку, на сеточной плоскости, соответствующей7. The method according to claim 1 or 2, characterized in that, on the basis of the specified specified distribution strategy, the specified main computing unit is controlled to distribute the area data corresponding to the minor secondary subgrid structure to at least one specified computing subunit, including, based on the specified strategies for two-dimensional separation of the second direction and the specified vertical direction, controlling the specified main computing unit for separating the grids in a secondary subgrid structure corresponding to at least one specified computing subunit, on a grid plane corresponding - 16 043837 указанному второму направлению и указанному вертикальному направлению, и получение указанной второстепенной вторичной подсеточной структуры и областные данные, относящиеся к соответствующей структуре, для распределения областных данных, соответствующих второстепенной вторичной подсеточной структуре после разделения, указанным главным вычислительным блоком, по меньшей мере на один указанный вычислительный подблок.- 16 043837 to the specified second direction and the specified vertical direction, and obtaining the specified minor secondary subgrid structure and the area data related to the corresponding structure, for distributing the area data corresponding to the minor secondary subgrid structure after dividing, the specified main computing unit, into at least one specified computing subunit. 8. Устройство для обработки данных для получения трехмерных океанических значений в реальном времени, характеризующееся тем, что устройство включает в себя блок областного разделения, который выполнен с возможностью его применения для разделения Земли на географические области в меридиональном, зональном и вертикальном направлениях в соответствии с заданным пространственным разрешением, и получения трехмерной сеточной структуры, соответствующей указанному земному пространству, и сеточной информации соответствующей структуры; указанная информация сеточной включает географическую область, к которой принадлежит сетка, и областные данные в пределах указанной географической области, при этом данные из областных данных являются оперативными данными в пределах соответствующей географической области;8. A device for processing data to obtain three-dimensional ocean values in real time, characterized in that the device includes a regional division unit, which is configured to be used to divide the Earth into geographical areas in the meridional, zonal and vertical directions in accordance with a given spatial resolution, and obtaining a three-dimensional grid structure corresponding to the specified earth space, and grid information of the corresponding structure; said grid information includes the geographic area to which the grid belongs and regional data within said geographic area, wherein the data from the regional data is operational data within the corresponding geographic area; блок сеточного разделения, который выполнен с возможностью его применения для разделения сеток в указанной структуре в соответствии со сконфигурированным количеством вычислительных узлов, на сеточной плоскости, соответствующей меридиональному и зональному направлениям в указанной сеточной структуре, и получения подсеточной структуры, соответствующей каждому вычислительному узлу после разделения, и областных данных, относящихся к соответствующей структуре;a grid division unit, which is configured to be used for dividing the grids in the specified structure in accordance with the configured number of computing nodes, on a grid plane corresponding to the meridional and zonal directions in the specified grid structure, and obtaining a subgrid structure corresponding to each computing node after the division, and regional data related to the relevant structure; и, относительно каждого вычислительного узла, на основе заданной стратегии разделения, разделение сеток в указанной подсеточной структуре в первом направлении или в указанном вертикальном направлении и получение вторичной подсеточной структуры после разделения, соответствующей главному вычислительному блоку в указанном вычислительном узле, и областных данных, относящихся к соответствующей структуре;and, with respect to each computing node, based on a predetermined partitioning strategy, dividing the grids in said subgrid structure in a first direction or in said vertical direction and obtaining a secondary subgrid structure after the partition corresponding to the main computing unit in said computing node, and area data related to appropriate structure; блок распределения данных, который выполнен с возможностью его применения для распределения областных данных, соответствующих указанной вторичной подсеточной структуре, на главный вычислительный блок соответствующего вычислительного узла; указанное первым направлением является указанное зональное направление или указанное вертикальное направление; указанная вторичная подсеточная структура включает в себя вторичную подсеточную структуру, соответствующую указанному главному вычислительному блоку, и вторичную подсеточную структуру, соответствующую по меньшей мере одному вычислительному подблоку указанного вычислительного узла;a data distribution unit, which is configured to be used for distributing regional data corresponding to the specified secondary subgrid structure to the main computing unit of the corresponding computing node; said first direction is said zonal direction or said vertical direction; said secondary subgrid structure includes a secondary subgrid structure corresponding to said main computing unit and a secondary subgrid structure corresponding to at least one computing subunit of said computing node; блок управления, который на основе указанной заданной стратегии распределения, выполнен с возможностью его применения для управления указанным главным вычислительным устройством для распределения областных данных, соответствующих второстепенной вторичной подсеточной структуре, по меньшей мере на один указанный вычислительный подблок для того, чтобы указанный главный вычислительный блок и по меньшей мере один указанный вычислительный подблок, основываясь на оперативных требованиях, выполнили вычисление оперативных данных из распределенных областных данных; причем указанная второстепенная вторичная подсеточная структура получена путем разделения сеток во вторичной подсеточной структуре, соответствующей по меньшей мере одному указанному вычислительному подблоку, указанным главным вычислительным блоком, на сеточной плоскости, соответствующей указанному второму направлению и указанному вертикальному направлению, причем указанным вторым направлением является указанное зональное направление или указанное меридиональное направление.a control unit which, based on said predetermined distribution strategy, is configured to be used to control said main computing device to distribute area data corresponding to the minor secondary sub-grid structure to at least one said computing sub-unit so that said main computing unit and at least one specified computing subunit, based on operational requirements, performed the calculation of operational data from the distributed area data; wherein said secondary secondary sub-grid structure is obtained by dividing grids in a secondary sub-grid structure corresponding to at least one said computing sub-unit, said main computing unit, on a grid plane corresponding to said second direction and said vertical direction, wherein said second direction is said zonal direction or the specified meridional direction. 9. Электронное устройство, характеризующееся тем, что указанное электронное устройство включает в себя процессор, интерфейс связи, память и шину связи, при этом связь между процессором, интерфейсом связи и памятью осуществляется через шину связи;9. An electronic device, characterized in that said electronic device includes a processor, a communication interface, a memory and a communication bus, wherein communication between the processor, the communication interface and the memory is effected through the communication bus; память обеспечивает возможность ее использования для хранения компьютерных программ;memory provides the ability to use it to store computer programs; процессор выполнен с возможностью его использования для осуществления любого этапа способа по любому из пп.1-7 при выполнении программы, хранящейся в памяти.the processor is configured to be used to implement any step of the method according to any one of claims 1 to 7 when executing a program stored in memory. --
EA202291273 2021-10-28 2022-05-20 METHOD, DEVICE AND ELECTRONIC EQUIPMENT FOR DATA PROCESSING EA043837B1 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111258886.6 2021-10-28

Publications (1)

Publication Number Publication Date
EA043837B1 true EA043837B1 (en) 2023-06-29

Family

ID=

Similar Documents

Publication Publication Date Title
Le Cam A stochastic description of precipitation
US20230140242A1 (en) Data processing method and apparatus and electronic device
CN108334660B (en) Water-sand prediction method and system of strong alluvial river based on data assimilation
US20170338802A1 (en) Actually-measured marine environment data assimilation method based on sequence recursive filtering three-dimensional variation
CN103092572A (en) Parallelization method of distributed hydrological simulation under cluster environment
Yuan et al. FUNWAVE‐GPU: Multiple‐GPU acceleration of a Boussinesq‐type wave model
CN110135069A (en) Sediment characteristics acquisition methods when water-conveyance tunnel water delivery, device, computer equipment
Jacobsen Mass conservation in computational morphodynamics: uniform sediment and infinite availability
CN112948123B (en) Spark-based grid hydrological model distributed computing method
CN110990926A (en) Urban surface building hydrodynamic simulation method based on area correction rate
CN111368397B (en) Method and device for predicting waterlogging risk
Ginting et al. Parallel simulations of shallow water solvers for modelling overland flows
EA043837B1 (en) METHOD, DEVICE AND ELECTRONIC EQUIPMENT FOR DATA PROCESSING
Gu et al. Optimizing operation rules of sluices in river networks based on knowledge-driven and data-driven mechanism
Zhao et al. High efficient parallel numerical surface wave model based on an irregular quasi-rectangular domain decomposition scheme
Ginting et al. Hybrid-parallel simulations and visualisations of real flood and tsunami events using unstructured meshes on high-performance cluster systems
Yoshida et al. CONeP: A cost-effective online nesting procedure for regional atmospheric models
Wang et al. A non-uniform grid approach for high-resolution flood inundation simulation based on GPUs
Gergeľová et al. Hydrodynamic modeling and GIS tools applied in urban areas.
Ma et al. A high-precision hydrodynamic model coupled with the hydrological habitat suitability model to reveal estuarine vegetation distribution
CN111400932B (en) Method and device for generating grid in water environment simulation, storage medium and terminal
Fang et al. A GPU accelerated Boussinesq-type model for coastal waves
Ando et al. A model of computing with road traffic dynamics
Luong et al. Application of multiblock grid and dual-level parallelism in coastal ocean circulation modeling
Delmas et al. Multi-GPU implementation of a time-explicit finite volume solver for the Shallow-Water Equations using CUDA and a CUDA-Aware version of OpenMPI