Meta tags:
Headings (most frequently used words):
and, memory, consistency, centric, request, response, distributed, shared, contents, overview, directory, coherence, models, replication, release, entry, see, also, references, external, links, comparison, with, message, passing, states, home, requester, examples,
Text of the page (most frequently used words):
the (66), memory (40), and (40), #shared (31), edit (17), distributed (16), this (16), are (16), #coherence (15), consistency (15), dsm (14), nodes (13), with (11), parallel (11), system (11), node (11), home (11), cache (10), computer (10), that (10), block (10), request (10), page (9), replication (9), for (9), state (9), wikipedia (8), from (8), approach (8), when (8), will (8), can (8), centric (8), response (8), computing (7), architecture (7), hardware (7), data (7), there (7), read (7), write (7), directory (7), article (7), space (7), may (6), articles (6), processing (6), variables (6), based (6), processes (6), each (6), message (6), toggle (5), additional (5), links (5), multiple (5), issues (5), all (5), processor (5), access (5), entry (5), same (5), but (5), one (5), which (5), has (5), main (5), address (5), contents (4), search (4), view (4), using (4), non (4), 2026 (4), pages (4), short (4), references (4), january (4), software (4), cluster (4), models (4), process (4), model (4), release (4), time (4), more (4), operations (4), how (4), requester (4), blocks (4), states (4), passing (4), learn (4), help (4), hide (4), move (4), sidebar (4), style (3), algorithm (3), array (3), parallelism (3), programming (3), thread (3), cost (3), simultaneous (3), network (3), general (3), systems (3), virtual (3), isbn (3), single (3), term (3), see (3), also (3), examples (3), critical (3), section (3), two (3), requests (3), where (3), talk (3), other (3), through (3), transaction (3), example (3), not (3), its (3), track (3), dictate (3), owned (3), into (3), organizes (3), object (3), large (3), overview (3), remove (3), please (3), tools (3), subsection (3), languages (2), table (2), contact (2), about (2), privacy (2), policy (2), terms (2), organization (2), was (2), hidden (2), displaying (2), descriptions (2), redirect (2), targets (2), via (2), link (2), wayback (2), needing (2), 2022 (2), description (2), different (2), wikidata (2), category (2), retrieved (2), race (2), condition (2), slowdown (2), global (2), massively (2), multiprocessor (2), pipelined (2), dataflow (2), multiprocessing (2), instruction (2), law (2), algorithms (2), performance (2), issue (2), external (2), david (2), morgan (2), 978 (2), direct (2), science (2), values (2), automatically (2), only (2), traffic (2), interleavings (2), must (2), maintain (2), over (2), among (2), another (2), intel (2), qpi (2), source (2), mode (2), does (2), having (2), handle (2), between (2), allowing (2), due (2), what (2), across (2), uses (2), drive (2), three (2), transition (2), such (2), memories (2), maintains (2), have (2), region (2), ways (2), variable (2), implementation (2), tuple (2), private (2), communication (2), comparison (2), generally (2), than (2), messages (2), programs (2), well (2), sending (2), dgas (2), these (2), sources (2), citations (2), improve (2), here (2), appearance (2), upload (2), file (2), changes (2), history (2), log (2), create (2), account (2), donate (2), menu (2), add, topic, mobile, cookie, statement, statistics, developers, code, conduct, legal, safety, contacts, disclaimers, text, available, under, apply, site, you, agree, registered, trademark, profit, wikimedia, foundation, inc, use, creative, commons, attribution, sharealike, license, rendered, parsoid, last, edited, october, utc, categories, module, annotated, webarchive, template, maintenance, https, org, index, php, title, distributed_shared_memory, oldid, 1378028712, starvation, scalability, lockout, embarrassingly, deterministic, deadlock, stampede, automatic, parallelization, problems, zpl, tbb, upc, rocm, raftlib, pthreads, pvm, extensions, openacc, openhmpp, opencl, openmp, mpi, gpuopen, arrays, amp, dryad, cuda, coarray, fortran, cilk, charm, hpx, chapel, boost, ateji, apis, acceleration, grid, beowulf, coma, numa, uma, asymmetric, symmetric, vector, superscalar, mimd, misd, associative, simt, simd, sisd, flynn, taxonomy, blocking, concurrency, explicit, implicit, stream, application, checkpointing, synchronization, barrier, invalidation, coordination, window, fiber, elements, speedup, karp, flatt, metric, efficiency, gustafson, amdahl, analysis, pem, pram, theory, scout, cmt, clustered, multi, cooperative, preemptive, spmt, speculative, heterogenous, smt, temporal, multithreading, pipeline, loop, task, bit, levels, systolic, gpgpu, manycore, high, cloud, kai, paul, hudak, published, acm, transactions, volume, nov, 1989, sorin, daniel, hill, mark, wood, 2011, claypool, 174, 0845564, primer, solihin, yan, 2015, boca, raton, florida, chapman, hall, crc, 340, 9781482211184, 339, fundamentals, multicore, www, scribd, com, client, challenge, 2006, 4th, burlington, massachusetts, kaufmann, 2370490, quantitative, hennessy, john, patterson, low, level, remote, dedicated, operating, image, virtualization, type, dipc, vodca, machine, 2016, archived, treadmarks, mosix, open, ssi, kerrighed, exits, new, propagated, sites, enters, update, variant, except, detected, types, while, handled, sequencer, tends, reduce, promote, increased, result, fewer, faults, preserving, become, challenging, situation, executed, sequentially, possible, conclusion, determining, correctness, interleaved, defines, permitted, follow, certain, rules, order, viewed, called, allow, means, attempt, start, requires, considerations, ensure, receives, send, nack, negative, acknowledgement, tell, initiator, cannot, fulfill, right, away, snoop, fast, naturally, prevent, conditions, generates, bus, sequential, invocations, responses, avoid, races, occur, until, decided, finished, usually, received, every, responding, advantages, simple, implement, strategy, slow, buffered, limitations, primary, methods, cached, service, whereas, allows, manage, own, basic, least, any, given, some, uncached, exclusively, modified, come, they, ownership, initial, begin, reading, diagram, necessary, able, comprising, mechanism, moving, around, involve, separating, parts, amongst, distributing, chosen, accordance, protocol, flexibility, organize, fixed, size, contrast, abstract, storing, shareable, objects, sizes, commonly, seen, unit, sharing, executing, happen, overlapping, lifetimes, should, execute, could, cause, error, altering, protected, invisible, obvious, directly, marshalled, slower, provide, protection, against, accesses, incur, penalty, little, programmer, control, actual, being, generated, needed, correct, scales, number, complex, databases, without, cheaper, provides, portable, common, interfaces, shield, programmers, receiving, primitives, achieved, include, circuits, implementing, routines, ideally, accessing, oriented, discipline, interface, controllers, form, physically, separated, addressed, mean, centralized, physical, refers, location, similar, wide, class, implementations, addition, 201, processors, discuss, unsourced, material, challenged, jstor, scholar, books, newspapers, news, find, removed, adding, reliable, needs, encyclopedic, neutral, rewrite, written, like, textbook, redirects, dga, awards, directors, guild, america, award, free, encyclopedia, item, projects, printable, version, download, pdf, print, export, switch, legacy, parser, get, shortened, url, cite, information, permanent, related, actions, english, српски, srpski, 한국어, 日本語, فارسی, español, deutsch, български, العربية, top, personal, special, recent, community, portal, contribute, random, current, events, navigation, jump, content,
Text of the page (random words):
distributed shared memory wikipedia jump to content main menu main menu move to sidebar hide navigation main page contents current events random article about wikipedia contact us contribute help learn to edit community portal recent changes upload file special pages search search appearance donate create account log in personal tools donate create account log in contents move to sidebar hide top 1 overview toggle overview subsection 1 1 comparison with message passing 2 directory memory coherence toggle directory memory coherence subsection 2 1 states 2 2 home centric request and response 2 3 requester centric request and response 3 consistency models 4 replication 5 release and entry consistency toggle release and entry consistency subsection 5 1 examples 6 see also 7 references 8 external links toggle the table of contents distributed shared memory 9 languages العربية български deutsch español فارسی 日本語 한국어 српски srpski 中文 edit links article talk english read edit view history tools tools move to sidebar hide actions read edit view history general what links here related changes upload file permanent link page information cite this page get shortened url switch to legacy parser print export download as pdf printable version in other projects wikidata item appearance move to sidebar hide from wikipedia the free encyclopedia computer memory architecture dgas redirects here for the dga awards see directors guild of america award this article has multiple issues please help improve it or discuss these issues on the talk page learn how and when to remove these messages this article is written like a textbook please help rewrite it in a neutral encyclopedic style january 2026 this article needs more citations please help improve this article by adding citations to reliable sources unsourced material may be challenged and removed find sources distributed shared memory news newspapers books scholar jstor january 2022 learn how and when to remove this message learn how and when to remove this message distributed shared memory implementation 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 1 201 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 overview edit dsm can be achieved via software as well as hardware hardware examples include cache coherence circuits and network interface controllers there are three ways of implementing dsm page based approach using virtual memory shared variable approach using routines to access shared variables and object based approach ideally accessing shared data through object oriented discipline dsm scales well with a large number of nodes and its message passing is hidden it can handle complex and large databases without replication or sending the data to processes and is generally cheaper than using a multiprocessor system it provides large virtual memory space programs are more portable due to common programming interfaces and shield programmers from sending or receiving primitives 2 it is generally slower to access than non distributed shared memory and must provide additional protection against simultaneous accesses to shared data dsm may incur a performance penalty there is little programmer control over actual messages being generated and consistency models are needed to write correct programs comparison with message passing edit message passing distributed shared memory variables have to be marshalled variables are shared directly cost of communication is obvious cost of communication is invisible processes are protected by having private address space processes could cause error by altering data processes should execute at the same time executing the processes may happen with non overlapping lifetimes software dsm systems also have the flexibility to organize the shared memory region in different ways the page based approach organizes shared memory into pages of fixed size in contrast the object based approach organizes the shared memory region as an abstract space for storing shareable objects of variable sizes another commonly seen implementation uses a tuple space in which the unit of sharing is a tuple shared memory architecture may involve separating memory into shared parts distributed amongst nodes and main memory or distributing all memory between nodes a coherence protocol chosen in accordance with a consistency model maintains memory coherence directory memory coherence edit main article directory based cache coherence 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 states edit a state diagram of a block of memory in a dsm a block is owned if one of the nodes has the block in state em a basic dsm will track at least three states among nodes for any given block in the directory 3 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 home centric request and response edit 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 4 the advantages of this approach are that it is simple to implement but its request response strategy is slow and buffered due to the home node s limitations requester centric request and response edit sequential invocations and responses in dsm 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 cannot fulfill that request right away an example of this is intel s qpi snoop source mode 4 this approach is fast but it does not naturally prevent race conditions and generates more bus traffic consistency models edit 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 in a situation where there are n processes and mi memory operations for each process i and that all the operations are executed sequentially 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 replication edit there are two types of replication algorithms read replication and write replication in read replication multiple nodes can read at the same time but only one node can write while in write replication multiple nodes can read and write at the same time the write requests are handled by a sequencer replication of shared data in general tends to reduce network traffic promote increased parallelism and result in fewer page faults preserving coherence and consistency may become more challenging release and entry consistency edit release consistency is when a process exits a critical section new values of the variables are propagated to all sites entry consistency is when a process enters a critical section it will automatically update the values of the shared variables view based consistency is a variant of entry consistency except the shared variables of a critical section are automatically detected by the system examples edit kerrighed open ssi mosix treadmarks vodca archived 2016 02 15 at the wayback machine dipc see also edit distributed cache type of computer cache memory virtualization computer science term single system image cluster dedicated operating system pages displaying short descriptions of redirect targets remote direct memory access low level hardware direct memory access references edit patterson david a hennessy john l 2006 computer architecture a quantitative approach 4th ed burlington massachusetts morgan kaufmann isbn 978 01 2370490 0 client challenge www scribd com retrieved 2026 10 02 solihin yan 2015 fundamentals of parallel multicore architecture boca raton florida chapman and hall crc pp 339 340 isbn 9781482211184 1 2 sorin daniel j hill mark d wood david a 2011 a primer on memory consistency and cache coherence morgan claypool p 174 isbn 978 16 0845564 5 external links edit distributed shared cache memory coherence in shared virtual memory systems by kai li paul hudak published in acm transactions on computer systems volume 7 issue 4 nov 1989 v t e parallel computing general distributed computing parallel computing parallel algorithm massively parallel cloud computing high performance computing multiprocessing manycore processor gpgpu computer network systolic array levels bit instruction thread task data memory loop pipeline multithreading temporal simultaneous smt simultaneous and heterogenous speculative spmt preemptive cooperative clustered multi thread cmt hardware scout theory pram model pem model analysis of parallel algorithms amdahl s law gustafson s law cost efficiency karp flatt metric slowdown speedup elements process thread fiber instruction window array coordination multiprocessing memory coherence cache coherence cache invalidation barrier synchronization application checkpointing programming stream processing dataflow programming models implicit parallelism explicit parallelism concurrency non blocking algorithm hardware flynn s taxonomy sisd simd array processing simt pipelined processing associative processing misd mimd dataflow architecture pipelined processor superscalar processor vector processor multiprocessor symmetric asymmetric memory shared distributed distributed shared uma numa coma massively parallel computer computer cluster beowulf cluster grid computer hardware acceleration apis ateji px boost chapel hpx charm cilk coarray fortran cuda dryad c amp global arrays gpuopen mpi openmp opencl openhmpp openacc parallel extensions pvm pthreads raftlib rocm upc tbb zpl problems automatic parallelization cache stampede deadlock deterministic algorithm embarrassingly parallel parallel slowdown race condition software lockout scalability starvation category parallel computing retrieved from https en wikipedia org w index php title distributed_shared_memory oldid 1378028712 category distributed computing architecture hidden categories articles with short description short description is different from wikidata wikipedia articles with style issues from january 2026 all articles with style issues articles needing additional references from january 2022 all articles needing additional references articles with multiple maintenance issues webarchive template wayback links pages displaying short descriptions of redirect targets via module annotated link this page was last edited on 2 october 2026 at 14 51 utc page was rendered with parsoid text is available under the creative commons attribution sharealike 4 0 license additional terms may apply by using this site you agree to the terms of use and privacy policy wikipedia is a registered trademark of the wikimedia foundation inc a non profit organization privacy policy about wikipedia disclaimers contact wikipedia legal safety contacts code of conduct developers statistics cookie statement mobile view search search toggle the table of contents distributed shared memory 9 languages add topic
|