Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПЗ_курс2.docx
Скачиваний:
17
Добавлен:
07.02.2016
Размер:
511.77 Кб
Скачать

4 Примеры программ с использованием mpj экспресс

Програамма разработана на основе MPJ экспресс. Мы используем метод Монте-Карло для нахождения приблизительного значения числа ПИ.

Метод Монте-Карло – это общее название группы численных методов, основанных на получении большого числа реализаций стохастического (случайного) процесса, который формируется таким образом, чтобы его вероятностные характеристики совпадали с аналогичными величинами решаемой задачи. Используется для решения задач в различных областях физики, химии, математики, экономики, оптимизации, теории управления и др.

Для вычислений мы используем следующую формулу формулу:

В программе мы определяем количество процессов и передаем количество интервалов:

args=MPI.Init(args);

int me = MPI.COMM_WORLD.Rank();

int size = MPI.COMM_WORLD.Size();

intervals[0]=NUM;

Затем мы проводим вычисления по заданной формуле, вычисляя значение ПИ:

for (int i = me + 1; i <= n; i += size)

{

x = h * ((double)i - 0.5);

sum += (4.0 / (1.0 + x*x));

}

mypi[0] = h * sum;

double end = MPI.Wtime();

И выводим результаты на экран:

System.out.println("done!");

System.out.format("Time: %f seconds\n",end-start);

System.out.format("Pi is approximately %.16f\n",pi[0]);

System.out.format("Error is %.16f\n",pi[0]-MonteCarloPi.PI);

В результате работы программы мы получим приблизительное значение числа ПИ :

Листниг программы представлен в Приложении А

ВЫВОДЫ

В данной курсовой работе мы познакомились с MPJ Экспресс, рассмотрели, какие существуют коммуникации разделяемой памяти MPJ Экспресс, а так же способы настройки и отладки MPJ Экспресс для ПК.

Технология MPJ экспресс это реализация MPI для java, тоесть у них обеих одинакомые названия функций, методов итд, но MPI на С имеет преймуществно над MPJ в быстродействии. Помимо все этого MPJ имеет и свои недостатки : операция объединения реализуется с ограниченной функциональностью, любое сообщение, отправленное с MPI.PACK можно получить только с помощью MPI.PACK как типа данных. Позже, MPI.Unpack (..) может быть использован, чтобы распаковывать различные типы данных и другие.

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

В данной курсовой работе с помощью технологии MPJ экспресс было разработано приложение реализующее метод Монте-Карло для нахождения числа ПИ.

Список использованой литературы

  1. Mark Baker, Bryan Carpenter, Geoffrey Fox, Sung Hoon Ko, and Sang Lim. An Object-Oriented Java interface to MPI. In Proceedings of the International Workshop on Java for Parallel and Distributed Computing, San Juan, Puerto Rico, April 1999.

  2. Markus Bornemann, Rob van Nieuwpoort, and Thilo Kielmann. MPJ/Ibis: A Flexible and Efficient Message Passing Platform for Java. In Proceedings of the 12th European PVM/MPI Users’ Group Meeting, Lecture Notes in Computer Science, pages 217–224. Springer, 2005.

  3. Darius Buntinas, Guillaume Mercier, and William Gropp. Implementation and evaluation of sharedmemory communication and synchronization operations in mpich2 using the nemesis communication subsystem. Parallel Computing, 33(9):634–644, 2007.

  4. Bryan Carpenter, Guansong Zhang, Geoffrey Fox, Xinying Li, and Yuhong Wen. HPJava: Data Parallel Extensions to Java. Concurrency: Practice and Experience, 10(11-13):873–877, 1998.

  5. Jack Dongarra, Dennis Gannon, Geoffrey Fox, and Ken Kennedy. The impact of multicore on computational science software. CTWatch Quarterly, 3(1), February 2007.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]