Компания больше не ставит своей задачей покорить пользователей чем-то сверхъестественным. Отныне она будет предлагать пользователям то, что здесь считают нужным они (пользователи) сами, причем в максимально удобной форме
В своем выступлении Дэвид Нельсон-Гала назвал N1 операционной системой для центров обработки данных следующего поколения

В первой части репортажа с конференции SunNetwork 2003 (см. Computerworld Россия, №37 за 2003 год) речь шла о причинах, вызвавших заметное изменение в курсе, которого впредь намеревается придерживаться Sun Microsystems. Компания, предложившая за 20 лет своего существования целый ряд технологических новаций (среди них — мощные рабочие станции, SMP-серверы, одна из лучших версий Unix), больше не ставит своей задачей покорить пользователей чем-то сверхъестественным. Отныне она будет предлагать пользователям то, что считают нужным они сами, причем в максимально простой и удобной форме.

В конкретных компьютерных терминах представление измененной стратегии выглядит довольно громоздко. Может даже создаться впечатление, что перед нами нечто радикально новое. Однако, по сути, это далеко не так. Компьютерная индустрия проходит тот же самый путь, что и другие отрасли, но с заметным опозданием.

Поэтому прибегнем к популярной аналогии. Сто лет назад автомобиль был менее совершенен, чем современный, но, с точки зрения пользователя, невероятно сложен. У него было куда больше «органов» управления, о существовании которых человеку, освоившему руль и две педали, и не догадаться. Трудоемкость обслуживания была на порядки выше; говорят, в начале прошлого века следовало возить с собой ведерко с песком, который периодически приходилось засыпать в механизм сцепления. Автомобиль XXI века при всем своем совершенстве прост для пользователя. Точно так же и современные продукты для корпоративных информационных систем должны иметь законченный вид, их сложность должна быть скрыта внутри, продукты должны отвечать запросам пользователей по всем показателям, в том числе и по стоимости. В этих простых истинах заключен основной смысл новой волны компьютерной революции.

Когда шесть лучше, чем 225

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

Актуальность этой проблемы признают все крупные производители; не случайно с обсуждения методов ее решения началась содержательная часть SunNetwork. Свое выступление Джонатан Шварц, представлявший новую стратегию компании в области программного обеспечения, начал такими словами: «Стремясь сделать программное обеспечение простым и понятным для пользователей, компания полностью пересмотрела свое представление о его месте и роли. Теперь номенклатура ПО Sun вместо 225 включает всего шесть продуктов под общим фирменным названием Sun Java System. Все наши усилия на протяжении последнего года были направлены на их создание; мы хотим заменить ими огромное море существующих продуктов».

Java в данном случае служит для формирования нового брэнда; далеко не все продукты написаны на этом языке. Из шести продуктов два ранее были известны под кодовыми именами. Проект Orion стал теперь Sun Java Enterprise System, а проект Mad Hatter — Sun Java Desktop System. (Кстати, выяснить, почему последний назвали в честь Сумасшедшего Шляпника, персонажа «Алисы в Стране чудес», так и не удалось.)

Sun Java Enterprise System, в свою очередь, состоит из пяти групп продуктов, выполняющих службы Sun ONE (все они работают в среде ОС Solaris на платформах SPARC или x86):

  • сетевые службы (Directory Server, Identity Server, Directory Proxy Server);
  • службы приложений и Web (Application Server Platform Edition, Application Server Standard Edition, Message Queue Enterprise Edition, Web Server);
  • коллаборационные и коммуникационные службы (Messaging Server, Calendar Server, Instant Messaging);
  • службы порталов (Portal Server и Secure Remote Access);
  • службы кластеризации (Sun Cluster).

Объединение всего системного программного обеспечения корпоративного назначения «под одной крышей» отнюдь не является простым арифметическим суммированием: оно позволяет интегрировать все корпоративные службы на основе открытых стандартов. Как следствие, открывается возможность для систематического подхода к разработке, тестированию и внедрению приложений. Одновременно появляется возможность следования новой бизнес-модели в отношениях с заказчиком ПО. Все множество продуктов, образующих Sun Java Enterprise System, поставляется на одном DVD-диске с ежеквартальным обновлением; лицензионная модель предельно проста — 100 долл. на одного пользователя в год.

Система Sun Java Desktop System позиционируется как полный функциональный аналог Microsoft Windows — с тем отличием, что создана она на основе открытых стандартов и стоит примерно в семь-восемь раз дешевле.

Нынешнее состояние готовности Sun Java Desktop System можно назвать промежуточным: пока работа возможна только в среде Linux SuSE, поддерживаются только английский и китайский языки. В первой половине 2004 года должна появиться новая версия, известная под кодовым названием Quick Silver, для работы под Solaris и Red Hat Linux. Она будет поддерживать все языки так называемой «большой десятки» (и русский в том числе), в нее войдет поддержка терминалов Sun Ray. Среди преимуществ Sun Java Desktop System по отношению к Windows называют лучшую защищенность от вирусных атак, более удобное интерактивное взаимодействие, сокращение затрат на администрирование. Трехмерная опция Java Desktop System, служащая для управления приложениями на «рабочем столе», позволяет сворачивать и разворачивать приложения в трехмерном пространстве, создавать из них «шкафы» и «полки», превращая привычный рабочий стол в виртуальный кабинет. Впечатление от первого знакомства с этим компонентом, пожалуй, можно сравнить с воздействием, которое в свое время произвели Norton Commander и его аналоги, изменившие интерфейс DOS и заменившие собой построчный ввод команд, доставшийся в наследство от мини-ЭВМ и мэйнфреймов.

Оставшиеся четыре компонента Sun Java System таковы: Sun Java Mobility System (поддержка мобильных систем); средство аутентификации Sun Java Card System; инструментарий разработки Sun Java Studio; операционная система Sun Solaris.

N1 — операционная система для центров данных

В свое время совсем юные основатели компании, выпустив первую рабочую станцию Sun 1, определили свое будущее на ближайшие два десятилетия. И они не ошиблись, но, увы, 20 лет миновали. Технологии радикально изменились, и сейчас нужна новая путеводная звезда. О том, что N1 значит для будущего компании, свидетельствуют слова Грега Паподопулоса, директора по технологиям Sun: «Вместе с N1 мы переосмысливаем себя, открываем себе собственные возможности».

Концептуальный взгляд на долговременную перспективу компьютерных систем пока представили три компании: IBM с ее стратегией Computing On Demand, HP, продвигающая стратегию Utility Data Center, и Sun с платформой N1. Не случайно этой теме было посвящено отдельное выступление Дэвида Нельсон-Гала, вице-президента Sun, который назвал N1 операционной системой для центров обработки данных следующего поколения.

По замыслу, N1 суждено стать средством виртуализации всех ресурсов — сетевых, вычислительных и информационных. N1 позволяет превратить центр обработки данных в единую управляемую систему; интерпретировать разрозненные ресурсы как общие пулы (вычислительный пул, пул хранения и т. д.); поднять уровень выполняемых функций до бизнес-операций; обеспечить все виды служб и «коммунальных вычислений» (utility computing).

То, что N1 называют платформой, вовсе не случайно. Она действительно представляет собой основание для построения сервисов всех видов, конфигураций типа grid и кластерных конфигураций, а также служит базисом для реализации идеи коммунальных вычислений. В первом приближении реализация N1 рассчитана на три этапа: виртуализация (virtualization); распределение ресурсов (слово provisioning пока не имеет адекватного перевода, имеется в виду перегруппировка сетевых вычислительных ресурсов и снабжение их соответствующими программами и данными); автоматизация управления системой (automation).

Виртуализация ресурсов создает условия для более активного использования модульных серверов, собираемых из серверов-лезвий и модульных накопителей. Недорогие массовые серверы начинают вытеснять из производственной программы Sun младшие модели недавно появившегося класса «мидфреймов». Снимается с производства Sun Fire 3800; возможно, та же судьба ожидает в скором времени 4800. Что же касается старших моделей, то им пока модульные серверы не могут составить серьезную конкуренцию. В случаях, когда необходимо работать с большими объемами данных, нынешние SMP-серверы превосходят модульные серверы.

Проблема бутылочного горла и ее решение

В архитектуре современных компьютеров есть несколько врожденных слабых мест. Одно из них называют «бутылочным горлом» на пути между процессором и оперативной памятью. Это один из самых серьезных барьеров (но, заметим, далеко не единственный) на пути роста производительности процессоров по закону Мура. Эта проблема — следствие хранения программ и данных в общей памяти. Идея фон-неймановской схемы компьютера с хранимой программой обычно представляется как незыблемый постулат, однако она является одновременно и силой и слабостью современных компьютеров. Скорость выполнения арифметических и логических операций возрастает быстрее, чем пропускная способность канала между процессором и памятью. Возникает непреодолимый разрыв, который чем дальше, тем больше сдерживает повышение общей производительности. Переход к 64-разрядной адресации — один из шагов к решению проблемы. Другие попытки повысить пропускную способность ведут к переусложнению и, как следствие, к росту стоимости процессоров.

Еще одно слабое место нынешних компьютеров — отставание темпа, с которым растет скорость работы памяти, от роста скорости вычислений. Ядро современного процессора большую часть времени (по ряду оценок, до 75%) проводит в ожидании данных и команд.

Способ преодоления обеих этих проблем видится в создании многопоточных процессоров (Chip Multithreading, CMT), в которых один процессор получает данные и команды по нескольким потокам. Следующий шаг — создание процессоров с несколькими вычислительными ядрами.

Свой подход к созданию многопотоковых и многоядерных процессоров в Sun назвали Throughput Computing. В настоящее время исследования ведутся в рамках проектов Gemini и Niagara, различающихся числом ядер. Производительность новых процессоров будет в 15-30 раз выше, чем у выпускаемых сегодня процессоров. Распараллеливание может дать существенный эффект в тех случаях, когда решаемым задачам присущ внутренний параллелизм; однако не для всех задач такой подход возможен. Поэтому наряду с Gemini и Niagara запланирован и выпуск более «традиционных» процессоров UltraSPARC IV и UltraSPARC V.