Это одно из тех немногочисленных мероприятий, где начинаешь жалеть, что не можешь находиться в двух-трех местах одновременно: в скромные три дня здесь втискивается под сотню разных докладов-сессий, которые идут с утра до вечера в десятке залов. Причем каждый доклад интересный и глубоко профессиональный. Американцам проще — у них, как правило, очень узкая специализация, а потому они могут выбрать одну из тем Форума и посетить только те сессии, которые ей посвящены (расписание подобрано так, чтобы это было удобно делать). Впрочем, все подготовленные материалы и презентации по ходу Форума выкладываются в онлайн, так что с содержанием пропущенных сессий можно ознакомиться без проблем [Интересующихся отсылаю к www.intel.com/pressroom/kits/events/idffall_2006. Обратите внимание на небольшую ссылку Content Catalog в одной из врезок справа — по ней можно найти все презентации с сессий Форума]. Да и общая организация мероприятия вызывает разве что немое восхищение — все продумано, вплоть до мелочей. За участие в этом великолепии, естественно, просят довольно существенных денег (как-никак, за знания на Западе принято платить), но оно того стоит.
Основные идеи и серверы
Рассказывали о многом. Самые общие, неспециализированные материалы выносятся в отдельное «шоу достижений», состоящее из нескольких тематических кейноутов (keynotes), представляемых руководителями соответствующих подразделений Intel. Открывающий Форум CEO Intel Пол Отеллини, например, отчитался о достижениях корпорации за минувшие полгода, подробно остановившись на таких «вкусных» вещах, как завоевавшая корону лучшего в мире процессора архитектура Intel Core, невероятное еще не так давно сотрудничество с Apple, полностью перешедшей на соответствующие процессоры; поведал об успехах в применении 65-нм технологического процесса и перспективах быстрого внедрения 45 нм, о прорыве в «потребительских» качествах новых серверных Intel Xeon, о кремниевом лазере и терабитном процессоре, о новой мобильной платформе и многом другом. Что и говорить — корпорации, безусловно, есть чем похвастать. Позднее на отдельном брифинге для прессы СЕО Intel рассказал о некоторых деталях новой модели исследований, пообещав в ближайшие годы придерживаться «чередующейся» схемы, в которой каждый первый год будет выпускаться «улучшенная версия» уже существующей архитектуры (вроде перехода от Pentium M к Core Duo), а каждый второй — «выкатываться» принципиально новая (Core Duo «Yonah» — Core 2 Duo «Conroe»), причем две подобные архитектуры — Nehalem и Gesher уже находятся в разработке (кроме имен о них пока ничего не известно).
А вот директор отдела технологий Intel Джастин Раттнер затронул куда более серьезные вещи — серверы и связанные с ними технологии в свете объявленного Intel курса на энергоэффективность. Так, совместно с Луисом Баррозо из Google он подробно рассказал о перспективах изменения существующей инфраструктуры крупных серверных центров. Предполагается перейти от отдельных серверов, использующих широкоупотребительные стандарты электропитания, к современной централизованной распределительной системе, использующей в качестве основного рабочего напряжения не переменный ток на 480 В и 208 В, а постоянный на 360 В, с новыми блоками питания, выдающими не полный комплект напряжений ATX (+3,3, +5, +12, —5, —12 В), а лишь +12 В, которые преобразуют к нужному уровню электронные схемы питания, расположенные на материнской плате и других потребителях. Исключение из схемы практически всех промежуточных преобразований тока (которое возникает в ИБП и трансформаторах) и сильное конструктивное упрощение БП позволяет более чем на треть снизить потери, связанные с передачей и преобразованием энергии и достигающие сейчас 65%. А это дает лишние 60% серверов при той же потребляемой мощности, которой крупному серверному центру требуется столько, что на протяжении его жизни счет за потребленную электроэнергию становится сопоставим со стоимостью оборудования, установленного в центре [В качестве иллюстрации на Форуме был продемонстрирован работающий сервер, потреблявший 3,8 кВт от обычной сети переменного тока и лишь 3,3 кВт — от постоянного. Выигрыш в 14% в дата-центре сегодня вполне ощутим]. Другая новинка — использование в свитчах и оконечном сетевом оборудовании интегрированных схем безопасности, шифрующих в прозрачном режиме весь передаваемый между оборудованием MAC-уровня трафик. В отличие от традиционных «программных» шифрующих решений, работающих на более высоких уровнях, вроде SSL или IPsec, в технологии LinkSec не требуется поддержка шифрования со стороны программного обеспечения или сложной для пользователя процедуры получения и хранения ключей, — шифрование настраивается на уровне сети ее администратором, которому нет дела до передаваемого трафика. Ключи прописываются прямо в сетевое оборудование, с соответствующими гарантиями, что извлечь их оттуда или скопировать будет невозможно. При этом шифрованный трафик свободно уживается с обычным, а сетевое оборудование полностью отвечает стандартам Ethernet — просто в рамках одной большой физической сети возможно создание нескольких виртуальных защищенных.
Виртуализация и безопасность
Безопасности во всех ее ипостасях на IDF было уделено очень много внимания. На подходе уже первые системы с ее аппаратной поддержкой, и в ближайшие несколько лет разработка «безопасных приложений» и «безопасных операционных систем», несомненно, будет одной из актуальнейших «программистских» тем. Шифрование на канальном уровне — лишь один из аспектов общей проблемы, коротко описывающейся так: главная угроза корпоративным сетям исходит не «извне», а «изнутри» — хакеры предпочитают «внедриться» в сеть, «стать одним из своих», вместо того чтобы преодолевать навороченные файрволлы и IDS на ее границах. И та же LinkSec, востребованная, если хакер попытается физически подключить к сети «чужой» компьютер или иное «прослушивающее» оборудование, будет абсолютно бесполезна, если в одну из машин «доверительной» сети окажется внедрен троянец.
Что делать? Виртуализироваться! Виртуализация, позволяющая создавать на одном компьютере изолированные друг от друга виртуальные машины, и безопасность идут рука об руку, поскольку вместо комплекса мер по защите компьютера в целом — файрволла, антивируса, разграничения прав доступа — достаточно реализовать защиту только сравнительно маленькой программки — менеджера виртуальных машин (VMM). Во-первых, с его помощью можно выстраивать «доверительную пирамиду»: VMM при создании очередного раздела на компьютере проверит «цифровую подпись» загрузчика операционной системы, загрузчик проверит подписи всех исполняемых файлов и данных операционной системы, операционная система будет проверять подписи у всех запускаемых программ, программы — у всех запускаемых скриптов и используемых данных и т. д., где каждый уровень, который мы уже считаем надежным, проверяет надежность следующего уровня. Если аппаратно обеспечить гарантию подлинности самого первого уровня, с которого начинается «пирамида», — а именно это и делают TPM, LaGrande и иже с ними, то на подобном компьютере будет принципиально невозможно запустить что-либо неподписанное кем-то, кому мы доверяем, — в частности, того же троянца. Во-вторых, виртуализация гарантирует, что если «вредная» программа все-таки будет запущена (например, где-то в описанной схеме встретится незащищенный слой, систему безопасности для собственного удобства отключит сам пользователь или, что еще неприятнее, из-за ошибки в софте «подписанная» программа сделает что-нибудь «неприличное» [Как вы помните, «борьба за безопасность» началась еще с введения бита NX/XD, который позволял предотвратить один из самых распространенных видов подобных атак, заставляющих недостаточно аккуратно написанное приложение выполнить произвольный «чужой» код, послав на его вход специально подобранную последовательность данных]), то «погибнет» лишь один из «отсеков корабля», а не вся система. Скажем, дыра в WinAMP или многострадальном Internet Explorer, использующихся в неслужебных целях, не станет причиной компрометации бизнес-приложения, работающего с важными данными, поскольку пробившийся в одну виртуальную машину низкой защиты хакер попросту не увидит недоступные для него остальные машины, на которых запущены более критичные вещи.
Что же нам предлагают? По правде говоря, для меня стало откровением, что несмотря на отсутствие поддерживающего ее программного обеспечения, первая на рынке технология виртуализации VT-x, которую процессоры Intel поддерживают уже около года, за это время несколько раз оптимизировалась по быстродействию, так что производительность использующих ее программ на Core 2 Duo будет заметно выше, чем на первых Pentium D (даже с учетом разницы в производительности самих этих процессоров). Впрочем, сегодня ведущие производители виртуальных машин уже поддерживают VT-x, хотя и не реализуют всех ее потенциальных возможностей, что, впрочем, неудивительно, если учесть, что необходимый для полного раскрытия технологии объем работ сопоставим по сложности с созданием новой операционной системы, да и ОС в идеале должны бы пройти соответствующую оптимизацию. Камень преткновения в данном вопросе — это необходимость реализации работающих на уровне виртуальной машины драйверов для железа и их поддержки операционной системой. Дело в том, что все нынешние ОСи попросту не умеют совместно с другими ОСями одновременно использовать одно и то же оборудование — скажем, общую видеокарту, и приходится либо реализовывать средствами виртуальной машины виртуальный же графический адаптер, жертвуя производительностью и функциональностью, либо ставить, грубо говоря, две видеокарты — по одной на каждую из ОСей, что тоже едва ли можно назвать удачным выходом. Кроме того, если мы собираемся использовать VMM не только для одновременного запуска Linux и пары копий Windows на одной машине, а для более «прогрессивных» схем, в которых, например, предлагается каждому критичному приложению выделять по собственной копии операционной системы, то без поддержки со стороны ОС и запустить это приложение — проблема (потребуется ждать создания новой виртуальной машины и загрузки в ней ОСи, после чего вручную запускать нужную программу), и работать с ним (было бы лучше, если б запущенная на другой виртуальной машине программа выглядела как обычное приложение, а все технические тонкости были спрятаны), и ресурсов на это уйдет слишком много (о быстродействии во многих случаях можно забыть). Словом, объем работы огромен, он наверняка займет еще несколько лет. Так что первые ее по-настоящему интересные плоды мы, вероятно, увидим тогда же, когда и второе поколение виртуализации от Intel, известное сейчас под кодовым названием VT-d.