Виртуализация и безопасность
 
   Безопасности во всех ее ипостасях на 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.
 
   Для разработчиков VT-d - большой шаг вперед. Например, в этой технологии появится аппаратная поддержка двойной трансляции виртуальной памяти, что позволит обойтись в виртуальных машинах без реализации ее функциональности чисто программным путем, довольно медленным и требующим большого непроизводительного расхода оперативной памяти. Появится возможность предоставления быстрого, без участия VMM доступа к выбранным MSR-регистрам процессора [Эта фича уже реализована в VT-x процессоров архитектуры Intel Core]; появится возможность не сбрасывать при каждом переключении между виртуальными машинами таблицу трансляции виртуальной памяти TLB, - все это тоже должно сильно увеличить быстродействие VT-d по сравнению с VT-x. Появится защита DMA-операций, улучшится поддержка прерываний - что, в свою очередь, повысит безопасность, закрыв некоторые потенциальные дыры. Кстати, интересно, что почти все из вышеперечисленного предлагает в своей технологии Pacifica компания AMD, незадолго до Форума начавшая поставки соответствующих процессоров. Так что Intel, безоговорочно лидировавшая в этой области, рискует на полгода-год - до выхода процессоров и чипсетов с поддержкой VT-d - остаться в хвосте. Впрочем, решение AMD не совместимо с решением Intel, и решатся ли разработчики на «оптимизацию» своего ПО «под AMD» - пока непонятно.
   Любопытный доклад был посвящен созданию виртуальной машины «от Intel». В свое время, когда еще только появлялись первые процессоры VT-x, я спрашивал на московском Форуме представителей Intel о перспективах создания компанией собственного ПО, дабы потребители могли воспользоваться этой технологией (как известно, Intel разрабатывает и продает довольно много программных продуктов для собственного железа, начиная с компиляторов и заканчивая средствами отладки), но тогда мне сказали, что создание VMM ляжет на плечи сторонних разработчиков (в числе которых, кстати, фигурирует Microsoft), а Intel в лучшем случае поддержит OpenSource-проекты, но уж никак не станет создавать собственный стандарт. Однако ситуация, похоже, меняется, и вместо разговоров о довольно невнятном опенсорсном проекте Xen, на котором демонстрировалась работа VT-x, но который, на мой взгляд, страшно далек был не только от «народа», но и от подавляющего большинства сисадминов [Хотя Novell, включившая Xen в свои версии Linux, пожалуй, со мной не согласится], на Форуме разговор шел уже о более чем понятном и весьма многообещающем Open Virtual Iron, реализующем полноценную, удобную и довольно «навороченную» виртуализацию. Сама Virtual Iron - стартап, предлагающий коммерческое ПО, и подобный поворот в сторону «открытости», да еще и подробно освещенный Intel, выглядит как попытка установить некую собственную «стандартную платформу» в виртуализации.
 
   Что касается более отдаленных перспектив, то Intel уже давно обещает появление поддержки виртуализации на уровне самих устройств, что снимет многие проблемы с их использованием в виртуализированных системах. Но в отличие от VT-d, здесь все зависит не только от Intel, поскольку соответствующие усовершенствования придется вносить во все многообразие современного компьютерного оборудования (помнится, года два назад речь шла даже о специальных клавиатурах, мониторах и мышах!), что потребует перестройки на новый лад огромного количества разработчиков. Оглянитесь вокруг в поисках тотального перехода на давным-давно вышедший PCI Express, который прославляли как безусловный стандарт самого ближайшего будущего, - и вы увидите, что подавляющее большинство разработчиков как использовали старый добрый PCI и более быстрый PCI-X, так и продолжают использовать. Тем не менее комитет PCI-SIG продолжает работу над выработкой спецификаций на устройства, в которых виртуализация будет поддерживаться аппаратно, и наверняка включит их в очередную версию стандарта PCI.
 
Четырехъядерные процессоры и HPC
 
   После двухъядерных процессоров, о которых столько говорили в прошлом году, четырехъядерники этого года уже не являются чем-то сильно новым с технологической и маркетинговой точек зрения. Так что вместо отдельных сессий для специалистов они удостоились лишь упоминаний в паре докладов, в которых в очередной раз было подтверждено, что «четыре ядра» от Intel будут объединением двух обычных двухъядерных процессоров в общем корпусе, примерно таким, каким было второе поколение Pentium D, набиравшееся из пары одноядерных кристаллов CedarMill. С одной стороны, это очень выгодно для Intel, поскольку с ее хорошо отлаженной технологией производства подобных «гибридов» она может представить эти «камни» в самые кратчайшие сроки и по минимальной себестоимости. С другой - разделение на «пары» ядер хорошо далеко не для всех приложений, и по некоторым сообщениям, даже оптимизированное параллельное ПО к Kenthsfield’у отнесется равнодушно, в отличие от по-настоящему прорывных в этом отношении Yonah и Conroe. Кроме того, два ядра - это удвоение тепловыделения и нагрузки на схемы питания процессорного сокета, что отрицательно скажется и на только-только завоеванном звании «самых холодных процессоров», и на совместимости с материнскими платами. Главный конкурент - AMD - сейчас активно «играет» на обоих моментах, заявляя, что у нее этих проблем, благодаря использованию «монолитного» четырехъядерного чипа и переходу на 65-нм технологический процесс, не будет. Правда, не стоит забывать, что у нее все это будет после, а у Intel пусть даже «неидеальный», но работающий четырехъядерник - уже сейчас, и не исключен даже такой вариант, что первые четырехъядерные «камни» от AMD выйдут к тому моменту, когда Intel подготовит 45-нм технологический процесс и выпустит на его основе находящиеся сейчас в разработке собственные «монолитные» квады, с перспективой их объединения по той же схеме «двух кристаллов в одном корпусе» в октеты.
 
 
   Еще один довольно острый вопрос - будут ли востребованы все эти многоядерные процессоры, в том плане, что большое количество ПО до сих пор не оптимизировано даже под двухъядерные CPU. Исключением, пожалуй, можно считать серверы, которые во все времена были многопроцессорными, а потому - рассчитанными на использование распараллеленного ПО: для них переход на новые «камни» обещает пройти гладко. Правда, очень большую роль тут играет обслуживающая процессор инфраструктура, которая нередко стоит куда дороже собственно процессора, а с этим делом у Intel в последнее время дела обстояли не очень хорошо, что выразилось в ослаблении позиций в традиционно консервативном серверном сегменте и тоже дало лишний козырь AMD, последние несколько лет ориентирующейся как раз на развитие собственной инфраструктуры, «платформы» с максимально продолжительным сроком жизни и вдобавок открытой для всех желающих ее улучшить. Поэтому единственная демонстрация на Форуме, в которой напрямую сравнивались Intel и AMD, была посвящена именно серверным четырехъядерникам. Проводивший ее Пэт Гелсингер устроил небольшую эффектную сценку с демонстрацией «в реальном времени» двух соревнующихся систем и образцово-показательными замерами, в которых двухъядерный Xeon значительно обошел двухъядерный Opteron не только по скорости, но и по энергопотреблению, после чего был за пару минут заменен на четырехъядерный, который увеличил отрыв в производительности еще больше, почти до двукратного, и все равно показал меньшее энергопотребление. Но несмотря на бодрые реляции о том, что TDP для серверных квадов по сравнению с дуалами увеличен не будет, а грядущие низковольтные версии еще и снизят его до 50 Вт, боюсь, в реальной жизни дела будут обстоять не столь радужно. Все же не случайно запущенный на сцене четырехъядерник работал на гораздо более низкой частоте, чем его двухъядерные оппоненты, а в качестве тестового приложения было выбрано прекрасно распараллеливающееся практически на любых системах перемножение пары огромных матриц, на котором было показано отнюдь не двукратное увеличение производительности, ожидающееся от квадов.
 
 
   На рынке десктопных процессоров системы на базе четырех чипов Core тоже встречает своя ложка дегтя. Поскольку серьезных оптимизаций под многоядерные системы до сих пор нет, а конкурент, оглушенный чрезвычайно удачным Core 2 Duo, особенно не сопротивляется, то с выводом на этот рынок квадов Intel спешить не будет, постаравшись для начала выжать побольше из двухъядерных CPU. А в качестве своеобразного Killer App, ориентированного на ближайшее будущее, предлагает задействовать многоядерники… под компьютерные игры! Вернее, под их следующее поколение, поскольку все предыдущие, за редкими исключениями, с многопоточностью не дружили. Впрочем, Intel довольно убедительно объясняла на Форуме, что эта нелюбовь обусловлена не столько высокой технической сложностью реализации подобной поддержки, сколько тем, что вплоть до недавнего времени подобным образом нельзя было добиться по-настоящему серьезного увеличения быстродействия: графика в играх, как ни крути, от добавления хоть двадцать пятого ядра работать быстрее не станет, а конкурировать с видеокартой на ее поле сегодня способен разве что Cell, да и то с большим скрипом. Но в свете повсеместного перехода к «реалистичной физике» и под давлением производителей процессоров ситуация, похоже, обещает перемениться. В частности, на Форуме демонстрировали потрясающе красивую демку одного из интереснейших (причем не только по графике, но и геймплею) проектов 2007 года - Alan Wake, который сносно шел на кваде, но безбожно тормозил на дуале. Забавно, кстати, что как раз игровая физика на меня особого впечатления не произвела, - ATI подобные фокусы на своих видеокартах показывала еще полгода назад. Впрочем, судить о том, права ли в своих радужных прогнозах Intel или нет, пока рано. В любом случае, ее первые «потребительские» квады будут ориентированы на геймеров, невзирая даже на то, что к моменту их выхода ни Alan Wake, ни других «заточенных» под многоядерники тайтлов на полках магазинов еще не будет. AMD, кстати, тоже не отстает, хотя и в другой области, - лишенная возможности, как Intel, объединять пару ядер в общем корпусе, она готовится выпустить для геймеров платформу 4x4, в которой будет задействована пара двухъядерных процессоров. Кто круче - кит или слон, покажет время.
 
 
   Еще одной интересной новостью, напрямую связанной с процессорами и извечным противостоянием «заклятых друзей» [Популярной на Форуме шуткой стал перехваченный в одной из демонстраций «хакером» пароль Гелсингера «i hate amd»], стал ответ Intel на анонсированную ранее платформу AMD Torrenza. Напомню вкратце, что речь идет о том, чтобы подключать разнообразные быстродействующие устройства напрямую к центральным процессорам. Например, вставлять сетевую карту (вернее, ее сверхбыстродействующий аналог, типа InfiniBand, применяемой в кластерах) в специальный слот расширения HTX, являющийся давно ожидавшимся коннектором для шины HyperTransport, несколько линков которой, как известно, к процессорам AMD можно подключить напрямую и которая демонстрирует потрясающе низкую латентность при общей простоте и солидной пропускной способности. Более того, AMD объявила о масштабной программе создания специализированных ускорителей, устанавливающихся в многопроцессорной системе прямо в стандартный процессорный сокет, так что в 4P-системе будущего, предназначенной для HPC, скажем, вполне может оказаться один двухъядерный Opteron и три математических сопроцессора от ClearSpeed, которые выдадут на-гора в оптимизированных приложениях (а для HPC оптимизация - не проблема) такую производительность, что никакие восьмиядерники от Intel не смогут ее покрыть. Вкупе с таким интересным решением, как давно обещанный чип Horus (заслуживающий отдельного разговора, но тоже вписывающийся в общую концепцию Torrenza), даже при общем проигрыше процессоров и по производительности, и по энергопотреблению решениям Intel, это выводит платформу AMD вперед, причем в очень «вкусном» и «денежном» высшем сегменте серверного рынка. Причем это не просто слова - уже демонстрируются первые решения для данной платформы, а IBM планирует в ближайшее время построить на ее основе (использовав в качестве «сопроцессора» собственный процессор Cell) новый, самый быстрый в мире суперкомпьютер, который первым в истории перешагнет петафлопсный рубеж производительности в тесте LINPACK. По-видимому, Intel просто не могла не ответить на столь дерзкий и впечатляющий, но очень красивый и логичный выпад и неожиданно для многих сообщила о нацеленных на те же сегменты разработках. Только вместо HTX было сказано о разработке специально оптимизированного под очень быструю периферию варианта PCI Express и о лицензировании собственной процессорной шины для использования в ПЛИС Altera и Xilinx, которые тоже смогут устанавливаться в стандартные процессорные слоты в MP-системах. Если проводить параллели, то вариант с PCI Express уступает HTX в латентности, но сопоставим или даже выигрывает по пропускной способности, и несомненно выиграет по совместимости и распространенности - уж Intel об этом позаботится. С сопроцессорами, видимо, все-таки впереди AMD - разработчикам сопроцессоров для Intel придется лицензировать у корпорации по-прежнему остающуюся «политическим» инструментом FSB, чего не нужно делать в AMDшном случае. К тому же при установке в стандартный процессорный слот (что, в общем-то, делать необязательно - здесь обе платформы довольно гибки) получает помимо стандартной «общей» еще и два канала «персональной» оперативной памяти DDR2, вплоть до DDR2-667 сегодня и до куда более быстрых вариантов DDR3 - завтра.
 
Мобильные платформы
 
   Ну какой же IDF без рассказа о новинках, работающих вдалеке от электрической розетки? Особо интересного на сей раз, правда, не было - ноутбуки, как и следовало ожидать, плавно переходят на процессоры Core 2 Duo «Merom» со слегка лучшей производительностью и чуть-чуть меньшим энергопотреблением; в беспроводных карточках должен появиться Wi-Fi следующего поколения (802.11n), способный за счет одновременной передачи по нескольким стандартным частотным каналам достичь пропускной способности в 300 Мбит/с (против сегодняшних 55 Мбит/с у 802.11g) и улучшить скорость и стабильность работы в условиях слабого сигнала; в кои-то веки появится и (опциональная) поддержка многострадального и долгожданного «дальнобойного» беспроводного стандарта WiMax, претендующего на роль сотовой связи только для передачи данных. Можно, пожалуй, отметить, что скорость работы процессорной шины FSB у новых мобильных процессоров подрастет до 800 МГц, причем процессоры научатся изменять ее на лету по мере необходимости и «засыпать» при отсутствии дел еще глубже - за счет полного отключения кэш-памяти и сбрасывания ее содержимого в оперативку. Также в мобильной платформе Santa Rosa, включающей в себя все вышеописанное и чипсет 965GM с более быстрым и совершенным графическим ядром, появится широко разрекламированная технология Robson, которую вкратце можно описать как добавляемую в ноутбук карточку Express Card с твердотельным жестким диском на основе NAND-флэша производства Intel.
   Основная идея состоит в том, что если провести детальный анализ производительности, то окажется, что значительную часть времени при интенсивной работе ноутбуки «тормозят» в ожидании данных от медленных дисков, - думаю, владельцы ноутов с не очень большим объемом памяти, не способным закэшировать большую часть используемых файлов и обойтись без файла подкачки, с этим хорошо знакомы. Причем если посмотреть статистику, то львиная доля запросов, обслуживаемых в типовой нагрузке жестким диском, приходится на чтение-запись блоков по 4, 16, 32 (в среднем около 32) Кбайт данных, сильно разбросанных по жесткому диску. Основное время при их обработке уходит на механическое позиционирование головок диска, так что получающаяся эффективная скорость работы невелика и не дотягивает даже до скромных 5 Мбайт/с, что при серьезных, под 70-80 Мбайт объемах, необходимых для обработки, выливается в десяток-другой секунд «тормозов», сопровождающихся характерным стрекотом HDD. А твердотельные накопители на флэше хоть и неспособны пока конкурировать с магнитными в «потоковой» записи данных, обладают очень маленьким временем доступа к нужной ячейке памяти, и потому даже при 10 Мбайт/с на многих задачах дают двукратную прибавку в скорости, особенно при совместном использовании с винчестером. Соответствующая фича будет поддерживаться операционной системой Microsoft Vista, причем она будет не привязываться к интеловскому флэшу, а сможет использовать любой сертифицированный твердотельный накопитель, вплоть до обыкновенной флэшки, воткнутой в USB-порт. Типовой объем Robson’овского модуля составит, видимо, 1 Гбайт (хотя возможны варианты); некоторые модули могут распаиваться прямо на материнскую плату. Впрочем, для получения заветного шильдика «Centrino» на ноутбук поддержка Robson необязательна.
   Экономия электроэнергии в ноутбуках просто потрясает - счет идет уже на сотни милливат! Так, Robson позволяет сберечь до 400 мВт за счет более редкого обращения к HDD; фирменная разработка Toshiba/Matsushita - специальный дисплей - сберегает 200-400 мВт за счет переключения в режиме статического изображения на чересстрочную развертку; автоматически отключающийся при отсутствии активности сетевой контроллер - еще 24 мВт. Впрочем, современные низковольтные процессоры Core Solo/Celeron M потребляют всего 5 Вт, и в ближайшие несколько лет Intel обещает довести этот показатель до фантастических 0,5 Вт, которые наконец-то позволят ультрамобильным лэптопам UMPC достичь долгожданных 7-10 часов непрерывной работы от батарей против нынешних 1,5-3 часов.
 

ОКНО ДИАЛОГА: Развитие без прогнозов

 
    Автор: Наталья Басина
    Холдинг eHouse - один из ветеранов российского рынка электронной торговли. Сегодня этот вид бизнеса перестал восприниматься в качестве чего-то экстраординарного, став для жителей крупных мегаполисов привычным элементом жизни, еще одним способом приобретения товаров. По данным ROMIR Monitoring, более 95% россиян, имеющих постоянный доступ к Интернету, периодически посещают сайты интернет-магазинов, а три четверти имеют опыт онлайновых покупок. О нынешнем состоянии электронной торговли и об ожиданиях, связанных с развитием этой сферы бизнеса, «Компьютерре» рассказал вице-президент по развитию eHouse Андрей Хромов.
 
    Андрей, оправдалась ли ставка холдинга на интернет-торговлю? Ведь не секрет, что многие прогнозы, которые делались в период бума электронной коммерции конца девяностых, так и не сбылись.
 
   - Действительность всегда отличается от планов. Вот, скажем, человек поступает в институт и вскоре понимает, что по сравнению со школой учиться там в чем-то сложнее, в чем-то проще, но главное - по-другому, не так, как представлялось. Так и в бизнесе. Что-то из того, что казалось нам простым, в процессе реализации оказалось куда более сложным. Но если честно, я над этим вопросом не задумывался. С бизнесом как с детьми: обычно замечаешь, что быстро растут чужие отпрыски.
    Теперь на дворе явный бум IPO. Российские компании, причем не только гиганты, уже протоптали тропинки на ведущие мировые биржи. А вы? Готовитесь к IPO по примеру РБК и Рамблера?
   - Конечно, такие мысли у нас есть. Но это не означает, что мы день-деньской ломаем голову над этим вопросом. Плюсы IPO хорошо известны, как, впрочем, и минусы. С одной стороны, размещая свои акции на бирже, компания может довольно быстро получить дешевые и не слишком обременительные средства для дальнейшего развития. Когда деньги в компанию приносит один инвестор, он, как правило, становится полноправным членом команды и довольно часто начинает принимать участие в управлении. А в ходе IPO акции обычно скупаются разными инвесторами, которые в большинстве случаев становятся миноритарными акционерами, не слишком вмешивающимися в процесс управления бизнесом. К тому же количество дополнительно выпущенных акций не превышает 25-35%, а значит, на продажу выставляется незначительная часть компании. Кроме того, выход на IPO позволяет получить рыночную оценку стоимости компании, и эта оценка, по крайней мере в настоящее время, гораздо выше, нежели та, что дают частные инвесторы.