Автор Тема: Многопроцесорни компютърни системи  (Прочетена 2360 пъти)

0 Потребители и 1 Гост преглежда(т) тази тема.

Неактивен RuThLeSs_AnGeL

  • Новак
  • *
  • Публикации: 36
  • Пол: Жена
Многопроцесорни компютърни системи
« -: Януари 19, 2006, 22:18:14 pm »
Многопроцесорни компютърни системи
При многопроцесорните компютърни системи обработката на данните се извършва от
няколко процесорни устройства едновременно. Аргументи в полза на многопроцесорните машини
могат да се търсят в модела на работа на човешкия мозък, където едновременно се изпълняват
няколко паралелни процеса на интелектуална дейност. Съвременните електронни технологии
позволяват създаването на схеми с огромен брой превключватели на вериги подобни на невронните
вериги в човешкия мозък. Въпреки това, съвременните компютри отстъпват значително на човешкия
мозък. Смята се че това се дължи на неефективното използване на компонентите на компютърните
системи главно поради недостатъци в архитектурата на компютърните системи. Действително, когато
компютърът е оборудван с голяма памет и тя се управлява от едно процесорно устройство, то голяма
част от паметта във всеки момент от работата бездейства. В противоположност на това, по-голямата
част от човешкия мозък във всеки момент се намира в активно състояние. Поради тази причина, на
многопроцесорната компютърна архитектура се възлагат големи надежди за качествен скок в
развитието на компютърните системи и прехода към така наречения изкуствен интелект.
Разработват са различни архитектурни решения за многопроцесорна архитектура. Един от
подходите предвижда към една и съща памет да се свързват няколко устройства за обработка на
данни, всяко от които наподобява обикновен централен процесор на еднопроцесорна машина. В
такава конфигурация процесорите могат да работят независимо, координирайки действията си
посредством обмяна на съобщения посредством общата памет с която работят. Например, когато
един процесор получи голямо и сложно задание, той може да запише програмата в общата памет и да
изпрати запитване до друг процесор за изпълнение на част от заданието. Така се получава машина
при която няколко последователности от команди изпълняват обработка на няколко набори от данни.
Такава архитектура носи название MIMD (multiple instruction stream, multiple data stream). Тя се явява
противоположност на традиционната еднопроцесорна архитектура SISD (single instruction stream,
single data stream).
Друг вариант на архитектура на многопроцесорни компютърни системи се явява свързването
на процесорите така, че да изпълняват една и съща последователност от команди, но с различни
набори от данни. Този вариант носи название SIMD (single instruction stream, multiple data stream).
Машините от този тип се използват за решаване на специализирани задачи, при които се обработват
много големи набори от данни и за ускоряване на процеса се използват многопроцесорни системи.
Следващ подход към реализацията на паралелна обработка на информацията се явява
разработването на големи машини като конгломерат от машини с по-малки размери и мощност, всяка
от които има собствен процесор и памет. В такава архитектура, всяка машина е свързана със
съседните и когато се постави задача на цялата система, тя може да бъде разделена на елементарни
задания и разпределена за изпълнение от отделните машини. Когато една задача се постави за
изпълнение от една вътрешна машина и тази задача може да бъде разделена на отделни подзадачи,
тази машина може да направи запитване до съседните машини да изпълнят някои от подзадачите.
При разработката и използването на многопроцесорни машини възниква проблем с
балансиране на натоварването на отделните компоненти и динамическото разпределение на задачите
между отделните процесори. Това е изискване, което се поражда от необходимостта за ефективен
изчислителен процес. Този въпрос е свързан тясно и с проблема за мащабирането или разделянето на
текущата задача на подзадачи, количеството на които е съвместимо с броя на достъпните процесори.
Още един проблем възниква при разпределението дефинираните подзадачи. Когато количеството на
задачите нараства, то обема на работа, свързана с разпределението и координацията между тях расте
експоненциално. Например, ако са налице четири задачи, то съществуват шест потенциални двойки
задачи, които биха могли да си взаимодействат една с друга. Ако задачите са пет, то количеството на
потенциалните връзки между тях стават десет, при чест задачи – петнадесет и т.н.
Най-новите разработки по използване на многопроцесорни компютърни системи се отнасят
до така наречените изкуствени невронни мрежи. Те в много по-голяма степен се приближават до
функционирането на човешкия мозък. Невронните се състоят от множество елементарни процесори
или устройства за обработка на информацията, изходните данни от които са просто реакции на
постъпващи входни данни. Всички процесори са свързани помежду си и образуват мрежа, в която
входните данни от едни процесори се явяват изходни данни от други. Такава машина се програмира
посредством настройки на степента на влияние на изходните данни на всеки процесор от реакцията
на съединените с него процесори. За целта се използват специални тегловни коефициенти
(параметри) за отделните невронни връзки. В известна степен този подход имитира начина на
обучение в човешкия мозък. Биологическите невронни мрежи в главния мозък се обучават да
реагират по определен начин на зададен стимул (импулс) посредством управление на химическия
състав на съединенията между отделните нервни клетки, което от своя страна контролира
способността на нервната клетка да влияе на действията на другите неврони (тегловен коефициент на
връзката).

 :)







If you love me,say it,
If you trust me,do it,
If you want me,show it,
If you need me,prove it!!!

Неактивен haker4o

  • Новак
  • *
  • Публикации: 8
Re: Многопроцесорни компютърни системи
« Отговор #1 -: Февруари 21, 2006, 01:27:53 am »
Писане на отговор