суббота, 24 ноября 2007 г.

Тень маньяка

Отдельная тема - это виртуализация.

Айтишники вообще счтиают, что законы природы - и, в частности, законы сохранения - для них не действуют. Они называют объем информации весом и измеряют его в метрах. :)

Не далее, как сегодня, мне пришлось иметь беседу с джентльменом, который ничего не знает о виртуализации (это было совершенно очевидно), но считает, что она спасет "гиганта мысли, отца русской демократии" - и желал бы в двух словах, буквально языком телепередач, узнать - поддерживает ли Солярис хоть какую-нибудь виртуализацию?

Я плакал, я рыдал, я обливался горючими слезами - но, господа айтишники! Довольно, наконец! Вы ведь шутите, верно? На самом деле вы верите в законы физики?

Это не смешно.

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

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

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

Это отголосок все той же перверсии, описанной в предыдущем посте. "Модно" - вот что, что я достовно услышал от джентльмена, мнящего себя IT-профессионалом.

Я в принципе не могу это назвать иначе, чем перверсией. "Шиза, шиза косит наши ряды". Элементарный здравый смысл гаснет под гипнозом сэйлзов.

Модно - и все.

То, что это не будет быстро, что это не будет удобно (многие просто не понимают, что это очередная маркетинговая уловка, дабы втюхать лохам очередного монстрика - на этот раз именуемого "многоядерные процессоры") - никого не колышет. Это модно. Клиенты готовы платить баблосы за очередной доСИРАК. А раз так - мы им втюхаем. Благо, есть что.

Так чем же вы, господа айтишники, отличаетесь от гламурных блондинок, которых так любите поминать всуе, ни разу не увидев иначе, чем на экране?

Жесть, ребята. Вы хоть один раз пробовали вообще загрузить работой более, чем одно ядро? Вы видели, что при этом происходит? Вы в курсе, что бывает параллелизм синхронный, а бывает асинхронный, и что область применения и целевое назначение у них разные? (если вы никогда не видели ничего, кроме 1С и "базы данных" размером в 700000 записей - можете дальше не читать).

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

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

Серьезно? Вы все еще верите, что ваша система стала работать быстрее или ваша жизнь стала легче? Пожалуй, лучше позвоните санитарам.

Я просто физически вижу за концепцией виртуализации маньяка - любителя компьютинга, с машиной о двухядерном Core Duo, с 4мя гигабайтами памяти и одним SATA-диском на полтерабайта, почти полностью забитым порнухой и играющего в CS, с горящими глазами визжащего "Два ядра! Делая в два раза больше!"

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

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

Подведем итоги?

  1. Виртуализация - такой же миф, как и легенда об Икаре. Ресурсы сервера являются общими для всех процессов, которые на нем выполняются.
  2. Конкуренция за ресурсы - могильный камень виртуализации. Автор на видел на сегодняшний день ни одного приличного менеджера ресурсов, способного адекватно функционировать в условиях нехватки этих самых ресурсов. Иначе говоря, гигабайты и гигагерцы ничем не заменишь. Даже самая продвинутая ОС на планете (С) Sun Microsystems не может похвастаться этим в текущей версии.
  3. Есть огромная разница между классами задач, выполняемых на многоядерных и SMP машинах. Вычислительные задачи и рендеринг - это задачи класса асинхронного параллелизма. Обработка запросов к реляционным таблицам - совсем другой класс задач, нуждающийся как правило в синхронном параллелизме. И это то, в чем большинство современных архитектур неудержимо тонет. Core Duo от Intel на данный момент реально неспособен эффективно функционировать в задачах второго класса, чему сильно способствуют поставщики железа. Все просто, как угол дома - оптимальным со времен она считается соотношение 1 CPU x 5 HDD (один процессор не менее, чем на пять дисков). Как говорит один мой знакомый, "побольше шпинделей!". Что мы видим у маньяка? Core Duo на одном полутерабайтном винте. "Опачки? Вот именно!"
_______________________________________________
Небольшое отступление: Автор ничего не имеет против многоядерных процессоров AMD применительно к собственному, каноническому, подходу "один сервер - один сервис". Это работает и при правильном проектировании и администрировании позволяет иметь экстремальную для данных платформ производительность.