М.В. Якобовский Е.Ю. Кулькова
РЕШЕНИЕ ЗАДАЧ НА МНОГОПРОЦЕССОРНЫХ ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМАХ С РАЗДЕЛЯЕМОЙ ПАМЯТЬЮ
Москва ...
12 downloads
159 Views
658KB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
М.В. Якобовский Е.Ю. Кулькова
РЕШЕНИЕ ЗАДАЧ НА МНОГОПРОЦЕССОРНЫХ ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМАХ С РАЗДЕЛЯЕМОЙ ПАМЯТЬЮ
Москва 2004
-2УДК 681.324.012:519.6 Якобовский М.В., Кулькова Е.Ю. Решение задач на многопроцессорных вычислительных системах с разделяемой памятью. - М.: Станкин, 2004.- 30 с. Учебное пособие посвящено вопросам использования многопроцессорных вычислительных систем с общей памятью. На примере алгоритма численного интегрирования одномерной функции рассматриваются вопросы построения эффективных параллельных алгоритмов, обеспечения защиты разделяемых переменных и обеспечения динамической балансировки загрузки процессоров. Для специалистов по математическому моделированию, аспирантов и студентов, использующих в своей практике многопроцессорные системы. Объем – 2 а.л.
Станкин, 2004
-3-
Введение На примере задачи вычисления определенного интеграла от аналитически заданной функции рассматриваются алгоритмы, минимизирующие время решения задачи на многопроцессорной вычислительной системе. Их использование обеспечивает снижение времени решения задачи относительно «наилучшего» доступного последовательного алгоритма. Определение эффективности параллельного алгоритма относительно собственной же последовательной версии, как правило, не корректно. Обладающий высокой эффективностью параллельный алгоритм может по времени выполнения проигрывать лучшему из доступных последовательных алгоритмов решения той же задачи. Далее рассматриваются алгоритмы, минимизирующие именно время решения задачи, оперирующей относительно небольшим объемом данных. Применяемые подходы могут быть полезны при решении широкого круга проблем.
Интегрирование одномерной функции на многопроцессорной системе с общей памятью В качестве модельной задачи рассматривается проблема вычисления с точностью ε значение определенного интеграла (1): B
J ( A, B ) = ∫ f ( x )dx ,
(1)
A
Пусть на отрезке [A,B] задана равномерная сетка, содержащая n+1 узел: xi = A +
B−A i, i = 0,", n n
(2)
Тогда, согласно методу трапеций, можно численно найти определенный интеграл от функции f (x ) на отрезке [A,B]: J n ( A, B ) =
f ( xn ) B − A f ( x0 ) n−1 + ∑ f ( xi ) + i =1 n 2 2
(3)
Будем полагать значение J найденным с точностью ε, если выполнено условие (4): J n1 − J n 2 ≤ ε J n 2 , n1 > n2 ,
(4)
-4-
где n1 и n2 - количество узлов, образующих две разные сетки. Последовательные алгоритмы Метод трапеций Рассмотрим алгоритм, реализующий метод трапеций: IntTrap01(A,B) { n=1 J2n=(f(A)+f(B))(B-A)/2 do { Jn= J2n n=2n s=f(A)+f(B) for(i=1;i