RU2433454C1 - Method and apparatus for dynamic computations - Google Patents
Method and apparatus for dynamic computations Download PDFInfo
- Publication number
- RU2433454C1 RU2433454C1 RU2010125491/08A RU2010125491A RU2433454C1 RU 2433454 C1 RU2433454 C1 RU 2433454C1 RU 2010125491/08 A RU2010125491/08 A RU 2010125491/08A RU 2010125491 A RU2010125491 A RU 2010125491A RU 2433454 C1 RU2433454 C1 RU 2433454C1
- Authority
- RU
- Russia
- Prior art keywords
- node
- computing
- computing node
- information
- coordinator
- Prior art date
Links
Images
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
Description
Область техникиTechnical field
Настоящее изобретение относится к области динамичных вычислений, в частности к способу, узлам и системе для динамичных вычислений.The present invention relates to the field of dynamic computing, in particular to a method, nodes and system for dynamic computing.
Уровень техникиState of the art
В последние годы значительные усилия были предприняты для пользования вычислительными ресурсами в нескольких устройствах, соединенных в сеть, для повышения общей вычислительной мощности. Использование ресурсов большого количества отдельных компьютеров, соединенных сетью, например Интернетом, для решения крупномасштабных вычислительных задач часто называют распределенными вычислениями.In recent years, considerable efforts have been made to use computing resources in several devices connected to the network to increase the overall computing power. Using the resources of a large number of individual computers connected by a network, such as the Internet, to solve large-scale computing problems is often called distributed computing.
Динамичные вычисления также связаны с обобществлением ресурсов, однако динамичные вычисления ориентированы на более динамическое и изменчивое окружение, с динамически изменяющимися ресурсами и требованиями по сравнению с сетевыми вычислениями. В то время как сетевые вычисления осуществляются с использованием больших вычислительных ресурсов, соединенных, например, статической сетью, динамичные вычисления конкретно предусматривают использование в гораздо более мобильном окружении с ограниченными ресурсами, например, в виде прерывистых соединений между устройствами, ограниченных энергетических ресурсов, узкополосных соединений и т.д.Dynamic computing is also associated with the socialization of resources, but dynamic computing focuses on a more dynamic and variable environment, with dynamically changing resources and requirements compared to network computing. While network computing is performed using large computing resources connected, for example, by a static network, dynamic computing specifically involves use in a much more mobile environment with limited resources, such as intermittent connections between devices, limited energy resources, narrow-band connections and etc.
В статье "Agile Computing: Bridging the Gap between Grid Computing and Ad-hoc Peer-to-Peer Resource Sharing" Suri, Niranjan и др., материалы 3-го международного симпозиума IEEE/ACM по кластерным вычислениям и сеткам (CCGRID'03), описана система хостов, образующих группы и приспособленных для динамичных вычислений.In the article "Agile Computing: Bridging the Gap between Grid Computing and Ad-hoc Peer-to-Peer Resource Sharing" by Suri, Niranjan et al., Proceedings of the 3rd International IEEE / ACM Symposium on Cluster Computing and Grids (CCGRID'03) , describes a system of hosts forming groups and adapted for dynamic computing.
Узлы в группе окружения динамичных вычислений часто являются мобильными устройствами, что создает опасность разрыва соединения между узлами в группе.The nodes in the dynamic computing environment group are often mobile devices, which creates a risk of disconnection between nodes in the group.
Сущность изобретенияSUMMARY OF THE INVENTION
Понятно, что, в силу динамичности окружения системы динамичных вычислений, вычисления, частично осуществляемые узлом группы, могут быть потеряны по причине динамического характера системы динамичных вычислений. Например, если соединение между вычислительным узлом, выполняющим задание, например вычисления, и узлом-координатором группы разрывается до завершения вычислений, то результаты уже произведенных вычислений теряются. Это значит, что вычислительный узел произвел ненужные вычисления, потратив время и ресурсы, например вычислительные ресурсы и энергию батареи, как на узле-координаторе, так и на вычислительном узле.It is clear that, due to the dynamic environment of the dynamic computing system, the calculations partially carried out by the group node may be lost due to the dynamic nature of the dynamic computing system. For example, if the connection between the computing node performing the task, for example, calculations, and the group coordinating node is disconnected before the calculations are completed, then the results of the calculations already performed are lost. This means that the computing node made unnecessary calculations, spending time and resources, for example, computing resources and battery energy, both on the coordinating node and on the computing node.
Таким образом, задачей настоящего изобретения является обеспечение способа, узлов и системы для динамичных вычислений, что повышает производительность системы для динамичных вычислений.Thus, it is an object of the present invention to provide a method, nodes, and system for dynamic computing, which improves system performance for dynamic computing.
Соответственно предусмотрен способ работы с группой узлов в системе для динамичных вычислений, содержащей узел-координатор и первый вычислительный узел, осуществляющие связь через соединение, и в которой первый вычислительный узел приспособлен выполнять задание для узла-координатора. Способ содержит этапы, на которых:Accordingly, a method is provided for working with a group of nodes in a system for dynamic computing, comprising a coordinator node and a first computing node communicating via a connection, and in which the first computing node is adapted to perform a task for the coordinating node. The method comprises the steps of:
- отслеживают, по меньшей мере, один рабочий параметр, указывающий качество соединения между узлом-координатором и первым вычислительным узлом,- monitor at least one operating parameter indicating the quality of the connection between the coordinator node and the first computing node,
- определяют параметр качества на основании рабочего параметра, причем параметр качества указывает качество соединения между узлом-координатором и первым вычислительным узлом, и- determine the quality parameter based on the operating parameter, and the quality parameter indicates the quality of the connection between the coordinator node and the first computing node, and
- переносят информацию от первого вычислительного узла на узел-координатор, когда значение параметра качества оказывается в интервале переноса, причем информация содержит информацию о части задания, выполненной первым вычислительным узлом.- transfer information from the first computing node to the coordinator node when the value of the quality parameter is in the transfer interval, and the information contains information about the part of the job performed by the first computing node.
Важным преимуществом настоящего изобретения является то, что динамичные вычисления можно использовать также в окружениях с очень высокой степенью мобильности, где узлы часто присоединяются к группам и выходят из них, что приводит к частому разрыву соединений.An important advantage of the present invention is that dynamic computing can also be used in environments with a very high degree of mobility, where nodes often join and leave groups, which leads to frequent disconnection.
Кроме того, предусмотрен вычислительный узел для динамичных вычислений, причем вычислительный узел приспособлен принимать и выполнять задание от узла-координатора через соединение, содержащий:In addition, a computing node for dynamic computing is provided, the computing node being adapted to receive and execute a task from the coordinator node through a connection comprising:
- отслеживающее устройство, приспособленное отслеживать, по меньшей мере, один рабочий параметр, указывающий качество соединения между узлом-координатором и вычислительным узлом,- a tracking device adapted to track at least one operational parameter indicating the quality of the connection between the coordinator node and the computing node,
- вычислительное устройство, приспособленное определять параметр качества на основании, по меньшей мере, одного рабочего параметра, причем параметр качества указывает качество соединения между узлом-координатором и вычислительным узлом, и- a computing device adapted to determine a quality parameter based on at least one operating parameter, the quality parameter indicating the quality of the connection between the coordinator node and the computing node, and
- передающее устройство, приспособленное переносить информацию от вычислительного узла на узел-координатор, когда значение параметра качества оказывается в интервале переноса, причем информация содержит информацию о части задания, выполненной вычислительным узлом.- a transmitting device adapted to transfer information from the computing node to the coordinator node when the value of the quality parameter is in the transfer interval, and the information contains information about the part of the job performed by the computing node.
Кроме того, согласно настоящему изобретению, предусмотрен узел-координатор для динамичных вычислений, причем узел-координатор приспособлен определять распределение заданий и распределять их на один или более вычислительных узлов в группе, и приспособлен принимать информацию о части задания, распределенной на первый вычислительный узел, например, когда параметр качества, который определяется на основании одного или более рабочих параметров, оказывается в интервале переноса.In addition, according to the present invention, there is provided a coordinator node for dynamic computing, wherein the coordinator node is adapted to determine the distribution of tasks and distribute them to one or more computing nodes in a group, and is adapted to receive information about a part of the task distributed to the first computing node, for example when the quality parameter, which is determined based on one or more operating parameters, is in the transfer interval.
Важным преимуществом настоящего изобретения является сокращение объема избыточных вычислений в системе для динамичных вычислений, что приводит к более эффективному использованию вычислительных ресурсов.An important advantage of the present invention is the reduction of the amount of redundant calculations in the system for dynamic calculations, which leads to a more efficient use of computing resources.
Кроме того, преимущество настоящего изобретения состоит в снижении опасности взаимоблокировки, например, когда узел-координатор ожидает информацию от вычислительного узла, который исчез.In addition, an advantage of the present invention is to reduce the risk of deadlock, for example, when the coordinating node expects information from a computing node that has disappeared.
Краткое описание чертежейBrief Description of the Drawings
Вышеописанные и другие признаки и преимущества настоящего изобретения будут ясны специалистам в данной области техники из нижеследующего подробного описания его иллюстративных вариантов осуществления со ссылкой на прилагаемые чертежи, в которых:The above and other features and advantages of the present invention will be apparent to those skilled in the art from the following detailed description of illustrative embodiments thereof with reference to the accompanying drawings, in which:
фиг. 1 - вариант осуществления системы для динамичных вычислений согласно изобретению,FIG. 1 is an embodiment of a system for dynamic computing according to the invention,
фиг. 2 - вариант осуществления системы для динамичных вычислений согласно изобретению,FIG. 2 is an embodiment of a system for dynamic computing according to the invention,
фиг. 3 - блок-схема последовательности операций способа по варианту осуществления согласно настоящему изобретению,FIG. 3 is a flowchart of a method according to an embodiment according to the present invention,
фиг. 4 - блок-схема последовательности операций способа по варианту осуществления согласно настоящему изобретению,FIG. 4 is a flowchart of a method according to an embodiment according to the present invention,
фиг. 5 - блок-схема последовательности операций способа по варианту осуществления согласно настоящему изобретению,FIG. 5 is a flowchart of a method according to an embodiment according to the present invention,
фиг. 6 схематически иллюстрирует вычислительный узел согласно настоящему изобретению,FIG. 6 schematically illustrates a computing node according to the present invention,
фиг. 7 - схематически иллюстрирует узел-координатор согласно настоящему изобретению, иFIG. 7 schematically illustrates a coordinator assembly according to the present invention, and
фиг. 8 - блок-схема последовательности операций способа по варианту осуществления согласно настоящему изобретению.FIG. 8 is a flowchart of a method according to an embodiment according to the present invention.
Подробное описание изобретенияDETAILED DESCRIPTION OF THE INVENTION
Чертежи схематизированы и упрощены для ясности, и призваны демонстрировать только детали, важные для понимания изобретения, тогда как другие детали опущены. На всех чертежах одинаковые условные обозначения используются для одинаковых или соответствующих частей или этапов.The drawings are schematized and simplified for clarity, and are intended to show only details that are important for understanding the invention, while other details are omitted. Throughout the drawings, the same conventions are used for the same or corresponding parts or steps.
В системе для динамичных вычислений узел(ы)-координатор(ы) и вычислительный(е) узел(ы) образуют одну или более групп или зон, см., например, фиг. 1 и 2. Группа в системе для динамичных вычислений может содержать любое количество узлов-координаторов, например один, два, три или более узлов-координаторов. Кроме того, группа может содержать любое количество вычислительных узлов, например один, два, три или более вычислительных узлов. Настоящее изобретение конкретно относится к случаю, когда узел в группе на одном пути или другой теряет или готов потерять свое соединение с другими узлами в группе.In a system for dynamic computing, the coordinating unit (s) and (a) computing unit (s) form one or more groups or zones, see, for example, FIG. 1 and 2. A group in a system for dynamic calculations can contain any number of coordinator nodes, for example, one, two, three, or more coordinator nodes. In addition, the group may contain any number of computing nodes, for example, one, two, three or more computing nodes. The present invention specifically relates to the case when a node in a group on one path or another loses or is ready to lose its connection with other nodes in the group.
Узел-координатор отвечает за выделение и распределение заданий на другие узлы, например на один или более вычислительных узлов или на другие узлы-координаторы. Задание может включать в себя вычисления, например обработку данных, и/или измерения одной или более физических величин.The coordinating node is responsible for the allocation and distribution of tasks to other nodes, for example, to one or more computing nodes or to other coordinating nodes. The task may include computing, for example, processing data, and / or measuring one or more physical quantities.
На фиг. 1 и 2 схематически представлены варианты осуществления системы, приспособленной для динамичных вычислений согласно настоящему изобретению.In FIG. 1 and 2 schematically illustrate embodiments of a system adapted for dynamic computing according to the present invention.
Согласно фиг. 1 система для динамичных вычислений содержит группу 2, содержащую, по меньшей мере, один узел-координатор, включающий в себя первый узел-координатор COOR1, 10. Первый узел-координатор 10 приспособлен для распределения заданий на, по меньшей мере, один вычислительный узел в группе 2, в которой, по меньшей мере, один вычислительный узел включает в себя первый вычислительный узел COMP1, 12 и/или второй вычислительный узел COMP2, 14. Согласно иллюстрируемому варианту осуществления первый узел-координатор 10 осуществляет связь с первым вычислительным узлом 12 и вторым вычислительным узлом 14 через первое и второе соединения 16, 18 соответственно. Согласно иллюстрируемому варианту осуществления первое соединение 16 и второе соединение 18 являются беспроводными. Согласно варианту осуществления первое соединение 16 и/или второе соединение 18 может быть проводным соединением.According to FIG. 1, the dynamic computing system comprises a
На фиг. 2 схематически показана группа 102 системы для динамичных вычислений. Группа 102 содержит, по меньшей мере, один узел-координатор, включающий в себя первый узел-координатор COOR1, 10. Согласно фиг. 2 первый узел-координатор 10 приспособлен для распределения заданий на, по меньшей мере, один дополнительный узел-координатор, причем, по меньшей мере, один дополнительный узел-координатор содержит второй узел-координатор COOR2, 20 и/или третий узел-координатор COOR3, 22, например, через соединения 24, 26. Второй узел-координатор 20 распределяет задания от первого узла-координатора 10 на вычислительные узлы COMP1, 12 и COMP2, 14 через соединения 28, 30, соответственно, и третий узел-координатор 22 распределяет задания от первого узла-координатора 10 на вычислительные узлы COMP2 и COMP3 через соединения 32, 34 соответственно. В необязательном порядке, второй узел-координатор 20 и третий узел-координатор 22 осуществляет связь через соединение 36. Первый узел-координатор действует как главный узел-координатор. Согласно варианту осуществления первый узел-координатор 10 также может осуществлять связь с одним или более вычислительными узлами (не показаны). Согласно варианту осуществления узел-координатор также действует как вычислительный узел, выполняющий задания.In FIG. 2 schematically shows a
Обычно узлы в системе для динамичных вычислений являются мобильными, например мобильными терминалами или терминалами, установленными на мобильных устройствах, однако узлы также могут быть стационарными. Примеры устройств, которые могут быть приспособлены для работы в качестве узла в системе для динамичных вычислений, включают в себя, но без ограничения: компьютер, мобильный телефон, КПК, устройство GPS, лэптоп или другие портативные устройства. Однако любое устройство, вычислительные ресурсы которого используются не полностью, можно, в принципе, приспособить для динамичных вычислений, например устройства со свободными вычислительными ресурсами или устройства, способные выполнять необходимое задание, например в автомобиле.Typically, nodes in a dynamic computing system are mobile, such as mobile terminals or terminals installed on mobile devices, however, the nodes can also be fixed. Examples of devices that can be adapted to operate as a node in a system for dynamic computing include, but are not limited to: a computer, mobile phone, PDA, GPS device, laptop, or other portable device. However, any device whose computing resources are not fully utilized can, in principle, be adapted for dynamic computing, for example, devices with free computing resources or devices capable of performing the necessary task, for example, in a car.
Соединения между соответствующими узлами в системе для динамичных вычислений могут быть проводными, беспроводными или комбинированными. Для связи между узлами можно использовать ряд протоколов, например протокол Bluetooth, интернет-протокол, WIFI, протоколы LAN и т.д. Соответственно узлы системы для динамичных вычислений приспособлены для осуществления связи с другими узлами системы для передачи данных, программного обеспечения и другой информации на другие узлы системы.Connections between the respective nodes in the system for dynamic computing can be wired, wireless or combined. A number of protocols can be used for communication between nodes, for example, Bluetooth, Internet Protocol, WIFI, LAN protocols, etc. Accordingly, the nodes of the system for dynamic computing are adapted to communicate with other nodes of the system for transmitting data, software and other information to other nodes of the system.
Система для динамичных вычислений описана в "Towards an Agile Computing Approach to Dynamic and Adaptive Service-Oriented Architectures" Suri, Niranjan и др., 1-й семинар IEEE по автономной связи и сетевому управлению (ACNM'07), стр. 25-31, май 2007.A system for dynamic computing is described in Towards an Agile Computing Approach to Dynamic and Adaptive Service-Oriented Architectures by Suri, Niranjan et al., IEEE 1st Autonomous Communications and Network Management Workshop (ACNM'07), pp. 25-31 May 2007.
Кроме того, преимущество настоящего изобретения состоит в том, что узел-координатор может более эффективно распределять задания в отношении как времени, так и вычислительной мощности.In addition, an advantage of the present invention is that the coordinating node can more efficiently distribute tasks in terms of both time and processing power.
В способе, отвечающем настоящему изобретению, этап отслеживания, по меньшей мере, одного рабочего параметра может содержать измерение интенсивности сигнала для сигнала между узлом-координатором и вычислительным узлом в системе. Интенсивность сигнала любого сигнала от узла-координатора может составлять рабочий параметр, например интенсивность сигнала для пилот-канала, интенсивность сигнала для сигналов данных на первый вычислительный узел или другие узлы и т.п.In the method of the present invention, the step of tracking at least one operating parameter may comprise measuring a signal intensity for a signal between the coordinator node and the computing node in the system. The signal intensity of any signal from the coordinator node can be an operational parameter, for example, the signal intensity for the pilot channel, the signal intensity for data signals to the first computing node or other nodes, etc.
По меньшей мере, один рабочий параметр может согласно варианту осуществления включать в себя энергию батареи первого вычислительного узла и/или узла-координатора. Дополнительно или альтернативно, по меньшей мере, один рабочий параметр может включать в себя другие параметры, например уровень шума для расчета отношения сигнал-шум.At least one operating parameter may according to an embodiment include the battery energy of the first computing node and / or coordinator node. Additionally or alternatively, at least one operating parameter may include other parameters, for example, a noise level for calculating a signal-to-noise ratio.
Параметр качества можно определять или вычислять на основании одного или совокупности рабочих параметров, например одного или более выборочных значений одного или более рабочих параметров в разные моменты времени. Это можно выразить в виде:The quality parameter can be determined or calculated based on one or a combination of operating parameters, for example, one or more sampled values of one or more operating parameters at different points in time. This can be expressed as:
где Q - это параметр качества, и O ik - это значение i-го рабочего параметра в момент времени k.where Q is the quality parameter, and O ik is the value of the i- th working parameter at time k .
Согласно варианту осуществления изобретения на этапе определения параметра качества определяют параметр качества на основании отношения сигнал-шум для сигнала между узлом-координатором и первым вычислительным узлом.According to an embodiment of the invention, in the step of determining the quality parameter, the quality parameter is determined based on the signal-to-noise ratio for the signal between the coordinator node and the first computing node.
Предпочтительно, этап переноса информации осуществляется, когда значение параметра качества оказывается ниже порогового значения переноса T transfer, т.е. когда Q < T transfer.Preferably, the step of transferring information is carried out when the quality parameter value is below the threshold transfer value T transfer , i.e. when Q < T transfer .
До инициирования задания на вычислительном узле узел-координатор и/или вычислительный узел может быть приспособлен оценивать качество соединения и решать, распределять ли задание, на основании этой оценки. Соответственно способ может содержать этап, на котором:Prior to initiating a task at a computing node, the coordinator and / or computing node may be able to evaluate the quality of the connection and decide whether to distribute the task based on this assessment. Accordingly, the method may comprise the step of:
- распределяют задание на первый вычислительный узел только при условии, что параметр качества больше или равен пороговому значению инициирования T initiate.- distribute the task to the first computing node only under the condition that the quality parameter is greater than or equal to the initiation threshold value T initiate .
Этап распределения задания можно осуществлять до этапа отслеживания, по меньшей мере, одного рабочего параметра, т.е. при Q≥T initiate.The task distribution step can be carried out before the step of tracking at least one operating parameter, i.e. at Q ≥ T initiate .
Обычно вычислительный узел продолжает задание до завершения. Однако в силу ограниченных вычислительных или энергетических ресурсов вычислительного узла и во избежание растраты энергетических и других ресурсов желательно иметь возможность останавливать текущее задание на вычислительном узле в случае разрыва соединения между узлом-координатором и вычислительным узлом. С другой стороны, желательно продолжать задание для завершения задания в случае, когда вычислительный узел способен передать результат на узел-координатор через альтернативное или то же самое соединение позже.Typically, the compute node continues the job until completion. However, due to the limited computing or energy resources of the computing node and in order to avoid wasting energy and other resources, it is desirable to be able to stop the current task on the computing node in the event of a break in the connection between the coordinating node and the computing node. On the other hand, it is desirable to continue the task to complete the task in the case when the computing node is able to transmit the result to the coordinating node through an alternative or the same connection later.
После этапа переноса информации и/или, если вычислительный узел видит, что этап переноса информации не завершен, например, из-за разрыва соединения, и/или в случае исчезновения соединения между узлом-координатором и вычислительным узлом, можно принимать решение, должен ли вычислительный узел останавливать или продолжать выполнение оставшейся части задания. Соответственно способ может дополнительно содержать этап, на котором:After the step of transferring information and / or if the computational node sees that the step of transferring information is not completed, for example, due to a disconnected connection, and / or if the connection between the coordinating node and the computational node is lost, it is possible to decide whether the computational node to stop or continue the rest of the job. Accordingly, the method may further comprise the step of:
- принимают решение, должен ли первый вычислительный узел останавливать или продолжать выполнение задания после этапа переноса информации о выполненной части задания.- decide whether the first computing node should stop or continue the task after the step of transferring information about the completed part of the task.
Благодаря тому, что вычислительный узел может останавливать задание, способ, отвечающий изобретению, обеспечивает лучшее использование ресурсов в системе для динамичных вычислений, избегая ненужных вычислений на вычислительном узле, тем самым экономя ограниченные ресурсы этого узла.Due to the fact that the computing node can stop the task, the method corresponding to the invention provides the best use of resources in the system for dynamic computing, avoiding unnecessary computing on the computing node, thereby saving the limited resources of this node.
В предпочтительном варианте осуществления значение параметра качества зависит от качества соединения между узлом-координатором и вычислительным узлом. Если соединение между узлом-координатором и вычислительным узлом имеет низкое качество, желательно иметь альтернативные маршруты связи между ними. Соответственно способ может дополнительно содержать этап, на котором:In a preferred embodiment, the value of the quality parameter depends on the quality of the connection between the coordinator node and the computing node. If the connection between the coordinator node and the computing node is of poor quality, it is desirable to have alternative communication routes between them. Accordingly, the method may further comprise the step of:
- осуществляют попытку установить альтернативное соединение между узлом-координатором и первым вычислительным узлом, например, когда значение параметра качества оказывается в интервале установления.- an attempt is made to establish an alternative connection between the coordinating node and the first computing node, for example, when the value of the quality parameter is in the establishment interval.
Этап осуществления попытки установления альтернативного соединения можно осуществлять, когда значение параметра качества оказывается ниже порогового значения установления T setup, т.е. при Q<T setup.The step of attempting to establish an alternative connection can be carried out when the quality parameter value is lower than the establishment threshold value T setup , i.e. at Q < T setup .
Интервал переноса и интервал установления может задаваться и/или изменяться узлом-координатором и/или первым вычислительным узлом.The transfer interval and the establishment interval can be specified and / or changed by the coordinator node and / or the first computing node.
Альтернативное соединение между узлом-координатором и первым вычислительным узлом может представлять собой соединение через дополнительный вычислительный узел и/или дополнительный узел-координатор в группе.An alternative connection between the coordinator node and the first computing node may be a connection through an additional computing node and / or an additional coordinator node in the group.
Когда узел-координатор принимает информацию от первого вычислительного узла о части задания, выполненной первым вычислительным узлом, оставшаяся часть задания может перераспределяться для обеспечения завершения задания.When the coordinating node receives information from the first computing node about the part of the task performed by the first computing node, the remaining part of the task can be redistributed to ensure completion of the task.
Соответственно способ может содержать этапы, на которых:Accordingly, the method may include stages in which:
- узел-координатор определяет распределение оставшейся части задания первого вычислительного узла на основании информации от первого вычислительного узла, и- the coordinating node determines the distribution of the remaining part of the job of the first computing node based on information from the first computing node, and
- узел-координатор распределяет оставшуюся часть задания первого вычислительного узла на, по меньшей мере, один вычислительный узел в группе.- the coordinating node distributes the remainder of the job of the first computing node to at least one computing node in the group.
Оставшаяся часть задания может перераспределяться на первый вычислительный узел, если соединение восстановлено или все еще существует, и/или на другие вычислительные узлы в группе. Перераспределение оставшейся части задания на первый вычислительный узел можно определять на основании значения параметра качества, например, оставшаяся часть задания может перераспределяться на первый узел-координатор, если Q ≥ T initiate.The rest of the job can be redistributed to the first computing node if the connection is restored or still exists, and / or to other computing nodes in the group. The redistribution of the remaining part of the task to the first computing node can be determined based on the value of the quality parameter, for example, the remaining part of the task can be redistributed to the first coordinating node if Q ≥ T initiate .
Предпочтительно, мониторинг, по меньшей мере, одного рабочего параметра осуществляется первым вычислительным узлом, однако узел-координатор может дополнительно или альтернативно также отслеживать, по меньшей мере, один рабочий параметр.Preferably, at least one operating parameter is monitored by the first computing node, however, the coordinating node may additionally or alternatively also monitor at least one operating parameter.
Информация, перенесенная на этапе переноса информации, может содержать информацию, касающуюся значения параметра качества, и/или информацию о том, что значение параметра качества оказалось в интервале переноса.The information transferred at the stage of transferring information may contain information regarding the value of the quality parameter and / or information that the value of the quality parameter is in the transfer interval.
На фиг. 3 показан вариант осуществления способа, отвечающего изобретению. Способ содержит этап 108 распределения задания на первый вычислительный узел. Способ дополнительно содержит этап 110 мониторинга, по меньшей мере, одного рабочего параметра. На этапе 110 интенсивность сигнала для сигнала от узла-координатора измеряется для расчета параметра качества на этапе 112. Если параметр качества оказывается в интервале переноса, способ переходит к этапу 114, на котором от первого вычислительного узла на координатор переносится информация о части задания, выполненной первым вычислительным узлом, чтобы, по крайней мере, попытаться избежать потери уже выполненной части задания. В противном случае, способ возвращается к мониторингу, по меньшей мере, одного рабочего параметра. Информация, перенесенная на этапе 114, может дополнительно содержать информацию о значении параметра качества. После переноса на этапе 114 способ переходит к этапу 116, на котором узел-координатор оценивает информацию, перенесенную от первого вычислительного узла, и, на основании этой оценки, перераспределяет оставшуюся часть задания для завершения вычислительными узлами в группе. Оставшаяся часть задания может перераспределяться на первый вычислительный узел или на другие вычислительные узлы в группе. Предпочтительно, этапы 110 и 112 осуществляются на первом вычислительном узле. Согласно варианту осуществления способа, отвечающего настоящему изобретению, этапы 110 и 112 осуществляются на узле-координаторе, в связи с чем узел-координатор должен передавать запрос на перенос информации на первый вычислительный узел на этапе 114.In FIG. 3 shows an embodiment of the method of the invention. The method comprises a
На фиг. 4 показан дополнительный вариант осуществления способа, отвечающего настоящему изобретению. Согласно иллюстрируемому варианту осуществления способ переходит к этапу 118 после этапа 114, на котором осуществляется перенос информации о выполненной части задания. Этап 118 содержит этап принятия решения, должен ли первый вычислительный узел останавливать или продолжать выполнение задания. Это решение может базироваться на значении параметра качества. Альтернативно или дополнительно, решение может зависеть от того, был ли перенос на этапе 114 завершен или прерван. Если задание продолжается, способ, в необязательном порядке, переходит к этапу 120, на котором узел-координатор, если решение на этапе 118 принимается первым вычислительным узлом, информируется о том, что первый вычислительный узел продолжает задание, до возвращения к этапу 110.In FIG. 4 shows an additional embodiment of the method of the present invention. According to the illustrated embodiment, the method proceeds to step 118 after
Согласно варианту осуществления настоящего изобретения этап принятия решения, останавливать ли или продолжать выполнение задания, после этапа переноса информации о выполненной части задания содержит выбор схемы вычисления из совокупности схем вычисления, например на основании фактического значения параметра качества.According to an embodiment of the present invention, the step of deciding whether to stop or continue the task execution, after the step of transferring information about the completed part of the task, comprises selecting a calculation scheme from the set of calculation schemes, for example, based on the actual value of the quality parameter.
На фиг. 5 показан дополнительный вариант осуществления способа, отвечающего изобретению. Помимо этапов, описанных выше со ссылкой на фиг. 4, способ дополнительно содержит этап 124 осуществления попытки установления альтернативного соединения между узлом-координатором и первым вычислительным узлом, например, первый вычислительный узел 12 подает запрос на узел-координатор 10. Этап 124 осуществления попытки установления альтернативного соединения может зависеть от того, находится ли значение параметра качества Q в интервале установления, что проиллюстрировано необязательным этапом 126. Дополнительно или альтернативно, этап 124 осуществления попытки установления альтернативного соединения может зависеть от текущих способностей и возможностей вычислительного узла, например уровня заряда батареи, другой рабочей нагрузки, состояния памяти и пр. На этапе 120 первый вычислительный узел продолжает задание и, в необязательном порядке, информирует соответственно узел-координатор.In FIG. 5 shows a further embodiment of the method of the invention. In addition to the steps described above with reference to FIG. 4, the method further comprises a
Согласно иллюстрируемому варианту осуществления этап 124 осуществления попытки установления альтернативного соединения между узлом-координатором и первым вычислительным узлом включает в себя попытку установить новое соединение между узлом-координатором и первым вычислительным узлом, если параметр качества указывает разрыв соединения между узлом-координатором и вычислительным узлом, например, первого соединения 16.According to an illustrated embodiment, the
Альтернативное соединение между узлом-координатором и первым вычислительным узлом может представлять собой соединение через один или более других узлов в системе, например, второй вычислительный узел в той же группе и/или второй узел-координатор в той же или другой группе.An alternative connection between the coordinator node and the first computing node may be a connection through one or more other nodes in the system, for example, a second computing node in the same group and / or a second coordinating node in the same or another group.
На вычислительном узле, отвечающем настоящему изобретению, отслеживающее устройство может быть приспособлено для измерения интенсивности сигнала для одного или более сигналов между узлом-координатором и вычислительным узлом. Согласно варианту осуществления отслеживающее устройство приспособлено для измерения интенсивности сигнала для сигнала от узла-координатора, каковой сигнал указывает присутствие узла-координатора.At the computing node of the present invention, the tracking device may be adapted to measure signal strength for one or more signals between the coordinator node and the computing node. According to an embodiment, a tracking device is adapted to measure a signal intensity for a signal from a coordinator node, which signal indicates the presence of a coordinator node.
Параметр качества Q может определять вычислительный узел или, согласно более централизованному подходу, параметр качества может определять координатор. Параметр качества можно определять или вычислять на основании одного или совокупности рабочих параметров. Согласно варианту осуществления вычислительного узла вычислительное устройство может быть приспособлено для определения параметра качества на основании отношения сигнал-шум для сигнала между узлом-координатором и вычислительным узлом.The quality parameter Q can be determined by the computing node or, according to a more centralized approach, the quality parameter can be determined by the coordinator. The quality parameter can be determined or calculated based on one or a combination of operating parameters. According to an embodiment of the computing node, the computing device may be adapted to determine a quality parameter based on the signal-to-noise ratio for the signal between the coordinator node and the computing node.
Передающее устройство вычислительного узла может быть приспособлено переносить информацию на узел-координатор, когда значение параметра качества оказывается ниже порогового значения переноса, т.е. при Q<T transfer. Передающее устройство может содержать приемопередатчик.The transmitting device of the computing node can be adapted to transfer information to the coordinating node when the value of the quality parameter is lower than the threshold transfer value, i.e. at Q < T transfer . The transmitting device may include a transceiver.
Согласно варианту осуществления вычислительного узла параметр качества вычисляется как отношение сигнал-шум для сигнала от узла-координатора.According to an embodiment of the computing node, the quality parameter is calculated as the signal-to-noise ratio for the signal from the coordinator node.
Кроме того, вычислительный узел может быть приспособлен принимать решение, останавливать ли или продолжать выполнение задания, после переноса информации о выполненной части задания. Решение может базироваться на значении параметра качества, которое может указывать отсутствие доступного соединения между вычислительным узлом и узлом-координатором, например, имея нулевое значение.In addition, the computing node may be able to decide whether to stop or continue the task, after transferring information about the completed part of the task. The decision may be based on the value of the quality parameter, which may indicate the absence of an available connection between the computing node and the coordinator node, for example, having a zero value.
Кроме того, вычислительный узел может быть приспособлен осуществлять попытку установления альтернативного соединения между узлом-координатором и вычислительным узлом, когда значение параметра качества оказывается в интервале установления, например, когда параметр качества Q оказывается равным или ниже порогового значения установления.In addition, the computing node may be adapted to attempt to establish an alternative connection between the coordinator node and the computing node when the quality parameter value falls within the establishment interval, for example, when the quality parameter Q is equal to or lower than the establishment threshold value.
Вычислительный узел может быть приспособлен переносить информацию на узел-координатор, причем информация содержит информацию, указывающую, что значение параметра качества оказалось в интервале переноса, например, что отношение сигнал-шум для соединения между вычислительным узлом и узлом-координатором оказалось ниже порога переноса T transfer.The computing node may be adapted to transfer information to the coordinating node, and the information contains information indicating that the quality parameter is in the transfer interval, for example, that the signal-to-noise ratio for the connection between the computing node and the coordinating node is below the transfer threshold T transfer .
На фиг. 6 схематически показан вариант осуществления вычислительного узла для динамичных вычислений, отвечающего изобретению, например, первого вычислительного узла для использования согласно способу, отвечающему настоящему изобретению. Вычислительный узел 12 приспособлен принимать и выполнять задание от узла-координатора, например узла-координатора 10, через соединение, например первое соединение 16. Вычислительный узел 12 содержит отслеживающее устройство 202, приспособленный отслеживать рабочий параметр, например интенсивность сигнала для сигнала от узла-координатора, указывающий качество соединения 16, и вычислительное устройство 204, приспособленное определять отношение сигнал-шум в качестве параметра качества на основании измеренной интенсивности сигнала. Кроме того, вычислительный узел 12 содержит передающее устройство 206, приспособленное переносить информацию от вычислительного узла 12 на узел-координатор 10, когда значение отношения сигнал-шум оказывается ниже порогового значения переноса. Переносимая информация содержит информацию о части задания, выполненной вычислительным узлом 12. Устройства 202, 204, 206 соединены друг с другом проводами 208.In FIG. 6 schematically shows an embodiment of a dynamic computing computing node according to the invention, for example, a first computing node for use according to the method of the present invention. The
Кроме того, вычислительный узел 12 приспособлен принимать решение, останавливать ли или продолжать выполнение задания, после переноса информации. Принятие решения основано на значении параметра качества, которое часто обновляется, например каждые 2 секунды.In addition, the
Дополнительно, вычислительный узел 12 приспособлен к осуществлению попытки установления альтернативного соединения между узлом-координатором 10 и вычислительным узлом 12 через другой узел в группе, например второй вычислительный узел 14, когда значение параметра качества оказывается ниже порогового значения установления.Additionally, the
Узел-координатор, отвечающий изобретению, может быть приспособлен определять распределение оставшейся части задания первого вычислительного узла на основании информации от первого вычислительного узла. Кроме того, узел-координатор может быть приспособлен перераспределять оставшуюся часть задания или полное задание первого вычислительного узла на, по меньшей мере, один вычислительный узел в группе, например на первый вычислительный узел, если соединение все еще имеет достаточное качество или было восстановлено, или на второй вычислительный узел, имеющий доступную емкость.The coordinator assembly of the invention may be adapted to determine the distribution of the remainder of the job of the first computing node based on information from the first computing node. In addition, the coordinator node may be adapted to redistribute the remainder of the task or the full task of the first computing node to at least one computing node in the group, for example, to the first computing node, if the connection is still of sufficient quality or has been restored, or a second computing node having available capacity.
На фиг. 7 схематически показан узел-координатор 10, отвечающий настоящему изобретению. Узел-координатор 10 содержит процессор 302 и приемопередающее устройство 304, соединенные проводом 306. Процессор 302 приспособлен определять распределение заданий и распределять их на один или более вычислительных узлов в группе. Кроме того, узел-координатор 10 содержит приемопередающее устройство 304, которое приспособлено принимать от первого вычислительного узла 12 информацию о части задания, распределенной на первый вычислительный узел, когда параметр качества, который определяется на основании одного или более рабочих параметров, оказывается в интервале переноса.In FIG. 7 schematically shows a
Кроме того, узел-координатор 10 приспособлен определять распределение оставшейся части задания от первого вычислительного узла на основании информации от первого вычислительного узла, с помощью приемопередающего устройства 304, приспособленный распределять оставшуюся часть задания первого вычислительного узла на, по меньшей мере, один вычислительный узел в группе.In addition, the
Согласно варианту осуществления настоящего изобретения первый вычислительный узел продолжает выполнение задания в течение заданного периода времени до попытки восстановления соединения узла-координатора и первого вычислительного узла, либо напрямую, либо через один или более других узлов. Такой вариант осуществления представлен на фиг. 8, согласно которому способ, помимо этапов иллюстративного способа, показанного на фиг. 5, дополнительно содержит этап 130 продолжения задания в течение заданного периода времени, например периода свыше 10 секунд, например от около 10 секунд до около 10 минут. Заданный период времени может иметь заданную длительность, например около 30 секунд, 1 минуту, 3 минуты или 5 минут. Длительность периода времени может зависеть от значения параметра качества.According to an embodiment of the present invention, the first computing node continues the task for a predetermined period of time until an attempt is made to reconnect the coordinating node and the first computing node, either directly or through one or more other nodes. Such an embodiment is shown in FIG. 8, wherein the method, in addition to the steps of the illustrative method shown in FIG. 5 further comprises a
Следует отметить, что, помимо иллюстративных вариантов осуществления изобретения, показанных на прилагаемых чертежах, изобретение можно реализовать в разных формах и не следует рассматривать в порядке ограничения представленными здесь вариантами осуществления. Напротив, эти варианты осуществления предусмотрены для того, чтобы это раскрытие было исчерпывающим и полным, и полностью доносило идеи изобретения до специалистов в данной области техники.It should be noted that, in addition to the illustrative embodiments of the invention shown in the accompanying drawings, the invention can be implemented in various forms and should not be construed as limiting the embodiments presented here. On the contrary, these embodiments are provided so that this disclosure will be exhaustive and complete, and will fully convey the ideas of the invention to those skilled in the art.
Claims (17)
- отслеживают (110), по меньшей мере, один рабочий параметр, указывающий качество соединения (16) между узлом-координатором (10) и первым вычислительным узлом (12),
- определяют (112) параметр качества на основании рабочего параметра, причем параметр качества указывает качество соединения (16) между узлом-координатором (10) и первым вычислительным узлом (12), и
- переносят (114) информацию от первого вычислительного узла (12) на узел-координатор (10), когда значение параметра качества оказывается в интервале переноса, причем информация содержит информацию о части задания, выполненной первым вычислительным узлом.1. A method of working with a group (2, 102) of nodes in a system for dynamic computing, comprising a coordinating node (10) and a first computing node (12) communicating via a connection (16), and in which the first computing node (12) adapted to perform the task for the coordinator node (10), while the method comprises the steps of
- track (110) at least one operating parameter indicating the quality of the connection (16) between the coordinator node (10) and the first computing node (12),
- determine (112) the quality parameter on the basis of the working parameter, and the quality parameter indicates the quality of the connection (16) between the coordinator node (10) and the first computing node (12), and
- transfer (114) information from the first computing node (12) to the coordinating node (10) when the value of the quality parameter is in the transfer interval, and the information contains information about the part of the job performed by the first computing node.
- распределяют (108) задание на первый вычислительный узел (12) только когда параметр качества больше или равен пороговому значению инициирования.5. The method according to claim 1, wherein prior to the step of tracking at least one operating parameter,
- distribute (108) the task to the first computing node (12) only when the quality parameter is greater than or equal to the initiation threshold value.
- принимают решение (118), должен ли первый вычислительный узел (12) останавливать или продолжать выполнение задания после этапа переноса информации о выполненной части задания.6. The method according to claim 1, additionally containing a stage in which
- decide (118) whether the first computing node (12) should stop or continue the task after the step of transferring information about the completed part of the task.
- осуществляют попытку (124) установить альтернативное соединение между узлом-координатором (10) и первым вычислительным узлом (12).7. The method according to claim 1, additionally containing a stage in which
- an attempt is made (124) to establish an alternative connection between the coordinating node (10) and the first computing node (12).
- узел-координатор (10) определяет распределение оставшейся части задания первого вычислительного узла (12) на основании информации от первого вычислительного узла (12), и
- узел-координатор (10) распределяет (116) оставшуюся часть задания первого вычислительного узла на, по меньшей мере, один вычислительный узел в группе.8. The method according to claim 1, additionally containing stages, in which
- the coordinating node (10) determines the distribution of the remaining part of the job of the first computing node (12) based on information from the first computing node (12), and
- the coordinating node (10) distributes (116) the remainder of the job of the first computing node to at least one computing node in the group.
- отслеживающее устройство (202), приспособленное отслеживать, по меньшей мере, один рабочий параметр, указывающий качество соединения (16) между узлом-координатором (10) и вычислительным узлом (12),
- вычислительное устройство (204), приспособленное определять параметр качества на основании, по меньшей мере, одного рабочего параметра, причем параметр качества указывает качество соединения (16) между узлом-координатором (10) и вычислительным узлом (12), и
- передающее устройство (206), приспособленное переносить информацию от вычислительного узла (12) на узел-координатор (10), когда значение параметра качества оказывается в интервале переноса, причем информация содержит информацию о части задания, выполненной вычислительным узлом (12).10. A computing node (12) for dynamic computing, adapted to receive and execute a task from the coordinating node (10) through a connection (16) containing
- a tracking device (202), adapted to track at least one operating parameter indicating the quality of the connection (16) between the coordinator node (10) and the computing node (12),
a computing device (204) adapted to determine a quality parameter based on at least one operating parameter, the quality parameter indicating the quality of the connection (16) between the coordinator node (10) and the computing node (12), and
- a transmitting device (206) adapted to transfer information from the computing node (12) to the coordinating node (10) when the value of the quality parameter is in the transfer interval, and the information contains information about the part of the job performed by the computing node (12).
- отслеживающее устройство приспособлено для измерения интенсивности сигнала для сигнала между узлом-координатором и вычислительным узлом,
- вычислительное устройство приспособлено для определения параметра качества на основании отношения сигнал-шум для сигнала между узлом-координатором и вычислительным узлом,
- передающее устройство приспособлено для переноса информации на узел-координатор, когда значение параметра качества оказывается ниже порогового значения переноса.12. The computing node of claim 10, in which
- the tracking device is adapted to measure the signal intensity for the signal between the coordinator node and the computing node,
- the computing device is adapted to determine the quality parameter based on the signal-to-noise ratio for the signal between the coordinator node and the computing node,
- the transmitting device is adapted to transfer information to the coordinator node when the value of the quality parameter is below the threshold value of the transfer.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2010125491/08A RU2433454C1 (en) | 2007-11-22 | 2007-11-22 | Method and apparatus for dynamic computations |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2010125491/08A RU2433454C1 (en) | 2007-11-22 | 2007-11-22 | Method and apparatus for dynamic computations |
Publications (1)
Publication Number | Publication Date |
---|---|
RU2433454C1 true RU2433454C1 (en) | 2011-11-10 |
Family
ID=44997353
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2010125491/08A RU2433454C1 (en) | 2007-11-22 | 2007-11-22 | Method and apparatus for dynamic computations |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2433454C1 (en) |
-
2007
- 2007-11-22 RU RU2010125491/08A patent/RU2433454C1/en active
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109274745B (en) | Internet of things system and method for optimizing calculation of edge nodes | |
Magurawalage et al. | Energy-efficient and network-aware offloading algorithm for mobile cloud computing | |
US8959210B2 (en) | Method and device for agile computing | |
KR101998443B1 (en) | Discovery and mining of performance information of a device for anticipatorily sending updates to the device | |
CN102667723A (en) | Balancing server load according to availability of physical resources | |
JP6648754B2 (en) | Communication device, communication method, and program | |
Shekhar et al. | URMILA: Dynamically trading-off fog and edge resources for performance and mobility-aware IoT services | |
TW201414340A (en) | Managing connectivity between wireless devices | |
CN113992691B (en) | Method, device and equipment for distributing edge computing resources and storage medium | |
Shekhar et al. | Urmila: A performance and mobility-aware fog/edge resource management middleware | |
US20190089805A1 (en) | Constraint based signal for intelligent and optimized end user mobile experience enhancement | |
JP2014531691A (en) | Diagnostic check of the running module | |
US20140129863A1 (en) | Server, power management system, power management method, and program | |
RU2433454C1 (en) | Method and apparatus for dynamic computations | |
Samie et al. | Distributed trade-based edge device management in multi-gateway IoT | |
CN104822175A (en) | Code migration method and system suitable for cellular network | |
US9219636B2 (en) | Data sharing system, terminal, and data sharing method | |
US9996132B2 (en) | Distributed processing method, system, and computer product | |
Elgazzar et al. | Empowering mobile service provisioning through cloud assistance | |
CN105659218A (en) | Communication system, shared service control unit, data transmission method, and non-transitory computer-readable medium | |
Zhang et al. | A Runtime Framework for Context-Sensitive Device-to-Device Communication | |
WO2024003998A1 (en) | Wireless communication system, base station device, and communication quality presentation method | |
CN112217200B (en) | Distribution network management method based on edge computing technology | |
WO2024003999A1 (en) | Wireless communication system, base station device, and communication quality presentation method | |
Inupakutika et al. | Performance analysis of mobile cloud computing architectures for mHealth app |