SMP vs Cluster

Технологии постороения кластеров (вычислительных и отказоустойчивых), настройка терминал серверов,
SAN , NAS, FibreChannel, Infiniband

Модераторы: Trinity admin`s, Free-lance moderator`s

Ответить
Аватара пользователя
a_shats
Advanced member
Сообщения: 5010
Зарегистрирован: 27 авг 2002, 10:55
Откуда: Москва
Контактная информация:

SMP vs Cluster

Сообщение a_shats » 11 дек 2002, 17:49

Предлагаю обсудить:
1. Где какое решение эффективней ? Применимы ли вообще-сейчас- кластерные решения для небольших фирм с относительно небольшими задачами, и что будет эффективнее по цене/производительности/надежности ?
2. Примеры применения Load-Balancing и Fail-Over (и комбинированных, кстати, тоже) кластеров на промышленных предприятиях (конечно же, без указания конкретных имен и названий).
3. И вообще - конкретно - преимущества и недостатки обоих решений.

Аватара пользователя
CyberDrake
free-lance moderator
Сообщения: 338
Зарегистрирован: 23 авг 2002, 10:39
Откуда: Санкт-Петербург
Контактная информация:

Сообщение CyberDrake » 11 дек 2002, 18:49

Вкратце несколько мыслей (так с ходу):

1. Задачи, которые могут быть распараллелены средствами SMP могут быть распараллелены средствами кластеризации, но не наоборот.

2. По поводу кластерных решений для небольших фирм, если в пакете "Maya" обсчитывать 3D, то весьма интересно. Если устраивать отказоустойчивое решение с возможностью распараллеливания на уровне задач, то надо смотреть и помнить, что никакой кластер не освобождает от необходимости делать backup.

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

Fast Ethernet - 10MB/s
Memory Channel - 100MB/s
Gigabit Ethernet - 125MB/s
cLAN - 150MB/s
Myrinet - 245MB/s
QsNet - 340MB/s
SCI - 400MB/s,

но кроме скорости передачи есть еще и минимальное время задержки передачи:

Fast Ethernet - 123 mcS
Memory Channel - 3 mcS
Gigabit Ethernet - 25 mcS
cLAN - 8 mcS
Myrinet - 6 mcS
QsNet - 2 mcS
SCI - 1.5 mcS

ладно, постараюсь дописать позже.

Аватара пользователя
a_shats
Advanced member
Сообщения: 5010
Зарегистрирован: 27 авг 2002, 10:55
Откуда: Москва
Контактная информация:

Сообщение a_shats » 16 дек 2002, 18:21

Хм. Куда-то это все слегка не туда... ;)
Попытаюсь поприземленнее, что-ли:
1. Оптовая база с огромным оборотом. Характерно: наличие удаленных оффлайновых точек, толстая база примерно однотипных документов, мощная активность пользователей, юзающих одни и те же данные, аналитика относительно простая, но в силу объема анализируемых данных, достаточно тяжелая. Простой в 5-15 минут не критичен.
2. Банк: по отношению к п.1 - практически наоборот: база не слишком толстая, но - сильно разноплановая, критичная к времени простоя (в части сбора инф-ции). Аналитика мелкая, но очень много..."срезов". И нужна очень часто, и, как правило, за относительно короткие периоды (менее месяца: бывает, конечно же, и годовая, и квартальная, но чаще все же...).
3. Промышленное предприятие: комплекс ВТ, обслуживающий электронный документооборот(в т.ч. делопроизводство, производство, учет, контроль и т.п.). Тут вообще все в тумане (зависит от конкретного софта, парка компов на предприятии, умения работать с ЭД et cetera). Но - сервер БД есть в любом случае. Кроме него, как правило - сервер приложения (ЭД), собственно. Плюс - файлпомойка. Плюс -логи всего и вся (тоже - в БД, зачастую-на отдельный сервер).
Где эффективнее и что : SMP или кластер ?

Аватара пользователя
Nikel
member
Сообщения: 23
Зарегистрирован: 08 окт 2002, 16:48

Сообщение Nikel » 16 янв 2004, 11:15

Так на чем остановились? :maniac:

Аватара пользователя
art
free-lance moderator
Сообщения: 653
Зарегистрирован: 15 май 2003, 11:25
Откуда: SPb

Re: SMP vs Cluster

Сообщение art » 16 янв 2004, 17:01

a_shats писал(а):Предлагаю обсудить:
1. Где какое решение эффективней ? Применимы ли вообще-сейчас- кластерные решения для небольших фирм с относительно небольшими задачами, и что будет эффективнее по цене/производительности/надежности ?
Я полагаю, что мы говорим про PC кластеры?
Иначе бессмысленно сравнивать.

Сугубое IMHO, не подкрепленное обширной практикой:
Удел кластерных решений для_небольших_фирм пока что только в двух областях :

1) non real time обработка детерминированного набора данных (рендеринг, распознавание, инженерные расчеты). Т.е. всё то, что не работает с накоплением информации. Потеря данных некритична, поскольку операции можно повторить сначала.
_
Выигрыш в скорости обработки перекрывает риски от меньшей надежности кластера.

2) предоставление цифрового контента, потоковая обработка несвязанных данных: loadbalance схемы для HTTP, VOIP шлюзы, VPN tunelling, mail filtering, proxy farm и т.д. .
_
Риски, связанные с отказом узла выражаются в отказе доступа одному клиенту (абоненту VOIP, SSL сессии) а не отказу системы в целом


Выгоды кластерных решений очевидны - дешевые, легкозаменяемые компьютеры часто дают большую производительность, чем дорогие аппаратные решения. Это позволяет плавно вводить затраты на оборудование, что важно для startup'ов.

Приведенные примеры не включают, как видно, базы данных, биллинг и пр., где потеря данных или возникновение неатомарности данных неприемлемы.
a_shats писал(а): 2. Примеры применения Load-Balancing и Fail-Over (и комбинированных, кстати, тоже) кластеров на промышленных предприятиях (конечно же, без указания конкретных имен и названий).
Никогда не слышал.
Помоему, не идет дальше схем со standby включением.
a_shats писал(а): 3. И вообще - конкретно - преимущества и недостатки
обоих решений.
Преимущества кластеров
- малозатратность и возможность распределить затраты в будущем, доступность, возможность плавного наращивания мощности по требованию
- однажды разработанный софт для параллелизации может быть использован для многих областей.


Недостатки кластеров
- общее снижение надежности системы (как произведение %% надежности для всех узлов ) и, как следствие, непригодность для критических приложений и приложений, требующих атомарности данных.
- стоимость разработки софта, учитывающего явный параллелизм, иногда может превысить стоимость SMP решений

Преимущества SMP
- надежность, возможность работы с критическими данными
- нечувствительность к "плохим" моделям программного параллелизма.

Недостатки SMP
- цена
- ограниченное масштабирование

Аватара пользователя
a_shats
Advanced member
Сообщения: 5010
Зарегистрирован: 27 авг 2002, 10:55
Откуда: Москва
Контактная информация:

Сообщение a_shats » 16 янв 2004, 18:15

1. Добавлю: терминальные фермы. Для фирм почти любого калибра. ;)
2. Ну, сюда можно добавить Oracle RAC.
3. RAC и "серверная ферма" Microsoft SQL в данном случае отрицают первый недостаток кластеров. Солидное количество софта, разработанного под GNU - для кластеров - частично компенсирует второй. Коммерческие же приложения для задач с такими требованиями по масштабированию никогда не были дешевы.
Потребителей, которым такие решения реально нужны, ни недостатки первых(сложности с саппортом, главным образом), ни стоимость вторых никогда не останавливали ;) .
Вообще, имхо, главный недостаток подобных решений - на простых и лишь оттого относительно дешевых компонентах - в их излишней, на мой взгляд популяризации. В ветке об "Эльбрусе" на iXBT был показательный момент: Stranger_NN выразился в том духе, что средних размеров кластер при наличии на то средств смогло бы построить большинство участников той ветки. По тому, что я позже видел - многие из тех, кто эту ветку лишь читал (самообразования ради, ветка на самом деле вообще-то полезная) - почему-то приняли высказывание на свой счет. ;)
На самом деле, распространенный коммерческий софт к "нормальному" параллелизму стал приближаться, имхо, только сейчас и только для SMP, как это ни странно, с появлением HyperThreading и введением оптимизации под него.
Чего уж говорить о кластера в общепринятом понятии этого слова, которые - на самом-то деле - до сих пор были уделом лишь относительно небольшого количества научных коллективов (!) с очень тяжелыми счетными задачами!
Хочется, конечно, уж больно привлекательно выглядит высказанная идея о превращении кучи разбросанных по столам писишек в некий "коллективный" сервер ;) , забывая при этом - а для чего он такой, собственно, нужен-то ? :gigi:

hgh
Junior member
Сообщения: 18
Зарегистрирован: 05 янв 2004, 12:45
Откуда: Singapore
Контактная информация:

Сообщение hgh » 17 янв 2004, 05:07

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

S&L
Advanced member
Сообщения: 113
Зарегистрирован: 30 ноя 2003, 13:06

Сообщение S&L » 17 янв 2004, 22:45

Привет, какие кластеры, это уже немодно,
только Grid

Аватара пользователя
a_shats
Advanced member
Сообщения: 5010
Зарегистрирован: 27 авг 2002, 10:55
Откуда: Москва
Контактная информация:

Сообщение a_shats » 19 янв 2004, 13:14

hgh
Термин несколько некорректный, каюсь ;) .
Суть: до сих пор в программировании массово преобладали линейные алгоритмы (я в курсе об ООП и прочем ;) ).
Параллельное выполнение - значит выполнение нескольких частей задачи одновременно, грубо говоря, так ?
Для этого нужно учесть такой момент: параллельно исполняющиеся куски не должны юзать/модифицировать никакие общие локальные или глобальные переменные. Во время выполнения они (параллельно исполняющиеся части) вообще не должны иметь ничего общего. Причем каждый из них в идеале еще и не должен зависеть от результата исполнения "соседнего".
Вот это я и имею в виду под "нормальным" параллелизмом ;) : разбиение задач на слабосвязанные фрагменты и их (фрагментов, нитей (thread)), по возможности, параллельное (одновременное, на нескольких процессорных ядрах - виртуальных или физических) исполнение.
Пример работы HyperThreading: стоит одна нить, ждет ввод/вывод (окончание). Без НТ - и все остальные будут стоять. С НТ - может выполняться в тот же момент времени еще одна.
Просто до нынешнего времени нарастить производительность считалки можно было тупым поднятием частоты, а тепловыделение, с ним связанное - переходом на более тонкий техпроцесс.
Теперь лафа кончилась ;) . Дальше - или кластеры, или SMP, или еще что-то. Оттого эта тема и возникла ;) .

Ответить

Вернуться в «Кластеры, Аппаратная часть»