Читайте также:
|
|
Белевский В.А.
Задания на лабораторные работы по курсу «Параллельные вычисления»
САПР-101, 2007/2008
Изменен 2014.
Лабораторная работа №1.
Разработка параллельных алгоритмов.
Реализовать соответствующий вашему варианту (см. ниже) вычислительный алгоритм в виде обычного однопоточного приложения. Выделить части вычислительного алгоритма, которые могут выполняться независимо друг от друга и реализовать каждую из них в виде отдельной функции.
Запустить каждую функцию по отдельности и засечь время ее выполнения (провести не менее 3-х экспериментов). На основе полученных значений сравнить время выполнения всей зачади для следующих случаев:
Лабораторная работа №2.
Многопоточные приложения.
Оформить функции, полученные в Лабораторной работе №1 в виде отдельных потоков. Число потоков должно быть произвольных и иметь возможность изменяться по желанию пользователя. При разработке приложения обеспечить возможность визуального контроля за прогрессом выполнения потоков.
Запустить все потоки одновременно и засечь время выполнения всей задачи. Запустить потоки последовательно, друг за другом, засечь время выполнения задачи и сравнить его со временем одновременного выполнения.
Лабораторная работа №3.
Распределенные сетевые вычисления.
Оформить функции, полученные в Лабораторной работе №1 в виде отдельных приложений-агентов. Используя механизм сокетов Windows, связать приложения-агенты с пользовательским приложением, которое будет распределять вычислительную нагрузку между подключившимся к нему клиентами. Получившаяся вычислительная система будет иметь следующую архитектуру.
Допускает использовать структуру с несколькими приложениями серверами и одним подключающимся к ним приложением-клиентом.
Число исполнительных модулей может быть произвольным, однако можно считать, что в процессе выполнения задачи число исполнительных модулей не изменяется.
Сравнить общее время выполнения задачи в следующих случаях:
Дата добавления: 2015-02-16; просмотров: 27 | Поможем написать вашу работу | Нарушение авторских прав |