Western Research Laboratory (WRL) är en forskargrupp inom datasystem som grundades 1982 av Digital Equipment Corporation. Vårt fokus är datavetenskaplig forskning som är relevant för design och tillämpning av högpresterande vetenskapliga datorer. Vi testar våra idéer genom att designa, bygga och använda verkliga system. De system vi bygger är forskningsprototyper, de är inte avsedda att bli produkter. Det finns två andra forskningslaboratorier i Palo Alto, Network Systems Lab (NSL) och Systems Research Center (SRC). En annan digital forskargrupp finns i Cambridge, Massachusetts (CRL). Vår forskning är inriktad mot vanliga högpresterande datorsystem. Våra prototyper är avsedda att förebåda framtidens datormiljöer som används av många digitala kunder. Det långsiktiga målet för WRL är att hjälpa och påskynda utvecklingen av högpresterande en- och flera processorer. Forskningsprojekten inom WRL kommer att behandla olika aspekter av högpresterande datorsystem. Vi anser att betydande framsteg i datorsystemen inte kommer från något enda tekniskt framsteg. Tekniker, både hårdvara och programvara, avancerar inte i samma takt. Systemdesign är konsten att komponera system som använder varje nivå av teknik i en lämplig balans. Ett stort framsteg i systemets övergripande prestanda kommer att kräva en ny granskning av alla aspekter av systemet. Vi arbetar med design, tillverkning och förpackning av hårdvara; språkbearbetning och skalningsfrågor inom systemprogramvara; och prospektering av nya applikationer områden som öppnar upp med tillkomsten av högre prestanda system. Forskare vid WRL har ett nära samarbete och rör sig fritt mellan de olika nivåerna av systemdesign. Detta gör att vi kan utforska ett brett utbud av kompromisser för att uppfylla systemmål. Vi publicerar resultaten av vårt arbete i en mängd olika tidskrifter, konferenser, forskningsrapporter och tekniska anteckningar. Detta dokument är en forskningsrapport. Forskningsrapporter är normalt redogörelser för avslutad forskning och kan innehålla material från tidigare tekniska anteckningar. Vi använder tekniska anteckningar för snabb distribution av tekniskt material, vanligtvis representerar detta pågående forskning. Detta arbete har överlämnats till IEEE för eventuell publicering. Upphovsrätt kan överföras utan föregående meddelande, varefter denna version kommer att ersättas.  d i g i t a l Parallella system som stöder det delade minnet abstraktion blir allmänt accepterade på många områden av datorteknik. Att skriva korrekta och effektiva program för sådana system kräver en formell specifikation av minnessemantik, en så kallad minneskonsistensmodell. Den mest intuitiva modellen--sekvens konsekvens---stort begränsar användningen av många prestandaoptimeringar som vanligen används av uniprocessor hårdvara och kompilatorer designers, vilket minskar fördelen med att använda en multiprocessor. För att lindra detta problem stöder många nuvarande multiprocessorer mer avslappnade konsekvensmodeller. Tyvärr skiljer sig de modeller som stöds av olika system från varandra på subtila men viktiga sätt. Dessutom leder en exakt definition av varje modells semantik ofta till komplexa specifikationer som är svåra att förstå för typiska användare och byggare av datorsystem. Syftet med denna handledning uppsats är att beskriva frågor som rör minneskonsistensmodeller på ett sätt som skulle vara förståeligt för de flesta datorproffs. Vi fokuserar på konsekvensmodeller som föreslås för hårdvarubaserade delade minnessystem. Många av dessa modeller specificeras ursprungligen med tonvikt på de systemoptimeringar de tillåter. Vi behåller den systemcentrerade betoningen, men använder en enhetlig och enkel terminologi för att beskriva de olika modellerna. Vi diskuterar också kortfattat en alternativ programmeringscentrerad syn som beskriver modellerna i form av programbeteende snarare än specifika systemoptimeringar. i
Adve och Gharachorloo presenterar en översikt över skillnaderna mellan minneskonsistensmodeller i REF.
Shared Memory Consistency Models: A Tutorial