Презентации лекций в одном файле
.pdf
MPC концепция REPL
int a; repl int b; a=1; b=2;
MPC_Global_barrier(); [mynet:I==1]:{b=3;}
MPC_Global_barrier(); printf(“%d %d\n”,a,b);
1 3
int a; repl int b;
a=2;
b=2; MPC_Global_barrier(); [mynet:I==1]:{b=3;} MPC_Global_barrier(); printf(“%d %d\n”,a,b);
2 3
Класс 4328
МИЭТ
Методы распределения нагрузки
Распараллеливание
По коду (РПК)  | 
|
Репликация  | 
	Фрагментация  | 
кода  | 
	кода  | 
Распараллеливание по коду
Pr 1
CODE  | 
	
  | 
	
  | 
  | 
	Pr 2  | 
	DATA  | 
  | 
	
  | 
|
репликация  | 
	Pr 3  | 
	
  | 
  | 
	
  | 
|
  | 
	Pr 4  | 
	
  | 
По данным  | 
	(РПД)  | 
|
Репликация  | 
	Фрагментация  | 
|
данных  | 
	
  | 
	данных  | 
Распараллеливание по данным
DATA
Pr 1
CODE  | 
	DATA  | 
  | 
|
  | 
	Pr 2  | 
репликация DATA
DATA
репликация  | 
	Pr 3  | 
  | 
|
  | 
	DATA  | 
  | 
	Pr 4  | 
  | 
	
  | 
	DATA1  | 
	
  | 
  | 
	Pr 1  | 
	
  | 
	
  | 
CODE  | 
	
  | 
	DATA2  | 
	DATA  | 
  | 
	
  | 
	
  | 
|
  | 
	Pr 2  | 
	
  | 
	DATA1  | 
  | 
	
  | 
	
  | 
|
  | 
	
  | 
	фрагментация  | 
	DATA2  | 
  | 
	
  | 
	
  | 
|
  | 
	
  | 
	DATA3  | 
	DATA3  | 
  | 
	
  | 
	
  | 
|
репликация  | 
	Pr 3  | 
	
  | 
	
  | 
  | 
	
  | 
	
  | 
|
  | 
	
  | 
	
  | 
	DATA4  | 
  | 
	
  | 
	DATA4  | 
	
  | 
Pr 4
vehicle
•Computational Fluid Dynamics (CFD) Packages used to model vehicle aerodynamics
Source: www.fluent.com/ about/news/pr/pr48.html ; www.fluent.com
•Reservoir simulation packages model oil/gas reservoir rock and fluid properties
Source: http://www.geocap.no/products/a4.eclipse.shtml
Common Job / Task Types
Job
Task  | 
	
  | 
	Task  | 
	
  | 
	Task  | 
	Task  | 
	Task  | 
	
  | 
	Task  | 
	
  | 
  | 
	
  | 
	
  | 
	
  | 
	Task  | 
	Task  | 
	Task  | 
	Task  | 
	Task  | 
	Task  | 
Proc  | 
	Proc  | 
	Proc  | 
	Proc  | 
	Task  | 
	Task  | 
	Task  | 
	
  | 
	Task  | 
	
  | 
  | 
	
  | 
	
  | 
	
  | 
	Parametric Sweep  | 
	
  | 
	
  | 
	
  | 
||
Serial Application  | 
	
  | 
	MPI Application  | 
	
  | 
	
  | 
	Application  | 
	
  | 
	Task flow  | 
	
  | 
|
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
||
  | 
	One Job  | 
	
  | 
	
  | 
	
  | 
	
  | 
	One Job  | 
	
  | 
	
  | 
|
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
|
  | 
	One Task  | 
	
  | 
	
  | 
	
  | 
	
  | 
	Multiple Tasks  | 
	
  | 
	
  | 
|
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
|
Job/Task Conceptual Model
Serial Job  | 
	Parallel MPI Job  | 
	Parameter Sweep Job  | 
||
Task  | 
	Task  | 
	Task  | 
	Task  | 
	Task  | 
Proc  | 
	Proc IPC Proc  | 
	Proc  | 
	Proc  | 
	Proc  | 
  | 
||||
  | 
	
  | 
	Task Flow Job  | 
	
  | 
|
  | 
	
  | 
	Task  | 
	
  | 
	
  | 
  | 
	Task  | 
	
  | 
	
  | 
	Task  | 
Task 
Поток
Самостоятельная цепочка последовательно выполняемых
операторов программы, соответствующих некоторой подзадаче. В адресном пространстве одного процесса может выполняться
несколько потоков.
Все глобальные данные являются общими для различных потоков, выполняющихся в рамках одной программы
локальные данные индивидуальны
Глобальные и локальные данные
глобальные данные - это данные, расположенные в статической памяти и области динамической памяти, выделенные с помощью функций управления динамической памятью
локальные данные это автоматические переменные, т.е. переменные, объявленные внутри функций или составных блоков
1: int a;  | 
	В данном примере переменные a и k,  | 
||
2: main()  | 
	а также область памяти, выделенная в  | 
||
3: {  | 
	
  | 
	строке 7,  | 
|
4:  | 
	double b;  | 
	являются глобальными данными.  | 
|
5:  | 
	static int k;  | 
	Переменные b и p представляют собой  | 
|
6:  | 
	char* p;  | 
	пример локальных данных.  | 
|
7:  | 
	p=(char*)malloc(10);  | 
||
  | 
|||
8: }
Прирост в производительности при использовании потоков
  | 
	
  | 
	
  | 
	Поток 1  | 
Процесс  | 
	Поток  | 
	Процесс  | 
	Поток 2  | 
  | 
|||
  | 
	
  | 
	
  | 
	Поток 3  | 
При создании двух потоков в рамках одного процесса для получения ускорения необходимо, чтобы оба потока выполнялись разными процессорными устройствами,
что невозможно, если весь процесс рассматривается планировщиком как единое целое.
