Round-robin (алгоритм): различия между версиями

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
[отпатрулированная версия][непроверенная версия]
Содержимое удалено Содержимое добавлено
→‎См. также: оформление, шаблон "Аспекты операционных систем"
 
(не показано 5 промежуточных версий 3 участников)
Строка 1: Строка 1:
{{Значения|Round-robin}}
{{Значения|Round-robin}}
'''Round-robin''' (от {{lang-en|round-robin}} — циклический) — [[алгоритм]] распределения нагрузки [[Распределённые вычисления|распределённой вычислительной системы]] методом перебора и упорядочения её элементов по круговому циклу.
'''Round-robin''' (от {{lang-en|round-robin}} — циклический) — [[алгоритм]] распределения нагрузки [[Распределённые вычисления|распределённой вычислительной системы]] методом перебора и упорядочения её элементов по круговому циклу.


== Суть алгоритма ==
== Суть алгоритма ==


Пусть имеется ''N'' объектов, способных выполнить заданное действие, и ''M'' задач, которые должны быть выполнены этими объектами. Подразумевается, что объекты ''n'' равны по своим свойствам между собой, задачи ''m'' имеют равный приоритет. Тогда первая задача (''m'' = 1) назначается для выполнения первому объекту (''n'' = 1), вторая — второму и т. д., до достижения последнего объекта (''m'' = ''N''). Тогда следующая задача (''m'' = ''N''+1) будет назначена снова первому объекту и т. п. Проще говоря, происходит перебор выполняющих задания объектов по циклу, или по кругу (round), и по достижении последнего объекта следующая задача будет также назначена первому объекту. Решение задач может быть дополнительно разбито на кванты времени, причем для продолжения решения во времени нумерация объектов (и, соответственно, назначенные задачи) сдвигается по кругу на 1, то есть задача первого объекта отдается второму, второго — третьему, и т. д., а первый объект получает задачу последнего, либо освобождается для приёма новой задачи. Таким образом, алгоритм Round-robin становится алгоритмом распределения времени или [[балансировка нагрузки|балансировки нагрузки]].
Пусть имеется ''N'' объектов, способных выполнить заданное действие, и ''M'' задач, которые должны быть выполнены этими объектами. Подразумевается, что объекты ''n'' равны по своим свойствам между собой, задачи ''m'' имеют равный приоритет. Тогда первая задача (''m'' = 1) назначается для выполнения первому объекту (''n'' = 1), вторая — второму и т. д., до достижения последнего объекта (''m'' = ''N''). Тогда следующая задача (''m'' = ''N''+1) будет назначена снова первому объекту и т. п. Проще говоря, происходит перебор выполняющих задания объектов по циклу, или по кругу (round), и по достижении последнего объекта следующая задача будет также назначена первому объекту. Решение задач может быть дополнительно разбито на кванты времени, причем для продолжения решения во времени нумерация объектов (и, соответственно, назначенные задачи) сдвигается по кругу на 1, то есть задача первого объекта отдается второму, второго — третьему, и т. д., а первый объект получает задачу последнего, либо освобождается для приёма новой задачи. Таким образом, алгоритм Round-robin становится алгоритмом распределения времени или [[балансировка нагрузки|балансировки нагрузки]].


== Применение ==
== Применение ==
Строка 10: Строка 10:
* балансировка нагрузки вычислительных сетей (см. [[Round robin DNS]])
* балансировка нагрузки вычислительных сетей (см. [[Round robin DNS]])
* управление задачами в системах с распределением времени (см. [[:en:Round-robin scheduling|Round-robin scheduling]])
* управление задачами в системах с распределением времени (см. [[:en:Round-robin scheduling|Round-robin scheduling]])
* коллективная игра в написании книг, вышивке и иных хобби (см. [[Round-robin (игра)]], [https://forum.stitch.su/topic/4936/ Вышивальные игры и конкурсы], [https://smartprogress.do/goal/326910/ Игра Round Robin (командная)], [https://fanlore.org/wiki/Round_Robin Round Robin]){{нет АИ|13|10|2011}}
* коллективная игра в написании книг, вышивке и иных хобби (см. Round-robin (игра), [https://forum.stitch.su/topic/4936/ Вышивальные игры и конкурсы], [https://smartprogress.do/goal/326910/ Игра Round Robin (командная)], [https://fanlore.org/wiki/Round_Robin Round Robin]){{нет АИ|13|10|2011}}


== Этимология ==
== История термина ==
Термин Round-robin обозначает письмо к одному адресату, подписанное несколькими корреспондентами, к примеру, общественное обращение к должностному лицу. Название произошло, видимо, в XVII столетии, от французского выражения «ruban rond» (round ribbon, переплетенные в обруч ленты). Таким образом определялся порядок подписания коллективных петиций и ходатайств без соблюдения иерархии подписавшихся, при котором подписи располагались кружком, с тем, чтобы было невозможно найти автора или зачинщика, подписавшегося первым, своеобразная [[круговая порука]].
Термин Round-robin обозначает письмо к одному адресату, подписанное несколькими корреспондентами, к примеру, общественное обращение к должностному лицу. Название произошло, видимо, в XVII столетии, от французского выражения «ruban rond» (round ribbon, переплетенные в обруч ленты). Таким образом определялся порядок подписания коллективных петиций и ходатайств без соблюдения иерархии подписавшихся, при котором подписи располагались кружком, с тем, чтобы было невозможно найти автора или зачинщика, подписавшегося первым, своеобразная [[круговая порука]].


Строка 22: Строка 22:


{{Нет ссылок|дата=12 мая 2011}}
{{Нет ссылок|дата=12 мая 2011}}
{{computer-sci-stub}}
{{computer-sci-stub}}


[[Категория:Информатика]]
[[Категория:Информатика]]

Текущая версия от 14:07, 13 июня 2024

Round-robin (от англ. round-robin — «циклический», сокр. RR) — алгоритм распределения нескольких задач или/и нагрузки распределённой вычислительной системы — методом перебора и упорядочения её элементов по круговому циклу.

Суть алгоритма

[править | править код]

Пусть имеется N объектов, способных выполнить заданное действие, и M задач, которые должны быть выполнены этими объектами. Подразумевается, что объекты n равны по своим свойствам между собой, задачи m имеют равный приоритет. Тогда первая задача (m = 1) назначается для выполнения первому объекту (n = 1), вторая — второму и т. д., до достижения последнего объекта (m = N). Тогда следующая задача (m = N+1) будет назначена снова первому объекту и т. п. Проще говоря, происходит перебор выполняющих задания объектов по циклу, или по кругу (round), и по достижении последнего объекта следующая задача будет также назначена первому объекту. Решение задач может быть дополнительно разбито на кванты времени, причем для продолжения решения во времени нумерация объектов (и, соответственно, назначенные задачи) сдвигается по кругу на 1, то есть задача первого объекта отдается второму, второго — третьему, и т. д., а первый объект получает задачу последнего, либо освобождается для приёма новой задачи. Таким образом, алгоритм Round-robin становится алгоритмом распределения времени или балансировки нагрузки.

Этимология

[править | править код]

Термин Round-robin обозначает письмо к одному адресату, подписанное несколькими корреспондентами, к примеру, общественное обращение к должностному лицу. Название произошло, видимо, в XVII столетии, от французского выражения «ruban rond» (round ribbon, переплетенные в обруч ленты). Таким образом определялся порядок подписания коллективных петиций и ходатайств без соблюдения иерархии подписавшихся, при котором подписи располагались кружком, с тем, чтобы было невозможно найти автора или зачинщика, подписавшегося первым, своеобразная круговая порука.

Часто выражение round-robin приобретает противоположный смысл, то есть письмо от одного автора ко многим адресатам, однако такое письмо правильнее называть циркуляром.