RU2542925C1 - Method of self-organisation of distributed multiprocessor system - Google Patents

Method of self-organisation of distributed multiprocessor system Download PDF

Info

Publication number
RU2542925C1
RU2542925C1 RU2013153641/08A RU2013153641A RU2542925C1 RU 2542925 C1 RU2542925 C1 RU 2542925C1 RU 2013153641/08 A RU2013153641/08 A RU 2013153641/08A RU 2013153641 A RU2013153641 A RU 2013153641A RU 2542925 C1 RU2542925 C1 RU 2542925C1
Authority
RU
Russia
Prior art keywords
elements
self
organization
functional
optimal
Prior art date
Application number
RU2013153641/08A
Other languages
Russian (ru)
Inventor
Андрей Валерьевич Кочетков
Михаил Степанович Куприянов
Original Assignee
Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Санкт-Петербургский государственный электротехнический университет "ЛЭТИ" им. В.И. Ульянова (Ленина)"
Открытое акционерное общество "Концерн "Океанприбор"
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Санкт-Петербургский государственный электротехнический университет "ЛЭТИ" им. В.И. Ульянова (Ленина)", Открытое акционерное общество "Концерн "Океанприбор" filed Critical Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Санкт-Петербургский государственный электротехнический университет "ЛЭТИ" им. В.И. Ульянова (Ленина)"
Priority to RU2013153641/08A priority Critical patent/RU2542925C1/en
Application granted granted Critical
Publication of RU2542925C1 publication Critical patent/RU2542925C1/en

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

FIELD: information technologies.
SUBSTANCE: one processor element is identified within a system, and its objectives include tracking and control of system efficiency level, a set of parameters of all elements of the system is identified, which relate to assessment of efficiency, on the basis of which they build a mathematical model for assessment of the efficiency value of the distributed multiprocessor system in the form of target functionality of the system, in process of system functioning they receive data on the functionality value, if the functionality fails to reach the specified minimum permissible threshold value, the system characteristics are changed. To change characteristics of the system, they first start the mechanism of parametric self-organisation, in process of which they tune values of parameters of the system elements within specified limits on the basis of the method of cyclic coordinate-wise descent, then, if the minimum permissible threshold value of the target functionality is not achieved by means of parameters tuning, the mechanism of functional self-organisation of the system is started, in process of which they select optimal functions for elements of the system from multiple functions implemented by elements, and then, if the minimum permissible threshold value of the target functionality is not achieved by variation of functions of elements, the system structure is changed, first selecting optimal types of elements, then reconfiguring the system, by determination of optimal location of elements in the topology without variation of their quantitative composition, and finally adding elements of optimal types to optimal location.
EFFECT: increased efficiency of a distributed multiprocessor system.
4 dwg, 1 tbl

Description

Изобретение относится к распределенным многопроцессорным системам и может быть использовано для оценки и увеличения производительности такого рода систем.The invention relates to distributed multiprocessor systems and can be used to evaluate and increase the productivity of such systems.

Под распределенными многопроцессорными системами будем понимать в дальнейшем техническую систему, состоящую из множества процессорных элементов, взаимодействующих между собой посредством каналов связи, и выполняющую определенные задачи. Примерами таких систем могут являться многоядерный сервер обработки и хранения информации, локальная сеть, виртуальные сети, обмен информацией в которых производится через глобальную сеть, и др.By distributed multiprocessor systems we will hereinafter mean a technical system consisting of many processor elements interacting with each other via communication channels and performing certain tasks. Examples of such systems can be a multi-core server for processing and storing information, a local network, virtual networks in which information is exchanged through the global network, etc.

Оценка качества функционирования является одной из важнейших характеристик распределенной многопроцессорной системы, позволяющей сделать выводы о ее производительности и способности к решению поставленных перед ней задач. Кроме того, необходимо иметь методы и средства, позволяющие увеличивать производительность такого рода систем.Evaluation of the quality of functioning is one of the most important characteristics of a distributed multiprocessor system, which allows us to draw conclusions about its performance and ability to solve its tasks. In addition, you must have methods and tools to increase the productivity of such systems.

Известен способ оценки и увеличения производительности распределенной многопроцессорной системы (Фиг.1) заключающийся в том, что, анализируя функционирование системы, выделяют несколько параметров, имеющих отношение к комплексной оценке функционирования системы, строят математическую модель системы в виде нейронной сети с минимум одним скрытым слоем нейронов (2). Далее для получения оценки производительности системы на вход сети (1) подают входной вектор значений параметров, а на выходе (3) получают искомую оценку в виде набора выходных параметров. В случае неудовлетворения оценкой качества функционирования системы, нейронная сеть подстраивает весовые коэффициенты (4), (5) в слоях с помощью известных алгоритмов обратного распространения, для того, чтобы выйти на необходимые выходные значения. В дальнейшем подобранные оптимальные значения весов используют в реальной системе как параметры элементов. Недостаток способа заключается в необходимости проведения огромной подготовительной работы по созданию на основе реальной системы ее модели в виде нейронной сети. В случае динамических сред, где число и связи между элементами меняются, в ряде случаев построение единой нейронной модели просто невозможно. Кроме того, в данном способе не анализируются функции системы и ее структура (Pub. № US 2006/0262726 A1 United States, Int. C1. H04L 12/26. Само-изменяющаяся распределенная система / Lieuallen B.R., Samuel G.A., Norton N., Singhal S.K., Manion T.R. - Field 28.04.2006. - Pub date 23.11.2006. - Appl. № 11/413538. - 14 p.).A known method for evaluating and increasing the performance of a distributed multiprocessor system (Figure 1) is that, analyzing the functioning of the system, select several parameters related to the integrated assessment of the functioning of the system, build a mathematical model of the system in the form of a neural network with at least one hidden layer of neurons (2). Further, to obtain an estimate of the system performance, an input vector of parameter values is supplied to the input of the network (1), and at the output (3), the desired estimate is obtained in the form of a set of output parameters. In case of dissatisfaction with the assessment of the quality of the system’s functioning, the neural network adjusts the weighting coefficients (4), (5) in the layers using well-known backpropagation algorithms in order to reach the required output values. In the future, the selected optimal values of the weights are used in the real system as element parameters. The disadvantage of this method is the need for a huge preparatory work to create on the basis of a real system its model in the form of a neural network. In the case of dynamic media, where the number and connections between elements change, in some cases, the construction of a single neural model is simply impossible. In addition, this method does not analyze the functions of the system and its structure (Pub. No. US 2006/0262726 A1 United States, Int. C1. H04L 12/26. Self-changing distributed system / Lieuallen BR, Samuel GA, Norton N., Singhal SK, Manion TR - Field 04/28/2006. - Pub date 11/23/2006. - Appl. No. 11/413538. - 14 p.).

Прототипом заявляемого изобретения является способ оценки и увеличения производительности распределенной многопроцессорной системы (Pub. № US 7913006 B2 United States, Int. C1. G06F 13/00, G06F 9/00, G06F 15/177, G06F 1/24. Самоорганизующаяся параллельная вычислительная система / Hamaoka Y., Ishibashi К., Hayashi H. - Field 06.03.2009. - Pub date 22.03.2011. - Appl. № 12/399, 220. - 25 p.). Функциональная схема системы, реализующей способ, показана на Фиг.2. Способ заключается в том, что в составе системы (12) выделяют один процессорный элемент - главный процессорный элемент (13) - в задачи которого входит отслеживание и управление уровнем производительности системы, определяют набор параметров всех элементов системы (14, 15, 16), имеющих отношение к оценке производительности, на основе которых строят математическую модель для оценки значения производительности распределенной многопроцессорной системы в виде целевого функционала системы, в процессе функционирования системы получают данные о значении функционала в блоке вычисления производительности (9), в случае недостижения функционалом заданного минимально допустимого порогового значения, производят изменение характеристик системы. Изменение характеристик системы производится за счет запуска механизмов самоорганизации, в соответствии с которым все процессорные элементы системы ПЭ1, ПЭ2…ПЭп (14, 15, 16) принадлежат к одному из типов процессных элементов T1, T2…Tm. Тип элемента строго определяет выполняемую элементом функцию. Для улучшения производительности системы на основании выбранного пользователем метода из базы данных методов выбора изменений структуры системы (7) производится определение оптимальной пропорции присутствия элементов типа Ti в системе в блоке определения оптимальных типов (10). Например, если в системе присутствуют 6 элементов (n=6), принадлежащих к одному из 3 типов (m=3), сформированная пропорция может иметь вид 2:1:0, что означает, что система рекомендует изменить структуру таким образом, чтобы в ней было 4 элемента первого типа, 2 - второго и отсутствовали бы третьего. Полученная оптимальная пропорция далее поступает на блок, отвечающий за выработку сигналов на изменение типов элементов (11) и система в зависимости от конкретного применения и исполнения меняет типы некоторых элементов. Описанные действия повторяются циклически или могут быть вызваны различными прерываниями, отражающими изменения состава элементов системы. Кроме того, на основании одного или нескольких критериев оценки производительности системы, хранящихся в базе данных пользовательских предпочтений (6), может быть выбрана другая модель для оценки производительности. В этом случае целевой функционал системы изменяют в соответствии с новой выбранной моделью. Недостатками способа являются низкая масштабируемость в случае присутствия в системе большого числа элементов с большим набором различных типов элементов, отсутствие детальных рекомендаций в общем случае по нахождению оптимальной пропорции, а также присутствие в системе только одного типа самоорганизации - самоорганизации типов элементов - для увеличения ее производительности.The prototype of the claimed invention is a method for evaluating and increasing the performance of a distributed multiprocessor system (Pub. No. US 7913006 B2 United States, Int. C1. G06F 13/00, G06F 9/00, G06F 15/177, G06F 1/24. Self-organizing parallel computing system / Hamaoka Y., Ishibashi K., Hayashi H. - Field 03/06/2009. - Pub date 03/22/2011. - Appl. No. 12/399, 220. - 25 p.). A functional diagram of a system implementing the method is shown in FIG. 2. The method consists in the fact that as part of the system (12) there is one processor element - the main processor element (13) - the tasks of which include monitoring and controlling the level of system performance, determine a set of parameters of all elements of the system (14, 15, 16) that have attitude to performance assessment, on the basis of which a mathematical model is built to assess the performance value of a distributed multiprocessor system in the form of the target functional of the system, in the process of functioning of the system, data on enii functional in performance calculation portion (9), in case no functional predetermined minimum threshold value, produce a change in the system characteristics. Changing the characteristics of the system is due to the launch of self-organization mechanisms, according to which all processor elements of the system PE1, PE2 ... PEP (14, 15, 16) belong to one of the types of process elements T1, T2 ... Tm. The type of element strictly defines the function performed by the element. To improve system performance, based on the method chosen by the user from the database of methods for selecting changes in the structure of the system (7), the optimal proportion of the presence of elements of the type Ti in the system is determined in the block for determining the optimal types (10). For example, if there are 6 elements in the system (n = 6) that belong to one of 3 types (m = 3), the formed proportion can be 2: 1: 0, which means that the system recommends changing the structure so that it had 4 elements of the first type, 2 - of the second and the third would be absent. The resulting optimal proportion then goes to the unit responsible for generating signals for changing the types of elements (11) and the system changes the types of some elements depending on the specific application and execution. The described actions are repeated cyclically or can be caused by various interruptions, reflecting changes in the composition of the system elements. In addition, based on one or more criteria for evaluating system performance stored in the user preferences database (6), another model for evaluating performance can be selected. In this case, the target functionality of the system is changed in accordance with the newly selected model. The disadvantages of the method are low scalability in the case of the presence of a large number of elements with a large set of different types of elements, the absence of detailed recommendations in the general case for finding the optimal proportion, and the presence in the system of only one type of self-organization - self-organization of element types - to increase its productivity.

Технический результат заключается в увеличении производительности распределенной многопроцессорной системы.The technical result is to increase the performance of a distributed multiprocessor system.

Для получения указанного технического результата в способе самоорганизации распределенной многопроцессорной системы выделяют один процессорный элемент, в задачи которого входит отслеживание и управление уровнем производительности системы, определяют набор параметров всех элементов системы, имеющих отношение к оценке производительности, на основе которых строят математическую модель для оценки значения производительности распределенной многопроцессорной системы в виде целевого функционала системы, в процессе функционирования системы получают данные о значении функционала, в случае недостижения функционалом заданного минимально допустимого порогового значения производят изменение характеристик системы, для изменения характеристик системы первоначально запускают механизм параметрической самоорганизации, в ходе которого подстраивают значения параметров элементов системы в заданных пределах на основе метода циклического покоординатного спуска, затем, в случае недостижения минимально допустимого порогового значения целевого функционала путем подстройки параметров, запускают механизм функциональной самоорганизации системы, в ходе которой выбирают оптимальные функции для элементов системы из множества реализуемых элементами функций, и затем, в случае недостижения минимально допустимого порогового значения целевого функционала путем изменения функций элементов, изменяют структуру системы, подбирая сначала оптимальные типы элементов, затем реконфигурируя систему, путем определения оптимального местоположения элементов в топологии без изменения их количественного состава, и, наконец, добавляя элементы оптимальных типов в оптимальное местоположение.To obtain the indicated technical result, one processor element is allocated in the method of self-organization of a distributed multiprocessor system, the tasks of which include monitoring and controlling the level of system performance, determine the set of parameters of all system elements related to performance evaluation, on the basis of which a mathematical model is built to evaluate the performance value distributed multiprocessor system in the form of the target functional of the system, in the process of functioning with The systems receive data on the value of the functional, if the functional does not reach the specified minimum acceptable threshold value, the system characteristics are changed, to change the characteristics of the system, the parametric self-organization mechanism is initially launched, during which the parameter values of the system elements are adjusted within the specified limits based on the cyclic coordinatewise descent method, then , in case of failure to achieve the minimum acceptable threshold value of the target functional by tuning parameters, they start the mechanism of functional self-organization of the system, during which the optimal functions for the system elements are selected from the set of functions realized by the elements, and then, if the minimum acceptable threshold value of the target functional is not achieved by changing the functions of the elements, they change the structure of the system, selecting first the optimal types of elements, then reconfiguring the system by determining the optimal location of elements in the topology without changing their quantitative composition, and q, adding elements of optimal types of optimum location.

На Фиг.3 представлен пример структурной схемы распределенной многопроцессорной системы в виде дерева, вершины которого соответствуют процессорным элементам, а дуги - связям, по которым происходит передача управляющих сигналов и данных. Элементы нижних уровней соответствуют элементарным объектам (ЭО) распределенной многопроцессорной системы (20, 21, 22, 24, 25), которые функционируют по некоторому алгоритму, выполняя некоторую полезную функцию. В качестве элементарного объекта может выступать процессор в многопроцессорной системе, компьютер в составе локальной или глобальной сети, различные автономные устройства и т.д. Элементы-посредники (ЭП) (18, 19, 23) являются элементами более высоких уровней и обобщают полученные результаты функционирования элементов нижних уровней по заранее известному алгоритму, реализуя некоторую функцию сверткиFigure 3 presents an example of a structural diagram of a distributed multiprocessor system in the form of a tree, the vertices of which correspond to processor elements, and arcs - to the connections through which control signals and data are transmitted. Elements of the lower levels correspond to elementary objects (EO) of a distributed multiprocessor system (20, 21, 22, 24, 25), which operate according to some algorithm, performing some useful function. An elementary object can be a processor in a multiprocessor system, a computer as part of a local or global network, various autonomous devices, etc. Intermediate elements (EPs) (18, 19, 23) are elements of higher levels and generalize the obtained results of the functioning of elements of lower levels according to a previously known algorithm, realizing some convolution function

µ=f(el1, el2, …, elp),µ = f (elone, el2, ... elp),

где eli - результат работы элемента i, управляемого текущим ЭП, p - общее число подключенных элементов нижнего уровня к текущему ЭП, f - некоторый оператор (например, оператор сложения), и передают результаты вычисления оценки производительности элементу вышележащего уровня.where el i is the result of the operation of the element i controlled by the current ES, p is the total number of connected lower-level elements to the current ES, f is some operator (for example, the addition operator), and the results of the calculation of the performance estimate are transmitted to the element of the higher level.

Корень дерева (17) формирует значение целевого функционала J для оценки производительности всей системы исходя из полученной информации от элементов первого уровня иерархии и в случае неудовлетворения оценкой корректирует работу системы на основе механизмов самоорганизации.The root of the tree (17) forms the value of the target functional J for evaluating the performance of the entire system based on the information received from the elements of the first hierarchy level and, in case of unsatisfaction with the assessment, corrects the system based on self-organization mechanisms.

В случае если для оценки производительности системы необходимо использовать несколько критериев, то для формирования математической модели целевого функционала J используют известные методы: метод главного критерия, метод линейной свертки частных критериев в один и др.If it is necessary to use several criteria to evaluate system performance, then known methods are used to formulate the mathematical model of the target functional J: the main criterion method, the method of linear convolution of particular criteria into one, etc.

После того как в корне системы задана функция для оценки общей производительности системы, в некоторые моменты времени производят ее замеры Jt и сравнение с некоторым пороговым минимально допустимым значением Jmin. Если Jt≥Jmin, то считают, что производительность системы находится на приемлемом уровне, никаких действий предпринимать не следует. Иначе, для увеличения производительности системы запускают механизмы самоорганизации в системе. Начинают с параметрической самоорганизации, в ходе которой увеличение производительности может быть достигнуто подстройкой некоторых параметров элементов системы. Если после подстройки параметров удается достичь выполнения неравенства Jt≥Jmin, считается, что параметрическая самоорганизация увенчалась успехом, система продолжает функционировать с новыми значениями параметров. Иначе, в случае невозможности подстройки параметров для выполнения неравенства, запускают механизм функциональной самоорганизации, в ходе которого увеличение производительности системы может быть достигнуто за счет изменения реализуемых элементами функций. После каждого изменения функции запускают механизм подбора параметров. В случае, если изменение функций и параметров приводит к выполнению неравенства Jt≥Jmin, считается, что функциональная самоорганизация увенчалась успехом, и система продолжает функционировать с новыми реализуемыми функциями и их параметрами. Иначе запускают механизм структурной самоорганизации, в ходе которой изменяют типы элементов в системе, их местоположение и количественный состав. Для каждого изменения структуры системы производят подбор функций элементов и их параметров. В случае, если изменением структуры системы удается достичь выполнения неравенства Jt≥Jmin, считается, что структурная самоорганизация увенчалась успехом, и система продолжает функционировать с новой структурой, реализуемыми функциями и их параметрами. Если и в процессе структурной самоорганизации не удается достичь выполнения неравенства Jt≥Jmin, делают вывод о невозможности достижения данной распределенной многопроцессорной системой требуемого уровня производительности. В случае наличия в корне системы блока, накапливающего результаты проведенных процессов самоорганизаций, эти результаты сначала анализируют и принимают более оптимальное решение о необходимости того или иного этапа самоорганизации. Например, может быть сделан вывод о нецелесообразности выполнения параметрической самоорганизации, в результате сразу переходят к изменению функций элементов системы, что ускоряет время выполнения способа.After a function is set in the root of the system to assess the overall performance of the system, at some points in time it is measured J t and compared with some threshold minimum acceptable value J min . If J t ≥J min , then it is believed that the system performance is at an acceptable level, no action should be taken. Otherwise, to increase the performance of the system, self-organization mechanisms are launched in the system. They start with parametric self-organization, during which an increase in productivity can be achieved by fine-tuning some parameters of the system elements. If after adjusting the parameters it is possible to achieve the fulfillment of the inequality J t ≥J min , it is believed that the parametric self-organization was successful, the system continues to function with the new values of the parameters. Otherwise, if it is impossible to adjust the parameters for inequality, the mechanism of functional self-organization is launched, during which an increase in system performance can be achieved by changing the functions implemented by the elements. After each change, the functions start the parameter selection mechanism. If the change in functions and parameters leads to the fulfillment of the inequality J t ≥J min , it is considered that the functional self-organization was successful, and the system continues to function with new implemented functions and their parameters. Otherwise, they start the mechanism of structural self-organization, during which they change the types of elements in the system, their location and quantitative composition. For each change in the structure of the system, the selection of the functions of the elements and their parameters is performed. If it is possible to achieve the fulfillment of the inequality J t ≥J min by changing the structure of the system, it is considered that structural self-organization was successful, and the system continues to function with a new structure, implemented functions and their parameters. If even in the process of structural self-organization it is not possible to achieve the fulfillment of the inequality J t ≥J min , they conclude that it is impossible to achieve the required performance level with this distributed multiprocessor system. If there is a block in the root of the system that accumulates the results of the conducted processes of self-organization, these results are first analyzed and make a more optimal decision about the need for a particular stage of self-organization. For example, it can be concluded that it is inadvisable to perform parametric self-organization, as a result, they immediately proceed to change the functions of the elements of the system, which speeds up the execution time of the method.

Далее детально рассматривается каждый из этапов самоорганизации для увеличения производительности распределенной многопроцессорной системы.Next, each of the stages of self-organization is examined in detail to increase the performance of a distributed multiprocessor system.

На первом этапе - этапе параметрической самоорганизации - первоначально определяют набор всех параметров, имеющих отношение к вычислению производительности системы. Производительность каждого элементарного объекта выражают некоторой функцией fk, зависящей от выбранного набора параметров. Природа параметров может быть принципиально различна. Это могут быть какие-либо его ресурсы, число операций в единицу времени, качество обработки данных и т.д. Функция может состоять из любой комбинации основных элементарных математических функций (sin, cos, ln и т.д.) и операций, кроме того, процессы в системе происходят в реальном времени, поэтому все функции являются также функциями времени.At the first stage - the stage of parametric self-organization - a set of all parameters related to the calculation of system performance is initially determined. The performance of each elementary object is expressed by some function f k depending on the selected set of parameters. The nature of the parameters can be fundamentally different. It can be any of its resources, the number of operations per unit time, the quality of data processing, etc. A function can consist of any combination of basic elementary mathematical functions (sin, cos, ln, etc.) and operations, in addition, processes in the system occur in real time, so all functions are also functions of time.

Реализация элементом функции производительности, в общем, всегда связана с наличием некоторых ограничений, налагаемых на ее параметры. Наиболее часто такие ограничения имеют вид:The implementation of a performance function by an element, in general, is always associated with the presence of certain restrictions imposed on its parameters. Most often, such restrictions are of the form:

ai≤xi≤bi,a i ≤x i ≤b i ,

где ai, bi∈R, хотя возможны и более сложные нелинейные ограничения. Для исключения указанных ограничений используют операцию замены переменных, заключающуюся в замене переменных в исходной функции в соответствии с таблицей 1.where a i , b i ∈R, although more complex nonlinear constraints are possible. To eliminate these restrictions, use the operation of replacing variables, which consists in replacing variables in the original function in accordance with table 1.

Таблица 1Table 1 Замена переменных для снятия ограничений на параметрыReplacing variables to remove parameter restrictions ОграничениеLimitation ПреобразованиеConversion xi>ai x i > a i xi=ai+exp(zi)x i = a i + exp (z i ) xi>xj x i > x j x i = a i + z i 2

Figure 00000001
x i = a i + z i 2
Figure 00000001
xi>xj, i≠jx i > x j , i ≠ j xj=zj, x i = z j + z i 2
Figure 00000002
x j = z j , x i = z j + z i 2
Figure 00000002
ai≤xi≤bi a i ≤x i ≤b i xi=bi+(ai-bi)*sin2zi x i = b i + (a i -b i ) * sin 2 z i xi=0.5*(ai+bi)+0.5*(bi-ai)*sinzi x i = 0.5 * (a i + b i ) + 0.5 * (b i -a i ) * sinz i ai<xi<bi a i <x i <b i xi=bi+(ai-bi)*(1/π)*arctgzi x i = b i + (a i -b i ) * (1 / π) * arctgz i xi=bi+(ai-bi)*exp(zi)/(1+exp(zi))x i = b i + (a i -b i ) * exp (z i ) / (1 + exp (z i )) a≤xi≤ba≤x i ≤b xj=b+(a-b)*sin2zj x j = b + (ab) * sin 2 z j a≤xj≤b xi>xj, i≠ja≤x j ≤bx i > x j , i ≠ j xi=b+(a-b)*sin2zj*sin2zi x i = b + (ab) * sin 2 z j * sin 2 z i a<xi<ba <x i <b xj=b+(a-b)*(1/π)*arctgzj x j = b + (ab) * (1 / π) * arctgz j a<xj<b xi>xj, i≠ja <x j <bx i > x j , i ≠ j xi=b+(a-b)*(1/π2)*arctgzi*arctgzi x i = b + (ab) * (1 / π 2 ) * arctgz i * arctgz i ai(xj)≤xi≤bi(xj)a i (x j ) ≤x i ≤b i (x j ) xj=zj x j = z j i≠ji ≠ j xi=bi(zj)+(ai(zj)-bi(zj))*sin2zi x i = b i (z j ) + (a i (z j ) -b i (z j )) * sin 2 z i ai(xk)≤xi≤bi(xj)a i (x k ) ≤x i ≤b i (x j ) xj=zj xk=zk x j = z j x k = z k i≠j, i≠ki ≠ j, i ≠ k xi=bi(zj)+(ai(zk)-bi(zj))*sin2zi x i = b i (z j ) + (a i (z k ) -b i (z j )) * sin 2 z i

Параметры функций fk могут носить как детерминированный, так и стохастический характер. Во втором случае функция fk может быть представлена в виде fk=F(x,ξ), где ξ - неопределенный вектор. Выделяют две основные ситуации, характерные для распределенных многопроцессорных систем и отражающие природу вектора ξ:The parameters of the functions f k can be either deterministic or stochastic. In the second case, the function f k can be represented in the form f k = F (x, ξ), where ξ is an indefinite vector. There are two main situations that are characteristic of distributed multiprocessor systems and reflect the nature of the vector ξ:

- ξ - случайный вектор с известным законом распределения;- ξ is a random vector with a known distribution law;

- вектор ξ изменяется неизвестным образом, но не носит случайный характер, либо статистические характеристики ξ оказываются неизвестными.- the vector ξ changes in an unknown way, but is not random, or the statistical characteristics of ξ turn out to be unknown.

При наличии неопределенности первого рода используют математическое ожидание (МО) случайного вектора ξ. Функция fk принимает в данном случае видIf there is uncertainty of the first kind, the mathematical expectation (MO) of the random vector ξ is used. The function f k in this case takes the form

fk=F(x,ξ′)f k = F (x, ξ ′)

Значение ξ 0 '

Figure 00000003
в начале работы системы выбирается и устанавливается в соответствии с экспертными оценками, а затем, в процессе функционирования, уточняется по мере накопления системой информации:Value ξ 0 ''
Figure 00000003
at the beginning of the system’s work, it is selected and installed in accordance with expert estimates, and then, in the process of functioning, it is specified as the system accumulates information:

Figure 00000004
Figure 00000004

где ξi - значения вектора ξ в i-й момент снятия данных.where ξ i are the values of the vector ξ at the ith moment of data acquisition.

При наличии неопределенности второго рода указанный подход в ряде случаев оказывается неэффективным из-за невозможности предсказания значения МО вектора ξ. B этом случае применяют расчет на наихудший случай, используя так называемый принцип «гарантированного результата». Функция fk принимает вид:If there is uncertainty of the second kind, this approach in some cases is ineffective due to the impossibility of predicting the MO value of the vector ξ. In this case, the worst case scenario is applied using the so-called “guaranteed result” principle. The function f k takes the form:

fk=F(x, max(ξ)), илиf k = F (x, max (ξ)), or

fk=F(x, min(ξ)).f k = F (x, min (ξ)).

После того как все параметры определены и сформирован целевой функционал для оценки производительности, проводят операцию параметрической оптимизации. Операцию параметрической оптимизации ставят как многокритериальную операцию параметрической оптимизации с ограничениями и формулируют следующим образом:After all the parameters are determined and the target functional for evaluating the performance is formed, the parametric optimization operation is performed. The parametric optimization operation is set as a multi-criteria parametric optimization operation with restrictions and is formulated as follows:

fi(x)→min(x), i∈[l:k], x∈D⊂Rn,f i (x) → min (x), i∈ [l: k], x∈D⊂R n ,

где D={х∈Rn|gi(x,δ)≤0, i∈[l:m]; gi(x,δ)=0, i∈[m+l:s]} - множество допустимых решений; x={x1, …, xz} - вектор входных параметров, y={y1, …, yk} - вектор критериальных выходных параметров; δ={δ1, …, δw} - вектор внешних параметров, характеризующих неопределенность обстановки. В пределах множества D выполняются прямые, функциональные и критериальные ограничения, представленные в виде общей системы неравенств и равенств. Прямые ограничения накладываются непосредственно на компоненты вектора входных параметров; функциональные ограничения включают условия работоспособности, имеющие принципиальное значение при оценке правильности функционирования объекта оптимизации, выполнение функциональных ограничений с большим запасом обычно не требуется, важно просто обеспечить их выполнение; критериальные ограничения отражают требования к характеристикам объекта оптимизации, их основное отличие от функциональных ограничений состоит в том, что для критериальных ограничений необходимо добиваться выполнения соответствующих им неравенств с максимальным запасом.where D = {x∈R n | g i (x, δ) ≤0, i∈ [l: m]; g i (x, δ) = 0, i∈ [m + l: s]} is the set of feasible solutions; x = {x 1 , ..., x z } is the vector of input parameters, y = {y 1 , ..., y k } is the vector of criteria output parameters; δ = {δ 1 , ..., δ w } is the vector of external parameters characterizing the uncertainty of the situation. Within the set D, direct, functional, and criteria constraints are fulfilled, which are presented as a general system of inequalities and equalities. Direct restrictions are imposed directly on the components of the vector of input parameters; functional limitations include working conditions, which are of fundamental importance in assessing the correct functioning of the optimization object, the implementation of functional limitations with a large margin is usually not required, it is important to simply ensure their implementation; criterial constraints reflect the requirements for the characteristics of the optimization object, their main difference from functional constraints is that for criterial constraints it is necessary to achieve the fulfillment of the corresponding inequalities with a maximum margin.

Этап параметрической самоорганизации осуществляют одним из нескольких методов параметрической оптимизации, наиболее универсальным из которых является метод циклического покоординатного спуска (ЦПС). Так как необходимо подобрать такой набор параметров x, который обеспечит выполнение условия Jt≥Jmin, то при каждом проходе метода осуществляют проверку выполнения данного неравенства, и, если оно выполнено, сохраняют необходимые данные об изменениях параметров и работу этапа прекращают. Метод ЦПС имеет высокую надежность по отношению к различным сбойным ситуациям, а также прост в процессе подготовки задачи к моделированию на компьютере, т.к. имеет нулевой порядок, т.е. не требует включения в вычислительную схему информации о производных от минимизируемого функционала.The stage of parametric self-organization is carried out by one of several methods of parametric optimization, the most universal of which is the method of cyclic coordinate-wise descent (DPS). Since it is necessary to select a set of parameters x that will ensure that the condition J t ≥J min is satisfied, then at each pass of the method, this inequality is checked, and if it is satisfied, the necessary data on the changes in the parameters are saved and the operation stops. The DSP method has high reliability in relation to various malfunctioning situations, and is also simple in the process of preparing a task for modeling on a computer, because has zero order, i.e. does not require the inclusion in the computational scheme of information about derivatives of the minimized functional.

Для построения минимизирующей последовательности {xk} функционала J(x) переход от вектора xi к вектору xi+1 по методу ЦПС проводят следующим образом: для m∈[l:n] компонента x m i + 1

Figure 00000005
определяется как:To construct the minimizing sequence {x k } of the functional J (x), the transition from the vector x i to the vector x i + 1 by the DSP method is carried out as follows: for m∈ [l: n] component x m i + one
Figure 00000005
defined as:

Figure 00000006
Figure 00000006

Вначале задают вектор начальных шагов h=(h1, …, hn) продвижений из точки x в направлении координатных ортов e1, e2, …, en. Далее шаги hi модифицируют от итерации к итерации. Если выполняется неравенство J(x+hiei)<J(x), то текущую точку x заменяют на x+hiei, а величину hi утраивают: hi=3hi. После этого осуществляют переход к следующему номеру i. Если J(x+hiei)>J(x), то производят умножение hi на -0,5 и также осуществляют переход к следующему координатному орту. Таким образом, метод адаптируется к конкретным условиям оптимизации за счет изменения величин и знаков шагов. Если начальные значения шагов были выбраны неудачно, то они быстро скорректируются до необходимых значений.First, the vector of initial steps h = (hone, ... hn) advancements from the point x in the direction of the coordinate unit vectors eone, e2, ..., en. Next steps hi modify from iteration to iteration. If the inequality J (x + hiei) <J (x), then replace the current point x with x + hiei, and the quantity hi Triple: hi= 3hi. After that, go to the next number i. If J (x + hiei)> J (x), then multiply hi -0.5 and also carry out the transition to the next coordinate unit. Thus, the method adapts to specific optimization conditions by changing the values and signs of steps. If the initial values of the steps were not chosen correctly, then they are quickly adjusted to the necessary values.

Для уменьшения времени выполнения метода может быть использована операция сравнения изменений параметров, при которой по завершении каждого этапа параметрической самоорганизации сохраняют вектор x ' = ( x 1 ' , , x n ' )

Figure 00000007
, где x i ' = | x i x i 0 | / min ( x i ; x i 0 )
Figure 00000008
. При последующих запусках этапа параметрической самоорганизации изменение составляющих вектора x производят в порядке убывания значений вектора x′, который соответствует убыванию величины, показывающей, во сколько раз изменился каждый параметр после предыдущего этапа параметрической самоорганизации.To reduce the execution time of the method, the operation of comparing parameter changes can be used, in which at the end of each stage of parametric self-organization, a vector x '' = ( x one '' , ... , x n '' )
Figure 00000007
where x i '' = | x i - x i 0 | / min ( x i ; x i 0 )
Figure 00000008
. At subsequent launches of the parametric self-organization stage, the components of the vector x are changed in the decreasing order of the values of the vector x ′, which corresponds to a decreasing value that shows how many times each parameter has changed after the previous parametric self-organization stage.

Далее рассмотрим реализацию этапа функциональной самоорганизации. В общем случае, ЭО может быть отнесен к определенному типу ЭО. Обозначим множество всех типов ЭО в системе S как Ts:Next, we consider the implementation of the stage of functional self-organization. In the general case, EA can be attributed to a certain type of EA. We denote the set of all types of EO in the system S as T s :

Ts={T1,s, T2,s, …, Tn,s},T s = {T 1, s, T 2, s , ..., T n, s },

где n - число различных типов ЭО в системе S. Отметим, что тип ЭО определяет соответствующий набор характерных параметров и множество реализуемых ЭО функций.where n is the number of different types of EO in the system S. Note that the type of EO determines the corresponding set of characteristic parameters and the set of realized EO functions.

ЭО типа i функционирует по одному из заранее предусмотренных алгоритмов. Алгоритм для каждой конкретной системы может быть задан по-разному и во многих случаях является достаточно сложным и даже «закрытым». Однако нас не интересуют детали функционирования объекта, и мы не заботимся о воспроизведении точной модели его работы. Для нас важна только выходная функция данного объекта, имеющая отношение к формированию целевого функционала для оценки производительности системы. ЭО типа i в каждый момент времени реализует выходную функцию fk,i∈Fi, где Fi - набор функций, реализуемых ЭО типа i:EO of type i operates according to one of the predefined algorithms. The algorithm for each specific system can be defined differently and in many cases is quite complex and even “closed”. However, we are not interested in the details of the operation of the object, and we do not care about reproducing the exact model of its operation. For us, only the output function of this object is relevant, which is related to the formation of the target functional for assessing system performance. EO of type i at each instant of time implements the output function f k, i ∈F i , where F i is the set of functions implemented by EO of type i:

Fi={F1,i, F2,I, …, Fmi},Fi= {F1, i, F2, I, ..., Fmi},

где m - число различных функций, которые может реализовать объект типа i.where m is the number of different functions that an object of type i can implement.

В общем случае, влияние ЭО на целевую функцию может выражаться не одной, а сразу несколькими независимыми функциями:In the general case, the effect of EO on the objective function can be expressed not by one, but by several independent functions at once:

Figure 00000009
Figure 00000009

где p - общее число функций ЭО, влияющих на формирование целевого функционала системы J(x). Каждая функция f k , i j

Figure 00000010
зависит от набора параметров P, характеризующих ЭО типа i:where p is the total number of EO functions that affect the formation of the target functional of the system J (x). Every function f k , i j
Figure 00000010
depends on a set of parameters P characterizing the type I EO:

Figure 00000011
Figure 00000011

где q - число параметров ЭО типа i.where q is the number of EA parameters of type i.

На этапе функциональной самоорганизации подбирают функции, которые реализуют объекты системы для достижения нужного уровня производительности, а не параметры. Исходя из того, что исследование сложной функции на оптимум с параметрами, изменяющимися в произвольном диапазоне, затруднительно, для реализации этапа используют следующие операции.At the stage of functional self-organization, they select functions that implement system objects to achieve the desired level of performance, and not parameters. Based on the fact that it is difficult to study a complex function at an optimum with parameters that vary in an arbitrary range, the following operations are used to implement the stage.

Первоначально выбирают первую по порядку функцию, которую реализует лист системы, и для нее подбирают оптимальные параметры, т.е. запускают этап параметрической самоорганизации. Если после выполнения этапа параметрической самоорганизации необходимые результаты не достигнуты, выбирают следующую по порядку функцию, которую может реализовать данный элемент, и для нее запускают этап параметрической самоорганизации. Если все функции элемента перебраны, а функционал системы не достиг нужного значения, осуществляют переход к следующему листовому элементу, и описанные операции повторяются.Initially, they select the first in order function that the system sheet implements, and the optimal parameters are selected for it, i.e. start the phase of parametric self-organization. If, after completing the stage of parametric self-organization, the necessary results are not achieved, they select the next in order function that this element can implement, and for it the stage of parametric self-organization is launched. If all the functions of the element have been enumerated, and the functional of the system has not reached the desired value, they proceed to the next sheet element, and the described operations are repeated.

Для ускорения выполнения этапа функциональной самоорганизации используют операцию выбора оптимальной функции, основанную на использовании предыдущего опыта, при которой, единожды перебрав все функции элемента данного типа, определяется, какая из них дает максимум прироста выходной функции системы. Таким образом, при последующих запусках данного этапа самоорганизации, заранее известно, какая функция даст оптимум для данного типа объектов. Перебор всех функций проводится один раз для всех типов объектов, находящихся в системе. На основе информации об оптимальной функции функциональную самоорганизацию осуществляют при последующих запусках за один шаг, выбирая для каждого элемента найденную оптимальную функцию.To speed up the implementation of the stage of functional self-organization, the operation of selecting the optimal function is used, based on the use of previous experience, in which, once having sorted all the functions of an element of this type, it is determined which one gives the maximum increase in the output function of the system. Thus, during subsequent launches of this stage of self-organization, it is known in advance which function will give the optimum for this type of object. Enumeration of all functions is carried out once for all types of objects that are in the system. Based on information about the optimal function, functional self-organization is carried out during subsequent launches in one step, choosing the found optimal function for each element.

На этапе структурной самоорганизации топология дерева системы, а также количество элементов могут измениться. Структурная самоорганизация является более мощным средством адаптации, чем параметрическая или функциональная, но требует гораздо больших затрат на реализацию.At the stage of structural self-organization, the topology of the tree system, as well as the number of elements can change. Structural self-organization is a more powerful means of adaptation than parametric or functional, but requires much greater implementation costs.

Очевидно, что добавление новых объектов связано с некоторыми финансовыми и другими затратами. Поэтому на этапе структурной самоорганизации в систему вводят некоторый эквивалент стоимости при добавлении новых элементов. В результате каждому из типов элементов в системе ставят в соответствие число, называемое далее стоимостью (price).Obviously, the addition of new facilities is associated with some financial and other costs. Therefore, at the stage of structural self-organization, some equivalent value is introduced into the system when new elements are added. As a result, each of the types of elements in the system is associated with a number, hereinafter referred to as price.

В связи с тем, что элементы-посредники выполняют функцию свертки результатов значений нижестоящих элементов, как правило, с ростом количества дочерних элементов растет и значение в родительском элементе-посреднике. Таким образом, можно выделить из всех элементов-посредников тот, добавление элементарного объекта к которому даст максимальный прирост целевого функционала, и на последующих шагах самоорганизации добавлять элементы только к этому элементу-посреднику. Однако это приведет к неограниченному возрастанию потомков данного элемента-посредника.Due to the fact that intermediary elements perform the function of convolution of the results of values of children, as a rule, with an increase in the number of children, the value in the parent element also grows. Thus, we can distinguish from all intermediary elements that one adding an elementary object to which will give the maximum increase in the target functional, and add elements only to this intermediary element in the subsequent steps of self-organization. However, this will lead to unlimited growth of the descendants of this intermediary element.

Очевидно, что в реальных системах такая ситуация является недопустимой. В связи с этим в систему вводят ограничения на количество дочерних узлов у каждого родительского. Каждому типу ставят в соответствие количество слотов (slots) - некоторое неотрицательное целое число, ограничивающее сверху допустимое количество дочерних узлов-элементов для данного типа. Количество слотов элементарного объекта равно нулю. Именно количество слотов, а не количество существующих дочерних узлов характеризует узел как элемент-посредник или элементарный объект. Так, в частном случае элемент-посредник может быть листом и не иметь детей, но от этого не становится элементарным объектом.Obviously, in real systems this situation is unacceptable. In this regard, the system introduces restrictions on the number of child nodes for each parent. Each type is associated with the number of slots — a non-negative integer that restricts the maximum number of child element nodes for this type. The number of slots of an elementary object is zero. It is the number of slots, and not the number of existing child nodes that characterizes the node as an intermediary element or elementary object. So, in a particular case, the intermediary element can be a sheet and have no children, but this does not become an elementary object.

Структурная самоорганизация включает в себя три операции: подбор оптимальных типов для листовых элементов дерева системы (типовая самоорганизация), реконфигурация дерева на уровне элементарных объектов (изменяется топология дерева без изменения состава элементов) и добавление новых элементов в систему.Structural self-organization includes three operations: selecting the optimal types for leaf elements of the system tree (typical self-organization), reconfiguring the tree at the level of elementary objects (changing the tree topology without changing the composition of elements) and adding new elements to the system.

Первоначально запускают операцию подбора оптимальных типов - типовую самоорганизацию. Далее, если система по-прежнему не удовлетворяет поставленным критериям, осуществляют реконфигурацию системы. Наконец, в систему включают новые элементы. Если и последней операцией не удается достичь нужного значения целевого функционала, работа системы останавливается и выдается запрос об изменении целей функционирования.Initially, they start the operation of selecting the optimal types - typical self-organization. Further, if the system still does not meet the set criteria, the system is reconfigured. Finally, new elements are included in the system. If the last operation fails to achieve the desired value of the target functional, the system stops and a request is issued to change the goals of functioning.

Далее приводится детальное описание трех операций этапа структурной самоорганизации. Первой является типовая самоорганизация, в ходе которой подбираются оптимальные типы для элементов системы. Именно тип элемента определяет набор функций, которые может реализовывать элемент системы.The following is a detailed description of the three operations of the structural self-organization stage. The first is typical self-organization, during which the optimal types for the elements of the system are selected. It is the type of element that determines the set of functions that an element of the system can implement.

Подбор оптимального типа для каждого элемента системы является переборной задачей и обладает рядом особенностей. Важно помнить, что тип элемента не только определяет набор функций, реализуемых данным узлом, но и показывает, является ли данный узел элементарным объектом или элементом-посредником. Так, элементарный объект может быть только листом дерева, в то время как элемент-посредник может занимать любое положение (кроме корня), однако способен влиять на целевой функционал только при условии наличия дочерних узлов.The selection of the optimal type for each element of the system is a exhaustive task and has a number of features. It is important to remember that the type of the element not only determines the set of functions implemented by this node, but also shows whether the given node is an elementary object or an intermediary element. So, an elementary object can only be a leaf of a tree, while an intermediary element can occupy any position (except the root), however, it can affect the target functional only if there are child nodes.

Таким образом, при переборе типов важно не допустить ситуации, когда некоторый, имеющий дочерние узлы элемент-посредник получит тип элементарного объекта, так как в таком случае работоспособность системы нарушается. С другой стороны, элементарный объект может сменить тип на тип элемента-посредника, однако, очевидно, в таком случае прирост целевого функционала системы будет отрицателен, так как висячий (не имеющий дочерних узлов) элемент-посредник не оказывает влияния на целевой функционал.Thus, when enumerating types, it is important not to allow the situation when some intermediary element having child nodes gets the type of an elementary object, since in this case the system’s performance is impaired. On the other hand, an elementary object can change the type to the type of an intermediary element, however, obviously, in this case, the increase in the target functional of the system will be negative, since a hanging (without child nodes) intermediary element does not affect the target functional.

На основании вышеизложенных ограничений типовую самоорганизацию проводят только на уровне элементарных объектов. Подобное ограничение существенно ускоряет время выполнения операции, сокращая количество вариантов перебора. Исключением является элемент-посредник, не имеющий дочерних узлов. Такой элемент-посредник не оказывает влияния на систему и в случае замены его на элементарный объект возможно получить некоторый положительный прирост целевого функционала.Based on the above limitations, typical self-organization is carried out only at the level of elementary objects. Such a restriction significantly speeds up the operation time, reducing the number of search options. An exception is an intermediary element that does not have child nodes. Such an intermediary element does not affect the system, and if it is replaced by an elementary object, it is possible to obtain some positive increase in the target functional.

В связи с этим под типовой самоорганизацией понимают процесс самоорганизации, в результате которого для каждого листа дерева системы подбирается оптимальный тип.In this regard, typical self-organization is understood as the process of self-organization, as a result of which the optimal type is selected for each leaf of the tree of the system.

В ходе типовой самоорганизации осуществляют обход дерева системы, при этом для каждого элемента-листа осуществляют перебор всех возможных типов. После изменения типа одного объекта осуществляют запуск сначала параметрической, а в случае ее неэффективности - функциональной, самоорганизации. После того как перебраны все возможные типы, в качестве конечного типа для элемента выбирают тот тип, при котором значение в данном листе является максимальным по сравнению со значениями при других типах.In the course of a typical self-organization, a system tree is traversed, while for each leaf element, all possible types are enumerated. After changing the type of one object, they start first parametrically, and in case of its inefficiency - functional, self-organization. After all possible types have been enumerated, the type in which the value in this sheet is maximum in comparison with the values for other types is selected as the final type for the element.

После того как выбран оптимальный тип для одного элемента-листа, осуществляют проверку соответствия системы поставленным критериям. Если система удовлетворяет таковым, этап структурной самоорганизации считается успешным и самоорганизация завершается. В случае, если система не удовлетворяет поставленным критериям, переходят к следующему элементу системы. В случае, если для всех листов дерева подобраны оптимальные типы, а система по-прежнему не удовлетворяет поставленным критериям, типовая самоорганизация считается неуспешной.After the optimal type is selected for one sheet element, the system is checked for compliance with the set criteria. If the system satisfies those, the stage of structural self-organization is considered successful and self-organization is completed. If the system does not meet the set criteria, go to the next element of the system. If optimal types are selected for all leaves of the tree, and the system still does not meet the set criteria, typical self-organization is considered unsuccessful.

На основании вышеизложенного видно, что в результате типовой самоорганизации может оказаться, что не всем листам будет подобран оптимальный тип. Такой подход увеличивает быстродействие операции, существенно сокращая мощность множества вариантов перебора, однако не гарантирует, что полученный на этапе типовой самоорганизации прирост целевого функционала будет максимально возможным.Based on the foregoing, it can be seen that as a result of typical self-organization, it may turn out that not all sheets will be matched with the optimal type. This approach increases the speed of the operation, significantly reducing the power of many search options, but does not guarantee that the increase in the target functional obtained at the stage of typical self-organization will be as possible.

В случае, если типовая самоорганизация не принесла успеха, переходят к запуску операции реконфигурации системы, в ходе которой производится изменение местоположения элементов в иерархии. Реконфигурацию проводят в несколько этапов, на каждом из которых осуществляют перенос одного элементарного объекта на более выгодное с точки зрения увеличения целевого функционала производительности место. Реконфигурацию заканчивают, если полученная система удовлетворяет поставленным критериям или анализ функционирования системы показывает, что ее дальнейшая оптимизация невозможна.If typical self-organization has not succeeded, they proceed to launch the system reconfiguration operation, during which the location of the elements in the hierarchy is changed. Reconfiguration is carried out in several stages, at each of which one elementary object is transferred to a place more favorable from the point of view of increasing the target functional of productivity. Reconfiguration is completed if the resulting system meets the criteria or analysis of the functioning of the system shows that its further optimization is impossible.

На каждом из этапов реконфигурации для каждого типа элементарного объекта, представленного в системе одним или несколькими элементами, определяют два положения: «наихудший» элемент данного типа, существующий в системе (под его положением подразумевается родительский элемент данного элементарного объекта) и «наилучшее» место для добавления элемента данного типа в систему.At each stage of reconfiguration, for each type of elementary object represented by one or more elements in the system, two positions are determined: the "worst" element of this type existing in the system (its position means the parent element of this elementary object) and the "best" place for adding an element of this type to the system.

Под «наихудшим» элементом типа понимают такой элемент, при удалении которого из системы целевой функционал имеет большее значение, чем при удалении любого другого элемента данного типа.By the “worst” type element is understood such an element, when removing it from the system, the target functional is more important than when removing any other element of this type.

Под «наилучшим» местом понимают такой элемент-посредник, при добавлении элементарного объекта заданного типа к которому целевой функционал будет больше, чем при добавлении элементарного объекта данного типа к любому другому элементу-посреднику. Важно, что добавление объекта в качестве дочернего узла того или иного элемента-посредника возможно лишь при наличии у выбранного элемента-посредника свободных слотов.By “best” place is meant such an intermediary element, when adding an elementary object of a given type to which the target functional will be greater than when adding an elementary object of this type to any other intermediary element. It is important that adding an object as a child node of one or another intermediary element is possible only if the selected intermediary element has free slots.

Для определения «наихудшего» элемента каждого типа осуществляют обход дерева, т.е. прохождение по всем элементам элементов дерева. Если текущий элемент дерева является элементом-посредником и среди его дочерних узлов имеется хотя бы один элемент необходимого типа, любой (первый найденный) дочерний узел данного типа временно удаляют из системы. После этого проводят подсчет целевого функционала полученной системы и его оценку, а затем удаленный элемент возвращают в систему.To determine the "worst" element of each type, a tree is traversed, i.e. passing through all the elements of the tree elements. If the current tree element is an intermediary element and among its child nodes there is at least one element of the required type, any (first found) child node of this type is temporarily removed from the system. After that, the target functional of the resulting system is calculated and evaluated, and then the deleted item is returned to the system.

Для определения «наилучшего» места для добавления элемента осуществляют повторный обход дерева. Если текущий элемент дерева является элементом-посредником и имеет свободные слоты, осуществляют временное добавление к нему элемента заданного типа с начальными параметрами - в качестве функции элемента используют первую функцию из списка функций данного типа, все параметры сбрасывают до минимально допустимых значений. Далее запускают функциональную самоорганизацию, которая осуществляет подстройку функций новой системы. Заметим также, что на каждом шаге функциональной самоорганизации запускают параметрическую, подбирающую оптимальные параметры для выбранных функций. По окончании работы функциональной самоорганизации элементы системы содержат оптимальные для данной структуры функции и параметры. Производят подсчет и оценку функционала производительности полученной системы и удаление временного объекта. После удаления элемента система не возвращается к своему исходному состоянию, так как функциональная и структурная самоорганизация необратимы. Однако это не имеет значения, так как для реконфигурации важна только структура системы, а параметры и функции подбирают заново на каждом шаге с целью получения максимального выходного функционала.To determine the "best" place to add an element, a repeated traversal of the tree is performed. If the current tree element is an intermediary element and has free slots, they temporarily add to it an element of a given type with initial parameters - the first function from the list of functions of this type is used as an element function, all parameters are reset to the minimum allowable values. Next, they launch functional self-organization, which carries out the adjustment of the functions of the new system. We also note that at each step of functional self-organization, a parametric one is launched, which selects the optimal parameters for the selected functions. At the end of the work of functional self-organization, the elements of the system contain optimal functions and parameters for this structure. They calculate and evaluate the performance functional of the resulting system and delete the temporary object. After the removal of an element, the system does not return to its original state, since the functional and structural self-organization is irreversible. However, this does not matter, since only the structure of the system is important for reconfiguration, and the parameters and functions are selected again at each step in order to obtain the maximum output functional.

Таким образом, для каждого типа находят «наихудший» элемент (и значение функционала при удалении его из системы), а также лучшую позицию для добавления элемента данного типа (и соответствующее значение функционала). После этого определяют тип, перемещение элемента которого даст максимальный прирост функционала системы. Выбирают тот тип, для которого значение выражения Jb-Jw является максимальным, где Jb - максимальное значение функционала при добавлении элемента заданного типа в систему, Jw - максимальное значение функционала при удалении элемента заданного типа из системы.Thus, for each type, they find the “worst” element (and the value of the functional when removing it from the system), as well as the best position for adding an element of this type (and the corresponding value of the functional). After that, determine the type whose movement of the element will give the maximum increase in the functionality of the system. Choose the type for which the value of the expression J b -J w is the maximum, where J b is the maximum value of the functional when adding an element of a given type to the system, J w is the maximum value of the functional when removing an element of a given type from the system.

Если максимальное значение выражения неотрицательно, осуществляют удаление «худшего» элемента соответствующего типа и добавление элемента соответствующего типа на «лучшее место». Если после проведенного этапа реконфигурации система по-прежнему не удовлетворяет поставленным критериям, запускают повторный этап реконфигурации, и описанные действия повторяются.If the maximum value of the expression is non-negative, the “worst” element of the corresponding type is removed and the element of the corresponding type is added to the “best place”. If, after the reconfiguration step, the system still does not meet the set criteria, a second reconfiguration step is started, and the described steps are repeated.

Отрицательное значение выражения Jb-Jw для всех типов говорит о том, что достигнута оптимальная структура для данного набора элементов системы и дальнейшая реконфигурация нерациональна.The negative value of the expression J b -J w for all types indicates that the optimal structure has been achieved for a given set of system elements and further reconfiguration is irrational.

Если реконфигурация не увенчалась успехом, выполняют операцию добавления элементов системы с целью получения максимального прироста функционала производительности. Отметим, что этап структурной самоорганизации запускают после параметрической и функциональной при условии, что они не смогли скорректировать систему так, чтобы она удовлетворяла поставленным критериям. Тогда к началу этапа структурной самоорганизации функции и параметры элементов системы являются оптимальными для существующей структуры, т.е. каждый объект дает положительный прирост целевого функционала и при удалении элемента из системы значение функционала уменьшится. Исходя из этого можно говорить о нецелесообразности удаления существующих элементов из системы.If the reconfiguration is unsuccessful, they perform the operation of adding system elements in order to obtain the maximum increase in the productivity functional. Note that the stage of structural self-organization is launched after parametric and functional, provided that they could not adjust the system so that it satisfies the set criteria. Then, by the beginning of the stage of structural self-organization, the functions and parameters of the elements of the system are optimal for the existing structure, i.e. each object gives a positive increase in the target functional, and when an element is removed from the system, the value of the functional decreases. Based on this, we can talk about the inexpediency of removing existing elements from the system.

Операцию добавления разбивают на несколько этапов, на каждом из которых добавляют один элемент. Если по окончании этапа система по-прежнему не удовлетворяет поставленным критериям, проводят следующий этап добавления, в противном случае самоорганизация завершается.The add operation is divided into several stages, at each of which one element is added. If at the end of the stage the system still does not meet the set criteria, the next stage of addition is carried out, otherwise self-organization is completed.

Важнейшим моментом при добавлении элемента в систему является определение типа этого элемента. При этом реализуемая функция, а также ее параметры не являются принципиальными, так как будут впоследствии скорректированы.The most important point when adding an element to the system is determining the type of this element. In this case, the function being implemented, as well as its parameters, are not fundamental, since they will be subsequently adjusted.

Добавление в систему элементарного объекта с последующей функциональной самоорганизацией способно дать значительное приращение целевого функционала, однако количество свободных слотов в системе уменьшается на одну единицу. Добавление определенного количества элементарных объектов способно привести к ситуации, когда в системе не останется свободных слотов. Очевидно, такая ситуация является недопустимой, так как делает систему не способной к дальнейшему увеличению числа элементов, а возможности реконфигурации системы ограничены.Adding an elementary object to the system with subsequent functional self-organization can give a significant increase in the target functional, however, the number of free slots in the system decreases by one unit. Adding a certain number of elementary objects can lead to a situation where there are no free slots in the system. Obviously, this situation is unacceptable, since it makes the system incapable of further increasing the number of elements, and the possibilities for reconfiguring the system are limited.

С другой стороны, добавление в систему элемента-посредника не сокращает количество свободных слотов в системе, а, напротив, увеличивает их количество на величину n-1+k, где n - количество свободных слотов в системе до добавления элемента, k - количество собственных слотов добавляемого элемента-посредника. Однако добавление висячего (т.е. не имеющего дочерних узлов) элемента-посредника не изменяет целевой функционал системы.On the other hand, adding an intermediary element to the system does not reduce the number of free slots in the system, but, on the contrary, increases their number by n-1 + k, where n is the number of free slots in the system before adding an element, k is the number of own slots The added mediation item. However, the addition of a hanging (i.e., having no child nodes) intermediary element does not change the target functionality of the system.

Помимо количества слотов в системе необходимо учитывать, что добавление элемента любого типа сопряжено с некоторыми экономическими, материальными и/или другими затратами, т.е. элемент каждого типа имеет определенную цену. В связи с этим структурная самоорганизация должна обеспечивать максимальный прирост целевого функционала при минимальной цене. Для учета данного факта вводят понятие коэффициентов полезности.In addition to the number of slots in the system, it must be taken into account that adding an element of any type involves some economic, material and / or other costs, i.e. Each item has a price tag. In this regard, structural self-organization should provide the maximum increase in the target functionality at the lowest price. To account for this fact, the concept of utility coefficients is introduced.

Коэффициент полезности для элемента-посредника определенного типа определяют по формуле:The coefficient of utility for an intermediary element of a certain type is determined by the formula:

Figure 00000012
Figure 00000012

где n - количество свободных слотов в системе до самоорганизации; k - количество собственных слотов элемента-посредника данного типа; price - стоимость добавления элемента данного типа.where n is the number of free slots in the system before self-organization; k is the number of own slots of the intermediary element of this type; price - the cost of adding an element of this type.

Как видно из формулы, коэффициент полезности элемента-посредника обратно пропорционален его стоимости и прямо пропорционален относительному приращению свободных слотов системы.As can be seen from the formula, the utility coefficient of the intermediary element is inversely proportional to its value and directly proportional to the relative increment of the free slots of the system.

Коэффициент полезности для элементарного объекта определенного типа определяют по формуле:The utility coefficient for an elementary object of a certain type is determined by the formula:

Figure 00000013
Figure 00000013

где n - количество свободных слотов в системе до самоорганизации; Jold - значение целевого функционала до самоорганизации; Jnew - значение целевого функционала после добавления объекта; price - стоимость добавления элемента данного типа.where n is the number of free slots in the system before self-organization; J old - the value of the target functional before self-organization; J new - value of the target functional after adding the object; price - the cost of adding an element of this type.

Как видно из формулы, коэффициент полезности элементарного объекта обратно пропорционален стоимости элемента данного типа и прямо пропорционален относительному приращению свободных слотов системы, а также прямо пропорционален приращению целевого функционала системы.As can be seen from the formula, the utility coefficient of an elementary object is inversely proportional to the cost of an element of a given type and is directly proportional to the relative increment of free slots of the system, and also directly proportional to the increment of the target functional of the system.

Следует заметить, что значение целевого функционала после добавления элемента определенного типа зависит от положения этого нового элемента, то есть от того, к какому элементу-посреднику он добавлен. Во втором выражении под новым функционалом системы понимается максимально возможный функционал при добавлении элемента данного типа с учетом проведения функциональной и структурной самоорганизаций.It should be noted that the value of the target functional after adding an element of a certain type depends on the position of this new element, that is, on which intermediary element it is added to. In the second expression, the new functional of the system is understood to mean the maximum possible functionality when adding an element of this type, taking into account the implementation of functional and structural self-organization.

В процессе вычисления коэффициента полезности для типа элементарного объекта определяют и лучшей элемент-посредник, к которому его следует добавить.In the process of calculating the utility coefficient for the type of elementary object, the best intermediary element is also determined, to which it should be added.

На основании вышесказанного, на каждом из этапов добавляют элемент такого типа, коэффициент полезности которого на текущий момент является максимальным.Based on the foregoing, at each of the stages an element of this type is added, the utility coefficient of which is currently the maximum.

Для вычисления коэффициента полезности элементарного объекта осуществляют обход дерева, начиная с корня. На каждом шаге обхода производят добавление временного элементарного объекта данного типа к текущему узлу дерева, в случае, если он является элементом-посредником, имеющим свободные слоты. В качестве функции выбирается первая функция из списка возможных функций для данного типа, а все параметры сбрасываются до минимально допустимых. После этого запускают функциональную самоорганизацию системы и производят пересчет целевого функционала системы и его оценку. Если значение функционала является лучшим по сравнению с предыдущими шагами, его значение, а также узел, к которому проводилось добавление, запоминают. После этого производят удаление добавленного временного элемента и переход к следующему узлу дерева.To calculate the utility coefficient of an elementary object, a tree is traversed starting from the root. At each step of the traversal, a temporary elementary object of this type is added to the current node of the tree, in case it is an intermediary element that has free slots. As a function, the first function is selected from the list of possible functions for this type, and all parameters are reset to the minimum allowable. After that, the functional self-organization of the system is launched and the target functional of the system is recalculated and evaluated. If the value of the functional is better compared to the previous steps, its value, as well as the node to which it was added, is stored. After that, delete the added temporary element and move to the next tree node.

Таким образом, по окончании обхода дерева получают максимальное значение функционала, возможное при добавлении одного элементарного объекта, и вычисляют коэффициент полезности. Также определяется и оптимальная позиция для его добавления.Thus, at the end of the tree traversal, the maximum value of the functional that is possible when adding one elementary object is obtained, and the utility coefficient is calculated. The optimal position for adding it is also determined.

В связи с тем, что элемент-посредник, не имеющий дочерних узлов, не может оказать влияние на значение целевого функционала системы, затруднительно вычислить оптимальную позицию для его добавления, однако так как элемент-посредник осуществляет некоторую функцию свертки результатов своих дочерних элементов, с некоторым приближением можно считать оптимальным местом для его добавления оптимальное место для добавления элементарного объекта. Если принимается решение о добавлении элемента-посредника, его добавляют в позицию, вычисленную как лучшую для добавления элементарного объекта с максимальным среди элементарных объектов коэффициентом полезности.Due to the fact that the intermediary element, which does not have child nodes, cannot affect the value of the target functional of the system, it is difficult to calculate the optimal position for adding it, however, since the intermediary element has some function of convolving the results of its child elements, with some approximation can be considered the best place to add it; the best place to add an elementary object. If a decision is made to add an intermediary element, it is added to the position calculated as the best for adding an elementary object with a maximum utility coefficient among elementary objects.

После добавления одного элемента осуществляют проверку, удовлетворяет ли полученная система поставленным критериям. Если нет - переходят к следующему этапу и добавляют еще один элемент. Следует заметить, что несколько добавленных в систему элементов не обязательно составляют единое поддерево, а могут быть добавлены в различные узлы исходного дерева системы.After adding one element, it is checked whether the resulting system meets the set criteria. If not, go to the next step and add another element. It should be noted that several elements added to the system do not necessarily constitute a single subtree, but can be added to various nodes of the original system tree.

В случае наличия в системе блока, отвечающего за накопление опыта, на основании накопленной информации может быть сделан вывод о нецелесообразности проведения той или иной операции на этапе структурной самоорганизации. В этом случае некоторые из трех операций могут быть пропущены. Так, например, если сделан вывод о нецелесообразности проведения типовой самоорганизации и реконфигурации, после неудачи функциональной самоорганизации сразу переходят к добавлению новых элементов.If there is a unit in the system that is responsible for accumulating experience, based on the accumulated information, it can be concluded that it is inexpedient to conduct an operation at the stage of structural self-organization. In this case, some of the three operations may be skipped. So, for example, if it is concluded that it is inappropriate to conduct typical self-organization and reconfiguration, after the failure of functional self-organization, they immediately proceed to add new elements.

В случае неуспеха всех видов структурной самоорганизации делают вывод о невозможности выполнения системой поставленной задачи, система с ее ресурсами не способна обеспечить требуемый уровень производительности.In case of failure of all types of structural self-organization, they conclude that the system cannot complete the task, the system with its resources is not able to provide the required level of performance.

Данный способ может быть реализован с помощью системы, функциональная схема которой приведена на Фиг.4, где (26) - блок параметрической самоорганизации, реализующий операции этапа параметрической самоорганизации, (27) - блок функциональной самоорганизации, реализующий операции этапа функциональной самоорганизации, (28) - блок структурной самоорганизации, реализующий операции этапа структурной самоорганизации, (29) - блок памяти, реализующий запоминание результатов проведенных этапов самоорганизации для их последующего учета. Данная схема может быть реализована на основе аппаратно-программных средств.This method can be implemented using a system whose functional diagram is shown in Fig. 4, where (26) is a block of parametric self-organization that implements the operations of the stage of parametric self-organization, (27) is a block of functional self-organization that implements the operations of the stage of functional self-organization, (28) - a block of structural self-organization that implements the operations of the stage of structural self-organization, (29) - a memory block that implements storing the results of the stages of self-organization for their subsequent accounting. This scheme can be implemented on the basis of hardware and software.

Видно, что технический результат, заключающийся в увеличении производительности распределенной многопроцессорной системы, достигается за счет проведения в системе трех этапов самоорганизации - параметрической, функциональной и структурной, имеющих большую универсальность, масштабируемость и эффективность.It can be seen that the technical result, which consists in increasing the performance of a distributed multiprocessor system, is achieved by carrying out three stages of self-organization in the system - parametric, functional and structural, with greater universality, scalability and efficiency.

Claims (1)

Способ самоорганизации распределенной многопроцессорной системы, заключающийся в том, что в составе системы выделяют один процессорный элемент, в задачи которого входит отслеживание и управление уровнем производительности системы, определяют набор параметров всех элементов системы, имеющих отношение к оценке производительности, на основе которых строят математическую модель для оценки значения производительности распределенной многопроцессорной системы в виде целевого функционала системы, в процессе функционирования системы получают данные о значении функционала, в случае недостижения функционалом заданного минимально допустимого порогового значения, производят изменение характеристик системы, отличающийся тем, что для изменения характеристик системы первоначально запускают механизм параметрической самоорганизации, в ходе которого подстраивают значения параметров элементов системы в заданных пределах на основе метода циклического покоординатного спуска, затем, в случае недостижения минимально допустимого порогового значения целевого функционала путем подстройки параметров, запускают механизм функциональной самоорганизации системы, в ходе которой выбирают оптимальные функции для элементов системы из множества реализуемых элементами функций, и затем, в случае недостижения минимально допустимого порогового значения целевого функционала путем изменения функций элементов, изменяют структуру системы, подбирая сначала оптимальные типы элементов, затем реконфигурируя систему, путем определения оптимального местоположения элементов в топологии без изменения их количественного состава, и, наконец, добавляя элементы оптимальных типов в оптимальное местоположение. The method of self-organization of a distributed multiprocessor system, which consists in the fact that the system allocates one processor element, the tasks of which are to monitor and control the level of system performance, determine the set of parameters of all system elements related to performance evaluation, on the basis of which a mathematical model is constructed for estimating the performance value of a distributed multiprocessor system in the form of the target functional of the system, in the process of functioning of the system they take into account the data on the value of the functional, in case the functional does not reach the specified minimum acceptable threshold value, make a change in the characteristics of the system, characterized in that, to change the characteristics of the system, the mechanism of parametric self-organization is initially launched, during which the values of the parameters of the elements of the system are adjusted within the specified limits based on the cyclic method coordinate descent, then, in case of not achieving the minimum acceptable threshold value of the target functional path m parameter adjustment, start the system’s functional self-organization mechanism, during which the optimal functions for the system elements are selected from the set of functions realized by the elements, and then, if the minimum acceptable threshold value of the target functional is not achieved by changing the functions of the elements, they change the structure of the system, selecting first the optimal types elements, then reconfiguring the system by determining the optimal location of elements in the topology without changing their quantitative composition va, and finally adding elements of optimal types of optimum location.
RU2013153641/08A 2013-12-03 2013-12-03 Method of self-organisation of distributed multiprocessor system RU2542925C1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2013153641/08A RU2542925C1 (en) 2013-12-03 2013-12-03 Method of self-organisation of distributed multiprocessor system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2013153641/08A RU2542925C1 (en) 2013-12-03 2013-12-03 Method of self-organisation of distributed multiprocessor system

Publications (1)

Publication Number Publication Date
RU2542925C1 true RU2542925C1 (en) 2015-02-27

Family

ID=53290014

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2013153641/08A RU2542925C1 (en) 2013-12-03 2013-12-03 Method of self-organisation of distributed multiprocessor system

Country Status (1)

Country Link
RU (1) RU2542925C1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2591180C1 (en) * 2015-05-29 2016-07-10 Юрий Анатольевич Ткаченко Protected computer storing its serviceability at damage

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7913006B2 (en) * 2004-09-22 2011-03-22 Kabushiki Kaisha Toshiba Self-organized parallel processing system
RU2459239C2 (en) * 2010-11-08 2012-08-20 Кирилл Евгеньевич Чирков Distributed computer system of optimum solutions

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7913006B2 (en) * 2004-09-22 2011-03-22 Kabushiki Kaisha Toshiba Self-organized parallel processing system
RU2459239C2 (en) * 2010-11-08 2012-08-20 Кирилл Евгеньевич Чирков Distributed computer system of optimum solutions

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2591180C1 (en) * 2015-05-29 2016-07-10 Юрий Анатольевич Ткаченко Protected computer storing its serviceability at damage

Similar Documents

Publication Publication Date Title
Necoara Random coordinate descent algorithms for multi-agent convex optimization over networks
Ryzhov On the convergence rates of expected improvement methods
Yigitbasi et al. Towards machine learning-based auto-tuning of mapreduce
Sun et al. Balancing exploitation and exploration in discrete optimization via simulation through a Gaussian process-based search
Cheng et al. Efficient performance prediction for apache spark
Venugopal et al. A comparison of deep-learning methods for analysing and predicting business processes
Rezvanian et al. Finding maximum clique in stochastic graphs using distributed learning automata
Kang et al. Robust resource scaling of containerized microservices with probabilistic machine learning
El Chamie et al. Distributed weight selection in consensus protocols by Schatten norm minimization
Lu et al. Mixml: A unified analysis of weakly consistent parallel learning
RU2542925C1 (en) Method of self-organisation of distributed multiprocessor system
Chen et al. Boosting the performance of computing systems through adaptive configuration tuning
El Gaily et al. Quantum optimization of resource distribution management for multi-task, multi-subtasks
Laroui et al. Scalable and cost efficient resource allocation algorithms using deep reinforcement learning
Bensalem et al. Benchmarking various ML solutions in complex intent-based network management systems
Hamedani et al. Multi-agent constrained optimization of a strongly convex function over time-varying directed networks
Xie et al. A heteroscedastic t-process simulation metamodeling approach and its application in inventory control and optimization
Aybat et al. On the analysis of inexact augmented Lagrangian schemes for misspecified conic convex programs
Rau et al. Network traffic prediction using online-sequential extreme learning machine
Zhu et al. Learning to route efficiently with end-to-end feedback: The value of networked structure
Zhang et al. Stochastic Localization Methods for Discrete Convex Simulation Optimization
Ghosh et al. A two-phase approach for stochastic optimization of complex business processes
Amelina Scheduling networks with variable topology in the presence of noise and delays in measurements
Doan et al. Convergence rate of distributed random projections
Cherifi et al. An incremental evidential conflict resolution method for data stream fusion in IoT

Legal Events

Date Code Title Description
MM4A The patent is invalid due to non-payment of fees

Effective date: 20191204