Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
Компьютерлік ғылымда, үлестірілген ортақ жад (DSM) – физикалық жағынан бөлінген жадтар бір ортақ адрестік кеңістік ретінде қарастырылатын жад архитектурасының бір түрі. "Ортақ" термині бір орталықтандырылған жадтың бар екенін білдірмейді, бірақ адрестік кеңістік ортақ болады – яғни, екі процессордағы бірдей физикалық адресс жадтағы бірдей жерге сілтеме жасайды. Бөлінген жаһандық адрестік кеңістік (DGAS) – бұл кластердегі әрбір түйін жеке (яғни, ортақ емес) жадынан өзге, ортақ жадқа қол жеткізе алатын бағдарламалық және аппараттық жүзеге асырулардың кең класы үшін қолданылатын ұқсас термин.
In computer science, distributed shared memory (DSM) is a form of memory architecture where physically separated memories can be addressed as a single shared address space. The term "shared" does not mean that there is a single centralized memory, but that the address space is shared—i. e., the same physical address on two processors refers to the same location in memory. Distributed global address space (DGAS), is a similar term for a wide class of software and hardware implementations, in which each node of a cluster has access to shared memory in addition to each node's private (i. e., not shared) memory.
Каталог жадының үйлесімділігі
Жадтың үйлесімділігі қажет, осылайша ДСМ-ді ұйымдастыратын жүйе жүйе құрамына кіретін жадтардағы түйіндердегі дерек блоктарының күйін қадағалап, сақтай алады. Каталог – жүйеде жылжып жүретін кэш блоктарының күйін сақтайтын механизмдердің бірі.
Memory coherence is necessary such that the system which organizes the DSM is able to track and maintain the state of data blocks in nodes across the memories comprising the system. A directory is one such mechanism which maintains the state of cache blocks moving around the system.
Мемлекеттер
Негізгі DSM каталогындағы кез келген блок үшін түйіндер арасында кем дегенде үш күй тіркеледі. Блок кэште сақталмағанын (U) көрсету үшін бір күй, блоктың эксклюзивті түрде меншікке алынғанын немесе өзгертілгенін (EM) көрсету үшін бір күй, ал блоктың ортақ пайдаланылуын (S) көрсету үшін бір күй болады. Блоктар каталогтық ұйымға енген кезде бастапқы түйінде U күйінен EM күйіне (меншік күйіне) өтеді. Басқа түйіндер блокты оқуды бастағанда, күй S күйіне өтуі мүмкін. Жүйеге блоктардың қай түйіндерде кэште сақталғанын және әр түйінде қандай күйде екенін қадағалауға мүмкіндік беретін екі негізгі әдіс бар. Үйге бағытталған сұрау-жауап жүйесінде үй сұрауларды өңдеуге және күйлерді басқаруға қолданылады, ал сұрау салушыға бағытталған жүйеде әр түйін үй арқылы өз сұрауларын басқаруға және жүзеге асыруға мүмкіндік береді.
A basic DSM will track at least three states among nodes for any given block in the directory. There will be some state to dictate the block as uncached (U), a state to dictate a block as exclusively owned or modified owned (EM), and a state to dictate a block as shared (S). As blocks come into the directory organization, they will transition from U to EM (ownership state) in the initial node. The state can transition to S when other nodes begin reading the block. There are two primary methods for allowing the system to track where blocks are cached and in what condition across each node. Home centric request response uses the home to service requests and drive states, whereas requester centric allows each node to drive and manage its own requests through the home.
Үйге бағытталған сұрау салу және жауап
Үйге бағытталған жүйеде DSM тораптар арасындағы сұраныс-жауап жарыстарын болдырмау үшін үй түйіні транзакция аяқталды деп шешкенге дейін (әдетте үйге барлық жауап беретін процессорлардың жауабы келгенде) бір уақытта тек бір транзакцияны ғана жүзеге асыруға рұқсат береді. Бұған Intel компаниясының QPI үйлік бастапқы режимі мысал бола алады. Бұл тәсілдің артықшылығы – оны іске асыру оңай, бірақ үй түйінінің мүмкіндіктеріне байланысты оның сұраныс-жауап стратегиясы баяу және буферленген.
In a home centric system, the DSM will avoid having to handle request response races between nodes by allowing only one transaction to occur at a time until the home node has decided that the transaction is finished—usually when the home has received every responding processor's response to the request. An example of this is Intel's QPI home source mode. The advantages of this approach are that it's simple to implement but its request response strategy is slow and buffered due to the home node's limitations.
Сұрау салушыны орталықтандырған сұрау салу және жауап
Сұрау салушыға бағытталған жүйеде DSM түйіндерге үй арқылы бір-бірімен еркін байланысуға мүмкіндік береді. Бұл бірнеше түйін транзакцияны бастауға талпынуы мүмкін дегенді білдіреді, бірақ бұл дәйектілікті қамтамасыз ету үшін қосымша шаралар қажет. Мысалы: егер бір түйін блокты өңдеп жатқанда, басқа түйінен сол блокқа сұраныс алса, ол бастамашыға NAck (Теріс жауап) жіберіп, өңдеу түйіні бұл сұранысты дереу орындай алмайтынын хабарлайды. Intel компаниясының QPI шымшылау көз режимі осыған ұқсас мысал бола алады. Бұл тәсіл жылдам, бірақ жарыс жағдайларын автоматты түрде болдырмайды және шина трафигін арттырады.
In a requester centric system, the DSM will allow nodes to talk at will to each other through the home. This means that multiple nodes can attempt to start a transaction, but this requires additional considerations to ensure coherence. For example: when one node is processing a block, if it receives a request for that block from another node it will send a NAck (Negative Acknowledgement) to tell the initiator that the processing node can't fulfill that request right away. An example of this is Intel's QPI snoop source mode. This approach is fast but it does not naturally prevent race conditions and generates more bus traffic.
Тұтастығы модельдері
DSM жүйелік сәйкестік моделі деп аталатын түйіндер арасында оқу және жазу тәртібінің қалай қарастырылатыны бойынша тұрақтылықты сақтау үшін белгілі бір ережелерді сақтауы керек. Егер бізде n процестер және әрбір i процесі үшін Mi жад операциялары болса, және барлық операциялар тізбектей орындалса, онда (M1 + M2 + … + Mn)! / (M1! M2! … Mn!) мүмкін араласулар саны болады. Бірақ бұл қорытындының мәселесі – араласып орындалған операциялардың дұрыстығын анықтау. DSM үшін жадтың сәйкестігі, қандай араласуларға рұқсат етілетінін анықтайды.
The DSM must follow certain rules to maintain consistency over how read and write order is viewed among nodes, called the system's consistency model. Suppose we have n processes and Mi memory operations for each process i, and that all the operations are executed sequentially. We can conclude that (M1 + M2 + + Mn)!/(M1! M2! Mn!) are possible interleavings of the operations. The issue with this conclusion is determining the correctness of the interleaved operations. Memory coherence for DSM defines which interleavings are permitted.
Шығару және кірудің консистенциясы
Босату тұрақтылығы: процесстік маңызды бөлімнен шыққанда, айнымалылардың жаңа мәндері барлық орындарға таратылады. Кіру тұрақтылығы: процесс маңызды бөлімге кіргенде, ортақ айнымалылардың мәндерін автоматты түрде жаңартады. Көрініс негізіндегі сәйкестік: бұл кіру сәйкестігінің бір түрі, бірақ маңызды бөлімнің ортақ айнымалылары жүйемен автоматты түрде анықталады. Көрініс негізіндегі сәйкестіктің бір мысалы – VODCA, ол кластерлік компьютерлерде MPI-мен салыстырылатын өнімділікке ие.
Release consistency: when a process exits a critical section, new values of the variables are propagated to all sites. Entry consistency: when a process enters a critical section, it will automatically update the values of the shared variables. View based Consistency: it is a variant of Entry Consistency, except the shared variables of a critical section are automatically detected by the system. An implementation of view based consistency is VODCA which has comparable performance to MPI on cluster computers.