Рейтинг@Mail.ru
[Войти] [Зарегистрироваться]

Наши друзья и партнеры

UnixForum
Беспроводные выключатели nooLite купить дешевый 
компьютер родом из Dhgate.com Набор для гриля Аксессуары для гриля.

Lines Club

Ищем достойных соперников.

Библиотека сайта или "Мой Linux Documentation Project"

SnowFlock

Глава 18 из 1 тома книги "Архитектура приложений с открытым исходным кодом".

Оригинал: SnowFlock
Авторы: Roy Bryant, Andres Lagar-Cavilla
Перевод: А.Панин

Creative Commons. Перевод был сделан в соответствие с лицензией Creative Commons. С русским вариантом лицензии можно ознакомиться здесь.


18.8. Заключение

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

При работе над SnowFlock мы получили два важных урока. Первым уроком является важность обычно недооцениваемого KISS-подхода. Мы ожидали, что реализация технологии снижения интенсивности потока запросов страниц памяти клонированной виртуальной машиной после запуска окажется достаточно сложной. К нашему особенному удивлению, необходимости в ней не обнаружилось. Система работает достаточно хорошо при различных нагрузках с учетом соблюдения единственного принципа: следует доставлять данные памяти тогда, когда они требуются. Другим примером важности простоты реализации является битовая маска наличия страниц памяти. Простая структура данных с применением понятных атомарных семантик доступа значительно упрощает решение ужасной проблемы совместного доступа, которая заключается в соревновании множества виртуальных центральных процессоров за обновление страниц в условиях их асинхронной доставки с помощью многоадресной технологии распространения.

Вторым уроком была важная роль масштабирования. Другими словами, будьте готовы к тому, что работа вашей системы будет нарушена и новые узкие места будут обнаруживаться каждый раз, когда вы увеличиваете нагрузку на систему в два раза. Данный урок тесно связан с предыдущим: простые и элегантные решения отлично масштабируются и не таят в себе нежелательных сюрпризов и повышений нагрузок. Основным примером в данном случае является система mcdist. При тестировании масштабирования в большом диапазоне механизм распространения страниц с использованием протокола TCP/IP в значительной степени замедляет работу при обслуживании сотен клонированных виртуальных машин. Система mcdist успешна благодаря очень проработанному и точно обозначенному распределению задач: клиенты беспокоятся только о доставке своих страниц; сервер беспокоится только о глобальном управлении потоком. Поддержка mcdist в виде небольшого и простого приложения, обуславливает отличную возможность масштабирования SnowFlock.

Если вам хочется узнать больше, вы можете посетить сайт Университета Торонто1, чтобы ознакомиться с академическими отчетами и открытым под лицензией GPLv2 исходным кодом, а также сайт GridCentric4 для получения реализации промышленного уровня.

Сноски

  1. http://sysweb.cs.toronto.edu/projects/1
  2. http://www.gridcentriclabs.com/architecture-of-open-source-applications
  3. Уникальный идентификатор организации (OUI, Organizational Unique ID) является диапазоном MAC-адресов, закрепленным за производителем оборудования.
  4. http://www.gridcentriclabs.com/


Далее: К началу статьи


Эта статья еще не оценивалась
Вы сможете оценить статью и оставить комментарий, если войдете или зарегистрируетесь.
Только зарегистрированные пользователи могут оценивать и комментировать статьи.

Комментарии отсутствуют