Дата-центры проявляют характер?
Полвека назад, в 1963 году, издательство «Знание» выпустило культовый сборник фантастики «Новая сигнальная». И там, в «Далекой Радуге» Стругацких, звучит история о Массачусетской машине. Самом сложном кибернетическом устройстве из существовавших в истории Мира Полудня, которое «начало вести себя»… Проявлять такие свойства, которых не закладывали в него его проектировщики… А сегодня, в 2013 году, вполне обыденными становятся системы, у которых самое что ни на есть штатное функционирование, направленное на выполнение тех самых задач, для которых они созданы, происходит подобным образом.
В начале ноября на британском технологическом новостном сайте
![Где-то в недрах дата-центров программное обеспечение начинает само организовывать свою работу](https://novostey.com/i4/2013/11/15/d103f4de94a23c59fb957ac11c9dc35a.jpg)
То есть – о технологической системе, которая выполняет самые привычные и самые необходимые в быту операции. Снабжающей нас информацией, нужной для повседневной жизни. Такой же привычной, как и вода из под крана и газ в газовой горелке… Но дата-центры от Google традиционно тяготеют к скрытности, причины которой, вроде необходимости защиты данных, подробно описаны
Так что про функционирование систем обработки данных глобального поисковика мы знаем лишь то, что фирма сочтет нужным нам сообщить, или же то, что выскользнет в прессу. И вот The Register рассказывает об очень интересных вещах. По его словам, одна из наиболее совершенных систем центров обработки данных Omega начала вести (behaves) себя так, что это больше смахивает на поведение живого существа, чем на работу системы, жестко контролируемой «классической» системой управления. Причём аналогичные черты проявлял уже и предшественник Omega по имени Borg…
Тут на свет вылезает такой околокибернетический термин как эмерджентность. Гуляет это заимствование с английского emergent — возникающий, по отечественным источникам как минимум с семидесятых годов. Более пуристические редактора заменяли его на – «системный эффект». Суть явления – в появлении на некотором уровне развития системы таких свойств, которыми не обладают её отдельные элементы. Скажем организм, даже простейший, проявляет свойства, которыми не обладают химические элементы, входящие в его состав… Организм – не есть сумма клеток. Муравейник – отличен от муравья…
![Для дата-центров Omega характерна правая схема организации диспетчеризации](https://novostey.com/i4/2013/11/15/59acdc35c11fb9e96f8f80baa7e6a00e.jpg)
Ну а что такое Omega? Это – система вычислительных кластеров, масштабируемая до более чем десяти тысяч элементов. И вот теперь Петер Магнуссон (Peter Magnusson), главный специалист Google по облачным вычислениям, говорит о том, что эти системы начали демонстрировать эмерджентное поведение (start demonstrating emergent behavior), то есть, в них, говоря более корректно, проявляются присущие такому уровню сложности системные эффекты. И – по мнению «облачного шефа» – понять, что с этим поведением делать, может быть весьма трудно (it can be hard to know what to do with it).
Ну, в светлом коммунистическом Мире Полудня с Массачусетской машиной поступали просто, в духе основоположников. «…проработала эта машина ровно четыре минуты. Ее выключили, зацементировали все входы и выходы, отвели от нее энергию, заминировали и обнесли колючей проволокой. Самой настоящей ржавой колючей проволокой…» Эдакий Endl?sung кибернетического вопроса. В реальности же системные, никем не предсказанные, свойства Omega используются для исполнения того, для чего в центр обработки данных вложены деньги – для лучшей обработки запросов, поступающих поисковику.
Да, страшилок мы обозначили много. Но на самом деле всё и куда проще, и куда сложнее. Проще – в том смысле, что система из десятков тысяч кластеров не склонна (во всяком случае – пока) к философским размышлениям в духе лемовского «Голем XIV», и уж явно не вынашивает злобных планов, по образу более популярного Скайнета. Он всего лишь распределяет потоки информации между вычислительными мощностями и расставляет приоритеты. Ну, знаете, как когда-то барышень на телефонных станциях сменили релейные АТС. Причём эффективность работы системы от этого заметно растёт!
А сложнее… Сложнее то, что мы в принципе не можем предсказать, какая структура обработки данных сложится внутри дата-центра. В принципе – всё просто. Есть коммутатор, хоть и очень большой, и очень гибкий. Есть система назначения приоритетов. Ну, может быть помните, как во времена релейных телефонных станций звонок «по межгороду» отключал местные соединения… То есть, уровни приоритета существовали уже и тогда. А теперь Omega оперирует коммутациями и приоритетами сама. Нет, конечно же в пределах, заданных создателями. Поиск обрабатывается первым – иначе потребитель метнется к национальному поисковику-конкуренту.
Ну а обработать статистику по поисковым запросам – выяснить, кто и что больше любит, и сколь часто интересуется, можно и в режиме близком к фоновому. Тут важно не время реакции, а достоверность. Обеспечивающая эффективность рекламы, которая и приносит деньги тому же поисковику, который и вкладывается в Omega-центры, который и обеспечивает нас бесплатным поиском, да и еще рядом полезных услуг. И эффективность этой коммутации, и эффективность разделения приоритетов оказываются выше, чем, если бы это было жестко установлено – или на этапе проектирования, или в ходе работы.
«Хаос» организации обработки данных повышает её рентабельность. Но – как говорит старший исследователь из команды Google Джефф Дин (Jeff Dean) – вы всё время работы находитесь на зыбком песке, unstable quicksand, и должны смиряться с этим. То есть – система работает. И в общих чертах понятно, как она работает. Но вот как именно работает она – не знает никто. В том числе – и её разработчики. Слишком сложны решаемые поисковиком №1 задачи. Слишком велика их размерность. Классическое решение – оценить возможное число запросов, оценить требуемое время реакции, накупить мощностей с запасом (pessimistic concurrency) – слишком дорого.
Система, самостоятельно маневрирующая ресурсами, коммутирующая кластеры, варьирующая приоритетами, может решать эти задачи местными ресурсами, то есть – дешевле! И, как говорит Джон Уилкс (John Wilkes), один из разработчиков Omega, их задачей было обеспечить предсказуемое поведение системы со стороны пользователя – несмотря на сложность и масштабы системы – минимизируя ошибки. То, каким образом система работает «внутри», видимо не имеет уже принципиального значения.
![Время ожидания в системе с диспетчеризацией типа Omega (правая) для многих задач оказывается минимальным](https://novostey.com/i4/2013/11/15/1d3336f38deff57e8e338a23d762f04c.jpg)
Попробуем привести аналогии для Omega. Ну, с живым существом, даже простейшим, его сравнивать как это публицистически сделал The Reg, нельзя – ЦОД не способен к самовоспроизведению… А вот с органом организма сравнить можно вполне. И опять попрошу помощи врачей – какая там часть людей имеет сердце справа? И – вроде бы – на здоровье это не отражается? То есть не-марковская, зависящая от истории, эволюция системы в купе со случайными факторами, может породить не то, что бывает обычно, но то, что тем не менее прекрасно исполняет свои функции.
Но правое сердце – редкость. А вот сосуды всякие, кажется, разбегаться могут многими способами. Такими, какими они сложились в процессе формирования Большой Системы, нашего организма. Никак не влияя на качество системы! Так и ЦОД-Omega, тоже довольно большая система, программно сформирует свои информационные артерии и вены непредсказуемым изначально способом. Но потребителю – и тому, кто обращается с поисковым запросом, и к тому, кто будет арендовать у Google вычислительные мощности – будет видимо достаточно предсказуемое «лицо» системы.
Прецедент Google важен, потому что он – №1. С теми же проблемами столкнуться и соцсети, и интернет-торговля, и корпоративные облака… Тренд! Машина, которая непонятно как устроена внутри, но, тем не менее, надежно работает. Из ИТ-сферы в голову приходит лишь адаптивный дизайн сайтов. Неясно, что увидит на экране пользователь, но деньги владельцам «живой» сайт приносит исправно… И вскоре таких примеров будет много – эволюция технологий идёт в миллионы раз быстрее, чем шла некогда эволюция органической материи.
И уж начав с фантастики, кончим ею. Ранней книгой печатавшего свои поздние вещи в бумажной «Компьютерре» Станислава Лема. Утопией «Магелланово облако». Там фигурировали «гироматы» – автоматы большой сложности, которые никто не проектировал, и про устройство которых никто не мог ничего сказать. Их, скорее, выращивали, чем строили, хотя и из неорганических веществ. Видимо на Лема, читавшего свежие книжки Винера и Шеннона, сильно влияло его медицинское образование… Ну а ознакомится подробнее с «живой» диспетчеризацией можно в статье калифорнийских исследователей