Платные распределенные вычисления. Добровольные распределенные вычисления — как помочь науке ничего не делая

02.04.2019

BC / NW 2012; №1 (20): 4.1

Обеспечение высокоточной временной синхронизации в распределённых вычислительных системах

Б.В. Усков

1 Распределённая вычислительная система

1.1 Определение

В настоящее время распределённые вычислительные системы (РВС ) получили крайне широкое распространение. В данной статье предлагается использовать следующее определение РВС, основанное на определении, данном в источнике :

Распределённая вычислительная система (Distributed System, DS ) ‑‑ набор независимых компьютеров, представляющийся пользователям единой объединенной системой, и направленный на решение определённой общей задачи.

Предпосылками появления распределённых систем были:

· Появление микропроцессоров с последующим быстрым ростом их производительности;

· Внедрение и широкое распространение сетей передачи данных .

1.2 Преимущества РВС

Основными преимуществами РВС над централизованными являются:

· Возможность использования разнородных вычислительных ресурсов, для решения определённой общей задачи. Другими словами, распределённые системы позволяют направлять некоторый набор (pool) вычислительных ресурсов, объединенных средой передачи данных, для решения проблем, требующих вычислительных затрат, превосходящих имеющийся ресурс централизованной системы. При этом вычислительные ресурсы распределённой системы могут быть территориально удалены друг от друга и, в том числе, принадлежать различным организациям или владельцам;

· Масштабируемость. Это свойство является следствием аппаратной независимости узлов, входящих в систему;

· Высокая отказоустойчивость. Свойство является следствием присутствия определенного рода аппаратной избыточности. Под отказоустойчивостью понимается способность сохранять работоспособность общей системы при выходе из строя отдельных элементов структуры.

1.3 Области применения РВС с повышенными требования к точности временной синхронизации

Практически для всех областей применения РВС временная синхронизация устройств играет важную роль для обеспечения работы системы. Однако существуют области, для которых точность, с которой синхронизированы по времени устройства, играет решающее значение.

Распределённая система управления (Distributed Control System, DCS ) – система управления технологическим процессом, характеризующаяся построением распределённой системы ввода вывода и децентрализацией обработки данных. В основном, для построения таких систем используются встраиваемые вычислительные системы (embedded system ), представляющие собой специализированные контроллеры, ориентированные на работу непосредственно с объектом, подлежащим управлению. К основным задачам встраиваемой системы относятся отслеживание состояния управляемого объекта, фиксирование и обработка входных сигналов и выработка управляющих воздействий для объекта управления. Архитектура встраиваемой системы, как правило, оптимизирована под решение определённых задач, а сами устройства являются мобильными, имеют небольшие габаритные размеры и низкое энергопотребление.

Каждый узел, входящий в распределённую систему управления работает по определённому алгоритму и выполняет предписанную ему задачу независимо от других устройств. Однако, для организации согласованной работы распределённых вычислителей, осуществляющих управление технологическими процессами, необходима временная синхронизация. Причём, чем более высокоточным процессом управляет система, тем выше требования к точности временной синхронизации между устройствами.

Область Motion Control является подобластью систем автоматизации, решающей задачу организации управления направлением, скоростью и ускорением движения различных механизмов. В настоящее время одним из приоритетных направлений области Motion Control является точное позиционирование различных рабочих элементов в технологических процессах. Под понятием позиционирования подразумевается соответствие пространственных координат определённого элемента временному значению. Современный уровень индустриального развития предъявляет крайне высокие требования к точности позиционирования агрегатов – она должна составлять нанометры. При этом позиционирование должно осуществляться в трёхмерном пространстве. Для реализации трёхмерного высокоточного позиционирования применяются распределённые системы управления. Каждый вычислитель (встраиваемый контроллер) отвечает за организацию позиционирования по каждой координате. Для того чтобы все три координаты в определённый момент времени соответствовали требуемым значениям, процесс выдачи управляющих воздействий должен быть строго синхронизирован по времени. Таким образом, в области автоматизации Motion Control точность временной синхронизации распределённых систем имеет решающее значение. Примером системы высокоточного позиционирования является разработка фирмы IMMS GmbH (www.imms.de ) – устройство нанопозиционирования SFB 622, изображённая на Рисунке 1. Данная система направлена на организацию трёхмерного широкомасштабного позиционирования объектов. Точность позиционирования составляет нанометры, при этом максимальные амплитуды движения по осям X и Y составляют 100 миллиметров, а по оси Z – 10 мм.

Рисунок 1 – Система нанопозиционирования SFB 622.

На настоящий момент времени во многих областях человеческой деятельности применяются системы автоматического наблюдения . Такой тип систем строится на основании использования множества управляемых территориально распределённых датчиков различных показателей. Снятие показаний о параметрах среды или объекта, за которым установлено наблюдение, должно происходит максимально синхронно на всех предусмотренных сенсорных элементах. Только при таком условии полученные данные могут быть использованы для составления подробной карты состояний объекта/среды, за которой установлено наблюдение. Таким образом, управляющая система, организующая работу распределённых датчиков, должна иметь точную внутреннюю временную синхронизацию.

Распределенные системы виртуальной реальности – представляют собой область систем построения трёхмерных графических объектов для множества пользователей, с предоставлением последним возможности взаимного взаимодействия в реальном времени . Принцип организации системы распределённой виртуальной реальности основан на представлении каждого пользователя в виртуальной среде некоторым объектом, состояние которого (положение в пространстве, скорость, ускорение и т. д.) контролируется интерактивным программным приложением (процессом) с трехмерным интерфейсом, выполняемым на отдельном узле (рабочей станции). Узел производит визуализацию вида для отдельного пользователя и обеспечивает управление его объектом. При изменении состояния любого объекта соответствующий ему процесс информирует об этом других пользователей, посылая сообщения обновления. Все пользователи должны быть жестко синхронизированы, а взаимодействие должно быть согласованным. Для решения задачи организации согласованного взаимодействия пользователей требуется высокоточная временная синхронизация вычислительных узлов, реализующих процессы построения трёхмерных объектов, определяющих для пользователей состояния виртуальной среды в каждый момент времени.

В настоящее время получили широкое распространение различные Дата Центры (Data Center ), представляющие собой центры хранения и обработки больших массивов данных (ЦХОД). Структура современного ЦХОД представляет собой совокупность трёх основных элементов: информационная инфраструктура, представленная серверным оборудованием, коммутационная инфраструктура, обеспечивающая связь оборудования хранения и обработки данных, и инженерная инфраструктура, обеспечивающая нормальные условия для стабильной работы всего центра. Области применения Дата Центров в настоящее время очень широки: использование подобных структур позволяет оптимально использовать вычислительные ресурсы, ресурсы хранения информации, а также, сократить совокупную стоимость владения IT-инфраструктурой за счёт возможности эффективного использования технических средств, например, перераспределения нагрузок, а также за счёт сокращения расходов на администрирование. Использование в современных ЦХОД высокопроизводительных вычислительных компонентов, а также коммутационного оборудования, обладающего высокой пропускной способностью позволяет сократить время обслуживания одной заявки, поступившей в систему, до нескольких десятков микросекунд. Для многих областей применения Дата Центров последовательность, с которой были обработаны заявки, имеет решающее значение. В особенности это относится к ЦХОД, обслуживающих различные финансовые системы. Кроме того, для осуществления контроля работы системы, выявления узких мест, а также для повышения оптимальности использования ресурсов и повышения общей производительности необходимо иметь возможность прослеживать процесс прохождения заявки по всем узлам. Должная быть обеспечена возможность определения временных пунктов вхождения заявки в систему, временных пунктов обработки заявки на ключевых узлах, а также, моментов выхода заявки из системы. Для решения поставленных задач необходима организация временной синхронизации узлов, входящих в систему, с точностью до нескольких микросекунд, а в отдельных случаях, в интервале субмикросекунд.

Таким образом, к областям применения распределённых вычислительных систем, для которых требования по обеспечению временной синхронизации устройств, составляющих систему, наиболее высоки, относятся:

· Системы управления (в частности, область Motion Control );

· Системы автоматических наблюдений и измерений;

· Системы виртуальной реальности;

· Крупные системы хранения и обработки данных (Data Center ).

2 Постановка задачи обеспечения высокоточной временной синхронизации в распределённых вычислительных системах (РВС)

В рамках данной статьи рассматривается проблема высокоточной временной синхронизации в распределённых вычислительных системах (РВС ). На данном этапе индустриального развития РВС применяются для решения различных задач во многих областях человеческой деятельности. В разделе 1.3 были представлены и перечислены области применения РВС, для которых точность временной синхронизации имеет решающее значение.

Устройства, входящие в распределённую систему оборудованы системными часами. Показания системных часов используются для решения определённых задач. Основным требованием задачи обеспечения высокоточной временной синхронизации для современного уровня развития вычислительных систем является достижение синхронности работы узлов распределённой системы в диапазоне единиц микросекунд и сотен наносекунд. Синхронность достигается путём управления настройками системных часов таким образом, чтобы разность показаний не превышала указанный диапазон.

При этом аппаратные требования, предъявляемые к вычислительным устройствам и средствам коммутации, входящим в синхронизационный домен должны быть минимальные.Нагрузка на систему со стороны технологии, обеспечивающей синхронизацию, должна также быть минимально возможной.

Кроме того, технология должна быть применима для различных коммутационных систем и протоколов (как проводных, так и беспроводных), обеспечивающих связь между вычислительными устройствами, входящими в распределённую систему.

3Современные средства обеспечения временной синхронизации в РВС

3.1 NetworkTimeProtocol - NTP

Для решения проблемы временной синхронизации в глобальных сетях передачи данных наиболее широко в настоящее время используется протокол NTP , описанный в RFC 958. Протокол был разработан в 1985 году и совершенствовался со временем. На настоящий момент времени используется версия NTP 4. NTP использует иерархическую систему «часовых уровней» (stratum ). Причём, NTP -сервера являются активными, то есть не только раздают время другим серверам и клиентам, но и сами выполняют настройки своих часов на основании данных, полученных от других источников. Для усреднения времени между NTP-серверами используется алгоритм Марзулло, позволяющий сводить к минимуму влияние данных от заведомо некорректно настроенных NTP -серверов на общую систему. Достижимая путём применения NTP точность временной синхронизации составляет десятки миллисекунд для глобальных сетей и сотни микросекунд для локальных сетей. Однако такое значение точности не удовлетворяет требованиям, предъявляемым в описанных областях.

3.2 GlobalPositioningSystem - GPS

Система глобального позиционирования GPS способна обеспечивать точность временной синхронизации порядка сотен наносекунд . Однако применение GPS требует, чтобы каждое синхронизируемое устройство было оборудовано GPS-трансивером/ресивером. Это значительно повышает стоимость системы, и практически нереализуемо для систем, содержащих достаточно большое количество узлов (например, Дата Центры).

3.3 PrecisionTimeProtocol - PTP

Для решения задачи обеспечения высокоточной временной синхронизации был разработан протокол PTP, описанный в стандарте IEEE1588. Данный протокол отвечает следующим требованиям:

· Точность временной синхронизации в диапазоне микросекунд и субмикросекунд;

· Технология синхронизации времени применима для широкого спектра сетевых технологий, используемых в индустриях автоматизации, управления и измерения - Ethernet (IEEE802.3), FireWire (IEEE1394), различные беспроводные стандарты передачи данных (WiFi (IEEE 802.11), ZigBee (IEEE 802.15.4) и т. д.;

· Технология предъявляет минимальные требования администрирования работы;

· Технология реализуема на технических устройствах низкого уровня производительности и программно-аппаратного обеспечения;

· Требуемые сетевые и вычислительные ресурсы минимальны.

Таким образом, протокол PTP наиболее полно отвечает требованиям, представленным в разделе 2 статьи, и может быть использован в качестве технологии, решающей задачу обеспечения высокоточной временной синхронизации в РВС.

4Краткое описание PTP

Протокол описывает процесс синхронизации системных часов устройств, объединённых в локальную сеть с помощью технологий передачи данных, поддерживающих технологию Multicast-Messagin g .К важнейшим свойствам протокола относятся:

использование без требования постоянного администрирования;

точность временной синхронизации в пределах микросекунд.

4.1 Типы устройств с точки зрения протокола

В стандарте предусмотрены 4 типа устройств:

· O rdinary clock – конечные устройства, объединённые сетью передачи данных. Между этими устройствами организуется временная синхронизация. Устройство может находиться в режиме Slave или Master . Все Slave -устройства синхронизируют свои системные часы с часами устройства Master в синхронизационном домене;

· Boundaryclock – представляет собой коммутационное устройство, разделяющее синхронизационные домены. Имеет несколько портов. При этом, с каждым портом ассоциируется виртуальные часы. Один порт – Slave , синхронизируемый с вышестоящим Master , другие порты – Master для подключенных синхронизационных доменов;

· End-to-End Transparent Clock – коммутационное устройство, не участвующее в процессе синхронизации, однако, способное пропускать PTP -сообщения, замеряя при этом резидентное время;

· Peer - to - Peer Transparent Clock – коммутационное устройство, не участвующее в процессе синхронизации, однако, способное пропускать PTP -сообщения, замеряя при этом резидентное время, а также, задержки каналов, непосредственно подключённых к устройству.

4.2 Best Master Clock Algorithm - BMC

Процесс синхронизации основан на обмене PTP-сообщениями. Устройства, входящие в систему, синхронизируют системные часы с системными часами Grandmaster Clock . Перед началом процесса синхронизации происходит выбор Grandmaster Clock посредством алгоритма BMC (Best Master Clock ). Выбор происходит на основании следующих критериев:

1. Приоритет 1

2. Класс

3. Точность

4. Дисперсия

5. Приоритет 2

6. Уникальный идентификатор (tie breaker)

Класс, точность и дисперсия определяют качество системных часов. Класс определяет стабильность работы таймера Grandmaster Clock . Значение и допустимые величины показателя класс определяются в соответствии с таблицей, приведённой в стандарте. Source of Time (источник времени) имеет важное значение для определения значения Класс. Это может быть GPS или NTP. Показатель Точность определяет точность часов Grandmaster Clock. Значение определяется в соответствие стаблицей, приведенной в стандарте. Дисперсия является достаточно сложным параметром и основывается на теории Дисперсия Аллана (измерение стабильности показаний различных устройств, в особенностичасовигенераторов).

Приоритет 1 и Приоритет 2 используются для принудительной установки Grandmaster Clock . Уникальный идентификатор подсчитывается на основании MAC-Adresse и используется, когда предыдущие значения одинаковы для устройств системы. Announce- сообщения содержат все эти значения. Grandmaster Clock периодически рассылает Announce- сообщения. Новое устройство, добавляемое в синхронизационный домен, находится первоначально в слушающем режиме (Listening Mode ). Новое устройство ожидает поступления Announce -сообщения от GrandmasterClock . После появления Announce -сообщения новое устройство выполняет алгоритм BMC и определяет, свою роль (Master или Slave ) в синхронизационном домене.

4.3 Алгоритм Request - response

После выбора Grandmaster Clock начинается непосредственно процесс синхронизации. Обмен Synch -сообщениями определяет разницу во времени между Grandmaster Clock Slave Clock. Разница во времени должна быть откорректирована на величину задержки прохождения сигнала в канале передачи данных. Полученная величина разницы во времени в дальнейшем используется для формирования корректирующего значения, ускоряющего или замедляющего частоту таймера. Процесс обмена сообщениями между Grandmaster Clock и Slave Clock в рамках алгоритма Request - response изображён на Рисунке 2.

Сообщения Follow_Up используются в том случае, если получение точного временного пункта возможно только после отправки сообщения. В результате обмена указанными сообщениями устройство Slave имеет четыре временных точки: t1 – t4. По данным значениям определяется временное отклонение от устройства Master по формуле (1).

Значение временного отклонения используется для определения корректирующего значения, ускоряющего или замедляющего частоту системных часов устройства.

4.4 Алгоритм Peer - delay

Второй механизм, описанный в стандарте, и использующийся для определения временного отклонения между Master и Slave , называется Peer - delay . Процесс обмена сообщениями в рамках данного механизма изображён на Рисунке 3. Используется Peer-to-Peer Transparent Clock.

Данный механизм используется при условии наличия в синхронизационном домене устройств Peer-to-Peer TransparentClock .

5 Исследования точности временной синхронизации, достижимой посредством применения PTP

5.1 Постановка задачи исследований

В соответствии с описанием стандарта IEEE 1588 применение протокола PTP позволяет достигать максимальной точности временной синхронизации в пределах сотен наносекунд. Однако указано, что такой высокий уровень точности может быть достигнут при применении определённых технических средств.

Существуют публикации измерений достижимой точности временной синхронизации с применением специализированного оборудования. В частности, статьи .

Основной задачей экспериментов, описанных в этих статьях было установление максимально возможного значения достижимой точности временной синхронизации. Эксперименты проводились с использованием специализированного оборудования, в идеальных условиях (с минимальной загрузкой CPU устройств и каналов передачи данных).

Наибольший практический интерес представляют данные о достижимой точности временной синхронизации при применении PTP в реальных условиях.

Первым направлением проведённых в рамках научно-исследовательской работы измерений являлось определение значения достижимой точности при применении PTP на системах с максимально ограниченными вычислительными ресурсами. Установлено значение достижимой точности, а также, зависимости от таких параметров как период синхронизации, загрузка каналов передачи данных, загрузка CPU устройств.

Вторым направлением измерений являлось определение значения достижимой точности временной синхронизации для высокопроизводительных систем. Необходимо было установить, насколько точной может быть временная синхронизация при применении PTP на системах с высокой вычислительной мощностью, но не оборудованных специализированными средствами обеспечения временной синхронизации.

Описанные в статьях измерения временной синхронизации проводились на системах, использующих технологию Ethernet в качестве среды передачи данных. Проведённые в рамках научно-исследовательской работы эксперименты по установлению значения достижимой точности временной синхронизации на устройствах с различной вычислительной мощностью также опирались на технологию Ethernet .

Однако стандарт IEEE 1588 не привязан к конкретной технологии передачи данных, а в областях применения РВС, требующих высокого уровня временной синхронизации всё чаще применяются такие коммутационные стандарты как IEEE1394 FireWire, а также, различные беспроводные технологии передачи данных.

Поэтому, третьим направлением исследовательской деятельности стало проведение замеров с применением различных технологий передачи данных. На данный момент, получен результаты измерения для среды FireWire .

Цели проводимых в рамках научной работы исследований :

· Определение значения достижимой посредством применения PTP точности временной синхронизации на системах с максимально ограниченными вычислительными ресурсами с применением технологии Ethernet для передачи данных;

· Определение зависимости достижимой точности синхронизации от периода синхронизации;

· Определение зависимости точности синхронизации от уровня загрузки каналов передачи данных;

· Определение зависимости точности синхронизации от уровня загрузки CPU устройств;

· Определение значения достижимой точности временной синхронизации на высокопроизводительных системах;

· Определение значения достижимой точности временной синхронизации при использовании технологии передачи данных FireWire .

5.2 Методология проводимых экспериментов

Измерения точности временной синхронизации, проведённые в рамках научно-исследовательской работы, основаны на получении определённых выходных сигналов и фиксации этих сигналов посредством осциллографа, что изображено на Рисунке 4.

Для проведения измерений было разработано специализированное программное обеспечение (ПО ). Основной задачей ПО была организация выдачи выходных сигналов на внешний интерфейс устройства в определённый момент времени. Программа запускалась на синхронизируемом оборудовании. При наступлении фиксированного момента времени, синхронизируемые устройства выдавали сигнал на внешний интерфейс, замеряемый посредством осциллографа. Чем выше уровень синхронизации устройств, тем ближе на временной оси осциллографа расположены фиксируемые сигналы. Таким образом, по показаниям осциллографа, устанавливалось значение достижимой точности временной синхронизации.

5.3 Описание используемого оборудования

Для исследований были использованы платформы BeagleBoard. Эти платформы в полной мере отвечают требованию ограниченности вычислительных ресурсов. Основные параметры платформы:

· OMAP Процессор 720MHz;

· RAM 256MB;

· Возможность вставки SD/MMC Карты памяти для увеличения ёмкости памяти устройства;

· Технология Ethernet-over-USB для организации Ethernet соединений;

· Интерфейс RS232;

· 2 сигнальных индикатора.

BeagleBoard является одноплатным компьютером (single - boardcomputer ) . Компьютер основан на процессореOMAP3530 (OMAP - Open Multimedia Application Platform), который относится к типу процессоров System-on-chip (Система на кристалле - электронная схема, выполняющая функции целого устройства (например, компьютера) и размещенная на одной интегральной схеме ). Процессор производится фирмой Texas Instruments. CPU платформы базируется на ядре ARM Cortex-A8. В состав процессора OMAP3530 входит также DSP (Digital Signal Processor ) и графический процессорPowerVR Technologies, поэтому платформа часто используется для решения различных мультимедийных задач. В платформе встроены 256 MB NAND-Flash-Speicher (NAND – Not AND) и 256 MBОЗУ.

В качестве устройств с большей вычислительной мощностью были использованы высокопроизводительные устройства на основе процессора Power PC, разработанные фирмой IMMS GmbH (www . imms . de ). Основные параметры:

· Процессор PowerPC 750FX 1GHz;

· RAM 1GB;

· Ethernet интерфейс;

· FireWire интерфейс;

· RS232 интерфейс.

Данные устройства оборудованы интерфейсом FireWire , поэтому, использовались также для измерения точности синхронизации с применением технологии FireWire в качестве среды передачи данных.

5.4 Результаты проведённых исследований

5.4.1 Результаты измерений для платформ BeagleBoard

Посредством выходных сигналов была определена достижимая точность временной синхронизации. Полученное значение лежит в пределах 20 микросекунд . Была установлена зависимость достижимой точности временной синхронизации от периода синхронизации. Зависимость изображена на Рисунке 5.


Рисунок 5 – Зависимость достижимой точности временной синхронизации от периода синхронизации

Приемлемая точность временной синхронизации достижима при синхронизационном периоде, расположенном в отрезке от 0.007812 до 2 секунд ;

Применение периода синхронизации менее 0,007812 секунд приводит к ухудшению значения достижимой временной синхронизации;

Применение периода синхронизации более 2-х секундтакже приводит к ухудшению значения достижимой временной синхронизации;

Крайняя точка составляет 8 секунд. Для данного периода измереннаяточность синхронизации составляет 51,79 микросекунд;

Дальнейшее увеличение периода синхронизации приводитк ухудшению точности временной синхронизации.

В дальнейшем были проведены исследования зависимости достижимой точности временной синхронизации от загрузки каналов передачи данных. Полученная зависимость изображена на Рисунке 6.

По полученным данным были сделаны следующие выводы:

Организация временной синхронизации фактически невозможна при загрузке сети свыше 80% ;

Наилучшее значение точности временной синхронизации для сети, загруженной на 50% находится в районе 150 мкс ;

Загрузка сети передачи данных менее 20% оказывает незначительное влияние на точность временной синхронизации.

Кроме того, были проведены измерения достижимой точности временной синхронизации при максимально возможной загрузке CPU устройств. Проведённые исследования показали, что загрузка CPU оказывает незначительноевлияние на значение достижимой точности временной синхронизации.

5 .4.2 Результаты измерений для высокопроизводительных устройств

Достижимая точность временной синхронизации для устройств на базе процессора PowerPC , разработанных фирмой IMMSGmbH (www . imms . de ), с применением технологии Ethernet в качестве среды передачи данных, составила 0,995 микросекунд. Таким образом, применение устройств с высокой вычислительной мощностью в синхронизационном домене позволяет достичь высокого уровня синхронизации.

Для проведения дальнейших исследований было разработано программное обеспечение, реализующее протокол PTP и использующее технологию FireWire (IEEE 1394) в качестве среды передачи данных. Были проведены измерения достижимого значения точности временной синхронизации.

Зависимость достижимой точности временной синхронизации от синхронизационного периода изображена на Рисунке 7.


Рисунок 7 – FireWire в качестве среды передачи данных.

Кроме того, была получена зависимость достижимой точности временной синхронизации от синхронизационного периода при применении технологии FireWire в качестве среды передачи данных при уровне загрузки канала передачи данных в 20%. Последняя зависимость изображена на Рисунке 8.


Рисунок 8 – Зависимость достижимой точности временной синхронизации от синхронизационного периода при применении технологии FireWire в качестве среды передачи данных при загрузке канала передачи данных в 20%.

По полученным данным были сделаны следующие выводы:

· Применение устройств с высокой вычислительной мощностью в синхронизационном домене позволяет достичь высокого уровня синхронизации;

· Уровень синхронизации при применении технологии FireWire в качестве среды передачи данных сравнительно низкий, достижимое значение временной синхронизации составляет 1-2 миллисекунды.

Литература

1. Таненбаум Э., Ван Стен М. Распределенные системы. Принципы и парадигмы. - СПб.: Питер, 2003. - 877 с.;

2. Veitch D., Babu S., Pasztor A. Robust Synchronization of Software Clocks Across the Intenet. Internet Measurement Conference, 2004;

3. Allan D. W., N. Ashby and C. C. Hodge. The Science of Timekeeping. Hewlett Packard Application Note 1289, 1997;

4. IEEE Std 1588-2008, http://standarts.ieee.org/findstds/standard/1588-2008.html ;

5. Дэвис Д., Барбер Д., Прайс У., Соломонидес С. Вычислительные сети и сетевые протоколы. - М.: Мир, 1987. – 536 с.;

6. Weibel Н ., Béchaz D.IEEE 1588 Implementation and Performance of Time Stamping Techniques;

7. Data Center Fabric with Nanosecond Accuracy - Use IEEE1588 PTP on Nexus 3000 Switches, http://www.cisco.com/en/US/prod/collateral/switches/ps9441/ps11541/white_paper_c11-690975.html.

"Ну и что, что у меня Crysis не запускается", — с бесхитростной простотой признался мой друг Владимир, — "зато в 1974 году мой компьютер смог бы управлять эскадрой военных спутников!"

Я не стал возражать, мощность современных компьютеров доставляет удовольствие только производителям компьютерных игр и создателям монстроподобных операционных систем. 9 пользователей из 10 загружают процессор процентов на 40 в день. Всё остальное время – бессмысленное взбалтывания кулерами воздуха пока четырёхгигарцевый образец человеческого гения играет роль медиацентра.

Те, кого мучает совесть за нерациональное использование мощностей, организовали на нашей планете нечто вроде клуба любителей 100 процентного КПД ПК. Хакер проект SETI, от рака и СПИДа, а также множество других гуманных и нравственных проектов, включая получение наибольшего простого числа.

Предположим, в инопланетян вы до первого литра не верите, а лекарства считаете противными истинной сути «матери-природы». Более того, вам плевать даже на новые делители для чисел Ферма. Но не теряйте надежду. В мире существуют десятки других распределённых проектов, некоторые из которых разработаны хакерами для хакеров (RainbowCrack), предлагают вам неплохо заработать (GIMPS), а то и вовсе несут угрозу частичного вымирания человечества (LHC@home). Выбрать из них – лишь дело вкуса и ваших личных предпочтений.

Распределенные вычисления кажутся скучными играми математиков. До тех пор, пока кто-то не начинает считать на вашем компьютере модель локальной ядерной войны в странах третьего мира. Или разрабатывать новое бактериологическое оружие под видом лекарства от рака. Есть и очень популярные проекты, которые прямым текстом кричат «мы опасны!», но за общими словами создателей «ах, как это полезно и вы совсем ничего не теряете», трудно разглядеть истинные цели исследований. Знать заранее – и быть готовым к последствиям – ваша прямая обязанность. Иначе есть большой шанс, что миллионы леммингов сдвинут колесо истории в пропасть.

Climate Prediction

Проект, который пытается разбить на тысячу хрустящих осколков основы теории хаоса и предсказать погоду на 50 лет вперёд. Основываются предсказания не на «новых революционных методах прогнозирования, с использование суперкомпьютеров и магии индейских шаманов», а на самых что ни на есть старых теориях и схемах. То есть тем самым образом, каким погоду предсказывают и сейчас. Таким образом проект ставит перед собой 2 цели: во-первых, установить какова точность и эффективность используемых сейчас методик; во-вторых, если методики эффективны, предсказать погоду на наибольший период.

Участникам, как водится, придётся скачать программу, моделирующую различные погодные условия на Земле . Среди полученных результатов сначала отберут те, которые наиболее соответствуют результатам в прошлом, до 2000 года, и уже на их основе выстроят модель изменения климата в будущем.

Требования: во время работы программа занимает около 50 Мегабайт памяти, для сохранения данных потребуется 500 Мб на жёстком диске. В качестве бонуса отмечу интерактивность работы – вы сможете увидеть трёхмерную модель Земли и отследить своими глазами изменения в климате.

Результат: подобная задача у суперкомпьютера займёт тысячу лет, а ваше скромное участие через десяток лет поможет предсказывать различные зловредные погодные явления с невероятной точностью. Ну и к тому же вы похороните огромный раздел современной математики, утверждающий невозможность долгосрочных предсказаний.

LHC@home

Если вы торопитесь приблизить конец света на Земле – этот проект для вас. Проект занимается моделированием процессов, которые будут происходить в строящемся сейчас в Швейцарии LHC (Large Hadron Collider ) — самом большом в мире ускорителе частиц . В ускорителе длиной около 27 километров планируют столкнуть два протона для того, чтобы экспериментально доказать существование некого бозона Хиггса. Некоторые специалисты и представители общественности высказывают опасения, что имеется отличная от нуля вероятность выхода проводимых в коллайдере экспериментов из-под контроля и развития цепной
реакции, которая при определённых условиях теоретически может уничтожить всю планету. Точка зрения сторонников катастрофических сценариев связанных с работой LHC изложена на сайте http://www.risk-evaluation-forum.org/anon1.htm .

Считаете, что за дело аннигиляции всей вселенной можно и умереть – тогда присоединяйтесь. Дело в том, что от LHC ежегодно планируют получать до 15 петабайт данных. Уже сейчас вы можете помочь начать обрабатывать эти данные скачав программу SixTrack , которая моделирует движущиеся по кольцу в LHC частицы для изучения стабильности их орбит. Результаты выполнения программы SixTrack очень важны, от них зависит как будет работать крупнейший в мире научный проект, деятельность которого может совершить революцию в физике или отправить нашу галактику в антипространство.

Требования: несущественны.

Результат: доказательства некоторых научных теорий; низкоуровневый распад вселенной.

Muon1 Distributed Particle Accelerator Design

При маловероятном раскладе успешного испытания LHC , человечество непременно погубит Muon1 . К 2015 году планируется соорудить первую в мире The Neutrino Factory лабораторию генерации частиц нейтрино . Нейтрино – самая распространённая частица во вселенной. Проникает практически через любые объекты без существенного снижения скорости. Известно, что через тело человека ежесекундно проскакивают 10 14 нейтрино. Понимание природы нейтрино даст человечеству ключ к разгадке истории возникновения всей вселенной.

Для генерации нейтрино планируется использовать мюонный колайдер — ускоритель, благодаря которому можно будет достичь самых высоких энергий столкновения частиц, когда-либо осуществлённых человеком. По сравнению с ним LHC – игрушка для детсадовца. Будет ли эффективна Muon1 и какие вообще результаты следует ожидать от нового колайдера решит ваш компьютер, если присоединится к проекту. Какими конкретно расчётами занимается клиентская программа понятно только специалисту в области квантовой физики. Однако не сомневайтесь – результаты очень важны.

Требования: Pentium III-500 c 64 МБ памяти.

Результат: возможно именно вы дадите толчок к финансированию одного из самых амбициозных проектов в истории человечества.

RainbowCrack

В то время как большинство проектов, связанных с компьютерной безопасностью, занимаются утомительными, едва ли не бессмысленными методами взлома шифровальных систем, RainbowCrack создаёт базу по всем возможным видам паролей и соответствующим им хэшам по всем распространённым в мире алгоритмам хэширования. Обычно, хэшированный вариант пароля хранится в открытом доступе и известно, по какому алгоритму получен этот хэш (например MD5), но обратное преобразование считается слишком сложной операцией, требующей в общем случае перебор всех возможных комбинаций — это ставится в основу безопасности многих современных систем. Если же иметь сортированные таблицы хэшей и соответствующие им
пароли — получим систему, которая с помощью быстрого бинарного поиска по таблице может получать обратное преобразование хэша в пароль для любого существующего алгоритма хэширования.

Сейчас в проекте создано сотни гигабайт всех возможных паролей, которые позволяют с вероятностью порядка 99% найти за несколько минут обратное преобразование из хэша в любой пароль длиной до 7 символов (не только из букв, но также цифр и многих спец-символов), зашифрованных по алгоритмам LanMan (авторизация в Windows), NT LanMan (авторизация в Windows NT, в том числе сетевых доменах), MD2 , MD4 , MD5 , SHA1 , RIPEMD-160 , Cisco PIX (большинство маршрутизаторов), MySQL 3.23 , MySQL SHA1 .

Всем участникам проекта предоставляется возможность уже сейчас пользоваться полученной системой расшифровки паролей в виде онлайн-сервиса — частота использования сервиса одним участником неограниченна, но ограничено время действия каждого аккаунта. Для продления времени доступа участникам предлагается рассчитывать новые таблицы, увеличивающие количество поддерживаемых алгоритмов и комбинаций паролей. Обычно на расчёт таблицы уходит от нескольких дней до недели процессорного времени (2 ГГц) — за каждую таблицу время доступа продляется на 2 недели.

Требования: 640 Мегабайт на жёстком диске, исходящий трафик – около 3 Гигабайт в месяц. Почти не требует входящего трафика, процессорного времени или специфической оси.

Результат: редкий случай, когда работаете вы, скорее всего, на себя и результат используете в деле.

Возможные полезные результаты использования параллельных вычислений:

1) Повышение скорости счёта, т. е., проделывание того же объёма работы за меньшее время (интересно, в первую очередь, для задач, имеющих ограничения по времени).

2) Повышение пропускной способности, т. е., проделывание большего объёма работы за то же время (интересно, в первую очередь, для задач, содержащих большие объёмы данных).

3) Повышение мощности, т. е., решение задач большего объёма (интересно, в первую очередь, для задач, модели в которых недостаточно подробны).

Указанные полезные результаты могут быть недостижимы одновременно , с использованием одного и того же набора методов и технологий.

Понятие параллельности вычислений в первую очередь означает их одновременность, т.е., одновременное использование для их проведения различных вычислительных устройств (процессоров, ядер и др.). Сама же одновременность исполнения может использоваться различными способами. Так, например, 1) одинаковое вычисление может одновременно производиться с частями одного набора данных по отдельности (например, задачи метеорологии, распределённые сети в задачах транспорта, вообще распределённые системы управления ); 2) различные вычисления могут одновременно производиться с одним набором данных (например, задача многих тел в молекулярной динамике или в астрофизике); 3) различные вычисления могут образовывать конвейер (pipeline), где каждый вычислитель получает данные частями, обрабатывает их и передаёт следующему вычислителю (например, внутренняя реализация операций над вещественными числами в процессорах).

Для того, чтобы вычисления вообще могли исполняться параллельно/распределённо, требуется их перевод в форму, пригодную для такого исполнения – параллелизация . Выбор конкретной модели параллелизации зависит от характера имеющейся задачи; скалярные вычисления , отдельные части которых необходимо исполняются взаимно последовательно, параллелизации не поддаются.

История

В 1973 году Джон Шох и Джон Хапп из калифорнийского научно-исследовательского центра Xerox PARC написали программу, которая по ночам запускалась в локальную сеть PARC и заставляла работающие компьютеры выполнять вычисления .

В 1978 году советский математик Виктор Глушков работал над проблемой макроконвейерных распределённых вычислений. Он предложил ряд принципов распределения работы между процессорами .Шаблон:R/ref На базе этих принципов им была разработана ЭВМ ЕС-2701 .

В январе 1996 года стартовал проект GIMPS по поиску простых чисел Мерсенна , также используя компьютеры простых пользователей как добровольную вычислительную сеть.

28 января 1997 года стартовал конкурс RSA Data Security на решение задачи взлома методом простого перебора 56-битного ключа шифрования информации RC5 . Благодаря хорошей технической и организационной подготовке проект, организованный некоммерческим сообществом distributed.net , быстро получил широкую известность .

17 мая 1999 года стартовал SETI@home на базе Grid , а в начале 2002 года завершилась разработка Калифорнийского Университета в Беркли открытой платформы BOINC (Berkeley Open Infrastructure for Network Computing), разрабатываемой с апреля 2000 года первоначально для SETI@Home , но первым на платформе BOINC стал проект Predictor@home запущенный 9 июня 2004 года.

Управление вычислительными заданиями

Проблема распределения различных вычислительных задач в рамках распределенной системы относится к проблеме принятия решений в условиях неопределённости . Данная проблема рассматривается в теории принятия решений и в теории неопределённости .

Распределённые операционные системы

Распределённая ОС, динамически и автоматически распределяя работы по различным машинам системы для обработки, заставляет набор сетевых машин обрабатывать информацию параллельно. Пользователь распределённой ОС, вообще говоря, не имеет сведений о том, на какой машине выполняется его работа.

Распределённая ОС существует как единая операционная система в масштабах вычислительной системы. Каждый компьютер сети, работающей под управлением распределённой ОС, выполняет часть функций этой глобальной ОС. Распределённая ОС объединяет все компьютеры сети в том смысле, что они работают в тесной кооперации друг с другом для эффективного использования всех ресурсов компьютерной сети.

В результате сетевая ОС может рассматриваться как набор операционных систем отдельных компьютеров, составляющих сеть. На разных компьютерах сети могут выполняться одинаковые или разные ОС. Например, на всех компьютерах сети может работать одна и та же ОС UNIX . Более реалистичным вариантом является сеть, в которой работают разные ОС, например, часть компьютеров работает под управлением UNIX, часть - под управлением NetWare, а остальные - под управлением Windows NT и Windows 98 . Все эти операционные системы функционируют независимо друг от друга в том смысле, что каждая из них принимает независимые решения о создании и завершении своих собственных процессов и управлении локальными ресурсами. Но в любом случае операционные системы компьютеров, работающих в сети, должны включать взаимно согласованный набор коммуникационных протоколов для организации взаимодействия процессов, выполняющихся на разных компьютерах сети, и разделения ресурсов этих компьютеров между пользователями сети.

Если операционная система отдельного компьютера позволяет ему работать в сети, и может предоставлять свои ресурсы в общее пользование и/или использовать ресурсы других компьютеров сети, то такая операционная система отдельного компьютера также называется сетевой ОС.

Таким образом, термин «сетевая операционная система» используется в двух значениях: как совокупность ОС всех компьютеров сети и как операционная система отдельного компьютера, способного работать в сети. Из этого определения следует, что такие операционные системы, как, например, Windows NT, NetWare, Solaris, HP-UX, являются сетевыми, поскольку все они обладают средствами, которые позволяют их пользователям работать в сети.

Ссылки и примечания

В статье использованы материалы из Википедии .

Открытая литература

  • Parallel and distributed computation: numerical methods / D.P. Bertsekas, J.N. Tsitsiklis. – Prentice-Hall, 1989 ; Athena Scientific, 1997. – Режим доступа: .]

Общей идей распределенных вычислений является следующее утверждение: пока вы набираете текст, сидите в Интернете, слушаете музыку ваш процессор занят не более чем на 1-3%. Холостой ход работы процессора можно полезно использовать, например установив программу – клиента распределенных вычислений для решений научных задач.

Мотивацией для твоего участия может стать следующее:

  1. Участие в научном процессе весьма своеобразным образом. Почему бы не сделать мир немного лучше?
  2. Интерес к происходящему, возможно темы распределенных вычислений тебя привлекут к науке.
  3. Спортивный индивидуальный и командный азарт, в проектах ведется статистика выполненных вычислений.
  4. А так же много других причин, таких как общение, мода, да и просто так.

Распределенные вычисления за деньги.

Большинство проектов распределенных вычислений основаны на добровольном участии и не платят денег. Однако несколько проектов платят за регистрации, участие или разыгрывают призы среди участников.

Заработать деньги можно на майнинге – добычи электронных монет. При наличии мощной видеокарты (лучше от ATI) можно заработать на вычислениях .

Прогресс двигают умные и ленивые. Как заработать не работая?


Заставь свой компьютер зарабатывать деньги. В интернете можно . Изучай – это основной инструмент для работы в Интернете. Существуют различные варианты: . Но самым эффективным и популярным является майнинг – добыча электронных криптовалют. Целесообразность заработка определяется мощностью компьютера и видеокарты. окупается за несколько месяцев без учета трат на электроэнергию. Особенностью заработка являются увеличение сложности вычислений, изменение курсов криптовалют и нюансы с выводом в реальные деньги. Поэтому майнеры объединяются в команды (пулы) для добычи монет. Много На самом деле, всё не так уж и сложно если использовать современный NiceHash майнинг, который сам выбирает самый выгодный алгоритм для добычи.

Преимущества нашего пула:

  • возможность добычи нескольких криптовалют
  • вывод заработанных денег на WebMoney
  • форум
  • бесплатная помощь в настройке

Сколько можно заработать на распределенных вычислениях?

Всё зависит от мощности вашего компьютера и скорости интернета. На игровом мощном компьютере при частой работе программ заработок может составить до $50 в месяц со всех. Отключайте программы, когда вам необходима нормальная работа компьютера. Используйте только при простоях компьютера, когда общаетесь в соцсетях или слушаете музыку.

Кому подойдут распределенные вычисления за деньги?

  • Обладателям мощных компьютеров во время общения в социальных сетях или прослушивания музыки и т.п.
  • Офисному планктону, имеющему бесплатный безлимитный интернет и бесплатную электроэнергию на работе. Можно оставить работать компьютер на ночь.
  • Администраторам компьютерных сетей.

Подробнее про распределенные вычисления за деньги можно узнать на сайте украинской команды распределенных вычислений

Распределённые вычисления - это способ решения ресурсоемких вычислительных задач при помощи нескольких компьютеров, которые объединены в параллельную вычислительную систему.

Заметный скачок в обеспечении параллельной работы многих компьютеров над одной задачей произошел, когда появились первые персональные компьютеры и электронная почта. В 1988 году Марк Менес и Арьен Ленстра написали программу для разбиения на множители (факторизации) длинных чисел. Чтобы ускорить процесс программу запускали на нескольких не связанных друг с другом компьютерах, каждый из которых обрабатывал свой отдельный фрагмент. Новосозданные блоки заданий рассылались на машины участников с центрального сервера по обыкновенной электронной почте. Для того, чтобы разложить на множители числа длиной в сто знаков сообществу понадобилось два года и несколько сотен персональных компьютеров. После успешного завершения проекта Ленстра-Менеса древо эволюции вычислительных систем пополнила новая жизнеспособная ветвь – распределенные вычисления.

В начале 1990-х, Карл Кесселмен вместе с Иэн Фостер представили их понимание распределенных вычислений (GRID-вычислений). Они использовали сравнение с электрической сетью, где пользователи подключались и использовали услугу. GRID-вычисления опираются во многом на методы, используемые в кластерных вычислительных моделях, в которых многочисленные независимые группы, работают, как сеть потому, что не все они находятся в пределах одной области.

Развитие GRID-технологий предопределило создание т. н. GRID-сетей, участники которых могли общими усилиями обсчитывать сложные задачи. Таким образом, сотрудники IBM создали всемирную команду GRID -вычислений, которая позволила заметно продвинуться в плане борьбы с вирусом иммунного дефицита. Большие команды из разных стран мира соединили свои вычислительные мощности и помогли рассчитать и смоделировать самые перспективные формы для нахождения лекарства от СПИДа…

Принцип работы распределенных вычислительных систем заключается в том, что одна ресурсоемкая задача, решаемая только при помощи суперкомпьютера, при помощи специальной программы-сервера разбивается на тысячи мелких заданий, для обработки которых сгодится любой домашний или даже офисный компьютер за сравнительно короткий промежуток времени. Учитывая, что этих домашних компьютеров можно подключить к проекту несколько тысяч, то общая их производительность может достигать, а то и превосходить вычислительную мощь суперкомпьютеров из ТОП-500. На компьютерах, объединенных для выполнения общей задачи, соответственно, должна быть установлена специальная программа-клиент, принимающая задачи с сервера.

Запустив клиент распределенных вычислений можно наблюдать следующее:

  • компьютер опрашивает сервер на наличие новых заданий;
  • сервер производит поиск подходящих для вашего ПК типов заданий, и если найдет – выдает их;
  • ваш компьютер загружает пакет новых заданий;
  • происходит обработка заданий;
  • после обработки всех заданий, компьютер отправляет результаты на сервер и запрашивает новые пакеты.

Цикл повторяется снова и снова.

Самой популярной платформой для распределенных вычислений на данный момент является BOINC (Berkeley Open Infrastructure for Network Computing). Первоначально ее разрабатывали для проекта SETI@home. На пользовательские компьютеры устанавливается клиентская часть платформы (BOINC-клиент). Эта программа очень удобна в использовании и позволяет подключаться одновременно к нескольким проектам, собирать статистику своего участия в них и следить за протеканием вычислений.

Почти каждый, кто обладает навыками программирования и у кого созрела достойная поддержки научная идея, может открыть собственный проект распределенных вычислений в сообществе BOINC. Так и сделал ученый-физик из Донецкого Физико-Технического Института (ДонФТИ) Константин Метлов. Почти в одиночку он запустил проект Magnetism@home для расчета магнитных конфигураций цилиндрических наноэлементов. Даже обращая внимание на тяжесть для понимания научной темы, проект очень быстро набрал требуемые вычислительные ресурсы.

Развитие распределенных вычислений постоянно продолжается, основываются новые клиентские платформы. Например с 2006 года в проекте Folding@home ведутся вычисления на игровых приставках Sony Playstation 3 (8 ядерный процессор Cell), выдающий порядка 20 Гфлопс. Так же некоторые проекты считаются на GPU (в основном используется технология Nvidia CUDA). Мощность таких видеокарт составляет порядка 100 Гфлопс, что является очень неплохим показателем (для сравнения мощность последнего топового процессора, имеющего 8 физических ядер составляет 53 Гфопс).

Ты можешь присоединиться к сети распределенных вычислений. Во время простоя твой процессор будет использоваться для тестирования автоматических стратегий на бирже форекс.

Скачай установщик MetaTrader 5 Strategy Tester Agent . Установка программы проста и займет не более нескольких минут.

В закладке MQL5 Cloud Network поставь птички “Allow public use of agents” и “Sell computing resources through a MQL5.community account” . Укажи аккаунт madcash

Всё, настройка программы распределенных вычислений закончена. Теперь свободные мощности твоего компьютера будут использоваться для вычислений стратегий торговли на форексе.

Для участия в программе распределенных вычислений компьютер должен быть онлайн (включен и подключен к Интернету). Работа программы незаметна и программа неактивна во время вашей работы. Количество трафика не превышает 1 Gb в месяц.

Вот уже более шестнадцати лет у каждого пользователя есть хорошая возможность внести посильный вклад в развитие науки. Не нужны денежные пожертвования и даже профессиональный интерес к выбранному предмету исследований. Имеет значение лишь то, какими чертами характера обладает человек и насколько современные компьютеры есть в его распоряжении. При удачном сочетании этих факторов появляются надёжные узлы сетей распределённых вычислений – одного из самых мощных инструментов компьютерной обработки данных.

Благодаря совместным усилиям обычных пользователей удалось сделать множество значимых открытий. Только за последние три года они отыскали 53 пульсара, причём последние семь нашлись совсем недавно – в конце августа 2012 г. Результаты выполненных исследований используются при разработке лекарственных препаратов для лечения сахарного диабета второго типа, болезней Альцгеймера и Паркинсона, других тяжёлых заболеваний. По материалам выполненных работ опубликованы сотни научных статей.

Суперкомпьютеры и распределённые сети

Мощные суперкомпьютеры – это капля в море. Машин, которые представляют собой предмет гордости целых стран и занимают первые строчки рейтинга TOP 500, не так уж много, и на всех их не хватает. Чтобы получить доступ к суперкомпьютеру, требуется сначала обосновать необходимость выбранной задачи, а потом, если доводы оказались убедительными, дождаться очереди и успеть оптимизировать код для выполнения на своеобразной суперкомпьютерной архитектуре.

Похожие статьи