Отказоустойчивые вычислительные системы. Лабораторная работа №1

Состав работы

material.view.file_icon
material.view.file_icon Документ Microsoft Office Word.docx
material.view.file_icon
material.view.file_icon
material.view.file_icon
material.view.file_icon example1.exe
material.view.file_icon example1.ilk
material.view.file_icon example1.pdb
material.view.file_icon
material.view.file_icon
material.view.file_icon cl.command.1.tlog
material.view.file_icon CL.read.1.tlog
material.view.file_icon CL.write.1.tlog
material.view.file_icon example1.exe.embed.manifest
material.view.file_icon example1.exe.embed.manifest.res
material.view.file_icon example1.exe.intermediate.manifest
material.view.file_icon example1.lastbuildstate
material.view.file_icon example1.log
material.view.file_icon example1_manifest.rc
material.view.file_icon link-cvtres.read.1.tlog
material.view.file_icon link-cvtres.write.1.tlog
material.view.file_icon link.5136-cvtres.read.1.tlog
material.view.file_icon link.5136-cvtres.write.1.tlog
material.view.file_icon link.5136.read.1.tlog
material.view.file_icon link.5136.write.1.tlog
material.view.file_icon link.5260-cvtres.read.1.tlog
material.view.file_icon link.5260-cvtres.write.1.tlog
material.view.file_icon link.5260.read.1.tlog
material.view.file_icon link.5260.write.1.tlog
material.view.file_icon link.5612-cvtres.read.1.tlog
material.view.file_icon link.5612-cvtres.write.1.tlog
material.view.file_icon link.5612.read.1.tlog
material.view.file_icon link.5612.write.1.tlog
material.view.file_icon link.832-cvtres.read.1.tlog
material.view.file_icon link.832-cvtres.write.1.tlog
material.view.file_icon link.832.read.1.tlog
material.view.file_icon link.832.write.1.tlog
material.view.file_icon link.command.1.tlog
material.view.file_icon link.read.1.tlog
material.view.file_icon link.write.1.tlog
material.view.file_icon main2.obj
material.view.file_icon mt.command.1.tlog
material.view.file_icon mt.read.1.tlog
material.view.file_icon mt.write.1.tlog
material.view.file_icon rc.command.1.tlog
material.view.file_icon rc.read.1.tlog
material.view.file_icon rc.write.1.tlog
material.view.file_icon vc100.idb
material.view.file_icon vc100.pdb
material.view.file_icon example1.vcxproj
material.view.file_icon example1.vcxproj.filters
material.view.file_icon example1.vcxproj.user
material.view.file_icon main.cpp
material.view.file_icon example1.sdf
material.view.file_icon example1.sln
material.view.file_icon example1.suo
material.view.file_icon
material.view.file_icon
material.view.file_icon example1-53974a89.ipch

Необходимые программы

Работа представляет собой rar архив с файлами (распаковать онлайн), которые открываются в программах:
  • Microsoft Word

Описание

ЛАБОРОТОРНАЯ №1. ИЗУЧЕНИЕ РАБОТЫ С НИТЯМИ в OpenMP.
Цель лабораторной работы – знакомство с библиотекой OpenMP и получение первичных навыков параллельного программирования.
1. Создание приложения с применением OpenMP
1. Запустите Microsoft Visual Studio 2010.
2. Выбирите пункт в меню File -> New -> Project, или нажмите Ctrl+Shift+N
3. В окне New Project в раскрывающемся списке Visual C++ выбирите Win32. В подокне Templates установите Win32 Console Application. Введите имя (Name), например, example1, и место расположения (Location) проекта, например, С:\My, и нажмите кнопку OK. См. Рис.1.

Рис.1
4. В открывшемся окне Win32 Application Wizard - example1 нажмите кнопку Next, и затем в Additional options поставьте галочку напротив Empty project. Нажмите кнопку Finish. См. Рис.2.

Рис.2
5. Теперь создадим файл с кодом нашего приложения. Выберите пункт в меню Project -> Add New Item..., или нажмите Ctrl+Shift+A. В категории Visual C++выбирите подкатегорию Code. В подокне Templates установите С++ File (.cpp). Введите имя файла с расширением .с, например, source.c, и нажмите кнопкуAdd. См. Рис.3.

Рис.3

6. В новом окне введите код на Си. Затем сохраните файл, выбрав пункт меню File -> Save source.c, или нажав Ctrl+S.
7. Для построения приложения выберите пункт меню Build -> Build Solution, или нажмите F7.
8. Для запуска приложения выберите пункт меню Debug -> Start Without Debugging, или нажмите Ctrl+F5.
2. Выполнение примеров.
В OpenMP реализован набор директив, которые позволяют управлять процессом создания нитей и их использованием в процессе параллельных вычислений
Базовая директива: - директива parallel – инициализирует, создает параллельную область, которая исполняется всеми нитями.
Директива parallel
Параллельная область инициализируется вызовом директивы parallel. В результате выполнения директивы порождается группа нитей. Нити в группе получают уникальный номер от 0 до OMP_NUM_THREADS-1, константа OMP_NUM_THREADS определяет количество нитей в группе. Во время выполнения параллельной области размер группы не может быть изменен. После завершения параллельной области выполняется неявная синхронизация и уничтожение порожденных нитей.
При выполнении параллельной области все нити исполняют один о тот же код, поэтому для распределения вычислений между нитями используются директивы (section, do, workshare) или логические условие на номер нити в группе.
Директива parallel – инициализирует параллельную область и создает группу из OMP_NUM_THREADS нитей.

Синтаксис оператора. Язык Си++
#pragma omp parallel [опция[[,] опция]...]
{параллельная область}



Пример_1 Выводит на экран текст.

#include <omp.h>
#include <iostream>
#include <stdio.h>
#include <time.h>
int main()
{
 using namespace std;
 {
  cout << "Hello, World!" << endl;
 }
}

Пример_2. Выводит Hello, World!" 4 раза, в зависимости от количества нитей.
Каждая нить параллельно выводит на экран текст.

#include <omp.h>
#include <iostream>
#include <stdio.h>
#include <time.h>
int main()
{
 using namespace std;
 omp_set_num_threads(4);
#pragma omp parallel num_threads(4)

 {
  cout << "Hello, World!" << endl;
 }
}

// Пример 3. Каждая нить называет свой номер из общего количества.
//Нити представляются в том порядке, в каком успели


#include <omp.h>
#include <iostream>
#include <stdio.h>
#include <time.h>
int main()
{
#pragma omp parallel num_threads(3)
{
printf ("Hello! I am %d thread from %d threads! \n", omp_get_thread_num(),omp_get_num_threads());

}
}

Пример 4. На экран выводят только четные нити

#include<omp.h>
#include<iostream>
#include<stdio.h>
#include<time.h>
#include<conio.h>

int main()
{
usingnamespacestd;
#pragmaomp parallel num_threads(6)
{
intnum=omp_get_thread_num();
if (num%2==0) printf ("Hello! Iameventhread %d\n", num);// те нити, номера которых четные
}
return 0;
}

Дополнительная информация

Уважаемый студент, дистанционного обучения,
Оценена Ваша работа по предмету: Отказоустойчивые вычислительные системы (ДВ 3.2)
Вид работы: Лабораторная работа 1
Оценка:Зачет
Дата оценки: 27.04.2019
Рецензия:
Задорожный Анатолий Филиппович
Лабораторная работа №1 по дисциплине: Отказоустойчивые вычислительные системы. Для всех вариантов
ЛАБОРОТОРНАЯ №1. ИЗУЧЕНИЕ РАБОТЫ С НИТЯМИ в OpenMP Задание Знакомство с библиотекой OpenMP и получение первичных навыков параллельного программирования.
User IT-STUDHELP : 16 июня 2019
290 руб.
promo
Отказоустойчивые вычислительные системы
96. Дан одномерный массив A из n элементов, расположенный в общей памяти. Написать программу определения маскимального и минимального элементов массива A. (Примечание: использование опции reduction директивы parallel). 106. Написать и реализовать параллельную программу перемножения квадратных матриц на 4-х ядерном процессоре. Размерность массивов N = № пароля *100. Использовать OpenMP. 116. Написать программу параллельного решения задачи Дирихле методом Гаусса-Зейделя для 4-х процесcорной ВС.
User nura : 15 июня 2019
200 руб.
Отказоустойчивые вычислительные системы. Билет №17
1. В каких величинах проводится оценки производительности многопроцессорных вычислительных систем? 4. К какому классу в соответствии с систематикой Флинна относятся векторные и векторно-конвейерные ВС? 8. В качестве системообразующего вычислительного модуля в кластерных системах используется.... 9. Два или более ПК, объединяемых по топологии «шина» или с помощью коммутатора и являющиеся единым информационно-вычислительным ресурсом, называют ....
User Prorabs : 29 декабря 2019
200 руб.
Отказоустойчивые вычислительные системы. Лабораторная работа №3
ЛАБОРАТОРНАЯ №3. ПАРАЛЛЕЛЬНЫЕ ЦИКЛЫ В OpenMP 3.1.Опции директивы parallel Директива parallel – инициализирует параллельную область и создает группу из OMP_NUM_THREADS нитей. Определение и задание переменной OMP_NUM_THREADS будет дано в следующем параграфе. Синтаксис оператора. Язык Си #pragma omp parallel [опция[[,] опция]...] Возможные опции: ­ if(условие) – выполнение параллельной области по условию. Вхождение в параллельную область осуществляется только при выполнении некоторого условия.
User nura : 12 мая 2019
550 руб.
Отказоустойчивые вычислительные системы. Лабораторная работа №2
ЛАБОРОТОРНАЯ №2. СОЗДАНИЕ ПАРАЛЛЕЛЬНЫХ ОБЛАСТЕЙ В OpenMP. Цель лабораторной работы – рассмотреть Условия выполнения параллельных областей. Распределение выполняемой программой работы между главно нитью и остальными. 2.1.Обзор директив разделения задач При запуске программы создается процесс и запускается одна нить приложения OpenMP. Первая нить называется главная, она существует на протяжении всего цикла работы программы, в литературе не редко главная нить называется нить-мастер (master threa
User nura : 12 мая 2019
550 руб.
Зачет по дисциплине: Отказоустойчивые вычислительные системы. Билет № 2
Билет № 2 2. Критериями оценки эффективности многопроцессорных вычислительных систем являются: Масштабируемость, Отказоустойчивость, Производительность. Многопроцессорность, Надежность, Вычислительная мощность. Надежность, Производительность, Мультипроцессность. 4. К какому классу в соответствии с систематикой Флинна относятся векторные и векторно-конвейерные ВС? SIMD. SISD. MISD. MIMD. 6. Какие преимущества предоставляет пользователям вычислительных систем с суперкомпьютерным уровнем кластер
User IT-STUDHELP : 18 апреля 2021
400 руб.
promo
Зачет по дисциплине: Отказоустойчивые вычислительные системы. Билет №18
Билет No18 2. Критериями оценки эффективности многопроцессорных вычислительных систем являются: Масштабируемость, Отказоустойчивость, Производительность. Многопроцессорность, Надежность, Вычислительная мощность. Надежность, Производительность, Мультипроцессность. 5. Масштабируемость вычислительных систем – это возможность пропорционального увеличения общей производительности системы путем добавления соответствующих аппаратных ресурсов; масштабное увеличение мощности за определенный промежут
User IT-STUDHELP : 7 февраля 2020
400 руб.
Отказоустойчивые вычислительные системы. Контрольная работа. Вариант 04
Контрольная работа Вариант 4 4. В чем заключаются основные способы достижения параллелизма? 14. Каким требованиям удовлетворяют вычислительные системы, основанные на принципах модульности и близкодействия? 24. Какое ускорение вычислений может достигаться для процессоров с поддержкой одновременной многопотоковости? 34. Как определяются понятия ускорения и эффективности? 44. В чем состоят алгоритмы выполнения передачи данных от одного процессора всем процессорам сети для топологий кольца, решетк
User Михаил18 : 26 сентября 2019
250 руб.
Проект строительства волп Красноярск - Железногорск
В работу входят: диплом титульник вложения презентация графический материал. Сдавалась в 2014 году на хорошо!
User zodiac : 12 августа 2014
700 руб.
Вал вариант 10
Сделано в компас 16+сохранено в джпг. Открывается всеми версиями компаса начиная с 16 Формат А4 Если есть какие-то вопросы или нужно другой вариант, пишите.
User Laguz : 26 июля 2025
60 руб.
Вал вариант 10
Проект вскрытия и разработки открытым способом месторождения по добыче железных руд
Введение Общая часть Краткая географическая справка о месторождении Геология и гидрогеология месторождения Физико-механические свойства руд и вмещающих пород месторождения Горная часть Определение параметров карьера Вскрытие и система разработки месторождения Расчёт комплексной механизации Транспортирование горной массы Отвалообразование вскрышных пород Экономика производства Организация труда на карьере Штаты и штатное расписание Смета затрат на материалы Стоимость затрат на электроэн
User evelin : 29 июля 2015
30 руб.
Сборочные чертежи ИЖ2126
1.Задний мост 2. кронштейн серьги 3.малолистовая рессора 4.передний кронштейн 5.разрезы двигателя Иж 2126 6.редуктор заднего моста 7.стабилизатор задней подвески
User Vas80 : 25 ноября 2011
50 руб.
up Наверх