49
Программирование и информатика Лекция 1. Вводная Святослав Александрович Шл ё нов кафедра общей физики и волновых процессов [email protected] История развития вычислительной техники

рограммирование и информатика екция 1. воднаяofvp.phys.msu.ru/upload/iblock/a94/Lecture1_2019.pdfинформатика екция 1. водная

  • Upload
    others

  • View
    52

  • Download
    0

Embed Size (px)

Citation preview

Page 1: рограммирование и информатика екция 1. воднаяofvp.phys.msu.ru/upload/iblock/a94/Lecture1_2019.pdfинформатика екция 1. водная

Программирование и информатика

Лекция 1. Вводная

Святослав Александрович Шлёнов

кафедра общей физики и волновых процессов

[email protected]

История развития

вычислительной техники

Page 2: рограммирование и информатика екция 1. воднаяofvp.phys.msu.ru/upload/iblock/a94/Lecture1_2019.pdfинформатика екция 1. водная

Корпоративная среда для студентов,

аспирантов и сотрудников физфака МГУ

@physics.msu.ru

(В сотрудничестве с компанией Google)

Page 3: рограммирование и информатика екция 1. воднаяofvp.phys.msu.ru/upload/iblock/a94/Lecture1_2019.pdfинформатика екция 1. водная

Основные службы информационной системы

3

•Почта

•Календарь

•Документы

•Сайты

•Контакты

Web-интерфейс: mail.physics.msu.ru

Page 4: рограммирование и информатика екция 1. воднаяofvp.phys.msu.ru/upload/iblock/a94/Lecture1_2019.pdfинформатика екция 1. водная

14.11.2019 Программирование и информатика: Лекция 1 4

План лекции

Структура курса

Краткое историческое введение(от простейших счет до суперкомпьютеров)

Page 5: рограммирование и информатика екция 1. воднаяofvp.phys.msu.ru/upload/iblock/a94/Lecture1_2019.pdfинформатика екция 1. водная

14.11.2019 Программирование и информатика: Лекция 1 5

Мотивация (потребности)

Редакторы,

Пакеты научной

графики,

Аналитические

вычисления

и др.

Общие

Языки

программи-

рования Си, Си++

Численные

методы

Компьютерное

моделирование

Программирование

аппаратуры

Автоматизация

эксперимента

Знакомство

с возможностями

Навыки

работыКурсы по выбору

Программирование и информатика – 1-ый курс

+ дисциплины блока компьютерной физики – 2-ой курс

Page 6: рограммирование и информатика екция 1. воднаяofvp.phys.msu.ru/upload/iblock/a94/Lecture1_2019.pdfинформатика екция 1. водная

14.11.2019 Программирование и информатика: Лекция 1 6

Дисциплины по выбору(2-ой курс)

•Компьютерная физика(текстовые редакторы и пакет для построения научных графиков, символьные

вычисления, графический интерфейс + 2D графика в Си++, финальный проект)

• Параллельное программирование для решения задач

физики

• Система компьютерного моделирования Mathematica и ее

применение для решения физических задач

• Системы твердотельного трёхмерного проектирования

• Использование среды графического программирования

LabView для создания систем автоматизации физического

эксперимента

• Проектирование на ПЛИС (архитектура, методы работы и

применения)

кафедра общей физики и волновых процессов

Page 7: рограммирование и информатика екция 1. воднаяofvp.phys.msu.ru/upload/iblock/a94/Lecture1_2019.pdfинформатика екция 1. водная

14.11.2019 Программирование и информатика: Лекция 1 7

Распределение материала курса«Программирование и

информатика» по семестрам

Язык программирования Си++Объектно-ориентированноепрограммирование

Семинары+практикум

II семестр

Основы программирования на языке СиФундаментальные компьютерные алгоритмы. (сортировка, поиск, работа со списками)Методы и алгоритмы вычислительной физики

Лекции+семинары+практикум5-42 1-31, 1-32

I семестр

В конце семестра – зачет с оценкой

Page 8: рограммирование и информатика екция 1. воднаяofvp.phys.msu.ru/upload/iblock/a94/Lecture1_2019.pdfинформатика екция 1. водная

14.11.2019 Программирование и информатика: Лекция 1 8

Краткое историческое

введение

«В мире есть много трудных вещей, но нет

ничего труднее, чем четыре действия

арифметики».

Беда Достопочтенный, 673-735 гг.

Р.С Гутер, Ю.Л. Полунов «От абака до компьютера». М.: Знание, 1981.

Page 9: рограммирование и информатика екция 1. воднаяofvp.phys.msu.ru/upload/iblock/a94/Lecture1_2019.pdfинформатика екция 1. водная

14.11.2019 Программирование и информатика: Лекция 1 9

Доисторические примитивные вычислительные устройства

Счеты – первый

калькулятор с

движущимися

механическими

частями

(3000 лет b.c., Вавилон)

Page 10: рограммирование и информатика екция 1. воднаяofvp.phys.msu.ru/upload/iblock/a94/Lecture1_2019.pdfинформатика екция 1. водная

14.11.2019 Программирование и информатика: Лекция 1 10

Механические компьютеры

В 1642, в Париже Блез Паскаль (Blaise Pascal, 1623-1662)

построил первую механическую счетную машину – «колесо Паскаля»

Действия: + и –

350х125х75 мм

Page 11: рограммирование и информатика екция 1. воднаяofvp.phys.msu.ru/upload/iblock/a94/Lecture1_2019.pdfинформатика екция 1. водная

14.11.2019 Программирование и информатика: Лекция 1 11

Арифметическая машина Паскаля

Около 10 лет - 50 разных экземпляров (из меди, слоновой

кости и т.п.).

Проблемы: материалы, механические, кадровые

Вычислительные: физическое представление чисел (угол!),

ввод и вывод данных, как выполнить операции (+/-)

механическим путем, перенос в разрядах.

Вычитание: сложение с десятичным дополнением

50 - 13 = 50 – (100-87) = 50 + 87 [-100] = 137 = 37

(в Машине Паскаля 6 разрядов, двоично-дополнительное представление в

современных системах)

Page 12: рограммирование и информатика екция 1. воднаяofvp.phys.msu.ru/upload/iblock/a94/Lecture1_2019.pdfинформатика екция 1. водная

2: 0000 0010

инвертируем: 1111 1101

+1

-2: 1111 1110

Двоично-дополнительное представ-ление отрицательных чисел

14.11.2019 Программирование и информатика: Лекция 1 12

Знак кодируется старшим битом (в двоичном представлении)

Отрицательное число хранится в двоично-дополнительном

виде: пример -2 при хранении данных в одном байте (8 бит):

210 = 0000 00102

-2: 1000 00102 ?2-2=2+(-2) = 0 ?

0000 0010

1111 1110

0000 0000

+

Page 13: рограммирование и информатика екция 1. воднаяofvp.phys.msu.ru/upload/iblock/a94/Lecture1_2019.pdfинформатика екция 1. водная

14.11.2019 Программирование и информатика: Лекция 1 13

Механическиекомпьютеры (продолжение)

В 1673 г. Готфрид Лейбниц (Gottfried Leibniz, 1646-1716)

построил т.н. “Калькулятор Лейбница”

Действия: +, -, *, /, sqrt(x)

Имел коммерческий успех, производился с 1862 по 1930

Page 14: рограммирование и информатика екция 1. воднаяofvp.phys.msu.ru/upload/iblock/a94/Lecture1_2019.pdfинформатика екция 1. водная

14.11.2019 Программирование и информатика: Лекция 1 14

Механическиекомпьютеры (продолжение)

“Железный Феликс” прошлого века во многом напоминает

своего собрата, Калькулятор Лейбница

Page 15: рограммирование и информатика екция 1. воднаяofvp.phys.msu.ru/upload/iblock/a94/Lecture1_2019.pdfинформатика екция 1. водная

14.11.2019 Программирование и информатика: Лекция 1 15

Механические компьютеры –ткацкий станок Жаккарда

В 1801 г. Жозеф Жаккард

(Joseph-Marie Jacquard)

создал ткацкий станок для

материй с узором с

программным управлением,

в котором использовал

перфоленту.

Page 16: рограммирование и информатика екция 1. воднаяofvp.phys.msu.ru/upload/iblock/a94/Lecture1_2019.pdfинформатика екция 1. водная

n n4 Первая

разность

вторая

разность

третья

разность

четвертая

разность

1

2

3

4

5

6

7

8

1

16

81

256

625

1296

2401

4096

15

65

175

369

671

1105

1695

50

110

194

302

434

590

60

84

108

132

156

24

24

24

24

Разностная машина Чарльза Бэббеджа

94 = 24 + 156 + 590 + 1695 +4096 = 6561

Page 17: рограммирование и информатика екция 1. воднаяofvp.phys.msu.ru/upload/iblock/a94/Lecture1_2019.pdfинформатика екция 1. водная

0.2 0.4 0.6 0.8 1 1.2 1.4

2

4

6

8

10

12

14

Конвейерная система маркизаде Прони

5 чел. – формулы и методы

7 чел. – численные значения в узловых точках

90 чел. – уплотняют таблицу

14.11.2019 Программирование и информатика: Лекция 1 17

Табулирование

функций (tg(x))

Page 18: рограммирование и информатика екция 1. воднаяofvp.phys.msu.ru/upload/iblock/a94/Lecture1_2019.pdfинформатика екция 1. водная

14.11.2019 Программирование и информатика: Лекция 1 18

В 1833 г. Чарльз Бэббидж начал работу над своей аналитической

машиной – первым в мире компьютером общего назначение, который

считывал инструкции с перфокарт (имела память – 1000 регистров,

логарифмические и др. вычисления). Разностная машина была

снабжена печатающим устройством.

В 1842 леди Ада Лавлейс

составила первую программу

(числа Бернулли, язык Ада)

Аналитическая машина Чарльза Бэббеджа

Page 19: рограммирование и информатика екция 1. воднаяofvp.phys.msu.ru/upload/iblock/a94/Lecture1_2019.pdfинформатика екция 1. водная

14.11.2019 Программирование и информатика: Лекция 1 19

Механические компьютеры -табулятор Холлерита

В 1896 г. Герман Холлерит

создал первую электро-

механическую машину—

Табулятор Холлерита—

для переписи населения

США

Основал в 1911 г. Tabulating

Machine Company, которая

в 1924 г. переименована в

International Business

Machines Corporation (IBM)

Page 20: рограммирование и информатика екция 1. воднаяofvp.phys.msu.ru/upload/iblock/a94/Lecture1_2019.pdfинформатика екция 1. водная

14.11.2019 Программирование и информатика: Лекция 1 20

Компактные механические компьютеры – логарифмическая

линейка“Карманный калькулятор” инженеров до 70-х годов

прошлого века - логарифмическая линейка

Первая логарифмическая линейка была создана

Уильямом Оутредом в Англии в 1622 г.!

Page 21: рограммирование и информатика екция 1. воднаяofvp.phys.msu.ru/upload/iblock/a94/Lecture1_2019.pdfинформатика екция 1. водная

«Вы, конечно, шутите, мистер Фейнман?»

14.11.2019 Программирование и информатика: Лекция 1 21

«… чтобы понять, что именно происходит во время

взрыва бомбы, … требовалась намного больше

выкладок, чем мы могли делать. Но один умный

человек по имени Стэнли Френкель сообразил, что

вычисления, можно, сделать на машинах IBM.

Компания IBM выпускала устройства для сложения,

называемые табуляторами, и машины для умножения

– мультипликаторы, в которые можно было

закладывать карточки: машина считывала два числа с

карточки и умножала их. Были также устройства,

которые сравнивали числа, сортировали их и т.д. И

вот Френкель придумал замечательную программу.

Если бы мы собрали довольно много таких машин в

одной комнате, то мы смогли бы взять карточки и

запустить их по циклу.»

Page 22: рограммирование и информатика екция 1. воднаяofvp.phys.msu.ru/upload/iblock/a94/Lecture1_2019.pdfинформатика екция 1. водная

14.11.2019 Программирование и информатика: Лекция 1 22

Первые ЭВМ

В 1942 г. Джон Атанасов и Клиффорд Берри создали

в университете штата Айова первую цифровую ЭВМ--ABC

Атанасов сформулировал принципы

цифрового компьютера: в своей

работе он будет использовать

электричество и достижения

электроники:

•его работа будет основана на

двоичной системе счисления;

•основой запоминающего устройства

будут служить конденсаторы;

•будут использованы логические

электронные схемы.

Page 23: рограммирование и информатика екция 1. воднаяofvp.phys.msu.ru/upload/iblock/a94/Lecture1_2019.pdfинформатика екция 1. водная

14.11.2019 Программирование и информатика: Лекция 1 23

Первые ЭВМ - ENIAC

В 1946 г. в США Мочли и Эккертом

построена ЭВМ

ENIAC (Electronic Numerical Integrator

and Computer), University of Pennsylvania

Параметры: вес 30 тон, 2 этажа,

18000 ламп, 70000 сопротивлений,

10000 емкостей, 6000 реле

5000 арифм. оп/с;

программирование — перетыкание

проводов

Page 24: рограммирование и информатика екция 1. воднаяofvp.phys.msu.ru/upload/iblock/a94/Lecture1_2019.pdfинформатика екция 1. водная

14.11.2019 Программирование и информатика: Лекция 1 24

Архитектура фон Неймана

В 1946 г. фон Нейман

разработал концепцию

архитектуры компьютера

(принцип совместного

хранения программ и данных

в памяти компьютера )

В 1949 г. в Англии создан прототип современной

ЭВМ — EDSAC (ОЗУ, 512 ячеек памяти)

В общем случае - физическое отделение процессорного

модуля от устройств хранения программ и данных.

Page 25: рограммирование и информатика екция 1. воднаяofvp.phys.msu.ru/upload/iblock/a94/Lecture1_2019.pdfинформатика екция 1. водная

14.11.2019 Программирование и информатика: Лекция 1 25

А что происходило в СССР?

1947 г., МЭСМ (малая электронно-счетная машина); Киев, ин-т электротехники под рук. акад. С.А. Лебедева

1951 г., запуск в производство

1952-54 гг., БЭСМ-1, Стрела, М-2, М-3(серийно!!!)

1961 г., Раздан-2 – первая транзисторная ЭВМ в СССР

Затем, Минск, Урал, Мир, БЭСМ-4, М-220, БЭСМ-6, …

Page 26: рограммирование и информатика екция 1. воднаяofvp.phys.msu.ru/upload/iblock/a94/Lecture1_2019.pdfинформатика екция 1. водная

14.11.2019 Программирование и информатика: Лекция 1 26

ЭВМ БЭСМ-6

Знаменитая ЭВМ БЭСМ-6, во многом предвосхитившая

свое время

Page 27: рограммирование и информатика екция 1. воднаяofvp.phys.msu.ru/upload/iblock/a94/Lecture1_2019.pdfинформатика екция 1. водная

14.11.2019 Программирование и информатика: Лекция 1 27

Прогресс технологии -транзистор

В 1947 г. Вильям Шокли,

Джон Бардин и Уолтер Браттейн

(Bell Labs) продемонстрировали первый

транзистор

Page 28: рограммирование и информатика екция 1. воднаяofvp.phys.msu.ru/upload/iblock/a94/Lecture1_2019.pdfинформатика екция 1. водная

14.11.2019 Программирование и информатика: Лекция 1 28

Прогресс технологии –интегральные схемы

В 1961 г. – первая ИС

из 4-х транзисторов

(фото)

В 1968 – ИС из 180

транзисторов

Page 29: рограммирование и информатика екция 1. воднаяofvp.phys.msu.ru/upload/iblock/a94/Lecture1_2019.pdfинформатика екция 1. водная

14.11.2019 Программирование и информатика: Лекция 1 29

Прогресс технологии -микропроцессор

В 1976 г. – первый 16 рр.

микропроцессор

(20000 транзисторов)

Page 30: рограммирование и информатика екция 1. воднаяofvp.phys.msu.ru/upload/iblock/a94/Lecture1_2019.pdfинформатика екция 1. водная

14.11.2019 Программирование и информатика: Лекция 1 30

Прогресс технологии -интегральные схемы

Так выглядит

кремниевая

пластина с

напыленными на

нее ИС

Page 31: рограммирование и информатика екция 1. воднаяofvp.phys.msu.ru/upload/iblock/a94/Lecture1_2019.pdfинформатика екция 1. водная

14.11.2019 Программирование и информатика: Лекция 1 31

Поколения ЭВМ

1 Электронные

лампы

1945-55

2 Транзисторы

(п/п триоды)

1955-65

3 Интегральные

схемы (ИС)

1965-70

4 БИС 1970-1980

5 СБИС + новые

технологии

1980-…

Page 32: рограммирование и информатика екция 1. воднаяofvp.phys.msu.ru/upload/iblock/a94/Lecture1_2019.pdfинформатика екция 1. водная

14.11.2019 Программирование и информатика: Лекция 1 32

Закон Мура

Закон Мура

гласит, что число

транзисторов на

кристалле

удваивается

каждые два года

wikipedia.org

Page 33: рограммирование и информатика екция 1. воднаяofvp.phys.msu.ru/upload/iblock/a94/Lecture1_2019.pdfинформатика екция 1. водная

Высокопроизводительные вычисления (High Performance Computing)

14.11.2019 Программирование и информатика: Лекция 7 33

Области применения

Высокие технологии, научные исследования, шоу

бизнес

Рост производительности

Много процессоров (100, 1000 и больше) –

суперкомпьютеры

Векторные процессоры

SMP – системы (symmetric multiprocessing, разделяют общую

память)

MPP – (massive parallel processing, системы с массовым

параллелизмом)

Page 34: рограммирование и информатика екция 1. воднаяofvp.phys.msu.ru/upload/iblock/a94/Lecture1_2019.pdfинформатика екция 1. водная

14.11.2019 Программирование и информатика: Лекция 7 34

Высокопроизводительные вычисления

SMP – системы (symmetric multiprocessing) разделяют

общую память Пример: двухпроцессорные системы

бытового уровня

Page 35: рограммирование и информатика екция 1. воднаяofvp.phys.msu.ru/upload/iblock/a94/Lecture1_2019.pdfинформатика екция 1. водная

14.11.2019 Программирование и информатика: Лекция 7 35

Высокопроизводительные вычисления

В MPP (massive parallel processing) системе каждый

процессор имеет собственное ОЗУ

Page 36: рограммирование и информатика екция 1. воднаяofvp.phys.msu.ru/upload/iblock/a94/Lecture1_2019.pdfинформатика екция 1. водная

14.11.2019 Программирование и информатика: Лекция 1 36

Высокопроизводительные вычисления

Вычислительный кластер: MPP система, объединяющая

компьютеры- потенциально более дешевая система

Page 37: рограммирование и информатика екция 1. воднаяofvp.phys.msu.ru/upload/iblock/a94/Lecture1_2019.pdfинформатика екция 1. водная

14.11.2019 Программирование и информатика: Лекция 7 37

Вычислительные кластеры

Кластер состоит из отдельных машин (узлов) и объединяющей их сети: узлы, фронтальная машина, сервер, рабочая станция для

визуализации)

сеть: Gigabit Ethernet

Myrinet

Scalable Coherent Interconnection (SCI)

Infiniband — высокоскоростная коммутируемая последовательная шина (до 120 ГБит/c)

ПО: ОС Linux, ПО поддержки параллельного программирования и распределения вычислительной нагрузкиПараллельное программирование:

библиотеки MPI и OpenMP

Page 38: рограммирование и информатика екция 1. воднаяofvp.phys.msu.ru/upload/iblock/a94/Lecture1_2019.pdfинформатика екция 1. водная

14.11.2019 Программирование и информатика: Лекция 1 38

Проект Beowulf

1994 г., NASA: 16-

процессорный

кластер: 486DX4/100

MHz, 16 MB

10 Mbit Ethernet

Page 39: рограммирование и информатика екция 1. воднаяofvp.phys.msu.ru/upload/iblock/a94/Lecture1_2019.pdfинформатика екция 1. водная

14.11.2019 Программирование и информатика: Лекция 1 39

Вычислительный кластер МГУ

Page 40: рограммирование и информатика екция 1. воднаяofvp.phys.msu.ru/upload/iblock/a94/Lecture1_2019.pdfинформатика екция 1. водная

14.11.2019 Программирование и информатика: Лекция 1 40

Количество ядер: 5000

Пиковая производительность: 60

Tflop/s

Производительность на Linpack:

47 Tflop/s (78.4 %)

ОЗУ 5.5 Тбайт

Узлы кластера:

Два 4-х ядерных

процессора Intel Xeon

3.0 ГГц, 8 Гбайт ОЗУ

HDD 160 Гбайт

Кластер СКИФ

им. Чебышёва

Суперкомпьютер МГУ

TFlops (терафлопс) – 1012 операций с плавающей точкой в секунду

по тесту LINPAK – решение системы линейных уравнений.

Page 41: рограммирование и информатика екция 1. воднаяofvp.phys.msu.ru/upload/iblock/a94/Lecture1_2019.pdfинформатика екция 1. водная

14.11.2019 Программирование и информатика: Лекция 1 41

Число вычислительных узлов:

6199

Пиковая производительность:

1,7 Pflop/s

Производительность на Linpack:

901,9 Tflop/s (53%)

ОЗУ 92 Тбайт

Основные узлы кластера:

Два 4-х ядерных

процессора Intel Xeon

X5570/5670 2.93 ГГц

Кластер «Ломоносов»

Cуперкомпьютер «Ломоносов»

+ графический процессор Nvidia

X2070

Page 42: рограммирование и информатика екция 1. воднаяofvp.phys.msu.ru/upload/iblock/a94/Lecture1_2019.pdfинформатика екция 1. водная

14.11.2019 Программирование и информатика: Лекция 1 42

Число вычислительных узлов:

1696 (14 cores)

Пиковая производительность:

4,946 Pflop/s

Производительность на Linpack:

2,478 Pflop/s (50%)

ОЗУ 64 ГБ/узел

Основные узлы кластера:

14-и ядерные

процессоры Intel

Haswell-EP E5-2697v3

2.6 ГГц

Кластер «Ломоносов-2»

Cуперкомпьютер «Ломоносов-2»

+ ускоритель NVidia Tesla K40M

Page 43: рограммирование и информатика екция 1. воднаяofvp.phys.msu.ru/upload/iblock/a94/Lecture1_2019.pdfинформатика екция 1. водная

14.11.2019 Программирование и информатика: Лекция 1 43

Высокопроизводительные системы: список Top500, июнь 2019

ww

w.t

op500.o

rg

Page 44: рограммирование и информатика екция 1. воднаяofvp.phys.msu.ru/upload/iblock/a94/Lecture1_2019.pdfинформатика екция 1. водная

14.11.2019 Программирование и информатика: Лекция 1 44

Высокопроизводительные системы: список Top500, июнь 2019, Россия

ww

w.t

op

500.o

rg

июнь 2011

Page 45: рограммирование и информатика екция 1. воднаяofvp.phys.msu.ru/upload/iblock/a94/Lecture1_2019.pdfинформатика екция 1. водная

14.11.2019 Программирование и информатика: Лекция 1 45

Высокопроизводительные системы: список Top500, июнь 2018, Россия

ww

w.t

op

500.o

rg

Page 46: рограммирование и информатика екция 1. воднаяofvp.phys.msu.ru/upload/iblock/a94/Lecture1_2019.pdfинформатика екция 1. водная

14.11.2019 Программирование и информатика: Лекция 1 46

Страны в списке Top500www.top500.org

1,4% 7 шт

2011 Россия (8)

Россия (19-23)

0,4% 2 шт

Page 47: рограммирование и информатика екция 1. воднаяofvp.phys.msu.ru/upload/iblock/a94/Lecture1_2019.pdfинформатика екция 1. водная

14.11.2019 Программирование и информатика: Лекция 1 47

Архитектура в списке Top500www.top500.org

Page 48: рограммирование и информатика екция 1. воднаяofvp.phys.msu.ru/upload/iblock/a94/Lecture1_2019.pdfинформатика екция 1. водная

14.11.2019 Программирование и информатика: Лекция 1 48

Рост производительностиw

ww

.top500.o

rg

Page 49: рограммирование и информатика екция 1. воднаяofvp.phys.msu.ru/upload/iblock/a94/Lecture1_2019.pdfинформатика екция 1. водная

14.11.2019 Программирование и информатика: Лекция 1 49

Литература по лекционному материалу

1. Р.С. Гутер, Ю.Л. Полунов. От абака до компьютера. – М.: Знание, 1975, 192 с(2-ое издание – 1981).

2. www.top500.org

Материал лекций доступен на сайте:

http://ofvp.phys.msu.ru/science_education/lections/

- Раздел «Программирование и информатика»