logo search
Информационные технологии для менеджеров - Грабауров В

7.1. Разделение ресурсов и данных необходимость работы в сети

Существуют два принципиально противоположных подхода к использованию компьютеров:

1) централизованный: создание возможно большого компьютера, который будет накапливать и обрабатывать всю информацию; организация доступа пользователей к нему;

2) децентрализованный: организация многих банков данных и множества территориально рассредоточенных компьютеров, которые будут обрабатывать информацию, и создание системы связи между ними.

Рассмотрим два этих подхода с позиций удобства для бизнеса.

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

Тем не менее оценим также централизованный и децентрализованный подходы с технико-экономической позиции создания компьютеров и компьютерных сетей.

Заменят ли персональные компьютеры большие универсальные вычислительные машины? Если да, то почему этого не случилось до сих пор? Где место клиентов, серверов и сетей в общей картине? Что все это означает? Это только новая технология или начало еще более фундаментальных изменений?

Исторически так сложилось, что построение систем бизнеса было простым делом: поставь большой компьютер, подключи терминалы и наращивай возможности своего большого компьютера для удовлетворения возрастающих требований. С появлением мини-компьютеров стали говорить о новом типе распределенных систем: подключайся к компьютеру с удаленного места своей работы и разделяй нагрузку между многими маленькими компьютерами вместо того, чтобы загрузить все в один громадный компьютер. Эта концепция показалась привлекательной, но к великой досаде пользователей многие попытки на протяжении последних 20 лет заставить ее работать не завершились успехом, и большинство крупных систем бизнеса сегодня по-прежнему сильно централизовано. Однако новые сверхмощные персональные компьютеры вышли на передовую. Со всеми этими персональными компьютерами, серверами и локальными сетями распределенные системы стали даже привлекательнее, чем в прошлом. Но смогут ли люди строить реально работающие распределенные системы? И если да, то когда и как?

Удивительно тяжело построить действительно большой компьютер. Большие компьютеры стоят миллионы долларов, а суперкомпьютеры могут стоить многие миллионы. Однако ни один из них не является в тысячи раз быстрее, чем персональные компьютеры. Они действительно стоят в тысячи раз дороже, чем персональный компьютер, но определенно не делают в тысячи раз больше работы. Проблема заключается в том, что цена компьютеров растет гораздо быстрее, чем мощность, заключенная в них. Другая проблема еще сложнее: даже с неограниченным бюджетом существует реальный верхний предел для мощности самого большого компьютера.

Авиалинии ежедневно сталкиваются с этой проблемой. Центральная система резервирования билетов для авиалиний выполняет всю работу на единственном компьютере. Рационально, чтобы пассажир в любом аэропорту мира мог заказать билет в любой другой аэропорт в течение не более 24 часов. Поэтому имеет смысл держать всю информацию о полетах, наличии посадочных мест и количестве багажа в одном компьютере. Как же центральный компьютер сможет справиться с потоком заявок, хлынувших на него со всего мира? - С большим трудом.

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

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

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

Помимо этого существовали экономические причины развития больших компьютеров в разных областях. На протяжении многих лет в компьютерном мире фирма IBM не только доминировала, но фактически была владельцем компьютерного рынка, занимая 80%-ную его часть. Херб Гросх (редактор ComputerWorld) заметил, что модель ценообразования IBM была очень привлекательной для пользователей, покупавших самые большие компьютеры. В 60-70-х годах вычислительная скорость компьютеров была прямо пропорциональна квадрату их стоимости. Другими словами, израсходуете на компьютер в два раза больше и получите скорость в четыре раза больше, израсходуете в три раза больше - будете иметь скорость в девять раз больше, и т.д. Это и есть закон Гросха.

Но, кроме скорости работы, существует еще такой важный показатель мощности, как пропускная способность. Пропускная способность -обработка такого большого количества задач в любой заданный момент времени, какое только возможно в течение заданного промежутка времени. Однако, обеспечивая адекватную пропускную способность, большие универсальные компьютеры сталкиваются с проблемой транзакций реального времени, а также с проблемами пакетной обработки.

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

Точно так же БД подобна центральной памяти организации. В управлении системой БД транзакция определяется как серия операций, которые в случае успешного завершения всегда оставляют БД в согласованном состоянии. Почему так важно и трудно выполнять множество транзакций до полного завершения? Обычно компьютеры и программы работают без прерывания. Однако иногда может пропасть электроэнергия в сети, проявиться ошибка в программных средствах, произойти аппаратный сбой или оператор даст ошибочную команду, которая приведет к остановке компьютера. Независимо от этих причин операционная система большого универсального компьютера все-таки гарантирует правильное выполнение всех транзакций. Она достигает этого достаточно большими усилиями.

Силы, которые сделали персональные компьютеры могущественными и доступными практически каждому, фактически аннулировали (хотя и не отменили) действие закона Гросха. Это аннулирование все же ограничено в некоторых отношениях: если вы тратите больше на компьютер, вы можете получить больше вычислительной скорости, но его стоимость не будет пропорциональна увеличению мощности. В свое время затрачивали в два раза больше средств, чтобы получить в четыре раза большую мощность, что обусловливало выгодность этой сделки. Сегодня увеличение затрат в 100 раз дает увеличение мощности в 10 раз, что оставляет неприятный осадок от такой покупки. Но есть ли тут реальный выбор?

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

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

Некоторая организация выполняет это классическое приложение на громадном универсальном компьютере, самом большом из доступных сегодня. Обрабатывая более 500 000 счетов каждый месяц, приложение выполняется более 6,5 ч. Компания написала это приложение таким образом, чтобы его легко можно было преобразовать для выполнения на более мелких компьютерах.

В качестве эксперимента компания установила сеть с 8 серверами БД и 20 персональными компьютерами, функционирующими как вычислительные серверы. Вычислительные серверы имели мощность, эквивалентную мощности машины класса IBM 486 с тактовой частотой 66 МГц. После всех подсчетов полная конфигурация такой сети стоит менее 10% стоимости большого универсального компьютера.

Какое же реальное время выполнения мы получили? Тридцать минут! Несмотря на то, что такой процесс продолжался 6,5 ч работы большого универсального компьютера, он занял только полчаса работы сети маленьких компьютеров. Приложение архитектуры "клиент-сервер" выполнилось более чем в 12 раз быстрее, чем на большом универсальном компьютере [1]. Какой вывод можно из этого сделать?

Построение сетей на основе небольших, многопроцессорных серверов привело к благоприятным возможностям в соотношении цена/производительность. Закон Гросха не только аннулировался, но вообще превращался в свою противоположность. Чем меньше вы платите за ваш компьютер, тем большую мощность получаете. Исторически складывалось так, что лучшим решением для увеличения мощности была покупка большего компьютера. Теперь самый лучший путь получить дополнительную мощность - купить меньший компьютер. Конечно, вы должны купить множество таких более маленьких компьютеров, но в целом множество меньших компьютеров все равно произведут больше компьютерной мощности за меньшие деньги. Поэтому по отношению к конкретному компьютеру вы получите больше мощности, если потратите меньше денег на каждый компьютер, но купите большее их количество.

Эксперимент с просроченными счетами указывает на различные аспекты распределенной обработки, а не конкретно на многопроцессорные серверы. Если сеть "клиент-сервер" и так в совокупности функционирует как один огромный компьютер, то зачем еще многопроцессорные серверы? Почему бы не сделать сеть персональных компьютеров, функционирующих как серверы? Если просроченные счета подсчитываются быстрее на 20 вычислительных серверах, подсоединенных к 8 серверам БД, то зачем Вам вообще держать какие-либо большие компьютеры? Таков справедливый призыв при подходе, основанном на системе "клиент-сервер".

Вам должны быть ясны все плюсы и минусы такого подхода. Использование сети маленьких компьютеров для замены ими единственной большой машины может повернуть ваши дела к удешевлению расходов, а в области производительности - к увеличению скорости. Но будет ли это решение проще? На этот вопрос трудно ответить. С одной стороны, управление единственным большим компьютером более открыто и прямолинейно и, следовательно, проще. С другой стороны, сеть маленьких компьютеров позволяет распараллеливать компьютерную мощность согласно структуре организации. Перемещение места расположения компьютера на рабочий стол также упрощает его использование для владельца. Так что пример с просроченными счетами поднимает некоторые болезненные вопросы о действительной необходимости больших компьютеров в современном мире. Наконец, компании могут решить, что им вообще нет необходимости содержать большие универсальные компьютеры; технически такая возможность осуществима. Заметим, однако, что подобные решения требуют осторожного подхода и вдумчивой оценки.

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

Многие крупные организации превышают практические ограничения, которые характерны для их центральных больших универсальных компьютеров. Авиалинии- пример крайнего положения в этой проблеме. Громадные приложения обслуживания авиалиний чрезмерно напрягают даже самые большие компьютеры, но организации с более умеренными требованиями также встречаются с этими ограничениями. Как только загрузка приближается к пределу возможностей большого компьютера, персонал вынужден сражаться за поддержание допустимого для работы времени реакции на транзакции, беспокоиться о том, сколько времени займет выполнение того или иного пакетного задания, и предаваться тяжким раздумьям на тему о том, что новые приложения потребуют модернизации системы, а это такое дорогое удовольствие!

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

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

Революция, вызванная появлением персональных компьютеров, продолжается. Все находятся в состоянии перехода к персональным компьютерам. Большие универсальные компьютеры стоимостью миллионы долларов заменяются сетями персональных компьютеров, которые стоят всего тысячи. Это результат компьютерного разукрупнения (downsizing). Компании, занимающиеся перепроектированием бизнеса (Business Process Reengineering), разукрупняются еще и организационно - приспосабливают управление среднего слоя к этим изменениям и реализуют решения, которые приближают их к передовому уровню. Выполняя больше работы с меньшим количеством людей, такие организации вынуждены серьезно относиться к разделению полномочий. В этом им помогает компьютерная система, которой может управлять напрямую как коллектив, так и каждый индивидуально. Таким образом, вместо замены больших компьютеров более дешевыми меньшими компьютерами, но по-прежнему управляемыми централизованно, революция разукрупнения призывает заменить большие компьютеры сотнями компактных систем, каждая из которых взаимодействует с остальными и обслуживает потребности локальных коллективов и конкретных индивидуумов. Это культурное разукрупнение, занимающееся перемещением управления организацией из центра этого процесса в локальные офисы и самоуправляемые коллективы. Результатом являются распределенные компьютерные системы, которые поддерживают децентрализованное принятие решений и управляются уполномоченными служащими, акцентирующими свое внимание на качестве продукции и возможности быстрого реагирования на потребности пользователя. Это революция технологии "клиент-сервер" 90-х годов.