Из этого последует выигрыш по времени в 300-400% при решении комплекса задач при различных параметрах (при различной кривизне и толщине оболочки, при различных величинах нагрузки)


перейти к полному списку дипломных проектов

Ссылка на скачивания файла в формате .doc находится в конце странички

Из этого последует выигрыш по времени в 300-400% при решении комплекса задач при различных параметрах (при различной кривизне и толщине оболочки, при различных величинах нагрузки)

"hosts": здесь можно указать через пробел список вычислительных узлов, используемых для запуска MPI-программы. Если это поле пустое, то используется список, хранящийся в настройках менеджера процессов текущего узла.

"environment variables": в этом поле можно указать значения дополнительных переменных окружения, устанавливаемых на всех узлах на время запуска MPI-программы. Синтаксис следующий: имя1=значение1, имя2=значение2.

"drive mappings": здесь можно указать сетевой диск, подключаемый на каждом вычислительном узле на время работы MPI-программы. Синтакис: Z: \\winsrv\wdir.

"channel": позволяет выбрать способ передачи данных между экземплярами MPI-программы.

"extra mpiexec options": в это поле можно ввести дополнительные ключи для командной строки Mpiexec.

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

Глава 4. Алгоритмы решения задач устойчивости для подкрепленных пологих оболочек, основанные на распараллеливании процесса вычисления

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

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

Решить эту задачу можно путем заготовки заранее вычисленных интегралов и сохранение их в отдельной базе данных (БД). Каждому набору аппроксимирующих функций будет соответствовать БД с вычисленными интегралами. Главная задача будет состоять в построении правильной выборки значений для каждого количества аппроксимирующих членов. Схематично этот процесс показан ниже (табл.1).

Посторенние корректного запроса и его посылка в БД занимают гораздо меньше временных и процессорных ресурсов, чем вычисление интеграла. Из этого последует выигрыш по времени в 300-400% при решении комплекса задач при различных параметрах (при различной кривизне и толщине оболочки, при различных величинах нагрузки).

Следующим шагом в ускорении вычислений является частичное распараллеливание процесса вычисления.

Для этого используется MPI.

Табл.1. Пример проведения выборки из БД в зависимости от числа аппроксимирующих функций

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

скачать бесплатно АЛГОРИТМЫ ПАРАЛЛЕЛЬНЫХ ПРОЦЕССОВ ПРИ ИССЛЕДОВАНИИ УСТОЙЧИВОСТИ ПОДКРЕПЛЕННЫХ ПОЛОГИХ ОБОЛОЧЕК

Содержание дипломной работы

7),   Функции изменения кривизн  и кручения  принимают вид   (8) Выражения для  здесь принимают вид   (9) Глава 2
Таким образом, в зависимости от физической линейности или нелинейности вызываются соответствующие блоки
По заданному фильтру производится расчет полей прогибов и напряжений для физически линейной или нелинейной задачи
Для оценки эффективности его качества применяются следующие критерии: Ускорение , где  - время исполнения распараллеленной программы на p процессорах,  - время исполнения исходной программы
Основным средством коммуникации между процессами в MPI является передача сообщений друг другу
В дальнейшем будем предполагать, что имеется сеть из нескольких компьютеров (будем называть их вычислительными узлами), работающих под управлением Windows
Кроме того, можно указать имя пользователя и пароль: процессы MPI-программы будут запускаться от имени этого пользователя
Программы MPICH в списке исключений брандмауэра Если какая-то из перечисленных программ отсутствует в списке разрешённых программ, то вы необходимо добавить её вручную
При выборе компьютера в списке компьютеров его имя автоматически вводится в поле "Host"
6 Создание общего сетевого ресурса Для удобного запуска MPI-программ следует создать на одном из компьютеров общий сетевой ресурс с правом полного доступа для всех пользователей
Из этого последует выигрыш по времени в 300-400% при решении комплекса задач при различных параметрах (при различной кривизне и толщине оболочки, при различных величинах нагрузки)
В качестве тестовых систем были использованы следующие ПК: Intel Core 2 Duo 2,0 Ггц, 2 Гб оперативной памяти; Intel Xeon 2x2,66 Ггц, 4 Гб оперативной памяти
В
- Саратов: Изд-во Сарат
Приложения на отдельных платформах могут, тем не менее, иметь причины для использования функций ввода/вывода самой платформы вместо функций stdio
0,a,5, i,j); case 4: return 2*h*mu*simpsonFx (0
0, endwtime; int rc; MPI_Status status; rc = MPI_Init (argc,argv); rc|= MPI_Comm_size (MPI_COMM_WORLD,numprocs); rc|= MPI_Comm_rank (MPI_COMM_WORLD,myid); if (rc! = 0) printf ("error initializing MPI and obtaining task ID information\n"); MPI_Get_processor_name (processor_name,namelen); fprintf (stdout,"Process%d of%d is on%s\n", myid, numprocs, processor_name); fflush (stdout); // функция начала замера времени вычисления
setvalue (2*N+i,N+j,C (8, i,j)); printf ("C8 [%d,%d]: =%
settoproduct (M1,M2); // сравнение полученной единичной матрицы с эталоном единичной матрицы M3
getvalue (i,j,rv,xyz); std:: cout << rv << " "; } std:: cout << std:: endl; } }; void comparetoidentity () { int worstdiagonal = 0; D maxunitydeviation = 0
, нами было разработано и проведено 6 занятий по 3D моделированию, позволяющих изучить основы 3D моделирования

заработать

Закачай файл и получай деньги