Основные идеи и серверы

Рассказывали о многом. Самые общие, неспециализированные материалы выносятся в отдельное «шоу достижений», состоящее из нескольких тематических кейноутов (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, востребованная, если хакер попытается физически подключить к сети «чужой» компьютер или иное «прослушивающее» оборудование, будет абсолютно бесполезна, если в одну из машин «доверительной» сети окажется внедрен троянец.

Журнал «Компьютерра» № 38 от 17 октября 2006 года - _658e4u1.jpg

Что делать? Виртуализироваться! Виртуализация, позволяющая создавать на одном компьютере изолированные друг от друга виртуальные машины, и безопасность идут рука об руку, поскольку вместо комплекса мер по защите компьютера в целом — файрволла, антивируса, разграничения прав доступа — достаточно реализовать защиту только сравнительно маленькой программки — менеджера виртуальных машин (VMM). Во-первых, с его помощью можно выстраивать «доверительную пирамиду»: VMM при создании очередного раздела на компьютере проверит «цифровую подпись» загрузчика операционной системы, загрузчик проверит подписи всех исполняемых файлов и данных операционной системы, операционная система будет проверять подписи у всех запускаемых программ, программы — у всех запускаемых скриптов и используемых данных и т. д., где каждый уровень, который мы уже считаем надежным, проверяет надежность следующего уровня. Если аппаратно обеспечить гарантию подлинности самого первого уровня, с которого начинается «пирамида», — а именно это и делают TPM, LaGrande и иже с ними, то на подобном компьютере будет принципиально невозможно запустить что-либо неподписанное кем-то, кому мы доверяем, — в частности, того же троянца. Во-вторых, виртуализация гарантирует, что если «вредная» программа все-таки будет запущена (например, где-то в описанной схеме встретится незащищенный слой, систему безопасности для собственного удобства отключит сам пользователь или, что еще неприятнее, из-за ошибки в софте «подписанная» программа сделает что-нибудь «неприличное» [Как вы помните, «борьба за безопасность» началась еще с введения бита NX/XD, который позволял предотвратить один из самых распространенных видов подобных атак, заставляющих недостаточно аккуратно написанное приложение выполнить произвольный «чужой» код, послав на его вход специально подобранную последовательность данных]), то «погибнет» лишь один из «отсеков корабля», а не вся система. Скажем, дыра в WinAMP или многострадальном Internet Explorer, использующихся в неслужебных целях, не станет причиной компрометации бизнес-приложения, работающего с важными данными, поскольку пробившийся в одну виртуальную машину низкой защиты хакер попросту не увидит недоступные для него остальные машины, на которых запущены более критичные вещи.

Журнал «Компьютерра» № 38 от 17 октября 2006 года - _658i4h2.jpg

Что же нам предлагают? По правде говоря, для меня стало откровением, что несмотря на отсутствие поддерживающего ее программного обеспечения, первая на рынке технология виртуализации VT-x, которую процессоры Intel поддерживают уже около года, за это время несколько раз оптимизировалась по быстродействию, так что производительность использующих ее программ на Core 2 Duo будет заметно выше, чем на первых Pentium D (даже с учетом разницы в производительности самих этих процессоров). Впрочем, сегодня ведущие производители виртуальных машин уже поддерживают VT-x, хотя и не реализуют всех ее потенциальных возможностей, что, впрочем, неудивительно, если учесть, что необходимый для полного раскрытия технологии объем работ сопоставим по сложности с созданием новой операционной системы, да и ОС в идеале должны бы пройти соответствующую оптимизацию. Камень преткновения в данном вопросе — это необходимость реализации работающих на уровне виртуальной машины драйверов для железа и их поддержки операционной системой. Дело в том, что все нынешние ОСи попросту не умеют совместно с другими ОСями одновременно использовать одно и то же оборудование — скажем, общую видеокарту, и приходится либо реализовывать средствами виртуальной машины виртуальный же графический адаптер, жертвуя производительностью и функциональностью, либо ставить, грубо говоря, две видеокарты — по одной на каждую из ОСей, что тоже едва ли можно назвать удачным выходом. Кроме того, если мы собираемся использовать VMM не только для одновременного запуска Linux и пары копий Windows на одной машине, а для более «прогрессивных» схем, в которых, например, предлагается каждому критичному приложению выделять по собственной копии операционной системы, то без поддержки со стороны ОС и запустить это приложение — проблема (потребуется ждать создания новой виртуальной машины и загрузки в ней ОСи, после чего вручную запускать нужную программу), и работать с ним (было бы лучше, если б запущенная на другой виртуальной машине программа выглядела как обычное приложение, а все технические тонкости были спрятаны), и ресурсов на это уйдет слишком много (о быстродействии во многих случаях можно забыть). Словом, объем работы огромен, он наверняка займет еще несколько лет. Так что первые ее по-настоящему интересные плоды мы, вероятно, увидим тогда же, когда и второе поколение виртуализации от Intel, известное сейчас под кодовым названием VT-d.