Многоядерные процессоры 22.07.20151 Многоядерные процессоры Рудаков С.А.

Презентация:



Advertisements
Похожие презентации
Многоядерные процессоры Многоядерные процессоры Рудаков С.А.
Advertisements

Иерархия памяти в компьютере. Кэш-память Процессоры работают быстрее чем память! При обращении процессора к памяти из-за разницы в скорости работы процессору.
Кэш - память. Кэш-память это высокоскоростная память произвольного доступа, используемая процессором компьютера для временного хранения информации.
Процессор - это устройство, управляющее ходом вычислительного процесса, выполняющее арифметическое и логическое действия. Процессор - это микросхема на.
Архитектура ЭВМ (лекция 7) проф. Петрова И.Ю. Курс Информатики.
1. Теоретические основы операционных систем (планирование заданий и использования процессора, обеспечение программ средствами коммуникации и синхронизации,
Назначение и устройство компьютера yagod-sch.ucoz.ru (все уроки) Составил учитель ИКТ Фоломкин А.И.
Машинная команда Энциклопедия учителя информатики Газета «Первое сентября»
Архитектура современных персональных компьютеров Подготовил студент группы 11ИнфБ122 Зайцев Д.
Выполнили: Мартышкин А. И. Кутузов В. В., Трояшкин П. В., Руководитель проекта – Мартышкин А. И., аспирант, ассистент кафедры ВМиС ПГТА.
Состав персонального ПК. Компьютер это многофункциональное электронное устройство, предназначенное для накопления, обработки и передач» информации.
Системы с общей оперативной памятью UMA, SMP, NUMA.
Работу выполнили ученики 21 гимназии 10 А класса.
Основная микросхема компьютера, в которой и производятся все вычисления. На процессоре установлен большой медный ребристый радиатор, охлаждаемый вентилятором.
Устная работа. Вопрос 1. Что такое архитектура ЭВМ? 1. Внутренняя организация ЭВМ. 2. Это технические средства преобразования информации. 3. Это технические.
Выполнил: Гусев Данил. Что такое программное обеспечение? Возможности современного ПК столь велики, что все большее число людей находят ему применение.
OpenGL и Direct3D сравнение стандартов Выполнил: Пенкин А. Группа И-204.
Автор: учитель информатики Комкова Мария Сергеевна, г.Москва.
Лекция 6 Понятие операционных систем Учебные вопросы: 1. Характеристики ОС 2. Свободные и проприетарные ОС.
Выполнили: Корсун Илья, Харламов Максим 10 Б. Помогают прикладным программам использовать ресурсы компьютера Дают возможность человеку использовать компьютер.
Транксрипт:

Многоядерные процессоры Многоядерные процессоры Рудаков С.А.

Два подхода к увеличению производительности процессора 1. Увеличение тактовой частоты процессора. 2. Увеличение количества инструкций программного кода, выполняемых за один такт процессора. Переход к многоядерным процессорам реализует второй подход Многоядерные процессоры Рудаков С.А. 2

Многоядерный процессор - центральный процессор, содержащий два и более вычислительных ядра на одном процессорном кристалле или в одном корпусе. Ядро процессора - это система исполнительных устройств (набор арифметико-логических устройств), предназначенных для обработки данных Многоядерные процессоры Рудаков С.А.

Кэш- сверхоперативная память В многоядерных процессорах кэш первого уровня у каждого ядра своя, а кэш 2-го уровня существует в нескольких вариантах: разделяемый кэш расположен на одном с обеими ядрами кристалле и доступен каждому из них в полном объёме (процессоры семейств Intel Core). индивидуальный отдельные кэш равного объёма, интегрированные в каждое из ядер. Обмен данными из кэш L2 между ядрами осуществляется через контроллер памяти интегрированный (Athlon 64 X2) или внешний (Pentium D) Многоядерные процессоры Рудаков С.А. 4

Микропроцессор, как правило, имеет несколько уровней КЭШ.КЭШ Первый (L1 & L1i (кэш для инструкций)), второй (L2) и третий (L3) ( на серверных решениях бывает и больше). Чем ниже по рангу кэш, тем медленней скорость его работы Многоядерные процессоры Рудаков С.А. 5

Первый уровень обычно работает на частоте процессора и имеет самую широкую шину, но и самый маленький объём. Служит для адресации команд и инструкций, но не их временного хранения Многоядерные процессоры Рудаков С.А. 6

Многоядерные процессоры Рудаков С.А. 7

Второй и третий уровни КЭШ-а служат для записи значений вычислений и для служебной информации, используемой чаще всего в данный момент. Имеет в несколько раз больший объём, чем кэш первого уровня, но и в несколько раз меньшую шину, что отрицательно сказывается на пропускной способности. Кэш бывает разделяемый (на каждое ядро) и общий (объединённый) Многоядерные процессоры Рудаков С.А. 8

Общий кэш работает быстрее. Так как в разделённом кэше, если одному ядру требуется информация, которая до этого была просчитана другим ядром и находится в его КЭШе, то ей придётся проходить по гораздо более медленной оперативной памяти. Иногда быстрее посчитать снова, что процессор и делает. А в случае с общим кэшем, мог бы просто взять данные из общего КЭШа Многоядерные процессоры Рудаков С.А. 9

Производительность. В приложениях, оптимизированных под многопоточность, наблюдается прирост производительности на двухъядерном процессоре. Старые приложения (не оптимизированные под многопоточность), либо приложения, которым многопоточность не нужна или невозможна не будут получать практически никакой выгоды от дополнительных ядер, и могут даже выполняться медленнее, чем на процессоре с меньшим количеством ядер, но большей тактовой частотой Многоядерные процессоры Рудаков С.А.

Наращивание количества ядер На сегодняшний день основными производителями процессоров Intel и AMD дальнейшее увеличение числа ядер процессоров признано как одно из приоритетных направлений увеличения производительности. Уже освоено производство 8-ядерных процессоров для домашних компьютеров, а также 16-ядерных в серверных системах Многоядерные процессоры Рудаков С.А.

Сравнение процессоров: одноядерного и двухъядерного Многоядерные процессоры Рудаков С.А.

Сравниваемые системы. В тестировании Pentium Extreme Edition 840 работал на предсерийной материнке Intel D955XBK с чипсетом D955X и с двумя 512 Мб модулями памяти DDR Сравнивалась эта система с Pentium на материнке Intel D925XECV2 (чипсет i925XE) и с двумя 512 Мб модулями памяти DDR2-533 Corsair CM2X512. Прочие параметры стендов: графика: MSI Geforce 6800 GT с 256 Мб памяти, драйвер Forceware66.77; HDD: Serial-ATA Maxtor Maxline III 250 Гб; ОС: Windows XP Professional SP Многоядерные процессоры Рудаков С.А.

Многоядерные процессоры Рудаков С.А.

Результаты тестирования: Игровые тесты: во всех играх Pentium Extreme Edition 840 уступает Pentium 4 660, т.к. создатели игр не "параллелят" свои творения. Тест Sysmark 2004 в дисциплине Office Productivity: многоядерность не сыграла заметной роли. Internet Content Creation: присутствуют элементы обработки потоковых данных а такие работы хорошо параллелятся. Adobe Photoshop, 3D Studio Max и Windows Media Player, использующиеся в этом под тесте, показывают до 30% прироста производительности. Заметен эффект от многоядерности в CineBench, который и раньше умел использовать все доступные процессоры, и в Spec CPU2000, который мы запускали в режиме "rate_base", позволяющем выполнять на каждом физическом и виртуальном ядре копию теста. Nero Recode от Ahead использовался в тесте, чтобы сжать фильм "Никита" с четырех до одного гигабайта. Это приложение многопоточное, поэтому эффект от многоядерности очень заметен Многоядерные процессоры Рудаков С.А.

Итоги. Если вам часто приходится заниматься обработкой музыкальных файлов и изменением формата видеофайлов, то многоядерность это однозначно то, что вам нужно. Именно здесь работает формула 1+1 = 2. То есть добавление второго ядра может привести к повышению производительности до 90%. Во всех остальных случаях ситуация выглядит не столь радужно. Однако даже в офисном ПК на сегодня найдется не одна программа, желающая загрузить второе ядро Многоядерные процессоры Рудаков С.А.

Многоядерные процессоры и программирование. Скоростной потенциал процессоров стал зависеть от качества работы программистов. Никогда раньше успех массового ПО не зависел от его "распараллеливаемости". Intel выпустила набор инструментов Parallel Studio в помощь программистам в написании кода, использующего множество ядер. Программирование на нескольких процессорах проблема не новая, но для ее решения от разработчика требуются специальная подготовка, особый образ мышления и высокая квалификация Многоядерные процессоры Рудаков С.А.

Intel Parallel Studio состоит из следующих компонентов: Parallel Inspector аналитический инструмент, позволяющий выявлять проблемы с потоками и памятью; · Parallel Composer набор инструментов, включающий компилятор Intel C++ и соответствующие библиотеки; · Parallel Amplifier инструмент для анализа производительности вашей программы; · Parallel Advisor Lite инструмент через несколько шагов проводящий вас к параллелизму. (Технически Parallel Advisor Lite не является частью Intel Parallel Studio, а представляет собой самостоятельный инструмент.) Многоядерные процессоры Рудаков С.А.

Intel Parallel Studio. Приложения, написанные с помощью Intel Parallel Studio, будут совместимы с будущими многоядерными процессорами Intel, включая Larrabee разрабатываемый многоядерный процессор общего назначения архитектуры x86 со встроенной высокопроизводительной графикой. Parallel Inspector помогает выявить наиболее часто встречающиеся проблемы параллельного программирования, особенно взаимные блокировки и случаи одновременного обращения к одним и тем же данным (data races) Многоядерные процессоры Рудаков С.А.

Как работает Intel Parallel Studio? Инструмент запускает вашу программу и ведет мониторинг ее работы, выискивая названные проблемы, вместо того, чтобы просто инспектировать сам программный код. Поскольку действие вашей программы анализируется, она выполняется гораздо дольше. Но награда за ожидание - исчерпывающий список найденных ошибок, включая случаи одновременного обращения к одним и тем же данным. Список имеет форму перечня неотложных дел. Можно щелкнуть по указанной в нем ошибке и сразу перейти к строке исходного кода, которая породила проблему Многоядерные процессоры Рудаков С.А.

Проблемы многоядерности. Многоядерные и Hyper-Threading процессоры не только увеличивают производительность, но и порождают многочисленные проблемы - некоторые приложения (драйвера) начинают работать нестабильно, выбрасывая критические ошибки или обрушивая систему в голубой экран смерти. Основной "удар" различий одно- и многопроцессорных машин операционная система и BIOS берут на себя Многоядерные процессоры Рудаков С.А.

Проблемы многоядерности. Прикладное приложение или драйвер устройства, спроектированный для однопроцессорной системы, не требует никакой адаптации для переноса на многопроцессорную систему, если, конечно, он спроектирован правильно. Многие типы ошибок (и, в особенности, ошибки синхронизации) могут годами не проявляться в однопроцессорных конфигурациях, но заваливают многопроцессорную машину каждые десять минут, а то и чаще Многоядерные процессоры Рудаков С.А.

Заключение. Многопроцессорные системы создают много проблем и далеко не все из них разрешимы в рамках простой переделки программ. Получив возможность создавать потоки, программисты далеко не сразу осознали, что отлаживать многопоточные программы на порядок сложнее, чем однопоточные. С другой стороны, уже сейчас мы приходим к распределенным системам и распределенному программированию. Разбив цикл с большим количеством итераций на два цикла, исполняющихся в разных потоках/процессах, на двухпроцессорной машине мы удвоим производительность! А это слишком значительный выигрыш, чтобы позволить себе пренебрегать им Многоядерные процессоры Рудаков С.А.