Класификация на системите за паралелна обработка на данни. Паралелна обработка на данни

    Съобщения

  • Паралелна и конвейерна обработка

    Паралелната обработка на данни въплъщава идеята за извършване на няколко действия едновременно, като напр транспортна лентаИ паралелизъм.

    Паралелна обработка

    Когато едно устройство извършва една операция за единица време, можем да кажем, че устройството ще извърши хиляда операции в хиляда единици. Ако приемем, че има пет независими устройства, работещи едновременно, тогава такава система от устройства може да извърши същите хиляда операции за двеста единици време. По аналогия, система от N устройства ще извърши същата работа за 1000/N единици време. ДА СЕ Истински животтова също важи, например:

    зеленчукова градина може да бъде изкопана от един войник за 10 часа, а рота войници от 50 души със същите способности с едновременна работаще го изровят за 12 минути - принципът на паралелизма в действие.

    Самарски А.А., който извърши изчисления за симулиране на ядрени експлозии в началото на 50-те години, беше пионер в паралелната обработка на потоци от данни. Самара по интересен начинизчислил еволюцията на взривната вълна - той настанил няколко десетки души със сумиращи машини на маси, принуждавайки ги да прехвърлят данни един към друг просто с думи и да запишат необходимите числа на сумиращите машини. Може да се каже, че това е
    и имаше първата паралелна система. Въпреки че изчисленията за водородната бомба бяха извършени майсторски, тяхната точност беше доста ниска, тъй като използваната мрежа имаше малко възли и времето за изчисление беше твърде дълго.

    Конвейерна обработка

    За да се съберат две реални числа, представени във форма с плаваща запетая, е необходимо да се извършат много малки операции - сравняване на поръчки, подравняване на поръчки, добавяне на мантиси, нормализиране и т.н. Всички тези „микрооперации“ за всяка двойка аргументи са били извършвани последователно от процесорите на първите компютри, един след друг, докато се стигне до крайния резултат, и едва след това е бил обработен следваща двойка
    условия.

    Същността на тръбопроводната обработка е да се изолират отделни етапи от обща операция. Всеки етап, след като приключи работата си, ще предаде резултата на следващия, като същевременно получава нова порция данни. Комбинирането на отделни преди това операции определено има положителен ефект върху скоростта на обработка. Например една операция може да има пет микрооперации, всяка от които се изпълнява за една единица време.
    Ако има едно неделимо серийно устройство, тогава то обработва 100 двойки аргументи в 500 единици. Ако всяка микрооперация е разделена на отделен етап (или етап) на конвейерно устройство, тогава в петата единица време първите пет двойки аргументи ще бъдат на различни етапи на обработка на такова устройство и целият набор от сто двойки ще бъдат обработени за 104 (5+99) времеви единици - ускорение спрямо серийно устройствопочти пет пъти (по броя на етапите на конвейера).

    Изглежда, че обработката на тръбопровода може успешно да бъде заменена от конвенционален паралелизъм; достатъчно е просто да дублирате главното устройство толкова пъти, колкото се предполага, че трябва да бъдат разпределени етапите на тръбопровода. Всъщност 5 устройства обработват 100 двойки аргументи за 100 единици време, което е по-бързо от времето на работа на конвейерно устройство. Ако увеличите броя на устройствата пет пъти, обемът на оборудването и цената му ще се увеличат значително. Например, помислете за ситуация, при която конвейерната лента в автомобилен завод се премахва, докато скоростта на производство на автомобили трябва да се поддържа; съответно ще са необходими хиляда екипа, всеки от които може да сглоби кола от началото до края, правейки стотици различни операции, и то за сравнително кратко време.

    Цената на колата ще бъде колосална. Ето защо възникна тръбопроводната обработка.

    Съвременни паралелни системи

    В момента има четири направления в развитието на високопроизводителни изчислителни технологии.

    Векторни конвейерни компютри

    Характеристиките на такива машини са набор от векторни команди и конвейерни функционални устройства. За разлика от традиционния подход, векторните команди могат да работят с цели масиви от независими данни, което означава, че става възможно ефективното зареждане на наличните конвейери, т.е. команда като A=B+C може да означава не добавяне на две числа, а два масива. Характерен представител тази посока— семейство векторно-тръбопроводни компютри CRAY.

    Масово паралелни компютри с разпределена памет.

    Конструкцията на компютри от този клас се отличава с проста идея: всеки сериен микропроцесор е оборудван със собствен локална памет, след това свързан чрез някаква комуникационна среда. Тази архитектура има много предимства: за да се увеличи производителността, достатъчно е да се увеличи броят на процесорите; оптималната конфигурация се избира лесно, ако е известна необходимата изчислителна мощност.

    Има обаче значителен недостатък, който надделява над много от предимствата. В тези компютри междупроцесорната комуникация е много по-бавна от локалната обработка на данни от самите процесори. В тази връзка е много трудно да се пише ефективна програмаза такива компютри, за някои алгоритми понякога е просто невъзможно. Примери за такива компютри: Intel Paragon, IBM SP1, Parsytec, до известна степен IBM SP2 и CRAY T3D/T3E, въпреки че влиянието на този недостатък при тези компютри е много по-малко. Мрежи от компютри, които все повече се разглеждат като доста евтина алтернатива на изключително скъпи компютри, също могат да бъдат класифицирани в същия клас.

    Паралелни компютри със споделена памет

    всичко RAMданните на компютрите се разделят от няколко идентични процесора. Проблемите на предишния клас са решени, но са добавени нови - поради технически причини е невъзможно да се увеличи броят на процесорите, които биха имали достъп до споделена памет. Примери за тази посока са много многопроцесорни SMP компютри или, например, отделни възли на HP Exemplar и Sun StarFire компютри.

    Комбинирани системи

    Последната посока по-скоро не е независима, а просто комбинация от предишните три. Нека формираме изчислителен възел от няколко процесора (традиционни или векторно-конвейерни) и обща памет за тях. При недостиг изчислителна мощност, можете да свържете няколко възела с високоскоростни канали. Този тип архитектура се нарича клъстерна архитектура. от този принципвграден Sun StarFire, NEC SX-5, CRAY SV1, HP Exemplar, последни модели IBM SP2 и други.

    Тази посока е в понастоящемнай-обещаващите за проектиране на компютри с рекордни показатели за производителност.

    Нива на паралелизъм

    В зависимост от нивото, на което трябва да се осигури паралелизъм, се използват определени методи и средства за реализация. Разграничете следващи нивапаралелизъм.

    Микро ниво. Изпълнението на дадена команда е разделено на фази и фазите на няколко съседни команди могат да се припокриват чрез конвейерна обработка. Достигнат това нивовъзможно на самолети с един процесор.

    Ниво на нишка. Задачите са разделени на части, които могат да се изпълняват паралелно (нишки). Това ниво се постига на паралелни самолети.

    Командно ниво. Няколко инструкции се изпълняват паралелно; процесорът разполага с няколко конвейера едновременно. Типично за суперскаларни процесори.

    Ниво на задачата. Независими задачи се изпълняват едновременно на различни процесори, практически няма взаимодействие помежду си. Нивото е типично за многопроцесорни и многомашинни компютри.

    Концепцията за ниво на паралелизъм е тясно свързана с концепцията за детайлност. Грануларността е мярка за съотношението на количеството изчисления, извършени в паралелна задача, към количеството комуникация (за съобщения). Степента на гранулиране варира от финозърнест до едрозърнест. Законът на Амдал е фокусиран върху едрозърнестите
    паралелизъм.

    Грубият паралелизъм означава, че всяко паралелно изчисление е сравнително независимо от другите и отделните изчисления изискват относително рядък обмен на информация помежду си. Единиците за паралелизиране са големи и независими програми, съдържащи хиляди инструкции. Операционната система осигурява това ниво на паралелизъм.

    За ефективно паралелно изпълнение е необходимо да се балансира между степента на детайлност на програмата и количеството забавяне на комуникацията, което възниква между различните гранули. За минимално забавяне на комуникацията е най-доброто фино програмно разделяне. В този случай работи паралелизъм на данните. Ако забавянето на комуникацията е голямо, тогава е по-добре да използвате грубо програмно разделяне.

    Литература

    1. Баденко В.Л. Високопроизводителни изчисления. Урок. - Санкт Петербург: Политехническо издателство. университет, 2010. - 180 с.
    2. Барски А.Б. Паралелен информационни технологии: Учебник/А.Б. Барски.-М.: Интернет университет по информационни технологии; БИНОМ. Лаборатория Знание, 2007.-503 стр.: ил., табл.-(серия “Основи на информационните технологии”) - стр.20-28, стр.56-58.
    3. Корнеев В.В. Компютърни системи.-М .: Хелиос АПБ, 2004.-512 с., ил.- с. 34-46
    4. Лацис А.О. Паралелна обработка на данни. М.: Академия, 2010. - 336 с.
    5. Цилкер Б.Я., Орлов С.А. Организация на компютри и системи. Учебник за ВУЗ. - Санкт Петербург: Питър, 2004. - 668 с.
  • Съобщения


4-та година, 1-ви и 2-ри поток, 7-ми семестър

лекции (34 часа), тест

Отдел, отговорен за курса: ASVK

Програмен компилатор: чл.-кор. RAS, доктор по физика и математика. науки Воеводин Вл.В.,

Лектори: чл.-кор. RAS, доктор по физика и математика. науки Воеводин Вл.В.

анотация

Обсъжда се в курса общи въпросиорганизация на паралелни изчисления. Разглеждат се особеностите на архитектурите на съвременните паралелни изчислителни системи, изучават се основните методи и парадигми на програмиране в паралелни среди.

За 1-ви и 2-ри поток се обсъждат подходи за хармонизиране на архитектурата на паралелни системи и структурата на алгоритмите, въпроси на теорията на анализа на структурата на програмите и алгоритмите и моделите в паралелните изчисления.

програма

1. Големи задачи и суперкомпютри. Паралелна и конвейерна обработка на данни. Паралелизъм и конвейерност в архитектурата на съвременните високопроизводителни компютри. Скаларни и векторни команди. Скаларни, конвейерни и векторни устройства. Йерархията на паметта в компютрите като средство за увеличаване на скоростта на изпълнение на програмата, локалността на изчисленията и локалността на използването на данни. Закон на Амдал и последствията от него, суперлинейно ускорение.

2. Основни класове съвременни паралелни изчислителни системи. Компютри с споделена памет, примери, причини за намалена производителност реални програми. Архитектури SMP, NUMA, ccNUMA. Комутация на процесори и модули памет, шина, матричен суич, омега мрежа. Векторно-тръбопроводни изчислителни системи, примери, причини за намалена производителност. Компютри с разпределена памет, примери, причини за намалена производителност. Топология на комуникацията между процесорите: звезда, решетка, триизмерен тор, двоичен хиперкуб, техните свойства. Компютърни клъстери, примери, латентност и пропускателна способностразлични комуникационни технологии. Архитектури с паралелизъм на ниво машинни инструкции, VLIW, суперскаларност.

3. Технологии за паралелно програмиране. Традиционни последователни езици и паралелни компилатори, проблеми. Специални коментари и директиви за компилатор, разширения съществуващи езици. Специални езиципаралелно програмиране. Програмиране с помощта на библиотеки и интерфейси за предаване на съобщения. Паралелни предметни библиотеки, специализирани пакетиИ софтуерни системи високо ниво. Технологии за паралелно програмиране MPI, OpenMP, Linda.

4. Производителност на паралелни изчислителни системи. Универсалността и специализацията на компютрите, производителността на специалните процесори. Закон на Мур. Методи за оценка на изпълнението. Въвеждане на единичен числов параметър, Mflops, MIPS. Пик и реално изпълнениекомпютри. Linpack тест и неговите варианти. Комплекти допълващи се тестови програми, STREAM и NPB.

5. Графични модели на програми. Контролна графика и графика на информация за програмата. Информация и оперативна историяизпълнение на програми. Граф на алгоритъм като компактна параметрична форма на представяне информационна история. Информационна независимост на операциите и възможността за тяхното паралелно изпълнение. Дължината на критичния път на графика на алгоритъм като мярка за степента на паралелизъм. Краен и масивен паралелизъм, координатен и кос паралелизъм. Еквивалентни програмни преобразувания, елементарни трансформациицикли.

6. Хетерогенни разпределени изчислителни системи. Метакомпютри и метакомпютри, съществуващи проекти за метакомпютри. Отличителни свойства на метакомпютрите. GRID концепция, основни компонентии услуги, съществуващи проекти на GRID сегменти, концепцията за виртуална организация.

Литература

1. Воеводин В.В., Воеводин Вл.В. Паралелно изчисление. – Санкт Петербург: BHV Санкт Петербург, 2002. - 608 с.

2. Королев Л.Н. Архитектура на електронния процесор компютри. – М.: Издателство. Факултет по изчислителна математика и математика на Московския държавен университет, 2003 г.

3. В. В. Корнеев. Паралелни изчислителни системи. – М.: Издателска къща Знание, 1999. – 320 с.

4. Материали на информационно-аналитичния център за паралелно изчисление Parallel.ru.

допълнителна литература

1. Антонов A.S. Паралелно програмиране с помощта на технология

MPI: Урок. – М.: Издателство на Московския държавен университет, 2004. - 71 с.

Под термина паралелна обработкаще разберем едновременното изпълнение на задачи, стъпки на задачи (елементи), програми, подпрограми, цикли, оператори и команди. Паралелната обработка на информация може да се използва за две основни цели:

1. Увеличаването на производителността на компютрите и самолетите не се дължи на подобрение елементна база, и поради ефективна организацияизчислителни процеси.

2. Осигуряване на висока надеждност на самолетите чрез дублиране на компютърна техника.

Ориз. 5.1. Нива на паралелизъм

Увеличаването на производителността на компютрите и компютрите е основната цел на използването на паралелна обработка; поради тази причина компютри като многопроцесорни сървъри, мейнфрейми и суперкомпютри имат паралелна архитектура.

Паралелната обработка на информация може да се извършва на няколко нива (фиг. 5.1).

Очевидно колкото по-ниско е нивото, толкова по-фино е смачкването софтуерни процеси, по-малкият, както се казва, „ зрънце паралелизъм" Като цяло е възможно да се реализира паралелизъм както на едно ниво, така и на няколко едновременно. Независимата еднопроцесорна обработка реализира паралелизъм на ниво 1. Векторната обработка се състои от паралелно изпълнение на цикли на ниво 2 и може да се извърши на един или няколко процесора. Нива 3 и 4 съответстват на многопроцесорни компютри. Паралелизмът на ниво 5 е типичен за многомашинни изчислителни системи.



Има два основни начина за организиране на паралелна обработка:

· времева комбинация от етапи на решение различни задачи;

· едновременно решение различни задачиили части от една задача;

Първи начин- комбиниране във времето на етапите на решаване на различни проблеми е многопрограмна обработкаинформация. Многопрограмната обработка отдавна се използва широко за подобряване на производителността на компютри и компютри. Подробно обсъждане на многопрограмната обработка се отнася до темата „ операционна система“ и излиза извън обхвата на този учебник.

Втори начин- едновременно решаване на различни задачи или части от една задача - възможно е само при наличие на няколко обработващи устройства. В този случай се използват определени функции на задачи или потоци от задачи, което позволява паралелизиране.

Можете да изберете следните видовепаралелизъм, позволяващ реализиране на алгоритмичните характеристики на отделните задачи и техните нишки.

1. Естествен паралелизъм на самостоятелни задачи.

2. Паралелизъм на обекти или данни.

3. Паралелизъм на разклонения на задача или програма.

Нека да разгледаме тези типове паралелизъм.

1. Естествен паралелизъм на самостоятелни задачисе крие във факта, че на входа на компютърната система се получава непрекъснат поток от несвързани задачи, т.е. решението на всеки проблем не зависи от резултатите от решаването на други проблеми. В този случай използването на няколко устройства за обработка с произволен метод на интеграция (интегриране в система) повишава производителността на системата.

Типичен пример за естествен паралелизъм е пристигането на потребителски заявки към информационен уебсайт. Всяка заявка генерира отделна процедура за нейното изпълнение, която не зависи от други подобни процедури.

2. Паралелизъм на обект или даннивъзниква, когато една и съща (или почти същата) програма трябва да обработи определен набор от данни, влизащи в системата едновременно.

Това могат да бъдат например задачи за обработка на сигнали от радарна станция: всички сигнали се обработват с помощта на една и съща програма. Друг пример е обработката на информация от сензори, които измерват едновременно един и същ параметър и са инсталирани на няколко подобни обекта.

Програмите от този тип могат да бъдат с различен размер и сложност, вариращи от много прости, съдържащи няколко операции до големи програмив стотици и хиляди операции. В този случай паралелното изпълнение на операциите се постига чрез увеличаване на броя на обработващите устройства, всяко от които е в състояние автономно да изпълнява последователност от команди върху отделен набор от данни. Често основната характеристика на такива програми (по-специално програми за обработка на вектори и матрици) е, че една и съща команда трябва да се изпълни върху голяма колекция от елементарни данни, свързани по някакъв начин, и съответната операция може да се извърши върху всички данни едновременно. В този случай времето за решаване на проблема се намалява пропорционално на броя на обработващите устройства.

3. Паралелизъм на разклонения на задача или програма- един от най-често срещаните видове паралелизъм при обработката на информация. Тя се състои в това, че при решаването на един проблем могат да се отделят отделни негови части - разклонения, които при наличие на няколко обработващи устройства могат да се изпълняват паралелно. В този случай само независими клоновезадачи, т.е. части от него, за които са изпълнени следните условия:

· нито една от изходните стойности на тези клонове на проблема не е входна стойност за друг такъв клон (липса функционални връзки);

· условията за изпълнение на един клон не зависят от резултатите или характеристиките, получени по време на изпълнението на други клонове (независимост на контрола).

Добра представа за паралелизма на клоновете се дава от паралелната форма (LPF) на програмата, пример за която е показан на фиг. 5.2.

Програмата е представена под формата на набор от клонове, разположени на няколко нива - нива. Кръговете с числа вътре означават клони. Дължината на разклонение е представена с число до кръг и показва колко времеви единици се изпълнява това разклонение. Стрелките показват входните данни и резултатите от обработката. Входните данни се означават със символа X, изходните данни със символа Y. Символите X имат долни цифрови индекси, показващи номерата на входните величини; Y символите имат цифрови индекси както отдолу, така и отгоре; числото в горната част съответства на номера на разклонението, по време на което е получен резултатът този резултат, а числото по-долу означава сериен номеррезултатът, получен по време на изпълнението на този клон на програмата. Независими клонове на задачи, които не са свързани един с друг, се поставят на едно ниво, т.е. резултатите от решаването на който и да е клон от дадено ниво не са входни данни за друг клон от същото ниво.

Ориз. 5.2. Пример за многослойна паралелна програма

Показано на фиг. 5.2 програмата съдържа 9 клона, разположени на 3 нива. Като се използва като пример тази доста проста програма, могат да се идентифицират предимствата на компютърна система, която включва няколко устройства за обработка, и проблемите, които възникват.

Да приемем, че дължината азтият клон е представен от броя на времевите единици t iкоито са необходими за неговото изпълнение. Тогава е лесно да се изчисли, че ще отнеме време за изпълнение на цялата програма на 1 процесор Т 1:

Т 1=S (10+20+15+30+55+10+15+25+15)=195

Ако си представим, че програмата се изпълнява от две обработващи устройства (процесори), работещи независимо един от друг, тогава времето, необходимо за решаване на проблема, ще бъде намалено. Това време обаче, както е лесно да се види, ще варира в зависимост от последователността на изпълнение на независими клонове.

Помислете например за тази версия на програмата, показана на фиг. 5.2. Нека процесор 1 изпълнява клонове 1-3-4-6-7-9, а процесор 2 изпълнява клонове 2-5-8. На фиг. Фигура 5.3 показва времеви диаграми на изпълнението на процесора на програмните разклонения.

Ориз. 5.3. Декомпозиция на програмни разклонения на 2 процесора

Лесно се изчислява, че процесор 1 изразходва 105, а процесор 2 - 100 единици време. В този случай има два периода от време, когато един от процесорите е принуден да пази - P1 с продължителност 10 единици и P2 с продължителност 5 единици време. Интервалът P1, през който работи само процесор 2, се формира поради факта, че клон 7 зависи от клон 5 (до момента, в който клон 6 е завършен, данните Y 5 1 все още не са готови). Интервалът P1, през който работи само процесор 1, се формира поради края на броенето от процесор 2.

Така на система от два процесора нашата програма ще бъде напълно изпълнена за не по-малко от 105 единици време. Извиква се стойността, характеризираща намаляването на времето, необходимо за решаване на проблем на няколко процесора в сравнение с използването на един процесор ускорение на броенето Sи изчислете като

Коефициентът на паралелизиране варира от 0 до 1 (от 0 до 100%) и отразява ефективността на използване на изчислителните ресурси. В нашия пример е лесно да се изчисли, че ускорението С= 195/105 = 1,86, и паралелният фактор K p= 0,93. Както виждаме, поради престой на един от процесорите, ускорението на изчислението е значително по-малко от 2, т.е. брой използвани процесори. Обърнете внимание, че в нашия пример времевите закъснения, свързани с превключване на програмни контексти (смяна на клонове) и прехвърляне на данни от един клон в друг, не бяха взети под внимание. Въпреки това, поради алгоритмичните особености на програмата, част от изчисленията в интервалите P1 и P2 се извършват само от един процесор, т.е. всъщност последователно.

Нека разгледаме обобщения случай на програма, в която алгоритмично делът на последователните изчисления (отношението на времето на последователните изчисления към общото време на изчисление на програмата) е определена стойност f. В този случай времето за изпълнение на програмата в системата е от стрпроцесори не може да бъде по-малко от

Това съотношение се нарича Законът на Амдал. Използвайки примера на програмата на фиг. 5.2 можем да видим, че делът на последователните изчисления е f= 15/195. Замествайки тази стойност във формулата на закона на Амдал, получаваме за система от два процесора максимално ускорение от 1,86 пъти, което съответства на предварително изчислената стойност.

За да илюстрираме действието на закона на Амдал, даваме следния пример. Нека делът на последователните изчисления в някоя програма е 10%. Тогава максималното ускорение на изчисленията на 100 процесора няма да надвишава 9,2. Коефициентът на паралелизиране ще бъде само 9,2%. На 10 процесора ускорението ще бъде 5,3, а коефициентът на паралелизиране ще бъде 53%. Лесно е да се види, че дори такава малка част от последователни изчисления, вече на теоретично ниво, без да се вземат предвид неизбежните забавяния в реалния компютър, сериозно ограничава възможността за мащабиране на програмата.

Нека да определим какъв трябва да бъде максималният дял fпоследователни изчисления в програмата, така че да е възможно да се получи предварително определено ускорение на изчислението Сс максимален коефициент на паралелност K p. За да направим това, изразяваме дела на последователните изчисления от закона на Амдал:

Връзката (5.6) определя много важно следствиеот закона на Амдал. За да ускорите програмата вр пъти, е необходимо да се ускори не по-малко отр пъти не по-малко от () та част от програмата. Например, за да получите 100x ускорение, трябва да паралелизирате 99,99% от цялата програма.

В допълнение към алгоритмичното паралелизиране, за да се използват няколко устройства за обработка за решаване на проблем, който има паралелни клонове, е необходима подходяща организация на процеса, която определя начините за решаване на проблема и развива необходимата информацияотносно готовността на всеки клон. Всичко това обаче е относително лесно за изпълнение, когато продължителността на изпълнение на всеки клон е известна доста точно. На практика това се случва изключително рядко: в най-добрия случай има една или друга временна оценка. Следователно организирането на оптимален или близък до оптималния работен график е доста трудна задача.

Трябва също да се отбележи, че има определени трудности, свързани с изолирането на независими клонове при разработването на програми. В същото време при решаването на мн сложни задачиСамо програмирането с избор на независими клонове може значително да намали времето за решение. По-специално, задачите на матричната алгебра от този тип се поддават добре на паралелна обработка, линейно програмиране, обработка на спектрален сигнал, директно и обратно преобразуване на Фурие и др.

Министерство на образованието и науката на Руската федерация

FSBEI HPE „Брянск държавен инженерен и технологичен

академия"

Катедра Информационни технологии

Последователна и паралелна обработка на информация

Изчислителна и графична работа №1

по дисциплина

"Технологии за обработка на информация"

Вариант No16

RGR-02068025.230400.084

Брянск 2015 г

Въведение 3

Паралелна обработка на информация 4

Системи със споделена памет 6

Паралелна SQL обработка 7

Последователна обработка на информация 9

10 прости партидни системи

Препратки 13

Въведение

Това изчислително и графично изследване разглежда последователна и паралелна обработка на информация. Дадени са примери за всеки от тях.

Последователната обработка на информация е последователното преминаване на информацията от вход към изход през поредица от трансформации (етапи), така че във всеки период от време (специфичен за даден блок) трансформацията се извършва само в един функционален блок, а информацията идва до него само от предишния блок.

Паралелната обработка на информация е модел на обработка на информация, според който информацията претърпява поредица от трансформации в определени функционални блокове- така че във всеки момент обработката му да се извършва едновременно (паралелно) в няколко блока.

Паралелна обработка на информация

Паралелната обработка на данни, въплъщаваща идеята за едновременно изпълнение на няколко действия, има две разновидности: конвейер и паралелизъм.

Паралелна обработка. Ако определено устройство извършва една операция за единица време, тогава то ще извърши хиляда операции в хиляда единици. Ако приемем, че има пет идентични независими устройства, способни да работят едновременно, тогава система от пет устройства може да извърши същите хиляда операции не за хиляда, а за двеста единици време. По подобен начин система от N устройства ще извърши същата работа за 1000/N единици време. Подобни аналогии могат да се намерят и в живота: ако един войник прекопае градина за 10 часа, то рота от петдесет войници със същите способности, работещи едновременно, ще се справят със същата работа за 12 минути - принципът на паралелизма в действие!

Конвейерна обработка. Какво е необходимо, за да се съберат две реални числа, представени във форма с плаваща запетая? Много малки операции като сравняване на поръчки, подравняване на поръчки, добавяне на мантиси, нормализиране и т.н. Процесорите на първите компютри са извършвали всички тези „микрооперации“ за всяка двойка аргументи една след друга, докато достигнат крайния резултат, и едва след това са пристъпвали към обработката на следващата двойка термини.

Идеята на тръбопроводната обработка е да се изолират отделните етапи на извършване на обща операция и всеки етап, след като приключи работата си, ще предаде резултата на следващия, като същевременно получава нова порция входни данни. Получаваме очевидна печалба в скоростта на обработка чрез комбиниране на предварително разпределени операции. Да приемем, че в една операция има пет микрооперации, всяка от които се изпълнява за една единица време. Ако има едно неделимо серийно устройство, то ще обработи 100 двойки аргументи в 500 единици. Ако всяка микрооперация е отделена в отделен етап (или иначе наречен етап) на конвейерно устройство, тогава на петата единица време, на различни етапи на обработка на такова устройство, ще бъдат разположени първите пет двойки аргументи , а целият набор от сто чифта ще бъде обработен за 5 + 99 = 104 единици време - ускорението в сравнение със серийно устройство е почти пет пъти (според броя на етапите на конвейера).

Изглежда, че обработката на конвейера може успешно да бъде заменена от обикновен паралелизъм, за който дублираме основното устройство толкова пъти, колкото се предполага, че трябва да бъдат разпределени етапите на конвейера. Всъщност петте устройства в предишния пример ще обработят 100 двойки аргументи за 100 единици време, което е по-бързо от времето за работа на конвейерното устройство! По този начин, увеличавайки броя на устройствата пет пъти, ние значително увеличаваме както обема на оборудването, така и неговата цена. Представете си, че автомобилен завод реши да премахне поточната линия, като същевременно запази скоростта на производство на автомобили. Ако преди това имаше хиляда коли на поточната линия едновременно, тогава, действайки по аналогия с предишния пример, е необходимо да се наемат хиляда екипа, всеки от които е в състояние напълно да сглоби колата от началото до края, извършване на стотици различни видове операции и това за същото време, когато колата е била преди това на поточната линия.

Днес паралелизмът в компютърната архитектура ще изненада малко хора. Всички съвременни микропроцесори използват някаква форма на паралелна обработка. В ядрото на Pentium 4 включено различни етапиМогат да се изпълняват до 126 микрооперации едновременно. В същото време самите тези идеи се появиха много отдавна. Първоначално те са били внедрени в най-модерните и следователно единични компютри на своето време. След това, след правилното развитие на технологията и по-евтиното производство, те слязоха до компютрите от среден клас и най-накрая днес всичко това е напълно въплътено в работните станции и персоналните компютри.

Производителността на много приложения, работещи на еднопроцесорни компютърни системи, може да бъде значително подобрена чрез използване на инструменти за паралелна обработка. Следното въвежда основните понятия за паралелна обработка и многопроцесорна компютърна архитектура.

Когато множество приложения изискват задачите им да бъдат обработени на еднопроцесорен компютър, неговият един процесор трябва да свърши цялата работа. Целта на паралелната обработка обикновено е да се подобри производителността на приложението. Когато дадено приложение издаде заявка за задание към многопроцесорен компютър, компютърът разделя заданието на логически подзадачи и след това ги обработва с помощта на множество процесори паралелно, намалявайки времето, необходимо за изпълнение на заданието. Броят на подзадачите в резултат на разделянето на една голяма задача се нарича степен на паралелност . Намаляването на времето за обработка на информацията, необходимо за изпълнение на задача, е правопропорционално на степента на паралелизъм. Те се опитват да увеличат производителността на системите с паралелна обработка по такъв начин, че да осигурят максимална производителност на всеки процесор в системата.

Паралелна обработка

Паралелна обработка

Паралелната обработка е модел за изпълнение на приложен процес едновременно от група процесори. Има три начина за прилагане на паралелизъм:
-1- SIMD метод за работа с един команден поток и няколко потока от данни, при който всички процесори, работещи по една и съща програма, обработват собствени масиви от данни под управлението на главния процесор;
-2- MIMD метод за работа с множество командни потоци и множество потоци от данни, при който процесорите работят според своите програми независимо един от друг, като само от време на време комуникират помежду си;
-3- MISD начин на работа с множество командни потоци и един поток от данни.

На английски:Паралелна обработка

Финансов речник на Финам.


Вижте какво е „паралелна обработка“ в други речници:

    Паралелна обработка- Един от видовете обработка на информация, когато няколко операции могат да се извършват едновременно. За разлика от съзнателната обработка, която обикновено се извършва последователно, този тип обработка се извършва без съзнателно усилие. Например, четейки тези... ...

    - (паралелна обработка) Метод на работа на компютър, при който две или повече части от програма се изпълняват не последователно, а паралелно. Строго погледнато, приложението този методвъзможно само на компютри с две или повече... Речник на бизнес термините

    паралелна обработка- - Телекомуникационни теми, основни понятия EN паралелна обработка...

    паралелна обработка- lygiagretusis apdorojimas statusas T sritis automatika atitikmenys: англ. паралелна обработка vok. Parallelverarbeitung рус. паралелна обработка, f пранц. traitement en parallèle, m … Automatikos terminų žodynas

    паралелна обработка на информация- модел на обработка на информация в мозъка, според който информацията претърпява поредица от трансформации в определени „функционални блокове“ на мозъка, така че във всеки един момент да се обработва едновременно (паралелно) в няколко... ... Голяма психологическа енциклопедия

    ПАРАЛЕЛНА ОБРАБОТКА НА ИНФОРМАЦИЯ- Вижте обработка на информация, паралелно...

    Метод за паралелна обработка на данни Голям бройпроцесори, които прилагат метода на паралелизъм MIMD. На английски: Massively Parallel Processing Английски синоними: MPP Вижте също: Parallel processing Financial Dictionary Finam... Финансов речник

    ОБРАБОТКА, ПАРАЛЕЛНА- Обработка на информация, при която повече от една последователност от операции за обработка се извършват едновременно или паралелно. Обработката може да включва изключително ниско ниво, несимволични компоненти, като тези, използвани в... ... Речникв психологията

    паралелен конвейер- lygiagretusis konvejerinis apdorojimas statusas T sritis radioelektronika atitikmenys: англ. паралелен тръбопровод vok. Parallel Pipelineverarbeitung, рус. паралелен тръбопровод, f пранц. traitement de pipeline parallèle, m... Radioelektronikos terminų žodynas

    едновременна обработка- паралелна обработка - [L.G.Sumenko. Английско-руски речник по информационни технологии. М.: Държавно предприятие ЦНИИС, 2003.] Теми информационни технологии като цяло Синоними паралелна обработка EN едновременна обработка ... Ръководство за технически преводач

Книги

  • Паралелна обработка на данни
  • Паралелна обработка на данни, A. O. Latsis. IN учебникДаден е задълбочен систематичен преглед на технологиите за паралелна обработка на данни. Основният акцент е върху традиционното софтуерни технологиипаралелно програмиране...