Ответы к экзамену 1.0 (547587)
Текст из файла
НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ «МОСКОВСКИЙ ЭНЕРГЕТИЧЕСКИЙ ИНСТИТУТ»ИНСТИТУТ АВТОМАТИКИ И ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИКАФЕДРА ПРИКЛАДНОЙ МАТЕМАТИКИОтветы к экзаменуver. 1.0Параллельные системыи параллельные вычисления9 семестрЛектор курса: проф. Кутепов Виталий ПавловичМосква, 2013⁄((()))((()))⋮⋮⋮⋮Шина (магистраль)ВМ1ВМ2ВМ3...Дорогойарбитршины+ВМnК1К2К3ВМ1ВМ2ВМ3...КnВМnК2К1ВМ1ВМ2К3ВМ3...КnВМnКоммутаторВМiЦКУКоммутативный параллелизм – означает, что независимые элементы (операторы,функции, предикаты и т.п.) могут выполняться в произвольном порядке, не меняяобщего результата выполнения программы.if P(x) then f1(x) else f2(x)F(g1,g2,g3)(g1 * g2).eq -> g1 +(g2 * g3).eq -> g2 +(g1 * g3).eq -> g3()(())((( )))()⁄( )( )( )( )( )( )(св )св( )( )( )( )( )( )()(()(||)(||))–()р( )(( ))опоп( ̅о мен̅)о мен〈:{}:{}〉acbd()()()()()()()()()()()()()()()()()()()()()()()()〈〉〈〈〉〈〉〉〈 3 〉( ){→→→→→→}〈〈 3 〉〈〉〉〈〉〈〉beginreal r1, r2, z,real array a, b, c, d [1...100]S: r1 := r2 := z := 0;par beginA: for i := 1 step 1 until n dor1 := r1 + a[i] * b[i];B: for j := 1 step 1 until n dor2 := r2 + c[i] * d[i];endE: z := r1 + r2;output (z);end〈〉()WRITE (<номер КГВых>, <тег>, <список выходов>, <список переменных>)READ (<номер КГВх>, <тег>, <список входов>, <список переменных>)OUT (<номер КГВых>, <тег>, <список выходов>, <список переменных>)CHECK(<номер КГВх>, <тег>, <список входов>, <переменная>)<список выходов>KILL(<список имен уничтожаемых процессов>)<имя модуля>.<номер КГВх>.<имя подпрограммы>.<имя тега>√ void startup(){float data[5] = {5, 20, 40, 0.001, 10}; // a, b, c, eps, x0√int place[5] = {1, 2, 3, 4, 5};out(1, 0, place, data);}void Multiplication1(int tag, float x1, float x2){float data[2];data[0] = x1;data[1] = x1 * exp(x2);int place[2] = {1, 2};out(1, 0, place, data);}void Multiplication2(int tag, float x1, float x2){float data[2];data[0] = x1;data[1] = x1 * pow(x2, 3);int place[2] = {1, 2};out(1, 0, place, data);}void Multiplication3(int tag, float x1, float x2){float data[2];data[0] = x1;data[1] = x1 * sqrt(x2);int place[2] = {1, 2};out(1, 0, place, data);}void Check(int tag, float x1, float x2, float x3, float x4, float x5){float xnew = x1 + x2 - x3;if(fabs(xnew - x1) < x5){float data[1] = {xnew};int place[1] = {1};out(2, 0, place, data);}else{float data[2] = {xnew, x5};int place[2] = {1, 2};out(1, 0, place, data);}}void StartEval(int tag, float x1){float data[1] = {x1};int place[2] = {1};out(1, 0, place, data);}void PrintResult(int tag, float x1){fprint("Корень уравнения равен %f", x1);}√void startup(){float data[5];GenFloat(data[0],GenFloat(data[1],GenFloat(data[2],GenFloat(data[3],GenFloat(data[4],100);100);100);0.001);10);//////////abcepsx0// Сгенерируем новый уникальный тегint tag = GenTag();int place[5] = {1, 2, 3, 4, 5};out(1, tag, place, data);}void GenFloat(float &x, float p){x = (float) rand() / (float) RAND_MAX * p;}void Multiplication1(int tag, float x1, float x2){float data[2];data[0] = x1;data[1] = x1 * exp(x2);int place[2] = {1, 2};out(1, tag, place, data);}void Multiplication2(int tag, float x1, float x2){float data[2];data[0] = x1;data[1] = x1 * pow(x2, 3);int place[2] = {1, 2};out(1, tag, place, data);}void Multiplication3(int tag, float x1, float x2){float data[2];data[0] = x1;data[1] = x1 * sqrt(x2);int place[2] = {1, 2};out(1, tag, place, data);}void CheckCond(int tag, float x1, float x2, float x3, float x4, float x5){float xnew = x1 + x2 - x3;if(fabs(xnew - x1) < x5){float data[1] = {xnew};int place[1] = {1};out(2, tag, place, data);}else{float data[2] = {xnew, x5};int place[2] = {1, 2};out(1, tag, place, data);}}void StartEval(int tag, float x1){float data[1] = {x1};int place[2] = {1};out(1, tag, place, data);}void PrintResult(int tag, float x1){fprint("Корень уравнения (tag %d) равен %f", tag, x1);}(∑) (void startup(){int data[1];data[0] = rand();int place[1] = {1};// N)out(1, 0, place, data);}void Generate(int tag, int x1){int data[1];int place[1] = {1};for(int i = 0; i < x1; i++){data[0] = rand();write(1, 0, place, data);}}void Multiplication(int tag, int x1, int x2){int data[1] = {x1 * x2};int place[1] = {1};out(1, 0, place, data);}void Sum(int tag, int x1, int x2){int place[1] = {1};int data[1] = {x1};for(int i = 1; i < x1; i++){read(1, 0, place, &val);data[0] += val;}out(1, 0, place, data);}void PrintResult(int tag, float x1){fprint("Скалярное произведение равно %d", x1);}()()()i()⇔ (()⇔ (( )⇔())( ( ))( )⇔()()() (()))(( )⇔ {)⇔ (()())( ) если ( ) опре елено и не равно ло ьв противном случае(( )⇔ {)⇔ ((( ) если( ) если()())( ) опре елено( ) опре елено) ( ̅)data ListOfNat {Nat = c_null + Nat.c_succ;ListOfNat = c_nil + (Nat * ListOfNat).c_cons;}data List[‘t] {List= c_nil + (‘t * List[‘t]).c_cons;}// Определение типов данныхdata ListOfNat {Nat = c_null + Nat.c_succ;ListOfNat = c_nil + (Nat * ListOfNat).c_cons;}// Система функциональных уравненийscheme Length {Length = ~c_nil -> 0 + ~c_cons -> (~c_cons.[2].Length * 1).add;}// Описание выполняемой программыapplicationlist = (c_null.c_succ * (c_nil * c_null).c_cons).c_cons;% Length(list)( )( )( ) ( )ср ()( )( )( ( ))|( )|( ( ))( )( )( )( ( )( )( ))( )( )(( ))( )( ( )( ))( )( )( )( ( )( ))( )( ( )( )( )(()( )( ( )( )))(и{и)и}( )(){{{ ( )({ ( )) ( ))( )(}}( )}}(( )) (( )))( )…()( )(( )( )()){( )})( )) ( ))) (((ср(((ср))((((ср))))|((ср)() (( ){()( )|(ср)})ср) (()((( ))()|) – условие( )( )( )(1.2.3.( )( )( ){ ( ) ( )})( ) ( )( ( )}{())( ( )( (( )( )))__( )( )(( )))( ){ ( )((( р)((){}()}{ ( )}))( ){ ( )( )( ){ ( )}закл чительное состояние у ем считать( ()())( ()())((Пример 2)())( )()( )()()()Выво ( )()()(( ))()( ) ( )( )П : ВанныеВыанныеPf1f2ifPPthenf1elsef2f2()()()()() ·( )·()()·()()(())····∑ ∫( )( )( )( )( )( )( )( )– регулирование фронта работ таким образом, чтобыминимизировать возможные простои компонент ВС из-за отсутствия необходимогокол-ва процессов, а также определение порядка (приоритета) назначенияпроцессов на выполнение.Регулирование фронта работ осуществляется путем изменения зернистостираспараллеливания.
В ГСПП: крупноблочный параллелизм – на уровне модулей,мелкозернистый – на уровне нитевого распараллеливания программ модулей. ВФПТЛ: более тонкие механизмы дифференциации по сложности в соответствии стем, порождены они элементарной функцией, рекурсивной функцией, функцией,задаваемой посредством системы взаимно рекурсивных определений и др. Другойважный механизм регулирования фронта работ – допускать/запрещатьупреждающие вычисления.2.Управлениезагруженностью.( )( )∑( )( )( )( )( )( )( )( )()О ( )ОК( ).
Характеристики
Тип файла PDF
PDF-формат наиболее широко используется для просмотра любого типа файлов на любом устройстве. В него можно сохранить документ, таблицы, презентацию, текст, чертежи, вычисления, графики и всё остальное, что можно показать на экране любого устройства. Именно его лучше всего использовать для печати.
Например, если Вам нужно распечатать чертёж из автокада, Вы сохраните чертёж на флешку, но будет ли автокад в пункте печати? А если будет, то нужная версия с нужными библиотеками? Именно для этого и нужен формат PDF - в нём точно будет показано верно вне зависимости от того, в какой программе создали PDF-файл и есть ли нужная программа для его просмотра.