Файл: История развития средств вычислительной техники (Информационных технологий).pdf
Добавлен: 31.03.2023
Просмотров: 619
Скачиваний: 2
СОДЕРЖАНИЕ
1. Основы исторического развития средств вычислительной техники
1.1. Этапы развития средств вычислительной техники
1.2 Механическая Эра (1623-1945).
2. Электронные Вычислительные Машины Первого Поколения (1937-1953).
3. Второе Поколение (1954-1962).
4. Третье Поколение (1963-1972).
5. Четвертое Поколение (1972-1984).
6. Пятое Поколение (1984-1990).
Разработчики компьютеров начали использовать преимущества параллелизма, используя несколько функциональных блоков, перекрывая операции ЦП и ввода-вывода и конвейеризацию (внутренний параллелизм) как в потоке команд, так и в потоке данных.
В 1964 году Сеймур Крэй разработал CDC 6600, который стал первой архитектурой, использующей функциональный параллелизм[44].
Используя 10 отдельных функциональных блоков, которые могли работать одновременно, и 32 независимых банка памяти, CDC 6600 смог достичь скорости вычислений в 1 миллион операций с плавающей запятой в секунду (1 Mflops).
Пять лет спустя CDC выпустила модель 7600, также разработанную Сеймуром Креем[45]. CDC 7600, с его конвейерными функциональными блоками, считается первым векторным процессором и был способен работать на скорости 10 МФ / С.
IBM 360/91, выпущенный в тот же период, был примерно в два раза быстрее, чем CDC 660.
Он использовал инструкцию look ahead, отдельные функциональные единицы с плавающей запятой и целочисленные и конвейерный поток инструкций.
IBM 360-195 была сравнима с CDC 7600, получая большую часть своей производительности из очень быстрой кэш-памяти[46]. Компьютер Соломона, разработанный Westinghouse Corporation, и ILLIAC IV, совместно разработанный Burroughs, Министерством обороны и Университетом Иллинойса, были представителями первых параллельных компьютеров. Texas Instrument Advanced Scientific Computer (TI-ASC) и STAR-100 из CDC были конвейерными векторными процессорами, которые продемонстрировали жизнеспособность этой конструкции и установили стандарты для последующих векторных процессоров.
В начале третьего поколения Кембридж и Лондонский университет сотрудничали в разработке CPL (Combined Programming Language, 1963). CPL был, по мнению его авторов, попыткой захватить только важные особенности сложного и сложного Алгола. Однако, как и Алгол, CPL был большим, со многими особенностями, которые было трудно узнать[47].
В попытке дальнейшего упрощения Мартин Ричардс из Кембриджа разработал подмножество CPL под названием BCPL (Basic Computer Programming Language, 1967)[48].
5. Четвертое Поколение (1972-1984).
Следующее поколение компьютерных систем увидело применение крупномасштабной интеграции (LSI-1000 устройств на чип) и очень крупномасштабной интеграции (VLSI - 100 000 устройств на чип) в конструкции вычислительных элементов. В этом масштабе все процессоры поместятся на одном чипе, а для простых систем весь компьютер (процессор, оперативная память и контроллеры ввода-вывода) может поместиться на одном чипе. Задержки ворот упали примерно до 1нс на ворота.
Полупроводниковые запоминающие устройства заменили память ядра в качестве основной памяти в большинстве систем; до этого времени использование полупроводниковой памяти в большинстве систем ограничивалось регистрами и кэшем.
В этот период на сцене высокопроизводительных вычислений доминировали высокоскоростные векторные процессоры, такие как CRAY 1, CRAY X-MP и CYBER 205[49]. Начали появляться компьютеры с большой оперативной памятью, такие как CRAY 2[50].
Стали появляться различные параллельные архитектуры; однако в этот период параллельные вычисления носили в основном экспериментальный характер, и большая часть вычислительной науки проводилась на векторных процессорах. Появились микрокомпьютеры и рабочие станции, которые стали широко использоваться в качестве альтернативы распределенным по времени мэйнфреймам.
Разработки в области программного обеспечения включают в себя языки очень высокого уровня, такие как FP (функциональное программирование) и Prolog (программирование в логике). Эти языки, как правило, используют декларативный стиль программирования в отличие от императивного стиля Pascal, C, FORTRAN и др[51].
В декларативном стиле программист дает математическую спецификацию того, что должно быть вычислено, оставляя много деталей того, как это должно быть вычислено компилятору и/или системе времени выполнения. Эти языки еще не получили широкого распространения, но очень перспективны в качестве нотаций для программ, которые будут работать на массово параллельных компьютерах (системах с более чем 1000 процессорами).
Компиляторы для существующих языков начали использовать сложные методы оптимизации для улучшения кода, а компиляторы для векторных процессоров смогли векторизовать простые циклы (превратить циклы в отдельные инструкции, которые инициировали бы операцию над целым вектором).
Два важных события ознаменовали начало третьего поколения: разработка языка программирования C и операционной системы UNIX, как в Bell Labs[52]. В 1972 году Деннис Ричи, стремясь достичь целей проектирования CPL разработал язык C. Томпсон и Ричи затем использовали C для написания версии UNIX для DEC PDP-11. Этот основанный на C UNIX вскоре был портирован на множество различных компьютеров, избавляя пользователей от необходимости изучать новую операционную систему каждый раз, когда они меняют компьютерное оборудование. UNIX или производная от UNIX теперь является стандартом де-факто практически для каждой компьютерной системы[53].
Важным событием в развитии вычислительной науки стала публикация доклада Лакса. В 1982 году Министерство обороны США (МО) и Национальный научный фонд (NSF) спонсировали дискуссионный форум по крупномасштабным вычислениям в науке и технике под председательством Питера Д. Лакса[54].
В докладе Lax говорилось, что агрессивные и целенаправленные иностранные инициативы в области высокопроизводительных вычислений, особенно в Японии, резко контрастируют с отсутствием скоординированного национального внимания в Соединенных Штатах. В докладе отмечалось, что университетские исследователи не имеют достаточного доступа к высокопроизводительным компьютерам.
Одним из первых и наиболее заметных откликов на доклад Lax стало создание суперкомпьютерных центров NSF. Фаза I этой программы NSF была разработана с целью поощрения использования высокопроизводительных вычислений в американских университетах путем создания циклов и обучения на трех (а позже и шести) существующих суперкомпьютерах, доступных немедленно. Вслед за этим этапом I в 1984-1985 годах NSF предоставил финансирование для создания пяти суперкомпьютерных центров II этапа[55].
Центры Фазы II, расположенные в Сан-Диего (San Diego Supercomputing Center), Иллинойсе (National Center for Supercomputing Applications), Питтсбурге (Pittsburgh Supercomputing Center), Корнелле (Cornell Theory Center) и Принстоне (John von Neumann Center), были чрезвычайно успешны в предоставлении академическому сообществу вычислительного времени на суперкомпьютерах[56]. Кроме того, они предоставили много ценных учебных программ и разработали несколько пакетов программного обеспечения, которые доступны бесплатно. Эти центры Фазы II продолжают наращивать значительные усилия по высокопроизводительным вычислениям в национальных лабораториях, особенно в департаменте энергетики (DOE)и НАСА[57].
6. Пятое Поколение (1984-1990).
Развитие компьютерных систем следующего поколения характеризуется главным образом принятием параллельной обработки данных. До этого времени параллелизм ограничивался конвейеризацией и векторной обработкой или, самое большее, несколькими процессорами, совместно выполняющими задания. В пятом поколении появились машины с сотнями процессоров, которые могли работать над разными частями одной программы. Масштабы интеграции в полупроводниках продолжались невероятными темпами - к 1990 году стало возможным строить микросхемы с миллионом компонентов - и полупроводниковые запоминающие устройства стали стандартными на всех компьютерах.
Другими новыми достижениями стали широкое использование компьютерных сетей и все более широкое использование однопользовательских рабочих станций. До 1985 года крупномасштабная параллельная обработка рассматривалась как исследовательская цель, но две системы, введенные примерно в это время, являются типичными для первых коммерческих продуктов, основанных на параллельной обработке[58].
Sequent Balance 8000 подключал до 20 процессоров к одному модулю общей памяти (но каждый процессор имел свой собственный локальный кэш). Машина была разработана, чтобы конкурировать с DEC VAX-780 как универсальная система Unix, с каждым процессором, работающим на работу другого пользователя. Однако Sequent предоставил библиотеку подпрограмм, которые позволили бы программистам писать программы, которые будут использовать более одного процессора, и машина широко использовалась для изучения параллельных алгоритмов и методов программирования.
Intel iPSC-1, прозванный «гиперкубом», использовал другой подход. Вместо того чтобы использовать один модуль памяти, Intel подключила каждый процессор к своей собственной памяти и использовала сетевой интерфейс для подключения процессоров[59]. Эта архитектура распределенной памяти означала, что память больше не была узким местом и можно было строить большие системы (используя больше процессоров).
Самый большой iPSC-1 имел 128 процессоров. К концу этого периода на рынок был представлен третий тип параллельных процессоров[60]. В этом типе машин, известном как data-parallel или SIMD, есть несколько тысяч очень простых процессоров. Все процессоры работают под управлением одного блока управления; то есть, если блок управления говорит «добавить a к b», то все процессоры находят свою локальную копию a и добавляют ее к своей локальной копии B. машины этого класса включают в себя соединительную машину от Thinking Machines, Inc. , и MP-1 от MasPar, Inc[61].
В этот период в научных вычислениях все еще преобладала векторная обработка. Большинство производителей векторных процессоров ввели параллельные модели, но в этих параллельных машинах было очень мало (от двух до восьми) процессоров.
В области компьютерных сетей технологии wide area network (WAN) и local area network (LAN) развивались быстрыми темпами, стимулируя переход от традиционной мэйнфреймовой вычислительной среды к распределенной вычислительной среде, в которой каждый пользователь имеет свою собственную рабочую станцию для выполнения относительно простых задач (редактирование и компиляция программ, чтение почты), но совместно использует большие, дорогостоящие ресурсы, такие как файловые серверы и суперкомпьютеры. Технология RISC (стиль внутренней организации ЦП) и резкое снижение затрат на оперативную память принесли колоссальный прирост вычислительной мощности относительно недорогих рабочих станций и серверов[62].
7. Шестое Поколение (1990 – по сегодняшний день).
Переходы между поколениями в компьютерных технологиях трудно определить, тем более что они происходят[63]. Некоторые изменения, такие как переход от вакуумных ламп к транзисторам, сразу бросаются в глаза как фундаментальные изменения, но другие очевидны только в ретроспективе. Многие разработки в области компьютерных систем с 1990 года отражают постепенные улучшения по сравнению с существующими системами, и поэтому трудно утверждать, что они представляют собой переход к новому «поколению», но другие разработки окажутся существенными изменениями.
Это поколение начинается со многих достижений в области параллельных вычислений, как в аппаратной области, так и в улучшении понимания того, как разрабатывать алгоритмы для использования разнообразных, массово параллельных архитектур[64]. Параллельные системы в настоящее время конкурируют с векторными процессорами с точки зрения общей вычислительной мощности и большинство ожидает, что параллельные системы будут доминировать в будущем.
Комбинации параллельных и векторных архитектур хорошо зарекомендовали себя, и одна корпорация (Fujitsu) объявила о планах построить систему с более чем 200 векторными процессорами высокого класса. Производители поставили перед собой цель достичь терафлопс ( 10 арифметических операций в секунду) производительности к середине десятилетия, и понятно, что это будет достигнуто только системой с тысячей процессоров и более[65].
Технология рабочих станций продолжает совершенствоваться, при этом процессорные конструкции теперь используют комбинацию RISC, конвейеризации и параллельной обработки. В результате теперь можно приобрести настольную рабочую станцию примерно за 30 000 долларов, которая имеет такую же общую вычислительную мощность (100 мегафлопс), как и суперкомпьютеры четвертого поколения[66]. Эта разработка вызвала интерес к гетерогенным вычислениям: программа, запущенная на одной рабочей станции, может найти простаивающие рабочие станции в другом месте локальной сети для выполнения параллельных подзадач.
Одним из самых драматических изменений в шестом поколении будет взрывной рост сетей широкого диапазона. Пропускная способность сети значительно расширилась за последние несколько лет и будет продолжать улучшаться в течение следующих нескольких лет. Скорости передачи T1 теперь являются стандартными для региональных сетей, а национальная «магистраль», соединяющая региональные сети, использует T3. Сетевая технология становится все более распространенной, чем ее первоначальная мощная база в университетах и правительственных лабораториях, поскольку она быстро находит применение в образовании к-12, общественных сетях и частной промышленности[67].