Distributed memory

Од Википедија, слободната енциклопедија
Прејди на: содржини, барај

Во компјутерската наука, дистрибуирана меморија се однесува на повеќе-процесорски компјутерски систем во кој секој процесор си има своја приватна меморија. Компјутерски задачи може да се извршуваат само на локалните податоци, а доколку има потреба од далечински податоци, мора да комуницира со еден или поцеќе далечински процесори. Спротивно на тоа, една заедничка меморија нуди единствен мемориски простор кој се користи од страна на сите процесори. Процесорот не мора да биде свесен каде се наоѓаат податоците.

Архитектура[уреди]

Во дистрибуираните компјутерски системи има обично процесор, меморија и некоја форма на интерконекција што дозволува програмите на секој процесор да комуницираат меѓу себе. Интерконекцијата може да се организира како врска од точка до точка или посебен хардвер може да обезбеди размена. Мрежната топологија е клучниот фактор во одредувањето колкав е размерот на повеќе-процесорската машина. Врската помеѓу јазлите може да се спроведе користејќи некои стандардни мрежни протоколи (на пример Етернет), користејќи беспоке мрежни линкови (како на пример во Transputer), или користејќи двојно преносни мемории.

Програмирање на дистрибуираните мемориски машини[уреди]

Клучното прашање во програмирањето на дистрибуираните мемориски системи е како да ги дистрибуираме податоците преку меморијата. Проблемот е решен, податоците можат да се дистрибуираат статички или со движење низ јазлите. Податоците можат да се движат при побарувачка или можат да се наметнуваат на новите јазли однапред.

Како пример, ако проблемот може да се опише како цефка каде податокот Х се процесира во секвенци преку функциите F,G,H и тн.(резултат е h(G(F(X)))), потоа ова може да се изрази како дистрибуиран мемориски проблем каде податокот се пренесува прво до јазолот кој што ја врши F, по што резултатот поминува на вториот јазол што ја пресметува G, и на крај на третиот јазол што ја пресметува H. Ова исто така е познато и како систоличка пресметка.

Податоците можат да се чуваат статички во јазлите во повеќето пресметки што се извршуваат локално, и се пријавуваат само промените на рабовите на јазлите, на другите јазли. Промер за ова е симулацијата каде податоците се моделираат со помош на мрежа, и секој јазол симулира мал дел од голема мрежа. На секоја промена, јазлите ги информираат сите соседни, за новите податоци на рабовите.


Дистрибуирана и Поделена Меморија[уреди]

Слично во дистрибуираната поделена меморија секој јазол од групата, има пристап до голема поделена меморија, поради ограничената не-делива приватна меморија што ја има секој од јазлите.

Предноста на (дистрибуираната) поделена меморија е тоа што нуди единствен адресен простор каде може да се најдат сите податоци. Предноста на дистрибуираната меморија, е тоа што ги исклучува натпреварувачките услови, и го тера програмерот да рзлмислува за дистрибуцијата на податоците. Предноста на дистрибуираната (поделена) меморија е тоа што, многу е полесно да дизајнираш машина што подредува по алгоритам. Дистрибуираната поделена меморија го крие механизмот на комуникација но не и латентноста на комуникацијата.ен:Distributed memory