вторник, 14 апреля 2009 г.

Большие компьтеры (SMP системы)

Нужны ли нам большие компьютеры?

Кто производит большие SMP (симметричные мультипроцессорные) системы? В настоящий момент это IBM, SUN и HP. SUN до 64 процессоров в сервере, IBM до 32, HP до 64.

Что мы имеем по процессорам?
Это Power от IBM и SPARC от SUN. НР использует Итаниум от Интела. На самом деле все эти процессоры не такие уж и мощные, современные АМД и Интел процессоры мощнее, да, да, просто мощнее, но тут вопрос схемотехники. На АМД вы можете построить, используя все преимущества/мощность АМД процессоров - 8 процессорную систему. На Интеле - 4 процессорную.

Тут и возникает вопрос - можно ли разделить/распределить задачу на несколько компьютеров?
Есть и ответ - большинство задач можно. Точнее так, абсолютное большинство задач вообще не требует таких мощностей, для них достаточно 2-х процессорных машин, Dell это понял давно, так и живет. Что остается под большие задачи? Биллинг мобильных операторов, банковские системы больших банков, больше не помню. (То что называется суперкомпьютерами - это набор мелких машин работающих вместе. Они это могут благодаря определенным образом написанному приложению.) Что же держит часть клиентов на больших машинах? Одна из основных задач - базы данных, как правило на Оракле.

Можно ли работать с распределенной базой данных? Можно. Самый элементарный путь сегментирование базы, ну, грубо, до 100 записи всю обработку ведет 1-ая машина, с 100 по 200 - вторая. Ну, или каждую таблицу обрабатывает специально выделенная машина. Не суть. Сложно? Не знаю, в принципе уже есть понятие мониторов транзакций или серверов приложений (кстати, введение трех уровневой архитектуры - то есть сначала мейнфреймы, потом клиент-сервер, наконец, для данного случая сервер базы - сервер приложений - клиент. На каждом этапе требовалась меньшая "самая большая" машина), когда первоначальный запрос к базе предварительно обрабатывается этими серверами. Никто не мешает усложнить логику и сервер приложений будет работать в "интерактивном" режиме, то есть запрос к первой машине, получение ответа, запрос ко второй, ну, или обратно к первой. Такие разработки были, ничего в этом особо сложного нет. Но рынок захватили просто организованные реляционные базы, а сейчас Оракл тупо скупил конкурентов и тихо их угробил. Остальные пытаются бодаться с Ораклом на его поле - MySQL, MS SQL, Progress, DB2, ну, кто там еще остался? Что, по сути, неверно.

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

Если будет технологический скачок в софте, то будет скачок (вниз) в потреблении больших машин. Пока рука руку моет, каждый новый релиз софта требует большей мощности железа. Хотя это скорее против тенденции развития техники. Посмотрите на бензиновые двигатели, на работу мобильников без подзарядки и только софт, чем дальше, тем хреновее.

2 комментария:

  1. Не будет скачка вниз. Многоядерники - за очевидным исключением АМД - втупую сливают при выполнении сильносвязанных вычислений. Ниагара - сосет, за исключением очевидных хилых задач, под которые пытаются Облака (без штанов) подтянуть, лишь бы хоть как-то оправдать существование выродка архитектуры - многоядерники.

    Почему не будет? По определению. Гигабайты и гигагерцы софтом не заменить. Вообще ничем не заменить. "Процессор не найден, приступаю к эмуляции".

    ОтветитьУдалить
  2. Вот здесь:
    http://yvoinov.blogspot.com/2008/11/blog-post.html
    Я уже высказывал свое видение ситуации с SMP.

    ОтветитьУдалить