Просматривая вступительные статьи в различных изданиях, можно найти много поучительного — от подробностей личной жизни главного редактора до перечисления событий на ИТ-рынке, краткого содержания своего журнала, скрытых угроз и «наездов» на оппонентов. Однако думается, что рано или поздно все ИТ-издания заговорят, наконец, о проблемах, интересующих читателя, а не рекламодателя, акционера или амбициозный редакционный совет.
Одна из таких проблем — параллельные и распределенные системы. Прогресс в создании моноархитектур уже не успевает за сложностью современных задач, а существующие решения используются неэффективно. Возможно, отчасти поэтому, по мнению аналитиков IDC, рынок высокопроизводительных систем в прошлом году уменьшился на 7%. При выборе конкретной архитектуры все чаще на первый план выходит экономически фактор, склоняющий бизнес к приобретению серверов-лезвий, кластеров или вынуждающий обратить внимание на Grid-среды. Начиная с нынешнего года, и далее на протяжении пяти лет, аналитики предрекают ежегодный рост данного сегмента высокопроизводительных систем на 6% — возможно, причина этого именно в более пристальном внимании ИТ-сообщества к жизни, а точнее, к технологиям обеспечения параллелизма.
Каких событий следует ожидать на рынке высокопроизводительных систем? Прежде всего, под влиянием явной тенденции к удешевлению будет происходить переход крупномасштабных кластеров от исследовательской стадии к их промышленной эксплуатации. Собственно, основные игроки рынка уже пошли по этому пути. Другая тенденция — использование домашних систем для решения глобальных задач наподобие моделирования климата Земли или развития Вселенной. По сути, речь идет о Grid-средах, включающих, в частности, кластерные и распределенные системы. Правда, по мнению аналитиков, развитие концепции Grid означает новые инвестиции в программы и услуги, а не в оборудование.
С проблемой обеспечения параллельной работы ИТ-сообщество сталкивается в аппаратном, программном и организационном аспектах. Суперскалярным режимом функционирования микропроцессора сегодня никого не удивишь — речь идет уже о нескольких процессорах на одной микросхеме. На более высоком уровне систем поддержки параллелизма сегодня весьма популярны кластеры и серверы-лезвия, экспоненциальный рост рынка которых, несмотря на стагнацию индустрии в целом, можно объяснить не только их относительной дешевизной, но и успехами на поприще обеспечения одновременного выполнения приложений.
Аппаратное удешевление решений на базе параллельных архитектур весьма кстати дополняется сегодня уменьшением стоимости системного программного обеспечения благодаря активному применению ОС Linux, содержащей все необходимое для построения решений, поддерживающих параллельное выполнение приложений на практически неограниченных по масштабам конфигурациях. Неограниченных вплоть до выхода на рынок бытовых устройств без какого-либо удорожания таких приборов. Действительно, какова будет стоимость стиральной машины или кухонного комбайна, если в них установить, например, Windows XP? Пока что пользователи не стремятся платить за честь использовать программное обеспечение от известного производителя — на основе свободно распространяемых инструментов и универсального оборудования гомогенных и гетерогенных компьютерных группировок можно построить систему любой мощности. Для инновационных коммерческих проектов с непонятным еще объемом поставок и отсутствием четкой конфигурации, либо для гибких промышленных решений сегодня лучше использовать некоммерческие программы. Осознание этого факта уже начинает приносить крупным игрокам ИТ-рынка конкретную выгоду. Так, компания Hewlett-Packard в прошлом году заработала 2 млрд. долл. на Linux-решениях. Примечательно, что число инсталляций Linux-систем, по данным IDC, в прошлом году увеличилось на 35%, в то время как ИТ-бюджеты остались без изменений или даже уменьшились. Легкость замены программного обеспечения без оглядки на лицензии привлекает и разработчиков параллельных архитектур.
Тем не менее, не стоит ждать от разработчиков дополнительных усилий по переделке существующего программного кода для запуска на архитектурах, допускающих параллельное выполнение. Необходимость сохранения уже наработанного кода (известно, что около половины бизнесов-процессов приходится менять в угоду программному обеспечению) и обеспечения распределеннного выполнения задач — еще одно препятствие на пути параллельных конфигураций.
Любая, даже самая дальняя дорога начинается у порога вашего дома. Любое решение, связанное с развертыванием параллельных конфигураций, как следует из статей этого выпуска, образующих репрезентативный срез текущего состояния работ над параллельными архитектурами в родном отечестве, должно быть основано на внимании к жизни: багаж последовательных программ, последствия смены парадигмы программирования, цена и т.п. Иначе ненароком можно построить могучий сухопутный флот.