С этой областью связаны сейчас интересы и IBM, и Microsoft (последняя, впрочем, по мнению руководства Sun, чересчур рьяно взялась за дело). Даже Hewlett-Packard собирается начать клонирование виртуальных машин Java. Но прошло столько времени, а посмотрите, что в действительности стоит за словосочетанием "Intel и Java". Пустота?

Конечно, корпорации Intel прекрасно известно о существовании языка Java. Вспомните недавнее объявление о разработке JavaOS for Business. Эта операционная система для тонких клиентов на основе технологии Java представляет собой плод совместных усилий IBM и Sun. Но одновременно IBM не забывает и о другом направлении, участвуя вместе с Intel в создании версии JavaOS для процессоров этой корпорации.

Впрочем, это не единственный проект в данной области, поддерживаемый Intel. Крупнейший производитель микропроцессоров оказывает содействие Novell в разработке собственных версий продуктов Java и вкладывает немалые деньги в ПО компании WebLogic, которая занимается созданием серверов приложений Java и интегрированных программных средств, обеспечивающих взаимодействие технологии Java с базами данных. Помимо прямых инвестиций Intel помогает WebLogic адаптировать сервер приложений Tengah к особенностям готовящегося к выпуску 64-разрядного процессора Merced.

Самые популярные приложения, использующие Java*

По результатам опроса 103 менеджеров ИС, работающих в компаниях, использующих Java

*Допускалось несколько вариантов ответов

Источник: Computerworld Information Management Group

Web/Internet41%
Intranet21%
Базы данных12%
Финансы/бухгалтерия7%
Ввод заказов6%

Официально Intel не участвует в борьбе, развернувшейся в последнее время вокруг Java, и занимает нейтральную позицию. Но нейтралитет вовсе не означает безразличия. Ведь Intel принимает участие в реализации множества проектов по переносу технологии Java на платформу Intel.

"Сегодня главная задача для нас в том, чтобы предоставить клиентам необходимый уровень сервиса и обеспечить полную совместимость Java с архитектурой наших микропроцессоров", — заявила представитель Intel Джейн Раукхорст.

Пребывая в тени, Intel тем не менее остается одним из сильнейших игроков на рынке Java. "Совершенно ясно, что корпорация Intel будет уделять самое серьезное внимание этому направлению, ведь это в ее интересах, — подчеркнул директор исследовательского центра компании International Data Corp. Эван Куинн. — В ближайшее время основной целью корпорации станет обеспечение эффективного маркетинга и расширенная техническая поддержка организаций, выпускающих серверы, на которых работают программные средства Java".

Пребывая в тени, Intel тем не менее остается одним из сильнейших игроков на рынке Java. "Совершенно ясно, что корпорация Intel будет уделять самое серьезное внимание этому направлению, ведь это в ее интересах, — подчеркнул директор исследовательского центра компании International Data Corp. Эван Куинн. — В ближайшее время основной целью корпорации станет обеспечение эффективного маркетинга и расширенная техническая поддержка организаций, выпускающих серверы, на которых работают программные средства Java".

На самом деле стратегия Intel проста и достаточно эффективна. Ее можно сформулировать следующим образом:

1) поддерживать тесные отношения с партнерами;

2) постоянно держать руку на пульсе и следить за развитием технологий;

3) изыскивать возможности для проникновения на рыно

к и закрепления на нем.

Действия Intel не бросаются в глаза, но они имеют очень большое значение для дальнейшего развития Java.

Союз с Голубым гигантом

Проект JavaOS хорошо иллюстрирует некоторые аспекты стратегии Intel.

Совершенно очевидно, что альянс с IBM поможет Intel вывести свои процессоры на рынок тонких клиентов. Это выглядит особенно заманчивым, если учесть, что изначально IBM планировала создавать сетевые компьютеры на основе архитектуры PowerPC. Корпорация пока не отказывается от своих намерений, но собирается использовать и продукцию Intel. Это укрепляет позиции Intel на небольшом, но быстро растущем рынке сетевых компьютеров.

Конечно, победа над PowerPC радует, но помимо этого Intel заключила соглашения и с рядом других компаний, поддерживающих технологию Java в своих программных продуктах. В этом и заключается основа сегодняшней стратегии Intel в отношении Java. "Главная цель корпорации в ближайшее время — упрочение и расширение партнерских связей, — отметил Куинн. — Свое отношение к технологии Java в Intel стараются не афишировать. Но любую компанию, разрабатывающую программное обеспечение на платформе Intel, они считают своим партнером".

Большинству производителей очень выгодно иметь Intel в рядах своих союзников. Ведь ее продукты оказывают непосредственное влияние на технологию компиляции, а статус партнера гарантирует разработчикам доступ к самой точной информации об архитектуре Intel. Это особенно важно, когда речь идет о программных средствах Java, которым явно не хватает производительности. Код Java по скорости выполнения никогда не сравнится с кодом Си, и все же его быстродействие можно увеличить за счет оптимизации компиляторов и виртуальных машин Java. В свою очередь производительность виртуальных машин значительно уступает быстродействию скомпилированного кода, но зато виртуальная машина воплощает в жизнь принцип "написанное однажды работает везде".

При этом производительность виртуальной машины значительно увеличится, если ее оптимизировать с учетом особенностей конкретной архитектуры (например, архитектуры Intel). Современные процессоры поддерживают параллельную и конвейерную обработку, поэтому наивысшую скорость демонстрируют программы, в полной мере использующие эти аппаратные возможности. Если программисты, разрабатывающие виртуальные машины Java, учтут сильные и слабые стороны аппаратных средств, то виртуальная машина будет работать намного эффективнее. При этом, естественно, никто не знает архитектуру процессоров Intel лучше, чем сама Intel.

Сегодня фактически каждый производитель процессоров в той или иной степени принимает участие в создании компиляторов. Между процессорами и компиляторами, разработанными для этих процессоров, существует тесная взаимосвязь. Если создателям виртуальной машины Java или компилятора удастся заручиться поддержкой Intel, они получат фору, которую трудно переоценить.

Настройка JVM для NetWare

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

"Открывается уникальная возможность интеграции JVM с NetWare, — подчеркнул вице-президент Novell Майк Маккей. — Обращение к ядру NetWare производится в режиме наивысшего аппаратного приоритета. Оптимизированы также операции со стеками протоколов, управление буферизацией и обработка пакетов. Существенно повышено быстродействие процедур ввода/вывода. Модель потоков и новая система виртуальной памяти специальным образом адаптированы к работе в серверной среде. Все это создает хорошие предпосылки для создания эффективной виртуальной машины Java".

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

Тесное сотрудничество с Intel в процессе проектирования виртуальной машины Java Палмери считает логическим итогом укрепления отношений двух корпораций. Novell уже сообщила о начале работ по оптимизации ОС NetWare для процессора Merced.

С этой точки зрения усилия Novell по созданию продуктов Java обусловлены не просто учетом пользовательских потребностей, а попыткой предсказать дальнейшее развитие событий. "Существующие в настоящее время серверные версии Java можно считать экспериментальными, — отметил Палмери. — Компании только пробуют свои силы. Поэтому главная наша задача сегодня — оказаться хотя бы на полкорпуса впереди".

P-system: аппаратная реализация виртуальной машины

Политика Эрика Шмидта

Корпорация Intel тесно сотрудничала с компанией Novell в процессе разработки продукта NetFire, виртуальной машины Java для NetWare, представляющей следующее поколение JVM.

Совместное создание NetFire представляется особенно интересным, если учесть, что в готовящейся к выпуску версии NetWare 5.0 уже есть встроенная виртуальная машина Java. Причем эта виртуальная машина является одной из самых быстрых систем для процессоров Intel. Взаимодействуя с корпорацией Intel, Novell рассчитывает еще больше увеличить производительность в следующей версии виртуальной машины.

"Технологии Java отводится очень важное место при проектировании наших серверных продуктов, - отметил вице-президент Novell Роналд Палмери. - Я рад, что на базе NetWare нам удалось создать мощную среду разработки программного обеспечения. Исполнительный директор корпорации Эрик Шмидт в дальнейшем ориентируется именно на технологию Java".

Хотя Палмери и заявил, что технологии Java отводится не самая главная роль в стратегии компании, важность этой роли очевидна. За последние несколько лет Novell удалось превратить NetWare из ОС для локальных сетей в мощную сетевую операционную систему, в которой основное внимание уделяется серверным компонентам. Такая стратегия предусматривает отход от традиционных продуктов, основанных на службах совместного использования файлов и принтеров. Вот почему сегодня в состав операционной системы NetWare включены механизм управления базами данных, разработанный Oracle, и Web-сервер компании Netscape. В настоящее время Novell считает своим долгом предложить пользователям полноценный набор средств разработки, созданный, к примеру, на основе виртуальной машины Java.

В Novell строят свою стратегию исходя из следующего тезиса: "Где Java, там и Intel". Другими словами, если какая-либо компания собирается разрабатывать собственную версию программных средств Java, ей рекомендуется остановить свой выбор на платформе Intel. Конечно, предварительно необходимо создать у разработчиков соответствующие стимулы и адаптировать архитектуру Intel к особенностям технологии Java. У Intel есть и дополнительное преимущество. Представители Novell утверждают, что их виртуальная машина Java, функционирующая на платформе Intel, значительно превосходит аналогичные версии JVM для Unix. Архитектура Intel демонстрирует производительность, вполне сравнимую с быстродействием RISC-процессоров.

 

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

Одно из преимуществ такого решения — существенное повышение производительности Java. Аппаратная виртуальная машина в вопросах быстродействия оставит стандартную JVM далеко позади. Теоретически скорость ее работы может превысить даже производительность компиляторов.

Напомним, что подобные прецеденты уже имели место. В начале 80-х на базе виртуальной машины была построена операционная система P-system. Разработчикам удалось создать и процессор, аппаратно интерпретирующий Р-код (набор инструкций P-system). Правда, он не получил широкого распространения, поскольку производительность программного обеспечения P-system оставляла желать лучшего. Поэтому данный прецедент может рассматриваться не только как положительный фактор, но и как грозное предупреждение.

По сравнению с началом 80-х годов бизнес микропроцессоров претерпел очень серьезные изменения. Одно из наиболее существенных изменений связано с увеличением на несколько порядков числа транзисторов на кристалле. Если в процессоре Intel 286 было 130 тыс. транзисторов, то в Pentium II их уже несколько миллионов, а в процессорах следующих поколений счет пойдет на десятки и сотни миллионов. Такая архитектура создает все предпосылки для повышения производительности Java. Корпорация Intel не много потеряет, если выделит пару сотен тысяч этих транзисторов на аппаратную реализацию JVM.

Но нужно помнить, что встраивание виртуальной машины Java в процессор потребует очень больших затрат времени и сил. Рисковать здесь нельзя, подобный проект возможен лишь в том случае, если корпорация абсолютно уверена в коммерческом успехе новых процессоров. Кроме того, создаваемая аппаратная виртуальная машина должна обладать высокой устойчивостью. Поэтому быстрых результатов ждать не приходится. Идея встраивания JVM в процессоры и возможность реализации этой идеи являются сегодня предметом самого серьезного анализа.

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

Эффект Intel

Безусловно, появление в рядах разработчиков такого крупного игрока, как Intel, положительно скажется на развитии технологии Java, но вряд ли это обрадует Sun. Корпорации Intel и Sun конкурируют на рынке микропроцессоров, поэтому обстоятельства, способствующие увеличению продаж Intel, одновременно сужают рыночную долю процессоров Sun. Конечно, тенденции развития компьютерных технологий не могут не волновать и Intel, особенно когда речь заходит о концентрации вычислительной мощности и повышении интеллектуальности серверов. Рост популярности сетевых компьютеров говорит о том, что основные вычислительные ресурсы в современной корпорации должны размещаться именно на серверах. Такой путь развития хорош для компаний, специализирующихся на производстве серверов (например, для Sun), но большая часть процессоров Intel сегодня ориентирована все же на настольные компьютеры. Новые разработки, затрагивающие интересы Sun, составляют лишь каплю в море устройств, выпускаемых Intel. Сегодня корпорация пытается оживить рынок настольных машин. Ведь большая часть сетевых компьютеров разрабатывалась отнюдь не с нуля. Они представляют собой модернизированные устаревшие компьютеры или старые аппаратные средства, оснащенные новым программным обеспечением. Если корпорация Intel планирует и в дальнейшем расширять объемы продаж, ей придется учесть веяния времени. Если основой дальнейшего развития программного обеспечения становится технология Java, необходимо соответствующим образом корректировать архитектуру процессоров и обеспечивать максимальную эффективность работы программных средств Java на платформе Intel.

Если сетевые компьютеры завоюют симпатии пользователей, а в основе их функционирования по-прежнему будет лежать технология Java, то корпорация Intel, несомненно, кардинально сместит акценты в сторону этой технологии.