Вычислительные Системы, 02 лекция (от 10 сентября)

Материал из eSyr's wiki.

Версия от 13:33, 15 сентября 2007; Esyr01 (Обсуждение)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Предыдущая лекция | Следующая лекция

Содержание

Введение

В прошлый раз лектор говорил про Фредерика Брукса, и вот он принёс книгу, новое издание, и перевод тут хуже, чем первое издание, наверное это было сделано потому, чтобы человек заработал деньги.

«Мое профессиональное становление в вычислительной технике первоначально было связано с программированием, однако в период 1956—1963 годов, когда разрабатывались автономные управляющие программы и языки высокого уровня, я занимался, в основном, архитектурой компьютеров. Когда в 1964 году я стал менеджером проекта разработки Operating System/360, то обнаружил, что мир программирования совершенно изменился благодаря успехам, достигнутым за несколько последних лет.

Руководство разработкой OS/360 было очень поучительным, хотя и поным расстройств. Команде разработчиков, в том числе сменившему меня Ф. М. Трапнеллу (F. M. Trapnell), можно многим гордиться. Система содержит много отличных решений в конструкции и функционировании, и ей удалось получить широкое распространение. Некоторые идеи, в первую очередь, организация ввода/вывода, независимая от устройств, и управление внешними библиотеками стали техническими новинками, ныне широко используемыми. Сейчас эта система вполне надежна, достаточно производительна и весьма гибка.

Однако проект нельзя назвать вполне успешным. Всякому пользователю OS/360 быстро становится ясно, насколько лучше могла бы быть система. Ошибки проектирования и реализации особенно заметны в управляющей программе, а не в компиляторах языков. Большая часть этих просчетов относится к периоду 1964-65 годов и потому должна быть отнесена на мой счет. Более того, система вышла с задержкой, потребовала больше памяти, чем предполагалось, стоимость разработки в несколько раз превысила запланированную, и первые несколько версий функционировали не слишком удачно.»

Очень интересными являются названия глав:

  1. Смоляная яма
  2. Этот мифический «человеко-месяц»
  3. Операционная бригада
  4. Аристократия, демократия и системное проектирование
  5. Эффект второй системы
  6. Донести слово
  7. Почему не удалось построить вавилонскую башню?
  8. Объявляя удар
  9. Два в одном
  10. Документарная гипотеза
  11. Планируйте на выброс
  12. Острый инструмент
  13. Целое и части
  14. Назревание катастрофы
  15. Обратная сторона
  16. Серебряной пули нет — сущность и акциденция в программной инженерии
  17. Новый выстрел «серебряной пули нет»
  18. Заявления «мифического человеко-месяца»: правда или ложь?
  19. Пятьдесят лет удивления, восхищения и радости

Обязательно надо почитать эту книгу, если посвящаете себя этой области. Также книг по ОС и Архитектуре есть очень много, но есть классика. Это музыка. Конечно, там нет того, что есть сейчас — большие руководства … но всё равно.

«Самая яркая сцена доисторических времен — борьба огромных животных со смертью в смоляных ямах. Воображение представляет динозавров, мамонтов и саблезубых тигров, пытающихся высвободиться из смолы. Чем отчаянней борьба, тем сильнее затягивает смола, и как бы ни был силен или ловок зверь, в конечном итоге ему уготована гибель. Такой смоляной ямой в последнее десятилетие было программирование больших систем: в ней сгинул не один большой и сильный зверь. По большей части это происходило в области систем, где мало кому удалось реализовать спецификации, уложиться в график и бюджет. Большие и малые, массивные и жилистые — одна за другой эти команды увязли в смоле. Казалось, ничто в отдельности не вызывает трудностей — одну лапу всегда можно вытащить. Но накопление действующих одновременно и взаимовлияющих факторов все более и более замедляет движение. Вызывает удивление неприятность возникшей проблемы, и распознать ее сущность нелегко. Но нужно это сделать, если мы собираемся решить ее.»

Тут есть замечательные аллегории «Радости ремесла», «Горести ремесла». В новом переводе хуже.

Эпилог (258 страница):

«Эпилог. 50 лет восхищения, удивления, радости

В моей памяти все еще живы удивление и восторг, с которым я — мне тогда было 13 лет — читал отчет от 7 августа 1944 года об освящении компьютера Mark I, архитектором которого был Говард Айкен (Howard Aiken), а проектировщиками — инженеры Клер Лейк (Clair D. Lake), Бенджамин Дурфи (B. M. Durfee) и Фрэнсис Гамильтон (F. E. Hamilton). Такой же вызывающей ощущение чуда была статья Ванневара Буша (Vannevar Bush) «That We May Think» в апрельском 1945 года номере «Atlantic Monthly», в которой он предложил организовать знания в виде огромной гипертекстовой паутины и обеспечить пользователей машинами для переходов по существующим ссылкам и создания новых ассоциативных следов. Новый толчок моя страсть к компьютерам получила в 1952 году, когда, работая летом на IBM в Эдинкоте, штат Нью-Йорк, я получил практический опыт программирования для IBM 604 и формальное обучение программированию для IBM 701, их первой машины с хранимой программой. Аспирантура у Айкена и Иверсона в Гарварде сделала реальностью мои мечты о профессии, и я связал с ней всю свою жизнь. Немногим Бог дает право зарабатывать на жизнь тем, чем они с радостью занимались бы по собственной воле, по увлечению. Я благодарен судьбе. Для человека, влюбленного в компьютеры, трудно было бы придумать иное время, когда так радостно было жить. От механических устройств до вакуумных ламп, транзисторов и интегральных схем шло бурное развитие технологии. Первый компьютер, на котором я работал сразу после выпуска из Гарварда, был суперкомпьютер IBM Stretch. Этот компьютер царствовал над миром как самый быстрый с 1961 по 1964 годы; было изготовлено 9 экземпляров. Мой сегодняшний Macintosh Powerbook не только быстрее, с большей памятью и большим диском, но и в тысячу раз дешевле (в пять тысяч раз дешевле с учетом инфляции). Мы были свидетелями того, как поочередно произошли компьютерная революция, революция электронных компьютеров, революция миникомпьютеров и революция микрокомпьютеров, в результате каждой из которых компьютеров становилось на порядки больше.

Область связанных с компьютерами знаний претерпела взрыв, как и соответствующая технология. Будучи аспирантом в середине 50-х, я мог прочесть все журналы и труды конференций. Я мог оставаться на современном уровне во всей научной дисциплине. Сегодня же мне в моей интеллектуальной жизни приходится с сожалением расставаться с интересами то в одной, то в другой подобласти, поскольку количество документов превысило всякую возможность справиться с ними. Масса интересов, масса замечательных возможностей для учебы, исследований, размышлений. Чудесное затруднение! Не только конца не видно, но и шаг не замедляется. В будущем нас ожидают многие радости.»

«13 лет Марк 1. Новый толчок в 52 году, IBM/604 и IBM/701 — первой ... будущие аспиранты в середине 50-х»

далее цитируется «Москва Компьютерная».

Компромисс между программным обеспечением и аппаратным: сначала начали наваливать на ПО, палку перегнули, потом начали нагружать аппаратное обеспечение, и такими волнами и шло.

До БЭСМ-6 была сделана машина Весна, тоже параллельная. Был такой курьёз, Весну делали для КГБ, и нужна была для шифрации/дешифрации, и авторы машины спрашивали математиков, что сделать, они говорили: это, это и это, и в итоге получилась громоздкая машина, перегнули.

БЭСМ-6, разработка программы-диспетчера: не было времени готовить диссертации, но Королёв настоял, лектор приехал, Королёв у него спрашивате «Иванникова знаешь?» «Да» «Достоин он защищать диссертацию?» «Да» И Королёв отправил лектора к Иванникову. ... «Это работа не только и не столько своя, сколько института, и защищать нужно не только себя, но и институт»

Понедельник начинается в субботу: «Приходил утром, к нему «А у нас программа не работает» «Колоду» «А мы уже обошли, поменяли» «Докладную напишу!»» Дело в том, что это могла бы быть ошибка в системном ПО, и её надо найти, а без программы, на которой она проявляется, сделать ничего нельзя.

Когда защищалась кандидатсякая по многопрограммной ОС, то там в рецензентах был Шура-Бура, который делал Весну, а Томилин этого не знал, а Весна была сделана на полгода раньше и тоже была многопрограммная, но Ш-Б был скован секрентостью и не мог спорить с тем, что ОС БЭСМ-6 — первая многопроцессорная.

Последняя цитата из «Москва Компьютерная»

Основное направление — развитие параллелизма. В прошлы раз анализировали архитектуру в узком и широком смыслах. Но всё это конечно не так строго везде разделено, и термин архитектура используется везде как попала, термины архитектура и структура перепутаны.

Классификация ВС

Мы начнём с того, лектор думает, что мы помним, с классификации ВС по Флинну. В 66 году Флинном (Flynn) была предложена классификация ВС по потокам комманд и потокам данных ,Эта классификация прижилась. 4 класса:

  • ОКОД (SISD) — идёт программа и обрабатывает данные (одиночный поток команд, одиночный поток данных). Очень большой класс. Эту архитектуру называют машинами фон Неймана или машинами, построенными по архитектуре фон Неймана. И надо знать, чот это на самом деле. Фон Нейманн — математик, узнал, что сделали ENIAC, машина была не с хранимой в памяти программой, но тем не менее. Первые ВС с хранимой программой — IBM/701 и МЭСМ. Так вуот, фон Нейман приехал, увидел Эниак, загорелся идеей сделать машину с хранимой памятью, и опубликовал первую на весь мир статью, которую рассекретили только в 50-х. В этом смысле роль Джона фон Неймана. У нас первыми были Лебедев, Брук.
  • ОКМД — достаточно специализированный класс. Одна команда выполняется на нескольких выч. узлах над данными, находящихся на этих узлах. Пример — ILLIAC 4. 64 выч. узла. 71 год. 300 Mflop, Cray прибилзился к этой мощности только в 76 году. ПС-2000 — для обработки геологической информации.
  • МКОД
  • МКМД — Это класс машин с общей памятью. Имеется в виду следующее: есть несколько нитей, и они работают над одной памятью. Тут и многопроцессорные ВС, и многомашинные системы, и выч. сети.
    • МВК — огромный подкласс.
    • ММВК

Другая организация — под управлением данных, есть эти машины.

Лектор показывает распечатку БЭСМ-6. Текст распечатки: «Лауреатам Государственной премии — Я — ваш успех, // Я — чемпион Даю в секунду // — Миллион Но буду рад, // Когда мой брат // Подарит людям // Миллиард БЭСМ-6»
Лектор показывает распечатку БЭСМ-6. Текст распечатки: «Лауреатам Государственной премии
— Я — ваш успех, // Я — чемпион
Даю в секунду // — Миллион
Но буду рад, // Когда мой брат // Подарит людям // Миллиард
БЭСМ-6»

Терминология

Операции в секунду:

  • MIPS — Million Instructions Per Second — количество операций, которые проходят через устройство управления.
  • MFlops — FLOating Point operations per Second — то, что проходит в АЛУ, да и то не все команды, а только «+», «–», «×», «÷»

Какое соотношение: Для БЭСМ-6 считалось, что у неё 1 MIPS, а по статичтике Выч. центра FLOP это 30%, то есть 0.3 Mflops, причём «+» и «–» — 15%, «×» — 15%, «÷» — 1—2%.

Первым уровнем параллелизма была организация внутрипроцессорного параллелизма.

  1. Вычисление адреса следующей команды
  2. Работала ОП на выборку команды, и не работали УУ и АЛУ.
  3. Потом делался разбор в УУ — ОП и АЛУ простаивали.
  4. Работает АЛУ, не работают ОП и УУ.
  5. Если есть запись, делалась запись
  6. Прибавлялась единица в IP, выполнялась следующая команда

Устройства проставивали, и удалось этого исбезать включением устройств промежуточного хранения данных с разной логикой работы и они решили эту проблему. Плюс ещё одно решение, мы посмотрим, как эти устройства работали в параллель, и это очень серьёзно влияло на произв. Если бы они не работали параллельно, то производительность БЭСМ-6 упала бы в 4 раза.

Фотографии


Вычислительные Системы


01 02 03 04 05 06 07 08 09 10 11


Календарь

пн пн пн пн пн
Сентябрь
03 10 17
Октябрь
01 08 15 22 29
Ноябрь
05 12 19

Материалы
Вопросы по курсу


Эта статья является конспектом лекции.

Эта статья ещё не вычитана. Пожалуйста, вычитайте её и исправьте ошибки, если они есть.
Личные инструменты
Разделы