Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Виртуальные топологии. Декартова и графовая топологии. В каких случаях их следует использовать. Основные шаги для создания декартовой топологии




В MPI топология представляет собой механизм для того, чтобы связать с процессами, принадлежащими группе, различные схемы адресации. Топология MPI - виртуальная, т. е. может не существовать никакого простого отношения между структурой процессов, определенной виртуальной топологией и фактической физической структурой параллельной машины. Известны два основных типа виртуальной топологии, которая может быть создана MPI, - декартова топология, или топология сетки, и топология графа. Первый тип является подмножеством второго. В дек. топ. множ-во процессов предст-ся в виде прям. решетки, а для указ. процессов исп-ся дек. сист. коорд. Для созд-я: int MPI_Cart_create(MPI_Comm oldcomm, int ndims, int *dims, int *periods, int reorder, MPI_Comm *cartcomm), где: oldcomm - исх. комм; ndims - разм. дек. решетки, dims - массив длины ndims, задает кол-во процессов каждом изм. решетки, periods - массив длины ndims, определяет, явл-ся ли решетка периодич. вдоль каждого изм; reorder - параметр допустимости изм. нум. процессов, cartcomm – созд-е. комм. с дек. топ. процесса. В топологии в виде графа - вершины есть процессы системы, а дуги соответствуют имеющимся каналам связи. Парные операции передачи данных могут быть выполнены между любыми процессами комм; в коллект. операции приним. участие все процессы комм. Следовательно, логическая топ. линий связи между процессами в парал. программе имеет структуру полного графа.

Параллельное умножение матрицы и вектора в MPI.

int size,rank;

MPI_Status status;

MPI_Init(&argc,&argv);

MPI_Comm_rank(MPI_COMM_WORLD,&rank);

MPI_Comm_size(MPI_COMM_WORLD,&size);

int i,k,j,s,x=0,p;

int n=10, a[n][n], c[n], b[n], d[p];

p=n/(size-1);

for (i=0;i<n;i++)

{

b[i]=i; for(j=0;j<n;j++) { a[i][j]=x;x++; }

}

if (rank!=size-1)

{ for(k=rank*p;k<p*(rank+1);k++) {

s=0; for(int j=0;j<n;j++)

{ s+=a[k][j]*b[j]; } d[k]=s; }

MPI_Send(&d[rank*p],p,MPI_DOUBLE,size-1,5,MPI_COMM_WORLD);

}

else

{ for (i=0; i<size-1;i++) { MPI_Recv(&c[i*p],p,MPI_DOUBLE,i,5,MPI_COMM_WORLD, &status); } }

 

Сурак

Таксономия Флинна. Архитектуры MISD, MIMD.

В литературе часто используется та или иная схема классификации компьютерных архитектур и одной из наиболее популярных является таксономия Флинна. В ее основу положено описание работы компьютера с потоком команд и потоком данных. По Флинну принято классифицировать все возможные архитектуры компьютеров на четыре категории:

SISD (Single Instruction Stream - Single Data Stream) – одинпотоккомандиодинпотокданных;

SIMD (Single Instruction Stream –Multiple Data Stream) – одинпотоккомандимножествопотоковданных;

MISD (Multiple Instruction Stream –Single Data Stream) – множествопотоковкомандиодинпотокданных;

MIMD (Multiple Instruction Stream –Multiple Data Stream) – множествопотоковкомандимножествопотоковданных

MISD компьютеры

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

MIMD компьютеры

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

 

 





Поделиться с друзьями:


Дата добавления: 2016-07-29; Мы поможем в написании ваших работ!; просмотров: 734 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Лучшая месть – огромный успех. © Фрэнк Синатра
==> читать все изречения...

2205 - | 2091 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.011 с.