SlideShare a Scribd company logo
1 of 45
Программное обеспечение  массивно-параллельной системы  IBM Blue Gene/P Попова Н.Н., доцент, ВМК МГУ Воронова В. – выпускница ВМК МГУ Глазкова Е. – студентка ВМК МГУ 2 7.10.2009 ННГУ им. Н.И. Лобачевского, Нижний Новгород, 26-31 октября 2009 г. Молодежная школа: «Суперкомпьютерные технологии в науке, промышленности и образовании»
Обзор программного обеспечения Blue Gene/P ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],ННГУ им. Н.И. Лобачевского, Нижний Новгород, 26-31 октября 2009 г.
Состав ПО ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],ННГУ им. Н.И. Лобачевского, Нижний Новгород, 26-31 октября 2009 г.
Режимы выполнения процессов в системе  Blue Gene/P ,[object Object],[object Object],[object Object],ННГУ им. Н.И. Лобачевского, Нижний Новгород, 26-31 октября 2009 г.
Особенности реализации  MPI  на  Blue Gene / P ,[object Object],[object Object],[object Object],[object Object],[object Object],ННГУ им. Н.И. Лобачевского, Нижний Новгород, 26-31 октября 2009 г.
MPIX ( расширение  MPI  для  Blue Gene/P) ,[object Object],[object Object],[object Object],Создает набор коммуникаторов, где все узлы принадлежащие одному коммуникатору имеют общий узел ввода/вывода. ННГУ им. Н.И. Лобачевского, Нижний Новгород, 26-31 октября 2009 г.
[object Object],[object Object],MPIX ( расширение  MPI  для  Blue Gene/P) ННГУ им. Н.И. Лобачевского, Нижний Новгород, 26-31 октября 2009 г.
Протоколы  передачи сообщений  в сети «точка-точка» ,[object Object],[object Object],[object Object],[object Object],ННГУ им. Н.И. Лобачевского, Нижний Новгород, 26-31 октября 2009 г.
[object Object],[object Object],[object Object],Сеть точка-точка ННГУ им. Н.И. Лобачевского, Нижний Новгород, 26-31 октября 2009 г.
Исследование эффективности реализации 3-мерной задачи Дирихле на  Blue Gene/P ННГУ им. Н.И. Лобачевского, Нижний Новгород, 26-31 октября 2009 г.
Задача Дирихле ,[object Object],Подобная модель может применяться для описания установившегося  течения жидкости ,  стационарных тепловых полей ,  процессов теплопередачи   с внутренними источниками тепла и  деформации упругих пластин . где  u(x, y, z)  -  функция, удовлетворяющая в области   D   уравнению Лапласа и принимающая на границе  D 0  области  D   значения   g(x, y, z). ННГУ им. Н.И. Лобачевского, Нижний Новгород, 26-31 октября 2009 г. (1)
Постановка задачи. Разностная схема. ,[object Object],ННГУ им. Н.И. Лобачевского, Нижний Новгород, 26-31 октября 2009 г. (2) где  - шаг сетки,  - значение функции  u(x, y, z)  в точке где  M, N, L   - количество внутренних узлов по каждой координате в области   D .
Постановка задачи. Метод Якоби. ,[object Object],ННГУ им. Н.И. Лобачевского, Нижний Новгород, 26-31 октября 2009 г. (3) где   n  - номер итерации.
Метод Якоби – тестовая задача. ,[object Object],[object Object],[object Object],ННГУ им. Н.И. Лобачевского, Нижний Новгород, 26-31 октября 2009 г.
Особенности архитектуры системы  Blue Gene/P.  Сети. ,[object Object],[object Object],[object Object],[object Object],[object Object],ННГУ им. Н.И. Лобачевского, Нижний Новгород, 26-31 октября 2009 г.
Особенности архитектуры системы  Blue Gene/P.  Параметры настройки. ,[object Object],[object Object],[object Object],[object Object],ННГУ им. Н.И. Лобачевского, Нижний Новгород, 26-31 октября 2009 г.
Режимы выполнения процессов в системе  Blue Gene/P ,[object Object],[object Object],[object Object],ННГУ им. Н.И. Лобачевского, Нижний Новгород, 26-31 октября 2009 г.
Назначение процессов на процессоры.  map -файл. ,[object Object],[object Object],[object Object],[object Object],[object Object],ННГУ им. Н.И. Лобачевского, Нижний Новгород, 26-31 октября 2009 г.
Назначение процессов на процессоры.  map -файл. ,[object Object],[object Object],3 3 1 2 2 0 6 0 1 3 1 3 2 2 2 2 1 1 7 1 2 0 3 1 1 2 4 3 0 1 2 3 1 3 7 2 0 2 5 0 2 1 3 3 3 2 6 2 2 1 0 2 3 2 1 1 … .. Фрагмент файла, задающего  mapping , сгенерированный случайным образом. X Y Z T 0 -й процесс 1-й процесс ННГУ им. Н.И. Лобачевского, Нижний Новгород, 26-31 октября 2009 г.
Краткое описание реализации алгоритма. ,[object Object],[object Object],[object Object],ННГУ им. Н.И. Лобачевского, Нижний Новгород, 26-31 октября 2009 г.
Структура алгоритма. // действия, выполняемые на каждом процессоре do { // обмен гран ицами  с соседями // обработка блока // вычисление общей   //  погрешности вычислений while (Δ < eps );   Схема обмена данными: направления взаимодействия между соседними процессами.  ННГУ им. Н.И. Лобачевского, Нижний Новгород, 26-31 октября 2009 г.
Распределение данных. ,[object Object],[object Object],ННГУ им. Н.И. Лобачевского, Нижний Новгород, 26-31 октября 2009 г.
Виртуальная топология  MPI . ,[object Object],[object Object],ННГУ им. Н.И. Лобачевского, Нижний Новгород, 26-31 октября 2009 г.
Виртуальная топология  MPI . ,[object Object],Рис. Объем коммуникаций при различных виртуальных топологиях  MPI . ННГУ им. Н.И. Лобачевского, Нижний Новгород, 26-31 октября 2009 г. 2304 2560 1280 z x y
Результаты экспериментов. Распределение данных полосами. Первоначально тесты проводились на партиции из  128  вычислительных узлов ( 512 ядер ). Размер задачи  2304*1280*2560 элементов типа  double. Рис  1 . Размер 1 сообщения - теневой грани (количество чисел типа  double ) при различных используемых виртуальных топологиях одномерной решетки.
Результаты экспериментов. Распределение данных полосами. Среднее время выполнения для различных виртуальных топологий в режиме SMP на 128 вычислительных узлах при распределении данных полосами. ННГУ им. Н.И. Лобачевского, Нижний Новгород, 26-31 октября 2009 г.
Результаты экспериментов. Распределение данных блоками. Среднее время выполнения для различных виртуальных топологий в режиме SMP на 128 вычислительных узлах при распределении данных блоками. ННГУ им. Н.И. Лобачевского, Нижний Новгород, 26-31 октября 2009 г.
Фрагменты программы. struct Matrix3. struct Matrix3 { int size_x, size_y, size_z; double * data; Matrix3 (int m, int n, int k); /* индекс в одномерном массиве */ int ind (int i, int j, int k);   double & el(int i, int j, int k); void print(); void fill(); ~Matrix3(); }; ННГУ им. Н.И. Лобачевского, Нижний Новгород, 26-31 октября 2009 г.
Фрагменты программы. struct Process. struct Process { Process(int size_x, int size_y, int size_z, int proc_number[], double eps); int jacobi_method();//метод Якоби void PrintAllData(); int size, rank; private: MPI_Comm cart_comm; int proc_number[3]; //количество процессов в каждом измерении int coords[3]; double eps; //точность Matrix3 block1, block2;//текущее значение блока и буфер с предыдущим int current_block;//куда записывается значение новой итерации   ННГУ им. Н.И. Лобачевского, Нижний Новгород, 26-31 октября 2009 г.
Фрагменты программы.  struct Process Matrix2 up, down, left, right, front, back; //границы или теневые грани // буфера для формирования сообщений Matrix2 buf_up, buf_down, buf_left, buf_right;  omp_lock_t dmax_lock; double jacobi_iteration();//итерация метода Якоби void CreateCommunicator(); void FillData(); void ExchangeData(); }; void Process :: CreateCommunicator() { int Periods[3] = {0, 0, 0}; //коммуникатор - трехмерная решетка MPI_Cart_create(MPI_COMM_WORLD, 3, proc_number, Periods, 0, &cart_comm); MPI_Cart_coords(cart_comm, rank, 3, coords); } ННГУ им. Н.И. Лобачевского, Нижний Новгород, 26-31 октября 2009 г.
Фрагменты программы.  main. int main(int argc, char * argv[]) { int data_size[3]; int block_number[3]; double eps; AnalyseCommandString(argc, argv, data_size, block_number, eps); MPI_Init(&argc, &argv); Process P(data_size[0]/block_number[0], data_size[1]/block_number[1],  data_size[2]/block_number[2], block_number, eps); P.PrintAllData(); double time1, time2; time1 = MPI_Wtime(); P.jacobi_method(); time2 = MPI_Wtime(); P.PrintAllData(); if (P.rank == 0) cout << time2 - time1 << endl; MPI_Finalize(); } ННГУ им. Н.И. Лобачевского, Нижний Новгород, 26-31 октября 2009 г.
Фрагменты программы.  j acobi_method()   int Process :: jacobi_method() { double delta, delta_local; int i = 0; do { i++; current_block = i%2 + 1; ExchangeData(); // обмен теневыми гранями delta_local = jacobi_iteration(); // выполнение редукционной операции MPI_Allreduce(&delta_local, &delta, 1, MPI_DOUBLE,  MPI_SUM, MPI_COMM_WORLD); delta = sqrt(delta); current_block = (current_block == 1) ? BLOCK2 : BLOCK1; }  while(delta > eps); if (rank == 0) cout <<&quot; delta = &quot; << delta << endl; return i; } ННГУ им. Н.И. Лобачевского, Нижний Новгород, 26-31 октября 2009 г.
Обмен данными в программе. ,[object Object],[object Object],[object Object],[object Object],Обмен данными вдоль одного измерения   ННГУ им. Н.И. Лобачевского, Нижний Новгород, 26-31 октября 2009 г.
Фрагменты программы. Обмен данными - влево вдоль оси  X. MPI_Cart_shift (cart_comm, 0, -1, &rank_recv, &rank_send); if (coords[0] != 0 && coords[0] != proc_number[0] - 1) { MPI_Sendrecv (buf_left.data, size_y * size_z, MPI_DOUBLE,  rank_send, TAG_X,   right.data, size_y * size_z, MPI_DOUBLE,  rank_recv, TAG_X, cart_comm, &status); }  else if (coords[0] == 0 && coords[0] != proc_number[0] – 1){ MPI_Recv (right.data, size_y * size_z, MPI_DOUBLE,  rank_recv,   TAG_X, cart_comm, &status); } else if (coords[0] == proc_number[0] - 1 && coords[0] != 0){ MPI_Send (buf_left.data, size_y * size_z, MPI_DOUBLE,  rank_send, TAG_X, cart_comm); } ННГУ им. Н.И. Лобачевского, Нижний Новгород, 26-31 октября 2009 г.
Пример командного  (.jcf)  файла. #@ job_type = bluegene #@ class = n2048_m30 #@ initialdir = /gpfs/data/kaelin/jacobi #@ error = jacobi_p.$(jobid).err #@ output = jacobi_p.$(jobid).out #@ wall_clock_limit = 00:30:00 #@ bg_size = 2048 #@ queue /bgsys/drivers/ppcfloor/bin/mpirun  -exe /gpfs/data/kaelin/jacobi/jac_Hdebug -env OMP_NUM_THREADS=4 -mode SMP -mapfile XYZ -args &quot;9216 2560 5120 32 8 8 5&quot; llsubmit test.jcf   постановка задачи в очередь llq  просмотреть очередь заданий llcancel fen1.157.0   удалить задание из очереди ННГУ им. Н.И. Лобачевского, Нижний Новгород, 26-31 октября 2009 г.
Профилирование. Библиотека  mpiP. (http://mpip.sourceforge.net)   ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],ННГУ им. Н.И. Лобачевского, Нижний Новгород, 26-31 октября 2009 г.
Файла вывода библиотеки  MpiP. @ mpiP @ Command : /gpfs/data/kaelin/jacobi/jac_Hdebug 2304 1280 2560 1 1 128 5  @ Version  : 3.1.2 @ MPIP Build date  : Mar  9 2009, 22:17:50 @ Start time  : 1970 01 01 00:00:40 @ Stop time  : 1970 01 01 00:01:42 @ Timer Used  : gettimeofday @ MPIP env var  : [null] @ Collector Rank  : 0 @ Collector PID  : 100 @ Final Output Dir  : . @ Report generation  : Single collector task @ MPI Task Assignment  : 0 Rank 0 of 128 <0,0,0,0>  R01-M1-N08-J23 @ MPI Task Assignment  : 1 Rank 1 of 128 <1,0,0,0>  R01-M1-N08-J04 @ MPI Task Assignment  : 2 Rank 2 of 128 <2,0,0,0>  R01-M1-N08-J12 @ MPI Task Assignment  : 3 Rank 3 of 128 <3,0,0,0>  R01-M1-N08-J31 ННГУ им. Н.И. Лобачевского, Нижний Новгород, 26-31 октября 2009 г.
Файл вывода библиотеки  MpiP. ННГУ им. Н.И. Лобачевского, Нижний Новгород, 26-31 октября 2009 г. ------------------------------------- @--- MPI Time (seconds) ------------- ------------------------------------- Task  AppTime  MPITime  MPI%   0  61.7  2.78  4.50   1  61.7  2.78  4.50   2  61.7  2.78  4.50   3  61.7  2.78  4.50 AppTime  –  общее время работы приложения MPITime  –  время, которое заняли  MPI- вызовы ----------------------------------------------------------- @--- Callsites: 34 ---------------------------------------- -----------------------------------------------------------  ID Lev File/Address  Line Parent_Funct  MPI_Call   1  0 0x01002517  [unknown]  Recv   2  0 0x01002477  [unknown]  Send   3  0 0x010029db  [unknown]  Allreduce Вызовы  MPI- функций:
Файл вывода библиотеки  MpiP. ННГУ им. Н.И. Лобачевского, Нижний Новгород, 26-31 октября 2009 г. --------------------------------------------------------- - @-   Aggregate Time (top twenty, descending, milliseconds)-- ---------------------------------------------------------- Call  Site  Time  App%  MPI%  COV Sendrecv  31  1.6e+05  2.02  44.92  0.02 Sendrecv  32  1.59e+05  2.02  44.83  0.01 Allreduce  11  1.48e+04  0.19  4.16  0.21 20  MPI- вызовов, занявших наибольшее суммарное (сумма - по всем вызовам и процессам время) . -------------------------------------------------------------- @- Aggregate Sent Message Size (top twenty, descending, bytes) -------------------------------------------------------------- Call  Site  Count  Total  Avrg  Sent% Sendrecv  32  2520  5.95e+10  2.36e+07  49.61 Sendrecv  31  2520  5.95e+10  2.36e+07  49.61 20  MPI- вызовов, передавших наибольший суммарный объем сообщений (сумма - по всем вызовам и процессам) .
Файл вывода библиотеки  MpiP. ННГУ им. Н.И. Лобачевского, Нижний Новгород, 26-31 октября 2009 г. ---------------------------------------------------------- @--- Callsite Time statistics (all, milliseconds): 3840 -- ---------------------------------------------------------- Name  Site Rank  Count  Max  Mean  Min  App%  MPI% Sendrecv  32  1  20  63.1  63  63  2.04  45.35 Sendrecv  32  2  20  63.7  63  63  2.04  45.35 Sendrecv  32  3  20  63  63  63  2.04  45.33 Sendrecv  32  4  20  63.1  63  63  2.04  45.34 ...................................................... ... Sendrecv  32  *  2520  187  63.3  62.9  2.02  44.83 Общая статистика для этого вызова по всем  MPI- процессам Статистика для времени отдельных  MPI- вызовов (аналогичная таблица есть для размеров сообщений).
Распределение данных полосами.  Mapping. Среднее время выполнения для различного mappinga в режиме SMP на 128 вычислительных узлах при виртуальной топологии 1*1*128. ННГУ им. Н.И. Лобачевского, Нижний Новгород, 26-31 октября 2009 г.
Распределение данных полосами.  Mapping. Среднее время выполнения для различного mappinga в режиме DUAL на 128 вычислительных узлах при виртуальной топологии 1*1*256. ННГУ им. Н.И. Лобачевского, Нижний Новгород, 26-31 октября 2009 г.
Распределение данных полосами.  Mapping. Среднее время выполнения для различного mappinga в режиме VN на 128 вычислительных узлах при виртуальной топологии 1*1*512. ННГУ им. Н.И. Лобачевского, Нижний Новгород, 26-31 октября 2009 г.
Результаты экспериментов. Блочное распределение. Масштабируемость. Организация эксперимента по исследованию масштабируемости. Направления увеличения размер ов  задачи и партиции. ННГУ им. Н.И. Лобачевского, Нижний Новгород, 26-31 октября 2009 г.
Результаты экспериментов. Блочное распределение. Масштабируемость. Время выполнения главного цикла программы для различных виртуальных топологий и размеров партиции.  (режим  SMP) ННГУ им. Н.И. Лобачевского, Нижний Новгород, 26-31 октября 2009 г.

More Related Content

What's hot

Распределенные мультикластерные вычислительные системы и параллельное мультип...
Распределенные мультикластерные вычислительные системы и параллельное мультип...Распределенные мультикластерные вычислительные системы и параллельное мультип...
Распределенные мультикластерные вычислительные системы и параллельное мультип...
Mikhail Kurnosov
 
Introduction in CUDA (1-3)
Introduction in CUDA (1-3)Introduction in CUDA (1-3)
Introduction in CUDA (1-3)
Alexander Mezhov
 
Использование Time-Stamp Counter для измерения времени выполнения кода на пр...
Использование Time-Stamp Counter для измерения времени выполнения кода  на пр...Использование Time-Stamp Counter для измерения времени выполнения кода  на пр...
Использование Time-Stamp Counter для измерения времени выполнения кода на пр...
Mikhail Kurnosov
 
Multiprocessor Programming Intro (lecture 1)
Multiprocessor Programming Intro (lecture 1)Multiprocessor Programming Intro (lecture 1)
Multiprocessor Programming Intro (lecture 1)
Dmitry Tsitelov
 
Лекция 7: Многопоточное программирование: часть 3 (OpenMP)
Лекция 7: Многопоточное программирование: часть 3 (OpenMP)Лекция 7: Многопоточное программирование: часть 3 (OpenMP)
Лекция 7: Многопоточное программирование: часть 3 (OpenMP)
Mikhail Kurnosov
 
Лекция 4: Оптимизация доступа к памяти (Memory access optimization, caches)
Лекция 4: Оптимизация доступа к памяти (Memory access optimization, caches)Лекция 4: Оптимизация доступа к памяти (Memory access optimization, caches)
Лекция 4: Оптимизация доступа к памяти (Memory access optimization, caches)
Mikhail Kurnosov
 

What's hot (20)

Распределенные мультикластерные вычислительные системы и параллельное мультип...
Распределенные мультикластерные вычислительные системы и параллельное мультип...Распределенные мультикластерные вычислительные системы и параллельное мультип...
Распределенные мультикластерные вычислительные системы и параллельное мультип...
 
Семинар 12. Параллельное программирование на MPI (часть 5)
Семинар 12. Параллельное программирование на MPI (часть 5)Семинар 12. Параллельное программирование на MPI (часть 5)
Семинар 12. Параллельное программирование на MPI (часть 5)
 
Лекция 3. Оптимизация доступа к памяти (Memory access optimization, cache opt...
Лекция 3. Оптимизация доступа к памяти (Memory access optimization, cache opt...Лекция 3. Оптимизация доступа к памяти (Memory access optimization, cache opt...
Лекция 3. Оптимизация доступа к памяти (Memory access optimization, cache opt...
 
Векторизация кода (семинар 1)
Векторизация кода (семинар 1)Векторизация кода (семинар 1)
Векторизация кода (семинар 1)
 
Лекция 5. Основы параллельного программирования (Speedup, Amdahl's law, Paral...
Лекция 5. Основы параллельного программирования (Speedup, Amdahl's law, Paral...Лекция 5. Основы параллельного программирования (Speedup, Amdahl's law, Paral...
Лекция 5. Основы параллельного программирования (Speedup, Amdahl's law, Paral...
 
Семинар 1. Многопоточное программирование на OpenMP (часть 1)
Семинар 1. Многопоточное программирование на OpenMP (часть 1)Семинар 1. Многопоточное программирование на OpenMP (часть 1)
Семинар 1. Многопоточное программирование на OpenMP (часть 1)
 
О.В.Сухорослов "Параллельное программирование"
О.В.Сухорослов "Параллельное программирование"О.В.Сухорослов "Параллельное программирование"
О.В.Сухорослов "Параллельное программирование"
 
"Лавриненко Ярослав" HPC GPU CUDA
"Лавриненко Ярослав" HPC GPU CUDA"Лавриненко Ярослав" HPC GPU CUDA
"Лавриненко Ярослав" HPC GPU CUDA
 
Архитектура и программирование потоковых многоядерных процессоров для научных...
Архитектура и программирование потоковых многоядерных процессоров для научных...Архитектура и программирование потоковых многоядерных процессоров для научных...
Архитектура и программирование потоковых многоядерных процессоров для научных...
 
Введение в архитектуры нейронных сетей / HighLoad++ 2016
Введение в архитектуры нейронных сетей / HighLoad++ 2016Введение в архитектуры нейронных сетей / HighLoad++ 2016
Введение в архитектуры нейронных сетей / HighLoad++ 2016
 
Лекция 5. Основы параллельного программирования (Speedup, Amdahl's law, paral...
Лекция 5. Основы параллельного программирования (Speedup, Amdahl's law, paral...Лекция 5. Основы параллельного программирования (Speedup, Amdahl's law, paral...
Лекция 5. Основы параллельного программирования (Speedup, Amdahl's law, paral...
 
Семинар 11. Параллельное программирование на MPI (часть 4)
Семинар 11. Параллельное программирование на MPI (часть 4)Семинар 11. Параллельное программирование на MPI (часть 4)
Семинар 11. Параллельное программирование на MPI (часть 4)
 
Архитектура и программирование потоковых многоядерных процессоров для научных...
Архитектура и программирование потоковых многоядерных процессоров для научных...Архитектура и программирование потоковых многоядерных процессоров для научных...
Архитектура и программирование потоковых многоядерных процессоров для научных...
 
Introduction in CUDA (1-3)
Introduction in CUDA (1-3)Introduction in CUDA (1-3)
Introduction in CUDA (1-3)
 
Использование Time-Stamp Counter для измерения времени выполнения кода на пр...
Использование Time-Stamp Counter для измерения времени выполнения кода  на пр...Использование Time-Stamp Counter для измерения времени выполнения кода  на пр...
Использование Time-Stamp Counter для измерения времени выполнения кода на пр...
 
CUDA Best Practices (2-3)
CUDA Best Practices (2-3)CUDA Best Practices (2-3)
CUDA Best Practices (2-3)
 
Multiprocessor Programming Intro (lecture 1)
Multiprocessor Programming Intro (lecture 1)Multiprocessor Programming Intro (lecture 1)
Multiprocessor Programming Intro (lecture 1)
 
Buffer overflow and other software vulnerabilities: theory and practice of pr...
Buffer overflow and other software vulnerabilities: theory and practice of pr...Buffer overflow and other software vulnerabilities: theory and practice of pr...
Buffer overflow and other software vulnerabilities: theory and practice of pr...
 
Лекция 7: Многопоточное программирование: часть 3 (OpenMP)
Лекция 7: Многопоточное программирование: часть 3 (OpenMP)Лекция 7: Многопоточное программирование: часть 3 (OpenMP)
Лекция 7: Многопоточное программирование: часть 3 (OpenMP)
 
Лекция 4: Оптимизация доступа к памяти (Memory access optimization, caches)
Лекция 4: Оптимизация доступа к памяти (Memory access optimization, caches)Лекция 4: Оптимизация доступа к памяти (Memory access optimization, caches)
Лекция 4: Оптимизация доступа к памяти (Memory access optimization, caches)
 

Viewers also liked (8)

приоритетные направления развития учебных дисциплин
приоритетные направления развития учебных дисциплинприоритетные направления развития учебных дисциплин
приоритетные направления развития учебных дисциплин
 
Bgp архитектура
Bgp архитектураBgp архитектура
Bgp архитектура
 
суперкомпьютерные технологии в задачах прогноза погоды
суперкомпьютерные технологии в задачах прогноза погодысуперкомпьютерные технологии в задачах прогноза погоды
суперкомпьютерные технологии в задачах прогноза погоды
 
Из третьего мира - в первый: ошибки в развивающихся продуктах (AgileDays 2014)
Из третьего мира - в первый: ошибки в развивающихся продуктах (AgileDays 2014) Из третьего мира - в первый: ошибки в развивающихся продуктах (AgileDays 2014)
Из третьего мира - в первый: ошибки в развивающихся продуктах (AgileDays 2014)
 
Pesquisa cultura no brasil
Pesquisa cultura no brasilPesquisa cultura no brasil
Pesquisa cultura no brasil
 
Save Africa: NASA hackathon 2016
Save Africa: NASA hackathon 2016 Save Africa: NASA hackathon 2016
Save Africa: NASA hackathon 2016
 
(2niversity) проектная работа tips&tricks
(2niversity) проектная работа   tips&tricks(2niversity) проектная работа   tips&tricks
(2niversity) проектная работа tips&tricks
 
กลอนแปด
กลอนแปดกลอนแปด
กลอนแปด
 

Similar to Bgp методякоби

Пространственно-распределенная мультикластерная вычислительная система: архит...
Пространственно-распределенная мультикластерная вычислительная система: архит...Пространственно-распределенная мультикластерная вычислительная система: архит...
Пространственно-распределенная мультикластерная вычислительная система: архит...
Mikhail Kurnosov
 
Стандарт MPI (Message Passing Interface)
Стандарт MPI (Message Passing Interface)Стандарт MPI (Message Passing Interface)
Стандарт MPI (Message Passing Interface)
Mikhail Kurnosov
 
06 vasenin roganov siis_2013
06 vasenin roganov siis_201306 vasenin roganov siis_2013
06 vasenin roganov siis_2013
Marina_creautor
 
Sensor network
Sensor networkSensor network
Sensor network
Ruslan
 
Сенсорные сети
Сенсорные сетиСенсорные сети
Сенсорные сети
guest137f1c
 
Измерение времени выполнения коллективных операций обменов информацией между ...
Измерение времени выполнения коллективных операций обменов информацией между ...Измерение времени выполнения коллективных операций обменов информацией между ...
Измерение времени выполнения коллективных операций обменов информацией между ...
Mikhail Kurnosov
 
175.компьютерные науки сети
175.компьютерные науки сети175.компьютерные науки сети
175.компьютерные науки сети
ivanov15666688
 
Лекция 12 (часть 1): Языки программирования семейства PGAS: Cray Chapel
Лекция 12 (часть 1): Языки программирования семейства PGAS: Cray ChapelЛекция 12 (часть 1): Языки программирования семейства PGAS: Cray Chapel
Лекция 12 (часть 1): Языки программирования семейства PGAS: Cray Chapel
Mikhail Kurnosov
 
Проблематика создания OpenFlow контроллеров для SDN
Проблематика создания OpenFlow контроллеров для SDNПроблематика создания OpenFlow контроллеров для SDN
Проблематика создания OpenFlow контроллеров для SDN
ARCCN
 

Similar to Bgp методякоби (20)

Пространственно-распределенная мультикластерная вычислительная система: архит...
Пространственно-распределенная мультикластерная вычислительная система: архит...Пространственно-распределенная мультикластерная вычислительная система: архит...
Пространственно-распределенная мультикластерная вычислительная система: архит...
 
Стандарт MPI (Message Passing Interface)
Стандарт MPI (Message Passing Interface)Стандарт MPI (Message Passing Interface)
Стандарт MPI (Message Passing Interface)
 
О.В.Сухорослов "Параллельное программирование. Часть 2"
О.В.Сухорослов "Параллельное программирование. Часть 2"О.В.Сухорослов "Параллельное программирование. Часть 2"
О.В.Сухорослов "Параллельное программирование. Часть 2"
 
Lekt 04 5-osi_decrypted
Lekt 04 5-osi_decryptedLekt 04 5-osi_decrypted
Lekt 04 5-osi_decrypted
 
Введение в сетевые технологии
Введение в сетевые технологииВведение в сетевые технологии
Введение в сетевые технологии
 
A.g.demenev(perm su) 2014
A.g.demenev(perm su) 2014A.g.demenev(perm su) 2014
A.g.demenev(perm su) 2014
 
RUNOS OpenFlow controller (ru)
RUNOS OpenFlow controller (ru)RUNOS OpenFlow controller (ru)
RUNOS OpenFlow controller (ru)
 
06 vasenin roganov siis_2013
06 vasenin roganov siis_201306 vasenin roganov siis_2013
06 vasenin roganov siis_2013
 
Sensor network
Sensor networkSensor network
Sensor network
 
Сенсорные сети
Сенсорные сетиСенсорные сети
Сенсорные сети
 
Измерение времени выполнения коллективных операций обменов информацией между ...
Измерение времени выполнения коллективных операций обменов информацией между ...Измерение времени выполнения коллективных операций обменов информацией между ...
Измерение времени выполнения коллективных операций обменов информацией между ...
 
175.компьютерные науки сети
175.компьютерные науки сети175.компьютерные науки сети
175.компьютерные науки сети
 
РЕАЛИЗАЦИЯ АЛГОРИТМА ШУМОПОДАВЛЕНИЯ В РЕЧЕВОМ ТРАКТЕ СИСТЕМ МОБИЛЬНОЙ СВЯЗИ Н...
РЕАЛИЗАЦИЯ АЛГОРИТМА ШУМОПОДАВЛЕНИЯ В РЕЧЕВОМ ТРАКТЕ СИСТЕМ МОБИЛЬНОЙ СВЯЗИ Н...РЕАЛИЗАЦИЯ АЛГОРИТМА ШУМОПОДАВЛЕНИЯ В РЕЧЕВОМ ТРАКТЕ СИСТЕМ МОБИЛЬНОЙ СВЯЗИ Н...
РЕАЛИЗАЦИЯ АЛГОРИТМА ШУМОПОДАВЛЕНИЯ В РЕЧЕВОМ ТРАКТЕ СИСТЕМ МОБИЛЬНОЙ СВЯЗИ Н...
 
CUDA-Aware MPI notes
CUDA-Aware MPI notesCUDA-Aware MPI notes
CUDA-Aware MPI notes
 
Организация аппаратного поиска в таблицах OpenFlow на базе ПЛИС
Организация аппаратного поиска в таблицах OpenFlow на базе ПЛИСОрганизация аппаратного поиска в таблицах OpenFlow на базе ПЛИС
Организация аппаратного поиска в таблицах OpenFlow на базе ПЛИС
 
Мобильные сети и что-то там еще...
Мобильные сети и что-то там еще...Мобильные сети и что-то там еще...
Мобильные сети и что-то там еще...
 
Лекция 12 (часть 1): Языки программирования семейства PGAS: Cray Chapel
Лекция 12 (часть 1): Языки программирования семейства PGAS: Cray ChapelЛекция 12 (часть 1): Языки программирования семейства PGAS: Cray Chapel
Лекция 12 (часть 1): Языки программирования семейства PGAS: Cray Chapel
 
Микропроцессорная техника
Микропроцессорная техникаМикропроцессорная техника
Микропроцессорная техника
 
Создание и развитие отечественной платформы с открытым программным кодом для ...
Создание и развитие отечественной платформы с открытым программным кодом для ...Создание и развитие отечественной платформы с открытым программным кодом для ...
Создание и развитие отечественной платформы с открытым программным кодом для ...
 
Проблематика создания OpenFlow контроллеров для SDN
Проблематика создания OpenFlow контроллеров для SDNПроблематика создания OpenFlow контроллеров для SDN
Проблематика создания OpenFlow контроллеров для SDN
 

More from Michael Karpov

Один день из жизни менеджера. Тактика: хорошие практики, скрытые опасности и ...
Один день из жизни менеджера. Тактика: хорошие практики, скрытые опасности и ...Один день из жизни менеджера. Тактика: хорошие практики, скрытые опасности и ...
Один день из жизни менеджера. Тактика: хорошие практики, скрытые опасности и ...
Michael Karpov
 
Hpc Visualization with WebGL
Hpc Visualization with WebGLHpc Visualization with WebGL
Hpc Visualization with WebGL
Michael Karpov
 
Hpc Visualization with X3D (Michail Karpov)
Hpc Visualization with X3D (Michail Karpov)Hpc Visualization with X3D (Michail Karpov)
Hpc Visualization with X3D (Michail Karpov)
Michael Karpov
 
"Зачем нам Это?" или как продать Agile команде
"Зачем нам Это?" или как продать Agile команде"Зачем нам Это?" или как продать Agile команде
"Зачем нам Это?" или как продать Agile команде
Michael Karpov
 
"Зачем нам Это?" или как продать Agile команде
"Зачем нам Это?" или как продать Agile команде"Зачем нам Это?" или как продать Agile команде
"Зачем нам Это?" или как продать Agile команде
Michael Karpov
 
Высоконагруженая команда - AgileDays 2010
Высоконагруженая команда - AgileDays 2010Высоконагруженая команда - AgileDays 2010
Высоконагруженая команда - AgileDays 2010
Michael Karpov
 

More from Michael Karpov (20)

EdCrunch 2018 - Skyeng - EdTech product scaling: How to influence key growth ...
EdCrunch 2018 - Skyeng - EdTech product scaling: How to influence key growth ...EdCrunch 2018 - Skyeng - EdTech product scaling: How to influence key growth ...
EdCrunch 2018 - Skyeng - EdTech product scaling: How to influence key growth ...
 
Movement to business goals: Data, Team, Users (4C Conference)
Movement to business goals: Data, Team, Users (4C Conference)Movement to business goals: Data, Team, Users (4C Conference)
Movement to business goals: Data, Team, Users (4C Conference)
 
Один день из жизни менеджера. Тактика: хорошие практики, скрытые опасности и ...
Один день из жизни менеджера. Тактика: хорошие практики, скрытые опасности и ...Один день из жизни менеджера. Тактика: хорошие практики, скрытые опасности и ...
Один день из жизни менеджера. Тактика: хорошие практики, скрытые опасности и ...
 
Поговорим про ошибки (Sumit)
Поговорим про ошибки (Sumit)Поговорим про ошибки (Sumit)
Поговорим про ошибки (Sumit)
 
"Пользователи: сигнал из космоса". CodeFest mini 2012
"Пользователи: сигнал из космоса". CodeFest mini 2012"Пользователи: сигнал из космоса". CodeFest mini 2012
"Пользователи: сигнал из космоса". CodeFest mini 2012
 
(Analyst days2012) Как мы готовим продукты - вклад аналитиков
(Analyst days2012) Как мы готовим продукты - вклад аналитиков(Analyst days2012) Как мы готовим продукты - вклад аналитиков
(Analyst days2012) Как мы готовим продукты - вклад аналитиков
 
Как сделать команде приятное - Михаил Карпов (Яндекс)
Как сделать команде приятное - Михаил Карпов (Яндекс)Как сделать команде приятное - Михаил Карпов (Яндекс)
Как сделать команде приятное - Михаил Карпов (Яндекс)
 
Как мы готовим продукты
Как мы готовим продуктыКак мы готовим продукты
Как мы готовим продукты
 
Hpc Visualization with WebGL
Hpc Visualization with WebGLHpc Visualization with WebGL
Hpc Visualization with WebGL
 
Hpc Visualization with X3D (Michail Karpov)
Hpc Visualization with X3D (Michail Karpov)Hpc Visualization with X3D (Michail Karpov)
Hpc Visualization with X3D (Michail Karpov)
 
сбор требований с помощью Innovation games
сбор требований с помощью Innovation gamesсбор требований с помощью Innovation games
сбор требований с помощью Innovation games
 
Зачем нам Это? или Как продать agile команде
Зачем нам Это? или Как продать agile командеЗачем нам Это? или Как продать agile команде
Зачем нам Это? или Как продать agile команде
 
"Зачем нам Это?" или как продать Agile команде
"Зачем нам Это?" или как продать Agile команде"Зачем нам Это?" или как продать Agile команде
"Зачем нам Это?" или как продать Agile команде
 
"Зачем нам Это?" или как продать Agile команде
"Зачем нам Это?" или как продать Agile команде"Зачем нам Это?" или как продать Agile команде
"Зачем нам Это?" или как продать Agile команде
 
HPC Visualization
HPC VisualizationHPC Visualization
HPC Visualization
 
Hpc Visualization
Hpc VisualizationHpc Visualization
Hpc Visualization
 
Высоконагруженая команда - AgileDays 2010
Высоконагруженая команда - AgileDays 2010Высоконагруженая команда - AgileDays 2010
Высоконагруженая команда - AgileDays 2010
 
How to give a great research talk
How to give a great research talkHow to give a great research talk
How to give a great research talk
 
20090720 writing a_paper
20090720 writing a_paper20090720 writing a_paper
20090720 writing a_paper
 
Tbb описание
Tbb   описаниеTbb   описание
Tbb описание
 

Bgp методякоби

  • 1. Программное обеспечение массивно-параллельной системы IBM Blue Gene/P Попова Н.Н., доцент, ВМК МГУ Воронова В. – выпускница ВМК МГУ Глазкова Е. – студентка ВМК МГУ 2 7.10.2009 ННГУ им. Н.И. Лобачевского, Нижний Новгород, 26-31 октября 2009 г. Молодежная школа: «Суперкомпьютерные технологии в науке, промышленности и образовании»
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10. Исследование эффективности реализации 3-мерной задачи Дирихле на Blue Gene/P ННГУ им. Н.И. Лобачевского, Нижний Новгород, 26-31 октября 2009 г.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21. Структура алгоритма. // действия, выполняемые на каждом процессоре do { // обмен гран ицами с соседями // обработка блока // вычисление общей // погрешности вычислений while (Δ < eps ); Схема обмена данными: направления взаимодействия между соседними процессами. ННГУ им. Н.И. Лобачевского, Нижний Новгород, 26-31 октября 2009 г.
  • 22.
  • 23.
  • 24.
  • 25. Результаты экспериментов. Распределение данных полосами. Первоначально тесты проводились на партиции из 128 вычислительных узлов ( 512 ядер ). Размер задачи 2304*1280*2560 элементов типа double. Рис 1 . Размер 1 сообщения - теневой грани (количество чисел типа double ) при различных используемых виртуальных топологиях одномерной решетки.
  • 26. Результаты экспериментов. Распределение данных полосами. Среднее время выполнения для различных виртуальных топологий в режиме SMP на 128 вычислительных узлах при распределении данных полосами. ННГУ им. Н.И. Лобачевского, Нижний Новгород, 26-31 октября 2009 г.
  • 27. Результаты экспериментов. Распределение данных блоками. Среднее время выполнения для различных виртуальных топологий в режиме SMP на 128 вычислительных узлах при распределении данных блоками. ННГУ им. Н.И. Лобачевского, Нижний Новгород, 26-31 октября 2009 г.
  • 28. Фрагменты программы. struct Matrix3. struct Matrix3 { int size_x, size_y, size_z; double * data; Matrix3 (int m, int n, int k); /* индекс в одномерном массиве */ int ind (int i, int j, int k); double & el(int i, int j, int k); void print(); void fill(); ~Matrix3(); }; ННГУ им. Н.И. Лобачевского, Нижний Новгород, 26-31 октября 2009 г.
  • 29. Фрагменты программы. struct Process. struct Process { Process(int size_x, int size_y, int size_z, int proc_number[], double eps); int jacobi_method();//метод Якоби void PrintAllData(); int size, rank; private: MPI_Comm cart_comm; int proc_number[3]; //количество процессов в каждом измерении int coords[3]; double eps; //точность Matrix3 block1, block2;//текущее значение блока и буфер с предыдущим int current_block;//куда записывается значение новой итерации ННГУ им. Н.И. Лобачевского, Нижний Новгород, 26-31 октября 2009 г.
  • 30. Фрагменты программы. struct Process Matrix2 up, down, left, right, front, back; //границы или теневые грани // буфера для формирования сообщений Matrix2 buf_up, buf_down, buf_left, buf_right; omp_lock_t dmax_lock; double jacobi_iteration();//итерация метода Якоби void CreateCommunicator(); void FillData(); void ExchangeData(); }; void Process :: CreateCommunicator() { int Periods[3] = {0, 0, 0}; //коммуникатор - трехмерная решетка MPI_Cart_create(MPI_COMM_WORLD, 3, proc_number, Periods, 0, &cart_comm); MPI_Cart_coords(cart_comm, rank, 3, coords); } ННГУ им. Н.И. Лобачевского, Нижний Новгород, 26-31 октября 2009 г.
  • 31. Фрагменты программы. main. int main(int argc, char * argv[]) { int data_size[3]; int block_number[3]; double eps; AnalyseCommandString(argc, argv, data_size, block_number, eps); MPI_Init(&argc, &argv); Process P(data_size[0]/block_number[0], data_size[1]/block_number[1], data_size[2]/block_number[2], block_number, eps); P.PrintAllData(); double time1, time2; time1 = MPI_Wtime(); P.jacobi_method(); time2 = MPI_Wtime(); P.PrintAllData(); if (P.rank == 0) cout << time2 - time1 << endl; MPI_Finalize(); } ННГУ им. Н.И. Лобачевского, Нижний Новгород, 26-31 октября 2009 г.
  • 32. Фрагменты программы. j acobi_method() int Process :: jacobi_method() { double delta, delta_local; int i = 0; do { i++; current_block = i%2 + 1; ExchangeData(); // обмен теневыми гранями delta_local = jacobi_iteration(); // выполнение редукционной операции MPI_Allreduce(&delta_local, &delta, 1, MPI_DOUBLE, MPI_SUM, MPI_COMM_WORLD); delta = sqrt(delta); current_block = (current_block == 1) ? BLOCK2 : BLOCK1; } while(delta > eps); if (rank == 0) cout <<&quot; delta = &quot; << delta << endl; return i; } ННГУ им. Н.И. Лобачевского, Нижний Новгород, 26-31 октября 2009 г.
  • 33.
  • 34. Фрагменты программы. Обмен данными - влево вдоль оси X. MPI_Cart_shift (cart_comm, 0, -1, &rank_recv, &rank_send); if (coords[0] != 0 && coords[0] != proc_number[0] - 1) { MPI_Sendrecv (buf_left.data, size_y * size_z, MPI_DOUBLE, rank_send, TAG_X, right.data, size_y * size_z, MPI_DOUBLE, rank_recv, TAG_X, cart_comm, &status); } else if (coords[0] == 0 && coords[0] != proc_number[0] – 1){ MPI_Recv (right.data, size_y * size_z, MPI_DOUBLE, rank_recv, TAG_X, cart_comm, &status); } else if (coords[0] == proc_number[0] - 1 && coords[0] != 0){ MPI_Send (buf_left.data, size_y * size_z, MPI_DOUBLE, rank_send, TAG_X, cart_comm); } ННГУ им. Н.И. Лобачевского, Нижний Новгород, 26-31 октября 2009 г.
  • 35. Пример командного (.jcf) файла. #@ job_type = bluegene #@ class = n2048_m30 #@ initialdir = /gpfs/data/kaelin/jacobi #@ error = jacobi_p.$(jobid).err #@ output = jacobi_p.$(jobid).out #@ wall_clock_limit = 00:30:00 #@ bg_size = 2048 #@ queue /bgsys/drivers/ppcfloor/bin/mpirun -exe /gpfs/data/kaelin/jacobi/jac_Hdebug -env OMP_NUM_THREADS=4 -mode SMP -mapfile XYZ -args &quot;9216 2560 5120 32 8 8 5&quot; llsubmit test.jcf постановка задачи в очередь llq просмотреть очередь заданий llcancel fen1.157.0 удалить задание из очереди ННГУ им. Н.И. Лобачевского, Нижний Новгород, 26-31 октября 2009 г.
  • 36.
  • 37. Файла вывода библиотеки MpiP. @ mpiP @ Command : /gpfs/data/kaelin/jacobi/jac_Hdebug 2304 1280 2560 1 1 128 5 @ Version : 3.1.2 @ MPIP Build date : Mar 9 2009, 22:17:50 @ Start time : 1970 01 01 00:00:40 @ Stop time : 1970 01 01 00:01:42 @ Timer Used : gettimeofday @ MPIP env var : [null] @ Collector Rank : 0 @ Collector PID : 100 @ Final Output Dir : . @ Report generation : Single collector task @ MPI Task Assignment : 0 Rank 0 of 128 <0,0,0,0> R01-M1-N08-J23 @ MPI Task Assignment : 1 Rank 1 of 128 <1,0,0,0> R01-M1-N08-J04 @ MPI Task Assignment : 2 Rank 2 of 128 <2,0,0,0> R01-M1-N08-J12 @ MPI Task Assignment : 3 Rank 3 of 128 <3,0,0,0> R01-M1-N08-J31 ННГУ им. Н.И. Лобачевского, Нижний Новгород, 26-31 октября 2009 г.
  • 38. Файл вывода библиотеки MpiP. ННГУ им. Н.И. Лобачевского, Нижний Новгород, 26-31 октября 2009 г. ------------------------------------- @--- MPI Time (seconds) ------------- ------------------------------------- Task AppTime MPITime MPI% 0 61.7 2.78 4.50 1 61.7 2.78 4.50 2 61.7 2.78 4.50 3 61.7 2.78 4.50 AppTime – общее время работы приложения MPITime – время, которое заняли MPI- вызовы ----------------------------------------------------------- @--- Callsites: 34 ---------------------------------------- ----------------------------------------------------------- ID Lev File/Address Line Parent_Funct MPI_Call 1 0 0x01002517 [unknown] Recv 2 0 0x01002477 [unknown] Send 3 0 0x010029db [unknown] Allreduce Вызовы MPI- функций:
  • 39. Файл вывода библиотеки MpiP. ННГУ им. Н.И. Лобачевского, Нижний Новгород, 26-31 октября 2009 г. --------------------------------------------------------- - @- Aggregate Time (top twenty, descending, milliseconds)-- ---------------------------------------------------------- Call Site Time App% MPI% COV Sendrecv 31 1.6e+05 2.02 44.92 0.02 Sendrecv 32 1.59e+05 2.02 44.83 0.01 Allreduce 11 1.48e+04 0.19 4.16 0.21 20 MPI- вызовов, занявших наибольшее суммарное (сумма - по всем вызовам и процессам время) . -------------------------------------------------------------- @- Aggregate Sent Message Size (top twenty, descending, bytes) -------------------------------------------------------------- Call Site Count Total Avrg Sent% Sendrecv 32 2520 5.95e+10 2.36e+07 49.61 Sendrecv 31 2520 5.95e+10 2.36e+07 49.61 20 MPI- вызовов, передавших наибольший суммарный объем сообщений (сумма - по всем вызовам и процессам) .
  • 40. Файл вывода библиотеки MpiP. ННГУ им. Н.И. Лобачевского, Нижний Новгород, 26-31 октября 2009 г. ---------------------------------------------------------- @--- Callsite Time statistics (all, milliseconds): 3840 -- ---------------------------------------------------------- Name Site Rank Count Max Mean Min App% MPI% Sendrecv 32 1 20 63.1 63 63 2.04 45.35 Sendrecv 32 2 20 63.7 63 63 2.04 45.35 Sendrecv 32 3 20 63 63 63 2.04 45.33 Sendrecv 32 4 20 63.1 63 63 2.04 45.34 ...................................................... ... Sendrecv 32 * 2520 187 63.3 62.9 2.02 44.83 Общая статистика для этого вызова по всем MPI- процессам Статистика для времени отдельных MPI- вызовов (аналогичная таблица есть для размеров сообщений).
  • 41. Распределение данных полосами. Mapping. Среднее время выполнения для различного mappinga в режиме SMP на 128 вычислительных узлах при виртуальной топологии 1*1*128. ННГУ им. Н.И. Лобачевского, Нижний Новгород, 26-31 октября 2009 г.
  • 42. Распределение данных полосами. Mapping. Среднее время выполнения для различного mappinga в режиме DUAL на 128 вычислительных узлах при виртуальной топологии 1*1*256. ННГУ им. Н.И. Лобачевского, Нижний Новгород, 26-31 октября 2009 г.
  • 43. Распределение данных полосами. Mapping. Среднее время выполнения для различного mappinga в режиме VN на 128 вычислительных узлах при виртуальной топологии 1*1*512. ННГУ им. Н.И. Лобачевского, Нижний Новгород, 26-31 октября 2009 г.
  • 44. Результаты экспериментов. Блочное распределение. Масштабируемость. Организация эксперимента по исследованию масштабируемости. Направления увеличения размер ов задачи и партиции. ННГУ им. Н.И. Лобачевского, Нижний Новгород, 26-31 октября 2009 г.
  • 45. Результаты экспериментов. Блочное распределение. Масштабируемость. Время выполнения главного цикла программы для различных виртуальных топологий и размеров партиции. (режим SMP) ННГУ им. Н.И. Лобачевского, Нижний Новгород, 26-31 октября 2009 г.