В тематической подборке четыре крупные статьи; приглашенный редактор и вводная заметка на этот раз отсутствуют.
Дэвид Брэдли (David Bradley) представил статью «Личная история IBM PC» (A Personal History of the IBM PC). В 1974 году компания Intel анонсировала микропроцессор 8080, открыв, тем самым эпоху персональных компьютеров, широкое распространение которых началось с публикации заглавной статьи о компьютере Altair компании Micro Instrumentation and Telemetry Systems (MITS) в журнале Popular Electronics. В компьютере использовались процессор 8080 и оперативная память 256 байт. MITS рассчитывала продать несколько сотен Altair, но было продано несколько тысяч, хотя машина и не была совершенной, появилась она вовремя. В Altair была впервые использована ставшая стандартной шина со 100 контактами (S100) — возник ряд компаний, которые стали производить компьютеры, почти идентичные Altair. Появление компьютера Altair и его клонов побудило двух студентов — Пола Аллена и Билла Гейтса — написать для этой архитектуры интерпретатор языка Basic, что стало зародышем будущей империи программного обеспечения.
В 1977 году компания Apple выпустила компьютер Apple II, который стал первым в истории компьютером, ориентированным на широкий класс пользователей. Для этой машины была написана первая программа для работы с электронными таблицами, что обеспечивало пользователям возможности, отсутствовавшие в тогдашних мэйнфреймах. В этот момент корпорация IBM и обратила внимание на персональные компьютеры, появившиеся у пользователей System/360. Первым ответом IBM на этот вызов стала система 5100, в которой поддерживались интерпретаторы языков Basic и APL. Система была относительно дорогой (около 20 тыс. долл.) в комплектации с памятью в 64 Кбайт) и сравнительно слабой по производительности. Однако это был важный шаг. Система основывалась на разработанном в IBM микропроцессоре Palm (Program All Logic in Memory), в котором эмулировалось подмножество системы команд System/360, позволяющее запускать соответствующий интерпретатор APL. Эмуляция была очень медленной, но позволяла создавать и отлаживать в среде 5100 программы, предназначенные для исполнения в System/360. Аналогично обстояли дела с интерпретатором BASIC.
Специалисты IBM, отслеживавшие развитие микропроцессоров, убедили руководство компании в потребности разработки компьютера, основанного на микропроцессоре другого поставщика, что означало отход от обычной практики. Однако ряд компаний уже начали производить более мощные процессоры, и при решении дилеммы «сделать или купить» более выгодно стало покупать «чужие» процессоры. Это привело к инициации проекта по созданию System/23 Datamaster, стартовавшего в начале 1978 года. В качестве основы был выбран процессор Intel 8085 (расширение 8080), которому требовалось входное напряжение всего в 5В. Поддерживалась 16-разрядная адресация и 8-разрядная арифметика. Пользовательский интерфейс был почти такой же, как в IBM 5100 (основывался на интерпретаторе Basic). Поддерживались упрощенные средства управления файлами на 8-дюймовых дискетах емкостью 128 Кбайт. Проект не был завершен в намеченные сроки из-за трудностей поддержки стандартов IBM в интерпретаторе BASIC для 8085. Однако проект Datamaster был очень важен для становления IBM PC, хотя System/23 была анонсирована всего на две недели раньше PC (и эта новость затерялась в потоке новостей о персональном компьютере от IBM). Но именно в проекте Datamaster были заложены многие конструкторские решения (рис. 1), которые окончательно воплотились в IBM PC.
Рис. 1. IBM PC, прототип материнской платы |
Статья «Ретроспектива IBM PC: имело смысл заставить это работать» (IBM PC Retrospective: There Was Enough Right to Make It Work) представляет собой интервью с Марком Дином (Mark Dean), одним из участников первоначального проекта IBM PC. В этом интервью Дин освещает многие интересные и малоизвестные детали проекта IBM PC, которые невозможно здесь даже кратко пересказать. Достаточно прокомментировать только первый вопрос: «В конце 70-х можно было пройтись по цехам завода IBM в Пафкипси и увидеть массу собираемых мэйнфреймов, над каждым из которых с потолка свисала табличка с именем заказчика: министерство обороны, министерство труда, федеральный банк и т. д. В 80-е годы группа Дина создала нечто, полностью противоположное этой модели. Как начинался этот проект?» Вот что ответил Дин: «Мы задумали создать нечто, что позволит перенести вычисления с мэйнфреймов на персональные компьютеры. Мы уже соприкасались с подобными вещами в проектах Displaywriter и Datamaster и примерно представляли, как это можно сделать. Но мы не могли добиться, чтобы такие машины покупали и использовали домохозяйки: системы еще не были персональными, ориентировались на обработку текстов (Displaywriter) или поддержку вычислений (Datamaster), обеспечивая интерфейс с мэйнфреймами. Мы хотели предоставить пользователям возможность автономного функционирования, сказав себе, что рано или поздно появится набор приложений, для которых наиболее подходящей будет именно персональная вычислительная среда. И мы обратились к руководству с просьбой разрешить нам этим заняться. Начальство отреагировало следующим образом: «Замечательно. Вреда нашему бизнесу это не принесет. Вы не пытаетесь заменить наши основные компьютеры. В вашей группе всего 10-12 человек. Когда вы поймете, что в этой затее мало смысла, вы вернетесь к работе над настоящими компьютерами». Они не боялись и думали, что эта затея провалится и фактически все выльется в продолжение линий Displaywriter и Datamaster. Они думали, что мы сможем продать 100-200 тыс. таких машин, а потом вернемся к разработке привычных компьютеров. Поэтому они оставили нас в покое. Мы вышли из-под контроля радара».
Статью «Персональный компьютер IBM: рынок, ведомый программным обеспечением» (The IBM Personal Computer: A Software-Driven Market) написал Эдвард Брайд (Edward Bride). Новая технология бывает настолько впечатляющей, что завоевывает рынок и формирует его стандарт, но чаще компании формируют стандарт с позиций признания рынка, даже если новая технология не превосходит предшествующие. Например, в области любительской видеозаписи стандартом стала технология VHS, которая вытеснила технологию Betamax, считавшуюся лучшей. То же относится и к персональным компьютерам — появившийся в августе 1981 года IBM PC не был первым и не был самым совершенным, однако вскоре после своего объявления стал лидирующей платформой в революции, выведшей компьютинг из тепличных условий в повседневную жизнь.
Насмешка истории в том, что микрокомпьютер, ставший «стандартом» в мире бизнес-вычислений, появился при полном отказе корпорации IBM от своей прошлой практики. Вместо того чтобы разрабатывать наиболее быструю и мощную компьютерную платформу на основе новой технологии, IBM выбрала кратчайший путь к рынку, создав систему из уже существующих компонентов. При этом для обеспечения операционной системы, инструментальных средств и библиотек приложений использовались программные средства независимых поставщиков. Брайд рассуждает, по каким причинам в IBM решились использовать этот подход при своей традиционной приверженности к инновациям и проприетарным технологиям.
Тематическую подборку завершает статья «IBM PC: кремниевая история» (The IBM PC: The Silicon Story), написанная Гурбиром Сингхом (Gurbir Singh). Тридцать лет тому назад IBM изменила компьютерный мир, привнеся в него персональный компьютер, сломавший стиль работы, взаимодействия и развлечений массы людей. Персональные компьютеры оказали серьезное влияние на мировую экономику и стали ключевым элементом при создании современного информационного общества.
Несмотря на запоздалый выход на рынок, IBM PC мгновенно завоевал признание. Поддержка авторитетной компании показывала людям, что новая технология пришла всерьез и надолго. Даже самые осторожные клиенты доверяли легендарному уровню сервиса IBM и были уверены в продолжении исследований и разработок в области персональных компьютеров. В течение первого года было продано около 200 тыс. IBM PC — отличный результат для продукта, который стоил дороже других домашних компьютеров того времени. Объем продаж быстро возрастал, и к середине 80-х IBM PC стал бесспорным лидером. С тех пор архитектура IBM PC доминирует в отрасли персональных компьютеров, используется в 90% этих устройств и приносит ежегодный доход в сотни миллиардов долларов.
Рис. 2. Оригинальная клавиатура IBM PC |
В первом IBM PC основную роль играл микропроцессор Intel 8088, 16-разрядная адресация которого была шагом вперед по отношению к 8-разрядным процессорам, в то время применявшимся в бытовых компьютерах. Этот процессор позволял адресовать до 1 Мбайт основной памяти, что соответствовало потребностям тогдашних бизнес-приложений. В расчете на бизнес-пользователей PC оснащался монохромной алфавитно-цифровой видеосистемой с высоким уровнем разрешения, двумя устройствами хранения данных на 5-дюймовых гибких дисках и основной памятью емкостью до 512 Кбайт. Компьютер поставлялся с высококачественной, исключительно надежной клавиатурой (рис. 2).
IBM выбрала микропроцессор 8088 из-за хорошей поддержки периферийных компонентов -контроллеров обработки прерываний и прямого доступа к основной памяти (Direct Memory Access, DMA), системного таймера и контроллера интерфейса шины. Несколько подобных устройств было ранее разработано для 8-разрядного микропроцессора 8085, появившегося в конце 70-х. Шина процессора 8088 была в основном совместима с этими устройствами, что было большим преимуществом 8088 перед аналогичными процессорами.
Рис. 3. Техническое руководство и прототип адаптера расширения |
Компания также четко задокументировала конструкцию PC в справочном руководстве по аппаратным средствам (рис. 3). Это руководство включало детальные монтажные схемы, схему соединений для карт расширений и листинг встроенного программного обеспечения BIOS. Кроме того, IBM поощряла разработку другими производителями подключаемых карт расширений для PC и часто предоставляла свои прототипы адаптеров. Несколько компаний сразу оценили перспективность этой деятельности — так появились карты Hercules Graphics Card компании Hercules Computer Technology, аудиокарта Sound Blaster компании Creative Labs и адаптер Ethernet компании 3Com.
Некоторые компании предпочитали целиком копировать конструкцию IBM PC, предлагая более дешевые варианты машины. Использование микропроцессора Intel 8088 и соответствующих вспомогательных устройств существенно облегчало копирование, поскольку все важные компоненты были широко доступны и в индустрии имелся опыт их использования. Единственной частью оригинальной конструкции PC, защищенной копирайтом IBM, было встроенное программное обеспечение BIOS. Первой компанией, создавшей свою версию BIOS, не нарушая авторских прав IBM, была Compaq, вслед за которой свои варианты выпустили и другие компании, что привело к значительному росту числа клонов PC. В качестве операционной системы использовалась PC-DOS — лицензированная версия MS-DOS компании Microsoft, однако лицензия была неисключительной, что способствовало широкому распространению этой ОС на разных клонах IBM PC.
Тем не менее IBM оставалась технологическим лидером, и в течение четырех лет компания выпустила четыре преемника оригинального PC — PC XT и PC AT были хорошо приняты потребителями и стали очень успешными продуктами. Персональный компьютер превратился из игрушки в серьезный инструмент бизнес-пользователей, а новые машины продавались в миллионах экземпляров. Платформа PC становилась признанным стандартом и привлекала внимание все большего числа производителей клонов. Вскоре Compaq, Dell, Gateway 2000, а также традиционные компьютерные компании Digital Equipment Corporation и Hewlett-Packard начали поставлять клоны PC во все увеличивающихся объемах, усложняя жизнь IBM на рынке.
В 1987 году IBM объявила о выходе Personal System/2 с проприетарной архитектурой Micro Channel Architecture (MCA), стремясь подтвердить свое лидерство в области PC. Архитектура MCA была намного более развитой, чем шинная архитектура PC AT, — IBM намеревалась лицензировать ее другим производителям, чтобы повторить успех первого IBM PC. Действительно, нашлось несколько желающих купить эту лицензию, но на протяжении 80-х годов 16-разрядная PC AT оставалась стандартом для подавляющего большинства производителей PC.
По мере роста парка PC возрастало число и разнообразие подключаемых карт, направленных на удовлетворение различных потребностей пользователей, и вскоре стали заметны ограничения шины PC AT. Реальной проблемой было конфигурирование PC с несколькими подключаемыми картами от разных производителей — от пользователей требовалось должным образом назначить порты ввода-вывода, установить адреса основной памяти, прерывания и каналы DMA из ограниченного набора, поддерживаемого программными драйверами каждой конкретной карты, одновременно гарантируя, что это не приведет к коллизиям с другими картами. Временами эта задача становилась неразрешимой, что ставило системных интеграторов в неудобное положение. Кроме того, для высокопроизводительных карт (таких, как адаптеры дисплеев и дисковые контроллеры) требовалась большая пропускная способность, а 16-разрядная шина PC AT, работающая на частоте 8 МГц, становилась узким горлом. Эта ситуация привела в 1993 году к созданию индустриальным консорциумом шины Peripheral Component Interconnect (PCI), позволяющей добиться пропускной способности в 8-16 раз большей, чем у шины PC AT, и обеспечивающей автоконфигурирование. Каждая карта передавала системному ПО информацию о типе устройства, позволяющую правильно сконфигурировать карту и выбрать соответствующий драйвер. Для использования в лаптопах был создан вариант мини-PCI.
Шина PCI удовлетворяла потребности PC на протяжении десятилетия, пока не стали реальностью более скоростные последовательные интерфейсы, поддерживающие миллиарды пересылок в секунду. В 2004 году появилась шина PCI Express.
Вне тематической подборки опубликовано два материала. Авторами статьи «Решения удаленного отображения для мобильных облачных вычислений» (Remote Display Solutions for Mobile Cloud Computing) являются Пьетер Симоэнс (Pieter Simoens), Филип Де Турк (Filip De Turck), Барт Дхоедт (Bart Dhoedt) и Пьет Деместер (Piet Demeester). Мобильные устройства стали неотъемлемой частью нашей повседневной жизни — смартфонов теперь продается больше, чем десктопов, но по мере роста популярности мобильных устройств возрастает и потребность во все более тяжеловесных приложениях.
Хотя технология миниатюризации продолжает совершенствоваться, желание сохранить преимущества мобильных устройств над десктопами в весе, размере и уровне автономности всегда будет приводить к ограничениям в вычислительной мощности, объеме памяти, времени жизни батарей и размере дисплея. Исследователи вынуждены перерабатывать традиционные приложения для десктопов, чтобы они могли выполняться на мобильных платформах, что часто приводит к сокращению функциональных возможностей таких приложений. Для выполнения же более тяжеловесных приложений обычно требуются специальные аппаратные ресурсы, как правило отсутствующие в мобильных устройствах. В то же время в Web имеются мощные компьютерные ресурсы, поддерживающие приложения, от простых текстовых процессоров до всеохватывающих систем ERP и трехмерных игр. И Microsoft, и Google разработали полноценные офисные пакеты Office Live и Google Apps соответственно, которые могут служить альтернативой своим десктопным собратьям.
Облака могут расширить круг приложений, доступных мобильным пользователям, за пределы традиционных офисных программ благодаря поддержке приложений, для которых требуются графические аппаратные средства (например, такие, как трехмерные виртуальные среды) или возможности хранения данных большого объема (например, трехмерная диагностическая визуализация). Поскольку облачную инфраструктуру совместно используют несколько пользователей, эта технология предоставляет требуемые аппаратные ресурсы с оптимальными затратами.
Мобильный облачный компьютинг обеспечивает способ удовлетворения потребностей пользователей в приложениях со все более широким функционалом. В облаках вся прикладная логика выполняется на удаленных серверах, а на мобильном устройстве поддерживаются функциональные возможности, относящиеся к пользовательскому интерфейсу. Инфраструктура удаленного отображения включает три основных компонента: сервер, который перехватывает, кодирует прикладную графику и передает ее клиенту; компонент непосредственного отображения графики на клиенте; протокол удаленного отображения, по которому передаются обновленные графические образы и пользовательские события между сервером и клиентом. Клиент действует как удаленное устройство отображения, фиксируя данные, вводимые пользователем, и отображая обновления, приходящие с сервера. Однако короткое время жизни батарей, изменяющиеся условия функционирования беспроводных каналов и задержки взаимодействий порождают ряд проблем. В статье предложено несколько их решений.
Последнюю статью августовского номера написали Сунгкап Йео (Sungkap Yeo) и Син-Син Ли (Hsien-Hsin S. Lee). Статья называется «Использование математического моделирования при обеспечении неоднородной облачной среды » (Using Mathematical Modeling in Provisioning a Heterogeneous Cloud Computing Environment). Облака преобразуют всю ИТ-индустрию, высокопроизводительные вычисления (High-Performance Computing, HPC), совместное использование персональных данных и управление ими. В облачной среде ресурсы процессоров поставляются как коммунальная услуга, подобно электричеству или воде. По сути, поставщики услуг могут централизованно управлять компьютерными ресурсами, обслуживать и модернизировать их, избавляя от этих забот владельцев предприятий малого бизнеса или пользователей, опыт или бюджет которых не дают возможности справиться с быстро изменяющейся компьютерной инфраструктурой.
Использование облаков для HPC может значительно сократить совокупную стоимость владения за счет устранения потребности в поддержке крупномасштабных параллельных машин (их систем энергоснабжения и охлаждения). Для хорошо распараллеливаемых задач схема предоставления ресурсов, принятая в облаках, обеспечивает оптимальное соотношение стоимости и эффективности. Например, предположим, что для выполнения идеально распараллеливаемого задания HPC требуется восемь часов на одном вычислительном узле. Поставщик облачных сервисов берет оплату за свои услуги по выполнению этой работы исходя из требуемого числа машиночасов, так что вместо выполнения задания на одном узле за восемь часов оно будет выполнено за те же деньги за один час на восьми узлах, то есть в несколько раз быстрее.
Это замечательное качество облачной среды по отношению к HPC трудно поддерживать, если среда является неоднородной. Хотя поставщик облачных сервисов может начать свою работу при наличии почти однородных вычислительных узлов, со временем они будут становиться все более неоднородными из-за модернизации и замены. Из-за этой неоднородности время решения параллельной задачи может существенно зависеть от политики предоставления ресурсов. Для уменьшения этих расхождений и гарантирования качества обслуживания провайдеры облачных сервисов могут прийти к решению отказаться от использования самых медленных вычислительных узлов. Вопрос состоит в том, насколько медленным может быть физический вычислительный узел, чтобы можно было обеспечить оптимальное качество решения заданной параллельной задачи (в терминах времени выполнения и требуемых энергозатрат). Для решения этой проблемы авторы разработали математическую модель, основанную на статистических данных неоднородной облачной среды. Эта модель позволяет оценивать соотношения между временем выполнения данной задачи и требуемым для этого энергопотреблением, что, в свою очередь, позволяет лучше понять, что значит оптимальное предоставление облачных вычислительных ресурсов.
До новой встречи, Сергей Кузнецов, kuzloc@ispras.ru .