О том, как внести свой вклад в исследования. Самые опасные распределенные вычисления

08.07.2019

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

Тремя основными вариантами архитектуры взаимодействия клиентских и серверной частей являются: CORBA, EJB и Microsoft COM. Они будут рассмотрены далее в этом разделе.

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

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

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

Искусственная нейронная сеть (ANN – artificial neural network) – это математическая или вычислительная модель, основанная на нейронной структуре мозга. Компьютеры выполняют такие виды деятельности, как расчеты с большими числами, хранение объемных документов, выполняют сложные математические функции, но они не могут распознавать образы или учиться на собственном опыте, как может это делать мозг. ANN состоит из множества модулей, симулирующих нейроны , каждый из которых обладает небольшим объемом памяти. Эти модули обрабатывают данные, которые вводятся через их многочисленные соединения. Используя правила обучения, такие системы способны учиться на примерах и могут обобщать.

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

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

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

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

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

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

Интуиция – это качество, которое очень сложно повторить в электрических схемах и логических элементах. Для реализации интуиции, прогнозирования, догадок применяется нечеткая логика (fuzzy logic) и другие математические дисциплины. Эти подходы работают с вероятностями, используя математику и анализируя членство в различных множествах. Простым примером использования нечеткой логики, является стиральная машина, обладающая некоторым интеллектом. После того, как вы загрузили в нее грязную одежду, и бак заполнился водой, машина, основываясь на принципах нечеткой логики, посылает лучи света из одной части бака в другую. В зависимости от того, сколько света фактически было получено в другой части бака, она может определить, насколько грязна загруженная в нее одежда, учитывая плотность грязи в воде. Чтобы определить тип загрязнений (жирные или сухие) и проверить другие аспекты, могут использоваться дополнительные проверки. Стиральная машина берет всю эту информацию, анализирует ее, и на основании полученных результатов выбирает температуру стирки и нужное количество порошка. Это обеспечивает более эффективную стирку, т.к. экономится вода и порошок, стирка выполняется при наиболее правильной температуре, в течение нужного количества времени. Стиральная машина не может знать всех фактов, она не может быть уверена в точности всей собранной информации, однако она способна строить догадки на основе этой информации, которые будут довольно близки к реальности.

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

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

Прогнозирование фондового рынка, оценка страховых и финансовых рисков являются примерами областей, в которых требуется нечеткая логика и в которых она может быть наиболее полезна. Эти области требуют использования большого числа переменных и принятия решений на основе информации, полученной от экспертов в этих областях. Система, используя принципы нечеткой логики, может указать, какие страховые или финансовые риски являются приемлемыми, а какие – нет, не заставляя пользователя вводить большой набор условий, зависимостей «если-то» и значений переменных.

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

Все мы смотрели трилогию “Назад в будущее” и представляем, чаще всего, ученых именно в виде Дока — немного сумасшедших, людей, увлеченных какими-то идеями. Иногда и нам хочется почувствовать себя таким же первооткрывателем, проверить гипотезу, доказать теорему, построить машину времени. Или хотя бы провести тест-драйв этой машинки.

Но давайте вернемся в действительность. Машины времени нет. Полеты в космос пока не столь далеки. Болезни не побеждены. “Где же эти ученые? Какая, например, мне польза от открытий Эйнштейна”, — думают многие, когда плывут на теплоходе по океану. А ведь теплоход ориентируется по GPS, спутники которой постоянно курсируют над планетой и помогают точно установить, где находится на Земле приёмник. И если бы не работы Эйнштейна, мы бы не могли пользоваться такой технологией, потому что при скоростях спутников уже заметны эффекты, которые, если их не учитывать, собьют все прицелы GPS. Значит, польза от науки, опосредованная, всё-таки есть. Можем ли мы помочь, если не Доку, то науке?

Наверное многие из вас слышали о волонтёрах — людях, которые добровольно делают что-то, во имя чего-то великого: защита китов, посадка деревьев, уборка мусора, помощь медикам в борьбе с болезнями — как участие в вакцинации народов Африки, так и испытание этих препаратов на себе. Многие люди хотят сделать что-то большое. Так, фонд Билла и Мелинды Гейтс спонсирует разнообразные здравоохранительные программы — предупреждение и лечение туберкулеза, СПИД, борьба с малярией и лихорадками.
Представьте будущее, лет через 10. К вам подходит ребенок, который по “Дискавери” увидел программу о гриппе и спрашивает: “Папа, а ты знал, что раньше люди каждый год болели болезнью гриппа, а недавно ученые открыли средство против него и теперь мы не болеем?”. И вы отвечаете: “Конечно, знаю! Я в этом участвовал.”
Понятно, это — пока фантастика, но вам было б приятно, верно?
А что, если бы вы могли помогать науке и медицине, не жертвуя состояния, как Билл Гейтс, не проливая пот и кровь в волонтерских мероприятиях, не рискуя заразиться от прививаемых людей малярией? Вы скажите, что это фантастика.

Проект по поиску разумной внеземной жизни SETI знаком многим. Сеть радиотелескопов, сканируют небо на предмет необычных сигналов. Необычные — это которые повторяются, но которые нельзя объяснить за счёт человеческой деятельности — радары, спутники, радиостанции — или за счет естественных причин (пульсары, реликтовое излучение и др.). Во время поиска чего-то интересного в этом “шуме”, прослушивается частота за частотой — будто вы крутите медленно настройку радиоприемника, и все это шипение между радиостанциями и является шумом — и в каждой частоте пробуют найти что-то повторяющееся. Как? Каждый сигнал можно изобразить в виде графика функции. Путем сложных вычислений можно “подобрать” формулу, которая бы это описала — выполнить преобразование Фурье для графика. Это невероятно сложно, потому что данных поступает много и над всеми из них требуется проводить долгие расчеты. Использовать для этого суперкомпьютеры было бы дорого.

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

Не помешало ли это обычному пользованию компьютерами? Нет — программы были написаны так, чтобы использовать ресурсы, когда он простаивает. Приблизительно так же, как появляется заставка на мониторе . Когда пользователь снова начинает активно работать, например, запускает игру или конвертирует видео, программа “засыпает” и ждет следующего свободного момента. К слову, современные компьютеры часто имеют много процессоров (ядер) и выполнение таких программ может вестись даже во время пользования компьютером так, что пользователь не заметит нагрузки на машину. Программа-клиент периодически подключается к серверу для получения очередной порции данных для вычислений. После завершения расчётов их результаты отсылаются обратно.

Архитектура, которая была таким образом изобретена, называется BOINC (англ. Berkeley Open Infrastructure for Network Computing ) - открытая программная платформа (университета) Беркли для GRID вычислений). Для того чтобы помочь науке теперь достаточно скачать программу клиент BOINC и подключиться к одному из проектов.

Folding@Home (F@H, FAH) - проект распределенных вычислений для проведения компьютерного моделирования свёртывания молекул белка. Цель данного проекта понять технику и принципы биохимического процесса создания (сворачивания) и разрушения (разворачивания) белков. Это требуется для борьбы с такими болезнями, как болезнь Альцгеймера, Паркинсона, диабет, склерозы. В результате вычислительной помощи добровольцев в данном проекте было много симуляций и на их основе было опубликовано множество промежуточных научных работ. Это наибольший из проектов добровольных распределенных вычислений, общая производительность систем, задействованных в нем способна соревноваться с производительностью мощнейших суперкомпьютеров планеты.

Einstein@Home — проверяем гипотезу Энштейна

Einstein@Home — проект, созданный для проверки гипотезы Эйнштейна о гравитационных волнах — способа распространения гравитации во Вселенной. Для этого изучают и составляют подробный атлас “тяжелых” объектов космоса — нейтронных звезд, черных дыр, пульсирующих звезд, чтобы понять как могут распространятся гравитационные волны, если они, конечно, существуют. Наблюдения и измерения в рамках этого проекта позволяют глубже понять и подтвердить (а быть может в будущем — опровергнуть?) общую теорию относительности (Помним GPS?), узнать с какой скоростью перемещаются гравитационные волны — со скоростью ли света, определить физические свойства этих гипотетических волн. Кроме того, с 2009 года часть мощностей проекта и, соответственно, часть вычислений добровольцев направлено на поиски радиопульсаров и других необычных объектов Вселенной.

MilkyWay@Home — астрофизика

MilkyWay@Home — это проект добровольных распределенных вычислений в области астрофизики, целью которого является исследование потоков звездного вещества Млечного Пути и составление высокоточных трехмерных динамических моделей. Сейчас в основном моделируется звездный поток Стрельца. Он имеет нестабильную орбиту и скорее всего образовался в результате сближения карликовой галактики с галактикой Млечный Путь.

World Community Grid — помогаем IBM

World Community Grid (WCG) — проект добровольных распределенных вычислений, созданный IBM, на базе которого создано множество подпроектов. Некоторые из этих подпроектов проводят исследования по борьбе с раком и СПИД. Другие моделируют средства для лучшей очистки питьевой воды, средств борьбы с гриппом и простудой. Решение о том, к каким расчётам следует привлечь первостепенное внимание, принимается совместно с ведущими учёными разных стран.

PrimeGrid — поиск простых чисел

PrimeGrid — это проект добровольных распределенных вычислений, целью которого является поиск простых чисел (которые делятся лишь на 1 и на себя) разнообразных форм. Некоторые важны для проверки гипотез математики, другие для тестирования программного обеспечения или криптографии.

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


Leiden Classical — численное решение задач классической механики;
Seventeen or Bust — проверка одной из гипотез математики;
Renderfarm — создание фермы рендеринга для всех желающих — любой может проявить свои 3D-модели, превратив их в картинку или видео высокой четкости;
Enigma — Попытка расшифровки некоторых перехваченных и не расшифрованных до сих пор сообщений немцев времен Второй мировой войны;
LHC@home — проект, позволяющий моделировать поведение пучков частиц в Большом Адронном Коллайдере — эти данные в последствии используются при калибровке установки;
Magnetism@home — проект по расчету магнитных конфигураций цилиндрических нано-элементов, созданный Константином Метловым из Донецкого физико-технического института. Проект решает задачи статики, динамики и термодинамики для магнитных нано-элементов различной формы.

Очень часто люди с одинаковыми хобби соединяются в группы. Так и с добровольными распределенными вычислениями. Есть множество групп людей, которые соединяются по разным признакам — один университет, одна страна, просто понравилась группа. В Украине есть национальная команда, сайт которой distributed.org.ua . На сайте есть форум, где проводится обсуждение на разные темы и где можно получить более детальную информацию о каждом проекте. Такие же национальные команды есть и в России, и в Польше, и в Германии — во многих странах.

Для того чтобы было интереснее, люди устраивают соревнования — меряются тем, сколько полезной работы сделали и сколько очков (кредитов или Cobblestones) заработали. Количество очков зависит от производительности компьютера , от числа задействованных машин (можно под одним именем использовать несколько компьютеров) и времени, сколько компьютер может заниматься вычислениями. Некоторые проекты несколько раз в год проводят так называемые заезды или челленджи — когда соревнуются команды: кто из команд за определенный промежуток времени заработает больше всех кредитов.

“Недостатком” вашей такой помощи науки может служить увеличивающийся счет за электричество. Это и есть та малая плата, благодаря которой вы, сможете вместе с другими добровольцами победить болезни, решить сложные задачи и сформировать карту нашей Галактики. Возможно вы спросите, можно ли на этом зарабатывать? Нет, нельзя. Да, точно нельзя. Это волонтерская помощь. Безвозмездная.

В этом видео расскажу как подключиться к проекту добровольных распределенных вычислений

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

Общей идей распределенных вычислений является следующее утверждение: пока вы набираете текст, сидите в Интернете, слушаете музыку ваш процессор занят не более чем на 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 в месяц.

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.

Здесь многие слышали о программе распределённых вычислений BOINC , возможно, многие даже принимают в нём участие. Эта статья рассчитана в первую очередь на тех, кто не слышал об этом проекте, но, может быть, заинтересуется им. Здесь я приведу краткие описания самых популярных проектов.

BOINC - программный комплекс для быстрой организации распределённых вычислений. Состоит из серверной и клиентской частей. Первоначально разрабатывался для крупнейшего проекта добровольных вычислений - SETI@home, но впоследствии разработчики из Калифорнийского университета в Беркли сделали платформу доступной для сторонних проектов. На сегодняшний день BOINC является универсальной платформой для проектов в области математики, молекулярной биологии, медицины, астрофизики и климатологии. BOINC даёт исследователям возможность задействовать огромные вычислительные мощности персональных компьютеров со всего мира .

Кратко изобразить этот процесс можно так:

В данный момент в сети BOINC насчитывается около 300 тысяч активных участников, что в сумме даёт более 9 миллионов компьютеров и производительность более 8 петафлопс (на момент написания статьи).

Cosmology@Home


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

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