Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Реферат_Томышев_А_2309.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
599.19 Кб
Скачать

МИНОБРНАУКИ РОССИИ

Санкт-Петербургский государственный

электротехнический университет

«ЛЭТИ» им. В.И. Ульянова (Ленина)

Кафедра Вычислительная Техника

Реферат

по дисциплине «Вычислительные системы»

Тема: Oracle Solaris Studio как пример интегрированной среды для разработки параллельных и распределенных программ

Студент гр. 2309

Томышев А.А.

Преподаватель

Лебедев С.В.

Санкт-Петербург

2016

Оглавление

Введение 3

1 Параллельные и распределенные вычислительной системы 4

1.1 Понятие параллельной и распределенной вычислительной системы 4

1.2 Архитектура параллельной и распределенной вычислительной системы 5

1.3 Программное обеспечение для различных высокопроизводительных систем 7

1.4 Языки высокопроизводительных вычислений 8

1.5 Интегрированная среда разработки многопоточных приложений 9

2 Oracle Solaris Studio IDE 11

2.1 Общие сведения об Oracle Solaris Studio IDE 11

2.2 Профилировщик Performance Analyzer. 12

2.3 Профилирование приложений в Oracle Solaris Studio. 13

Заключение 17

Список используемых источников 18

Приложение А 19

Приложение Б 21

Введение

В настоящее время круг задач, требующих для своего решения применения мощных вычислительных ресурсов, все время расширяется. Высокопроизводительные вычисления в настоящее время не мыслятся без распараллеливания, ибо наиболее мощные вычислительные системы имеют сотни и тысячи процессоров, работающих одновременно и в тесном взаимодействии, т.е. параллельно.

При организации проведения высокопроизводительных вычислений стало обычным использование многозадачности и мультипрограммности, мультимедийных средств, компьютерных локальных сетей, а также глобальных сетей, таких, как Интернет. Это показывает, что серьезное изучение вопросов распараллеливания и высокопроизводительных вычислений чрезвычайно важно.

Разработка программного обеспечения для высокопроизводительных вычислений это сложный процесс, который трудно организовать без надежного, эффективного и обладающего удобным интерфейсом набора инструментов. Этим набором инструментов выступает интегрированная среда разработки. К ней предъявляют различные требования для параллельного и распределенного программирования.

Целью написания реферата стало исследование интегрированной среды разработки Oracle Solaris Studio для создания параллельных и распределенных программ.

1 Параллельные и распределенные вычислительной системы

1.1 Понятие параллельной и распределенной вычислительной системы

Однопроцессорная машина состоит из нескольких компонентов: Центрального процессорного устройства (ЦПУ), первичной памяти, одного или нескольких уровней кэш-памяти, вторичной памяти и набора периферийных устройств. В современном мире мощности однопроцессорной системы будет недостаточно для высокопроизводительных вычислений. К таким вычислениям относятся [1]:

  • прогноз погоды и моделирование изменения климата;

  • сейсморазведка;

  • проектирование электронных устройств;

  • синтез новых материалов;

  • и многие другие.

Для решения подобных задач используются параллельные и распределенные вычислительные системы с различными архитектурами и необходимым программным обеспечением.

Параллельной вычислительная система – это физические компьютерные, а также программные системы, реализующие тем или иным способом параллельную обработку данных на многих вычислительных узлах.

Распределенная вычислительная система – это набор независимых компьютеров, представляющийся их пользователям единой объединенной системой. [2]

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

1.2 Архитектура параллельной и распределенной вычислительной системы

Понятие архитектуры высокопроизводительной системы является достаточно широким, поскольку под архитектурой можно понимать и способ параллельной обработки данных, используемый в системе, и организацию памяти, и топологию связи между процессорами, и способ исполнения системой арифметических операций [3].

Классификация архитектур вычислительных систем, предложенная в 1966 году М. Флинном, базируется на понятии потока, под которым Флинн подразумевал последовательность элементов, команд или данных, обрабатываемая процессором. Флинн выделяет четыре класса архитектур [3]:

  • SISD = Single Instruction Single Data (Один поток команд ­– один поток данных). В таких машинах есть только один поток команд, все команды обрабатываются последовательно друг за другом, и каждая команда инициирует одну операцию с одним потоком данных.

  • MISD = Multiple Instruction Single Data (Множественный поток команд – один поток данных). Определение подразумевает наличие в архитектуре многих процессоров, обрабатывающих один и тот же поток данных. Однако ни Флинн, ни другие специалисты в области архитектуры компьютеров до сих пор не смогли представить убедительный пример реально существующей вычислительной системы, построенной на данном принципе.

  • SIMD = Single Instruction Multiple Data (Один поток команд – множественный поток данных). В архитектурах подобного рода сохраняется один поток команд, включающий, в отличие от предыдущего класса, векторные команды. Это позволяет выполнять одну арифметическую операцию сразу над многими данными – элементами вектора.

  • MIMD = Multiple Instruction Multiple Data (Множественный поток команд – множественный поток данных). Этот класс предполагает, что в вычислительной системе есть несколько устройств обработки команд, объединенных в единый комплекс и работающих каждое со своим потоком команд и данных.

В категории MIMD проводят еще одну важную классификацию по организации памяти, определяющей параллельные и распределенные системы [1]:

  • Системы с общей памятью (Рис. 1). В данную категорию относятся мультипроцессоры – один компьютер со многими процессорами. Главными представителями являются:

  • SMP архитектура (symmetric multiprocessing) — симметричная многопроцессорная архитектура. Особенностью систем с архитектурой SMP является наличие общей физической памяти, разделяемой всеми процессорами. В данную категорию относятся мультипроцессоры – один компьютер со многими процессорами [3].

  • Гибридная архитектура NUMA (nonuniform memory access) – неоднородный доступ к памяти. Суть этой архитектуры – в особой организации памяти, а именно: память физически распределена по различным частям системы, но логически она является общей, так что пользователь видит единое адресное пространство [3].

Рисунок 1.

  • Системы с распределенной памятью (Рис. 2). К этой категории относятся мультикомпьютеры – вычисления проводятся на относительно независимых компьютерах. Основными представителями являются:

  • MPP (massive parallel processing) – массивно-параллельная архитектура. Главная особенность такой архитектуры состоит в том, что память физически разделена.

  • Кластер представляет собой два или более компьютеров (часто называемых узлами), объединяемых при помощи сетевых технологий на базе шинной архитектуры или коммутатора и предстающих перед пользователями в качестве единого информационно-вычислительного ресурса. В качестве узлов кластера могут быть выбраны серверы, рабочие станции и даже обычные персональные компьютеры [3].

Рисунок 2.