2012 г.
Юбилей персонального компьютера
Сергей Кузнецов
Обзор августовского, 2011 г. номера журнала Computer (IEEE Computer Society, V. 44, No 8, Август 2011).
Авторская редакция.
Также обзор опубликован в журнале «Открытые системы»
Тематическая подборка августовского номера журнала «Computer» посвящена тридцатилетнему юбилею IBM PC. Этому событию посвящены четыре крупных статьи номера (приглашенный редактор и, соответственно, вводная заметка у тематической подборки отсутствуют).
Дэвид Бредли (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 байт (с возможностью расширения до 40 Кб). MITS рассчитывала продать несколько сотен Altair, но смогла продать тысячи компьютеров. Машина не была совершенной, но она появилась вовремя. В Altair была впервые использована ставшая стандартной шина со 100 контактами (S100): образовался ряд компаний, которые стали производить компьютеры, почти идентичные Altair. Появление компьютера Altair и его клонов побудило двух студентов колледжа написать для этой архитектуры интерпретатор языка Basic, и эта первая программа Пола Аллена (Paul Allen) и Билла Гейтса (Bill Gates) стала зародышем будущей империи программного обеспечения.
В 1977 г. компания Apple выпустила компьютер Apple II, который, по-видимому, явился первым в истории компьютером, ориентированным на широкий класс пользователей. Для этой машины была написана первая программа для работы с электронными таблицами, что обеспечивало для пользователей возможности, отсутствовавшие в тогдашних мейнфреймах.
Компания IBM обратила внимание на персональные компьютеры, когда они начали появляться у пользователей, традиционно применявших крупные мейнфреймы System/360. Первым ответом IBM на этот вызов стала система 5100, разработанная в Рочестере, штат Миннесота. В этом компьютере поддерживались интерпретаторы двух языков: Basic и APL. Система была дорогостоящей (в 1975 г. около 20000 долларов при наличии основной памяти в 64 Кб) и сравнительно слабой по производительности. Однако это был важный шаг вперед в области конструирования компьютеров. Система основывалась на разработанном в IBM микропроцессоре Palm (Program All Logic in Memory), в котором эмулировалось подмножество системы команд System/360, позволяющее запускать соответствующий интерпретатор APL. Эмуляция была очень медленной, но позволяла создавать и отлаживать в среде 5100 APL-программы, предназначенные для исполнения в System/360. Аналогично обстояли дела с интерпретатором Basic.
Специалисты IBM, отслеживающие развитие микропроцессоров, убедили руководство компании в потребности разработки продукта, основанного на использовании микропроцессора другого поставщика. Это был значительный отход от обычной практики IBM, любой предыдущий компьютер которой базировался на процессоре, разработанной самой 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 были заложены многие конструкторские решения, которые окончательно воплотились в IBM PC.
Следующий материал тематической подборки, озаглавленный «Ретроспектива IBM PC: имело смысл заставить это работать» («IBM PC Retrospective: There Was Enough Right to Make It Work»), представляет собой текст интервью, которое Грег Гот (Greg Goth) взял у одного из участников первоначального проекта IBM PC Марка Дина (Mark Dean, IBM Middle East and Africa).
В этом интервью Марк Дин освещает многие интересные и малоизвестные детали проекта IBM PC, и все это невозможно здесь даже кратко пересказать. Остановлюсь только на первом вопросе Грега Гота: «В конце 1970-х гг. можно было пройтись по цехам завода IBM в Пафкипси (Poughkeepsie) и увидеть массу собираемых мейнфреймов, над каждым из которых с потолка свисала табличка с именем заказчика. Все эти заказчики были крупными организациями – Министерство обороны, Министерство труда, банки и т.д. В 1980-е г. Ваша группа создала нечто, полностью противоположное этой модели компьютинга. Вы помните, как начинался этот проект?».
Вот что ответил Марк Дин: «Мы предположили, что можем создать нечто, что позволит перенести вычисления с модели мейнфреймов на модель персонального компьютинга. Мы соприкасались с подобными вещами в проектах Displaywriter и Datamaster, и мы примерно представляли, как это можно сделать. Но мы не могли добиться, чтобы такие машины покупали и использовали домохозяйки. Они еще не были персональными. Они ориентировались на что-то типа обработки текстов (в случае Displaywriter) или поддержки вычислений (в случае Datamaster) и обеспечивали интерфейс с мейнфреймами. Мы хотели предоставить возможность автономного функционирования. Мы сказали себе, что можем это сделать, и что появится набор приложений, для которых наиболее подходящей будет персональная вычислительная среда. И мы обратились к руководству с просьбой разрешить нам этим заняться.
Начальство отреагировало следующим образом: «Замечательно. Вреда это не принесет. Вы не собираетесь подрывать наш бизнес. Вы не пытаетесь заменить наши основные компьютеры. В вашей группе 10-12 человек. Когда вы поймете, что в этой затее мало смысла, вы вернетесь к работе над настоящими компьютерами.» Такова была их позиция. Они не боялись. Они думали, что эта затея может оказаться интересной. Фактически, это могло бы быть продолжением линий Displaywriter и Datamaster. Они думали, что мы сможем продать 100-200 тысяч таких машин, а потом вернемся к разработке привычных компьютеров. Поэтому они оставили нас в покое. Мы вышли из-под контроля радара.
Статью «Персональный компьютер IBM: рынок, ведомый программным обеспечением» («The IBM Personal Computer: A Software-Driven Market») написал Эдвард Брайд (Edward Bride).
Новая технология бывает настолько впечатляющей, что завоевывает рынок и формирует стандарт этого рынка. В наиболее типичных случаях отставшие компании могут сформировать стандарт с позиций признания рынка, даже если новая технология не превосходит предшествующие технологии. Например, в области любительской видеозаписи стандартом стала технология VHS, вытеснившая технологию Beta, которую многие люди считали лучшей.
То же относится и к персональному компьютингу. Появившийся в августе 1981 г. IBM PC не был первым персональным компьютером. «Он не был и самым совершенным», отмечает участник первоначальной группы по разработке IBM PC Марк Дин. Но вскоре после своего объявления в 1981 г. IBM PC «стал лидирующей платформой в революции, выведшей компьютинг из тепличных условий в повседневную жизнь».
Возможно, насмешка истории состоит в том, что микрокомпьютер, ставший «стандартом» в мире бизнес-вычислений, появился при практически полном отказе компании IBM от своей прошлой практики. Вместо того чтобы разрабатывать наиболее быструю и мощную компьютерную платформу на основе новой технологии, IBM выбрала кратчайший путь к рынку, создав свою систему из уже существующих компонентов. При этом для обеспечения операционной системы, инструментальных средств и библиотек приложений использовались программные средства независимых поставщиков программного обеспечения.
Далее в своей статье Эдвард Брайд рассуждает, по каким причинам компания IBM решилась использовать этот подход при своей традиционной приверженности к инновациям и проприетарным технологиям.
Тематическую подборку заключает статья «IBM PC: кремниевая история» («The IBM PC: The Silicon Story»), написанная Гурбиром Сингхом (Gurbir Singh).
Тридцать лет тому назад IBM изменила компьютерный мир, привнеся в него персональный компьютер. IBM PC сделал компьютинг массовым, изменил стиль работы, взаимодействия и развлечений людей. Персональные компьютеры оказали серьезное влияние на мировую экономику, и явились ключевым элементом при создании современного информационного общества.
Несмотря на запоздалый выход на рынок, IBM PC мгновенно завоевал успех. Поддержка крупной, авторитетной компании показывала людям, что новая технология пришла всерьез и надолго. Даже самые осторожные клиенты доверяли легендарному уровню сервиса IBM и были уверены в продолжении исследований и разработок в области персональных компьютеров.
В течение первого года было продано около 200 тысяч IBM PC, отличный результат для продукта, который стоил дороже других домашних компьютеров того времени. Объем продаж быстро возрастал, и к середине 1980-х IBM PC стал бесспорным лидером продаж. С тех пор архитектура IBM PC доминирует в отрасли персональных компьютеров, используется в 90% персональных компьютеров и приносит ежегодную прибыль в сотни миллиардов долларов.
В первом IBM PC основную роль играл микропроцессор Intel 8088, 16-разрядная адресация которого являлась шагом вперед по отношению к 8-битовым процессорам, которые в то время применялись в бытовых компьютерах. Этот процессор позволял адресовать до 1 мегабайта основной памяти, что больше соответствовало потребностям бизнес-приложений. В расчете на бизнес-пользователей PC оснащался монохромной алфавитно-цифровой видеосистемой с высоким уровнем разрешения, двумя устройствами хранения данных на 5-дюймовых гибких дисках и основной памятью емкостью до 512 Кб. Компьютер поставлялся с высококачественной, исключительно надежной клавиатурой.
IBM выбрала микропроцессор 8088 из-за наличия хорошей поддержки периферийных компонентов: контроллеров обработки прерываний и прямого доступа к основной памяти (direct memory access, DMA), системного таймера и контроллера интерфейса шины. Несколько подобных устройств было ранее разработано для 8-битового микропроцессора 8085, появившегося в конце 1970-х гг. 8-битная шина процессора 8088 была в основном совместима с этими устройствами, что являлось существенным преимуществом 8088 перед аналогичными процессорами.
Компания также решила четко задокументировать конструкцию PC путем обеспечения справочного руководства по аппаратным средствам, показанного на рисунке ниже. Это руководство включало детальные монтажные схемы, схему соединений для карт расширений и листинг встроенного программного обеспечения BIOS. IBM поощряла разработку другими компаниями подключаемых карт расширений для PC и часто обеспечивала свои прототипы адаптеров. Несколько компаний сразу оценило перспективность этой деятельности, и появились такие карты, как Hercules Graphics Card компании Hercules Computer Technology, аудиокарта Sound Blaster компании Creative Labs и адаптер Ethernet компании 3Com.
Другие компании предпочитали целиком копировать конструкцию IBM PC и предлагали намного более дешевые варианты этой машины. Использование в PC микропроцессора Intel 8088 и соответствующих вспомогательных устройств существенно облегчало копирование, поскольку все важные компоненты были широко доступны, и в индустрии имелся опыт их использования. Единственной частью оригинальной конструкции PC, защищенной копирайтом IBM, являлось встроенное программное обеспечение BIOS. Первой компанией, создавшей версию этого программного обеспечения, не нарушая авторских прав IBM, была Compaq, вслед за которой свои «чистые» варианты BIOS выпустили и другие компании, что привело к значительному росту числа клонов PC. В качестве операционной системы использовалась PC-DOS, лицензированная версия MS-DOS компании Microsoft. Эта лицензия была неисключительной, Microsoft продавала свою операционную систему и другим вендорам. Программное обеспечение, разработанное для IBM PC в среде MS-DOS могло выполнять на различных клонах 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 намеревалась лицензировать ее другим производителям. Нашлось несколько желающих купить эту лицензию, но на протяжении 1980-х 16-битная PC AT оставалась стандартом для подавляющего большинства производителей PC.
По мере роста парка PC возрастало число и разнообразие подключаемых карт, направленных на удовлетворение различных потребностей пользователей. Вскоре стали заметны ограничения шины PC AT. Реальной проблемой стало конфигурирование PC с несколькими подключаемыми картами от разных производителей: от пользователей требовалось должным образом назначать порты ввода-вывода и адреса основной памяти, прерывания и каналы DMA из ограниченного набора, поддерживаемого программными драйверами каждой конкретной карты, одновременно гарантируя, что это не приведет к коллизиям с другими картами системы. Временами эта задача становилась неразрешимой, и это ставило серьезные затруднения перед системными интеграторами. Кроме того, для высокопроизводительных карт (таких как адаптеры дисплеев и развитые дисковые контроллеры) требовалась большая пропускная способность, и 16-битная шина PC AT, работающая на частоте 8 МГц, становилась критическим фактором производительности.
Эта ситуация привела к созданию индустриальным консорциумом в 1993 г. шины Peripheral Component Interconnect (PCI). PCI позволяла добиться пропускной способности, в 8-16 раз большей, чем у шины PC AT, и обеспечивала автоконфигурирование PC. Каждая карта обеспечивала программному обеспечению PC информацию о типе устройства, позволяющую правильно сконфигурировать карту и выбрать соответствующий драйвер. Для использования в лаптопах был создан вариант мини-PCI.
Шина PCI удовлетворяла потребности PC на протяжение десятилетия, пока развитие технологии не позволило существенно превзойти возможности PCI. Стали реально возможны сверхскоростные последовательные интерфейсы, поддерживающие миллиарды пересылок в секунду, и в 2004 г. была объявлена шина PCI Express. PCI остается вполне востребованной и сегодня, отвечая потребностям всех периферийных устройств PC.
Вне тематической подборки опубликованы две статьи. Авторами статьи «Решения удаленного отображения для мобильных облачных вычислений» («Remote Display Solutions for Mobile Cloud Computing») являются Пьетер Симоэнс, Филип Де Турк, Барт Дхоедт и Пьет Деместер (Pieter Simoens, Filip De Turck, Bart Dhoedt, Piet Demeester, Ghent University).
Мобильные устройства стали существенной частью нашей повседневной жизни. Смартфонов теперь продается больше, чем десктопов. По мере роста популярности мобильных устройств возрастает и потребность пользователей во все более тяжеловесных приложениях.
Хотя технология миниатюризации продолжает совершенствоваться, желание сохранить преимущества мобильных устройств над десктопами в весе, размере и уровне автономности всегда будет приводить к ограничениям в вычислительной мощности, объеме памяти, времени жизни батарей и размере дисплея. Исследователи вынуждены перерабатывать традиционные приложения для десктопов, чтобы они могли выполняться на мобильных платформах. Это часто приводит к сокращению функциональных возможностей таких приложений. Для выполнения же более тяжеловесных приложений обычно требуются специальные аппаратные ресурсы, как правило, отсутствующие в мобильных устройствах.
В то же время, Web содержит все более мощные компьютерные ресурсы, поддерживающие приложения от простых текстовых процессоров до всеохватывающих систем ERP и трехмерных игр. И Microsoft, и Google разработали полноценные офисные пакеты Office Live и Google Apps соответственно, которые могут служить альтернативой своим десктопным собратьям.
«Облачные» вычисления (cloud computing) могут расширить круг приложений, доступных мобильным пользователям, за пределы традиционных офисных приложений за счет поддержки приложений, для которых требуются графические аппаратные средства (например, такие как трехмерные виртуальные среды) или возможности хранения данных большого объема (например, трехмерная диагностическая визуализация). Поскольку «облачную» инфраструктуру совместно используют несколько пользователей, эта технология обеспечивает требуемые аппаратные ресурсы с оптимальными затратами.
Мобильный облачный компьютинг обеспечивает способ удовлетворения потребностей пользователей во все расширяющихся наборах функциональных возможностей приложений. В этой технологии вся прикладная логика выполняется на удаленных серверах, а на мобильном устройстве поддерживаются функциональные возможности, относящиеся к пользовательскому интерфейсу. Это устройство действует как удаленное устройство отображения, фиксируя данные, вводимые пользователем, и отображая обновления, которые приходят от сервера. Однако короткое время жизни батарей, изменяющиеся условия функционирования беспроводных каналов и задержки взаимодействий порождают перед разработчиками облачных приложений с удаленным отображением ряд проблем. Исследователями предложено несколько решений этих проблем, и эти решения описываются в статье. Но в любом случае инфраструктура удаленного отображения состоит из трех основных компонентов: серверный компонент, который перехватывает, кодирует прикладную графику и передает ее клиенту; компонент непосредственного отображения графики на клиенте и протокол удаленного отображения, по которому передаются обновленные графические образы и пользовательские события между сервером и клиентом (см. рисунок).
Последнюю крупную статью августовского номера написали Сунгкап Йео и Син-Син Ли (Sungkap Yeo, Hsien-Hsin S. Lee, Georgia Institute of Technology). Статья называется «Использование математического моделирования при обеспечении неоднородной среды облачных вычислений» («Using Mathematical Modeling in Provisioning a Heterogeneous Cloud Computing Environment»).
«Облачный» компьютинг преобразует всю индустрию информационных технологий, высокопроизводительные вычисления (high-performance computing, HPC) и совместное использование персональных данных и управление ими. В среде «облачных» вычислений ресурсы процессоров поставляются как коммунальная услуга, подобно поставке электричества или воды. По сути, поставщики услуг могут централизованно управлять компьютерными ресурсами, обслуживать и модернизировать их, позволяя не заниматься этим владельцам предприятий малого бизнеса или тем пользователям, опыт или бюджет которых не дают возможности справиться с быстро изменяющейся компьютерной инфраструктурой.
Использование «облаков» для HPC может привести к значительному сокращению совокупной стоимости владения за счет устранения потребности в поддержке крупномасштабных параллельных машин и их систем энергоснабжения и охлаждения. Для хорошо распараллеливаемых задач схема предоставления ресурсов, принятая в среде «облачных» вычислений, обеспечивает оптимальное соотношение стоимости и эффективности. Например, предположим, что для выполнения идеально распараллеливаемого задания HPC требуется восемь часов на одном вычислительном узле. Поставщик «облачных» компьютерных услуг берет оплату за свои услуги по выполнению этой работы, исходя из требуемого числа машиночасов, так что вместо выполнения задания на одном узле за восемь часов оно будет выполнено за те же деньги за один час на восьми узлах, то есть в восемь раз быстрее.
Это замечательное качество «облачной» среды по отношению к HPC трудно поддерживать, если эта среда является неоднородной. Хотя поставщик «облачных» услуг может начать свою работу при наличии почти однородных вычислительных узлов, со временем они будут становиться все более неоднородными из-за потребностей в модернизации и замене. Поэтому не только будут продолжать расходиться возможности существующих узлов, но и новые вычислительные узлы всегда будут обеспечивать лучшую производительность при том же энергопотреблении, что ранее существовавшие узлы (из-за совершенствования технологии и архитектуры компьютеров). Из-за этой неоднородности время решения параллельной задачи может существенно зависеть от политики предоставления ресурсов. Для уменьшения этих расхождений и гарантирования качества обслуживания поставщики «облачных» услуг могут решить прекратить использовать самые медленные вычислительные узлы. Вопрос состоит в том, насколько медленным может быть физический вычислительный узел, чтобы можно было обеспечить оптимальное качество решения заданной параллельной задачи (в терминах времени выполнения и требуемых энергозатрат).
Для решения этой проблемы авторы разработали математическую модель, основанную на статистических данных неоднородной «облачной» среды. Эта модель позволяет оценивать соотношения между временем выполнения данной задачи и требуемым для этого энергопотреблением, что, в свою очередь, позволяет лучше понять, в чем состоит оптимальное предоставление «облачных» вычислительных ресурсов.
До новой встречи, с уважением, Сергей Кузнецов