Реферат в связи с большими объемами перерабатываемой информации в сложных вычислительных системах возможным путем решения возникающих в них задач является распараллеливание





Скачать 220.29 Kb.
НазваниеРеферат в связи с большими объемами перерабатываемой информации в сложных вычислительных системах возможным путем решения возникающих в них задач является распараллеливание
Дата публикации16.02.2015
Размер220.29 Kb.
ТипРеферат
100-bal.ru > Информатика > Реферат


ВІДКРИТИЙ МІЖНАРОДНИЙ УНІВЕРСИТЕТ

РОЗВИТКУ ЛЮДИНИ “УКРАЇНА”

ЛАБОРАТОРНА РОБОТА №1

"РОЗПАРАЛЕЛЮВАННЯ ОБЧИСЛЕНЬ
МЕТОДОМ АЛГЕБРАїЧНИХ ПЕРЕТВОРЕНЬ"


з дисципліни

" Методи паралельних обчислень "

спеціальності

" Програмне забезпечення автоматизованих систем "


Виконав студент 3 курсу

групи ПА-21

______________ Докукін Є.В.

(підпис) (Прізвище І.Б.)

"____"____________ 2005 р.


ЗАРАХОВАНО
Викладач ________________ Доля В.Г.

"____"____________ 200__ р.


Київ

Університет "Україна"

2005
СОДЕРЖАНИЕ


1.1.Реферат 3

Табл. 1.1. Варианты заданий 3



1. Лабораторная работа №1

"Распараллеливание вычислений
методом алгебраических преобразований"

Цель работы – приобретение практических навыков распараллеливания процесса вычислений при решении вычислительных задач большой размерности с использованием метода алгебраических преобразований.

    1. Реферат



В связи с большими объемами перерабатываемой информации в сложных вычислительных системах возможным путем решения возникающих в них задач является распараллеливание (распределение) потоков информации и вычислительных процессов между вычислительными средствами (ресурсами) системы. Распараллеливание процессов вычислений многовариантно.
Распараллеливание вычислений может быть организовано на уровнях:

  • региональных (территориальных) вычислительных систем;

  • вычислительных комплексов (узлов) отдельного территориального региона;

  • вычислительных машин отдельного вычислительного комплекса (узла);

  • отдельных функциональных устройств ПВМ (процессоров, устройств памяти и др.).

Распараллеливание вычислений может осуществляться путем параллельной организации математических и программных средств вычислений, в том числе:

  • метода решения поставленной задачи;

  • математической модели исследуемого объекта или процесса;

  • алгоритма решения задачи;

  • программных средств решения задачи и др.

Основными методами распараллеливания вычислений являются:

  • упрощение структуры решаемой задачи с помощью алгебраических преобразований;

  • искусственное расщепление (декомпозиция) задачи на ряд подзадач меньшей размерности;

  • агрегирование выполняемых операций;

  • организация макроалгоритмов процесса вычислений и др.


1.2. Решение задачи перемножения двух прямоугольных матриц большой размерности

1.2.1 Постановка задачи


    1. Выбрать свой вариант задания на выполнение работы из Табл.1.1.


По варианту задания № 17, выбраны соответствующие матрицы А и В.
Табл. 1.1. Варианты заданий



задания
Размерность

Матрица А

Матрица В

17

7 х 8

8 х 5




    1. Используя свой вариант задания и данные табл.1.2, строятся исходные матрицы для выполнения работы.


Входные матрицы А[7,8] и В[8,5] будут иметь вид:

Матрица А[7,8]

Номера строк
Номера столбцов

1

2

3

4

5

6

7

8

1

а11

а12

0

0

0

0

0

0

2

а21

0

а23

а24

0

0

0

0

3

0

а32

0

а34

а35

0

0

0

4

0

0

а43

0

а45

0

0

0

5

0

0

0

а54

0

а56

0

0

6

0

0

0

0

0

0

а67

0

7

0

0

0

0

0

0

а77

0

Матрица В[8,5]

Номера строк
Номера столбцов

1

2

3

4

5

1

b11

b12

0

0

0

2

b21

0

b23

b24

0

3

0

b32

0

b34

b35

4

0

0

b43

0

b45

5

0

0

0

b54

0

6

0

0

0

0

0

7

0

0

0

0

0

8

0

0

0

0

0



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

В данном случае матрица А[7,8] содержит один (восьмой) нулевой столбец, а матрица В[8,5] имеет три (шестая, седьмая и восьмая) нулевых строки, часть из которые в данном случае можно исключить. При этом следует учесть, что после исключения нулевых строк и столбцов, число элементов в каждой строке матрицы А должно быть равно числу элементов в каждом столбце матрицы В. Иначе матрицы нельзя будет перемножить.
В данном случае можно исключить восьмой столбец матрицы А и восьмую строку матрицы B. Строки 6 и 7 матрицы В исключить нельзя.


В результате матрицы А и В преобразуются к виду:

Матрица А[7,7]

Номера строк
Номера столбцов

1

2

3

4

5

6

7

1

а11

а12

0

0

0

0

0

2

а21

0

а23

а24

0

0

0

3

0

а32

0

а34

а35

0

0

4

0

0

а43

0

а45

0

0

5

0

0

0

а54

0

а56

0

6

0

0

0

0

0

0

а67

7

0

0

0

0

0

0

а77

Матрица В[7,5]

Номера строк
Номера столбцов

1

2

3

4

5

1

b11

b12

0

0

0

2

b21

0

b23

b24

0

3

0

b32

0

b34

b35

4

0

0

b43

0

b45

5

0

0

0

b54

0

6

0

0

0

0

0

7

0

0

0

0

0




    1. Строится результирующая матрица С путём перемножения матриц А и В, полученных в результате распараллеливания. Для данного примера матрица С будет иметь вид:

Матрица С [7,5]

Номера строк
Номера столбцов

1

2

3

4

5

1

а11b1112b21

а11b12

а12b23

а12b24

0

2

а21b11

а21b1223b32

а24b43

а23b34

а23b3524b45

3

а32b21

0

а32b2334b43

а32b24 35b54

а34b45

4

0

а43b34

0

а43b3445b54

а43b35

5

0

0

а54b43

0

а54b45

6

0

0

0

0

0

7

0

0

0

0

0


1.2.2 Блок-схема алгоритма


Матрицу А можно перемножить на матрицу В?

Нет



Число элементов в строке матрицы А не равно числу элементов в столбце матрицы В




Последняя строка у матрицы А «нулевая»?










Удалить последнюю строку у матрицы А





Последний столбец у матрицы В «нулевой»?




Да

Да

Нет

Удалить последний столбец у матрицы В










Да

Нет

Последний столбец у матрицы А и последняя строка у матрицы В «нулевые»?

Вывести на экран матрицы А и В, а также результирующую матрицу С



Удалить последний столбец у матрицы А и последнюю строку матрицы В



Да

Нет





1.2.3 Листинг текста программы
ml-mpo-lab1.c
/* Program for task solution of multiplication of two rectangular big dimension matrixes

* Решение задачи перемножения двух прямоугольных матриц большой размерности

* Copyright (C) 2005 Eugene Dokukin aka MustLive. http://mlbpg.narod.ru

* Open Source Software, GPL. http://www.gnu.org */
#include
// matrix demensions: A 7x8 and B 8x5

#define SIZE_Ia 7 // max rows for matrix A

#define SIZE_Ja 8 // max columns for matrix A

#define SIZE_Ib 8 // max rows for matrix B

#define SIZE_Jb 5 // max columns for matrix B

int A_I, A_J; // number of rows and columns for matrix A

int B_I, B_J; // number of rows and columns for matrix B

int NULL_Ia[SIZE_Ia]; // nulls in rows of A

int NULL_Ja[SIZE_Ja]; // nulls in columns of A

int NULL_Ib[SIZE_Ib]; // nulls in rows of B

int NULL_Jb[SIZE_Jb]; // nulls in columns of B

int MatrixA[SIZE_Ia][SIZE_Ja]; // matrix A

int MatrixB[SIZE_Ib][SIZE_Jb]; // matrix B

int MatrixC[SIZE_Ia][SIZE_Jb]; // matrix C
void Error () { // enter correct parameters

printf ("\nProgram for task solution of multiplication\n");

printf ("of two rectangular big dimension matrixes\n");

printf ("Copyright (C) 2005 MustLive. http://mlbpg.narod.ru\n");

printf ("Open Source Software, GPL. http://www.gnu.org\n\n");

}
void NullMatrix () { // null all elements of all matrixes

int i,j; // counters
for (i=0;i
for (j=0;j
MatrixA[i][j] = 0;

}

}

for (i=0;i
for (j=0;j
MatrixB[i][j] = 0;

}

}

for (i=0;i
for (j=0;j
MatrixC[i][j] = 0;

}

}

}
void ReadMatrixes (char filename[255]) { // open file and read two matrixes

FILE *fp; // pointer on file

int i,j; // counters
if ( (fp = fopen(filename, "r")) == NULL) {

Error();

fprintf(stderr, "Error opening file %s.\n",filename);

exit(0);

}

else {

for (i=0;i
for (j=0;j
fscanf (fp, "%i ",&MatrixA[i][j]);

if ( feof(fp) ) break;

NULL_Ia[i] = NULL_Ia[i] + MatrixA[i][j];

NULL_Ja[j] = NULL_Ja[j] + MatrixA[i][j];

}

fscanf (fp, "%i\n",&MatrixA[i][j]);

NULL_Ia[i] = NULL_Ia[i] + MatrixA[i][j];

NULL_Ja[j] = NULL_Ja[j] + MatrixA[i][j];

if ( feof(fp) ) break;

}

fscanf (fp,"\n");

for (i=0;i
for (j=0;j
fscanf (fp, "%i ",&MatrixB[i][j]);

if ( feof(fp) ) break;

NULL_Ib[i] = NULL_Ib[i] + MatrixB[i][j];

NULL_Jb[j] = NULL_Jb[j] + MatrixB[i][j];

}

fscanf (fp, "%i\n",&MatrixB[i][j]);

NULL_Ib[i] = NULL_Ib[i] + MatrixB[i][j];

NULL_Jb[j] = NULL_Jb[j] + MatrixB[i][j];

if ( feof(fp) ) break;

}

}

fclose(fp);

}
void ReorganizeInputMatrixes () { // algebraic manipulation of input matrixes

while (NULL_Ia[A_I-1] == 0) { // if last row of matrix А is null

A_I--;

}

while (NULL_Jb[B_J-1] == 0) { // if last column of matrix B is null

B_J--;

}

// if last column of matrix A and last row of matrix B is null

while ((NULL_Ja[A_J-1] == 0) && (NULL_Ib[B_I-1] == 0)) {

A_J--;

B_I--;

}

}
void MultiplyInputMatrixes () { // multiplication of two rectangular matrixes

int i,j,k; // counters
for (i=0;i
for (j=0;j
for (k=0;k
MatrixC[i][j] = MatrixC[i][j] + MatrixA[i][k]*MatrixB[k][j];

}

}

}

}
void DisplayInputMatrixes () { // display input matrixes

int i,j; // counters
printf ("\nMatrix A\n\n");

for (i=0;i
for (j=0;j
printf("%i\t",MatrixA[i][j]);

}

printf("\n");

}

printf ("\nMatrix B\n\n");

for (i=0;i
for (j=0;j
printf("%i\t",MatrixB[i][j]);

}

printf("\n");

}

}
void DisplayResultMatrix () { // display resulting matrix

int i,j; // counters
printf ("\n\nResulting matrix C = A x B\n");

printf ("\nMatrix C\n\n");

for (i=0;i
for (j=0;j
printf("%i\t",MatrixC[i][j]);

}

printf("\n");

}

}
void WriteResultMatrix (char filename[255]) { // open file and write resulting matrix

FILE *fp; // pointer on file

int i,j; // counters
if ( (fp = fopen(filename, "w")) == NULL) {

Error();

fprintf(stderr, "Error saving file %s.\n",filename);

exit(0);

}

else {

for (i=0;i
for (j=0;j
fprintf(fp,"%i\t",MatrixC[i][j]);

}

fprintf(fp,"\n");

}

}

fclose(fp);

}
int main (int argc, char *argv[]) {

if (argv[1] == NULL){ // input filename

Error();

printf ("%s filename\n",argv[0]);

exit(0);

}

NULL_Ia[SIZE_Ia] = 0;

NULL_Ja[SIZE_Ja] = 0;

NULL_Ib[SIZE_Ib] = 0;

NULL_Jb[SIZE_Jb] = 0;

A_I = SIZE_Ia;

A_J = SIZE_Ja;

B_I = SIZE_Ib;

B_J = SIZE_Jb;

if (A_J != B_I) {

Error();

fprintf(stderr, "Error: can't multiply input matrixes.\n");

fprintf(stderr, "Number of columns of A not equal number of rows of B.\n");

exit(0);

}

NullMatrix();

ReadMatrixes (argv[1]);

if (argv[2] == NULL) {

printf ("\nInput Matrixes:\n");

DisplayInputMatrixes();

}

ReorganizeInputMatrixes();

if (argv[2] == NULL) {

printf ("\n\nReorganized Matrixes:\n");

DisplayInputMatrixes();

}

MultiplyInputMatrixes();

if (argv[2] != NULL){ // output filename

WriteResultMatrix(argv[2]);

}

else {

DisplayResultMatrix();

}

}

1.2.4 Результаты работы программы
Запуск программы: ml-mpo-lab1.exe matrixes.txt
Данные, а также ход работы, выводятся на экран.

Input Matrixes:
Matrix A
1 2 0 0 0 0 0

3 0 4 5 0 0 0

0 6 0 7 8 0 0

0 0 1 0 2 0 0

0 0 0 3 0 4 0

0 0 0 0 0 0 0

0 0 0 0 0 0 0
Matrix B
2 3 0 0 0

1 0 5 6 0

0 4 0 1 2

0 0 3 0 4

0 0 0 5 0

0 0 0 0 0

0 0 0 0 0

0 0 0 0 0

Reorganized Matrixes:
Matrix A
1 2 0 0 0 0

3 0 4 5 0 0

0 6 0 7 8 0

0 0 1 0 2 0

0 0 0 3 0 4

0 0 0 0 0 0

0 0 0 0 0 0
Matrix B
2 3 0 0 0

1 0 5 6 0

0 4 0 1 2

0 0 3 0 4

0 0 0 5 0

0 0 0 0 0

0 0 0 0 0

Resulting matrix C = A x B
Matrix C
4 3 10 12 0

6 25 15 4 28

6 0 51 76 28

0 4 0 11 2

0 0 9 0 12

0 0 0 0 0

0 0 0 0 0
1.2.5 Входные и выходные данные
matrixes.txt
1 2 0 0 0 0 0 0

3 0 4 5 0 0 0 0

0 6 0 7 8 0 0 0

0 0 1 0 2 0 0 0

0 0 0 3 0 4 0 0

0 0 0 0 0 0 5 0

0 0 0 0 0 0 6 0
2 3 0 0 0

1 0 5 6 0

0 4 0 1 2

0 0 3 0 4

0 0 0 5 0

0 0 0 0 0

0 0 0 0 0

0 0 0 0 0

Запуск программы: ml-mpo-lab1.exe matrixes.txt result.txt
Данные и ход работы не выводятся на экран, результат записывается в файл.

result.txt
4 3 10 12 0

6 25 15 4 28

6 0 51 76 28

0 4 0 11 2

0 0 9 0 12

0 0 0 0 0

0 0 0 0 0

1.3. Литература



  1. Воеводин В.В. Математические основы параллельных вычислений. – М.: МГУ, 1991. – 345 с.

  2. Воеводин В.В. Параллельные вычисления. – СПб: БХВ-Петербург. – 2002.

  3. Молчанов И.Н. Введение в алгоритмы параллельных вычислений. К.: Наукова думка. - 1990 – 128 с.

  4. Дорошенко А.Е. Математические модели и методы организации высокопроизводительных параллельных вычислений. – К.: Наукова думка, 2000 – 177 с.

  5. Малышкин В.Э. Основы параллельных вычислений. Учебное пособие. – Новосибирск: Изд-во НГТУ, 2000.


Добавить документ в свой блог или на сайт

Похожие:

Реферат в связи с большими объемами перерабатываемой информации в сложных вычислительных системах возможным путем решения возникающих в них задач является распараллеливание  iconМетоды решения задач с переменной интенсивностью потоков данных на...
Специальность 05. 13. 11 Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей
Реферат в связи с большими объемами перерабатываемой информации в сложных вычислительных системах возможным путем решения возникающих в них задач является распараллеливание  iconПереходные процессы в электрических системах рабочая программа, методические...
Наряду с этим возникает необходимость решения ряда сложных вопросов, связанных с изучением переходных процессов, возникающих в энергетических...
Реферат в связи с большими объемами перерабатываемой информации в сложных вычислительных системах возможным путем решения возникающих в них задач является распараллеливание  iconРеферат Обработка информации в параллельных и распределенных вычислительных...
Цель работы – приобретение практических навыков построения и применения алгоритмов параллельных вычислений
Реферат в связи с большими объемами перерабатываемой информации в сложных вычислительных системах возможным путем решения возникающих в них задач является распараллеливание  iconИстория создания локальных вычислительных сетей
Компьютерная сеть объединение нескольких ЭВМ для совместного решения информационных, вычислительных, учебных и других задач
Реферат в связи с большими объемами перерабатываемой информации в сложных вычислительных системах возможным путем решения возникающих в них задач является распараллеливание  iconАктивизация познавательной деятельности обучающихся через использование...
Это объясняется новыми условиями жизни: большими объемами информации, коммуникабельностью, развитием общества. Поэтому в настоящее...
Реферат в связи с большими объемами перерабатываемой информации в сложных вычислительных системах возможным путем решения возникающих в них задач является распараллеливание  iconРеферат «Информационная безопасность. Её сущность и роль в экономике»
Проблема защиты информации является многоплановой и комплексной и охватывает ряд важных задач. Проблемы информационной безопасности...
Реферат в связи с большими объемами перерабатываемой информации в сложных вычислительных системах возможным путем решения возникающих в них задач является распараллеливание  iconТеоретические исследования поставленных перед нир задач
Целью работы является интеграция новых технологий виртуализации вычислительных ресурсов в большие системы распределенных вычислений...
Реферат в связи с большими объемами перерабатываемой информации в сложных вычислительных системах возможным путем решения возникающих в них задач является распараллеливание  iconЭкспериментальные исследования поставленных перед нир задач
Целью работы является интеграция новых технологий виртуализации вычислительных ресурсов в большие системы распределенных вычислений...
Реферат в связи с большими объемами перерабатываемой информации в сложных вычислительных системах возможным путем решения возникающих в них задач является распараллеливание  icon«Экономическая кибернетика»
Кибернетика наука об общих законах получения, хранения, передачи и преобразования информации в сложных управляющих системах. Экономическая...
Реферат в связи с большими объемами перерабатываемой информации в сложных вычислительных системах возможным путем решения возникающих в них задач является распараллеливание  iconНовосибирский государственный технический университет кафедра вычислительной техники
Целью работы является: изучение методов решения задач нлп, особенностей, возникающих при использовании тех или иных методов решения;...
Реферат в связи с большими объемами перерабатываемой информации в сложных вычислительных системах возможным путем решения возникающих в них задач является распараллеливание  iconРабочая программа учебной дисциплины вычислительные системы
Целью курса «Вычислительные системы» является изучение общих сведений о многопроцессорных вычислительных системах, включая их назначение,...
Реферат в связи с большими объемами перерабатываемой информации в сложных вычислительных системах возможным путем решения возникающих в них задач является распараллеливание  iconРадиофизический факультет
Ип в различных системах. Также содержание дисциплины направлено на обучение студентов основам решения задач линейной алгебры, решения...
Реферат в связи с большими объемами перерабатываемой информации в сложных вычислительных системах возможным путем решения возникающих в них задач является распараллеливание  iconРабочая программа педагога
Формирование вычислительных умений и навыков в процессе решения задач и примеров
Реферат в связи с большими объемами перерабатываемой информации в сложных вычислительных системах возможным путем решения возникающих в них задач является распараллеливание  iconУрок по теме: решение задач «нахождение дроби от числа. Нахождение числа по его дроби»
Цель: обобщающий урок по 2-м типам задач с целью повторения, закрепления и решения более сложных задач
Реферат в связи с большими объемами перерабатываемой информации в сложных вычислительных системах возможным путем решения возникающих в них задач является распараллеливание  iconУрока по теме: "Решение показательных уравнений"
Формулировка цели классу: обобщить пройденный материал, вспомнить способы решения показательных уравнений, применить полученные знания...
Реферат в связи с большими объемами перерабатываемой информации в сложных вычислительных системах возможным путем решения возникающих в них задач является распараллеливание  iconПрограмма дисциплины «Маркетинг» для направления «Менеджмент»
Развитие российской экономики определяет повышенные требования к квалификации менеджеров, перед которыми сегодня стоит задача решения...


Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
100-bal.ru
Поиск