Što je zajednička memorija?

U računalstvu, zajednička memorija je memorijski kapacitet kojem može pristupiti i kojemu se može istovremeno pristupiti brojnim različitim programima, dopuštajući tim programima dijeljenje podataka i izbjegavanje stvaranja suvišnih kopija istih informacija. Programi se mogu postaviti da rade na različitim procesorima ili svi koriste isti procesor. Ponekad poznat kao istodobno ili paralelno računanje, ovaj pristup omogućuje višestrukim korisnicima dijeljenje podataka bez potrebe da ih kopiraju u drugi program, pristup koji pomaže krajnjim korisnicima uštedjeti vrijeme i također čini učinkovitije korištenje resursa sustava.

Tipično, zajednička memorija u odnosu na stvarni hardver odnosi se na korištenje blokova memorije s slučajnim pristupom (RAM) koja je dostupna na danom višeprocesorskom računalnom sustavu. U ovom okruženju, nekoliko različitih procesora može koristiti dostupnu memoriju bez stvaranja bilo kakve vrste smetnji ili smanjenja učinkovitosti za druge procesore. To znači da svi procesori u biti rade na istom skupu programa bez usporavanja stvarnih zadataka koje izvršava svaki procesor.

Postoji mogućnost da bi se barem nekoliko problema moglo razviti uz korištenje postava dijeljene memorije. Ovaj pristup ima neka ograničenja u smislu koliko procesorskih jedinica zapravo može biti uključeno u višeprocesorski sustav. To je zato što procesori ponekad spremaju memoriju. Uz manji broj uključenih procesora, to ne utječe na učinkovitost sustava u velikoj mjeri. Kako bi se izbjegao ovaj tip problema, imperativ je osigurati da količina raspoložive memorije s slučajnim pristupom na sustavu bude proporcionalno veća od broja procesora. To će pomoći spriječiti razvoj bilo kakve vrste problema skaliranja ili prioriteta i spriječiti da sustav ne radi s manje od optimalne učinkovitosti čak i tijekom razdoblja najveće upotrebe.

Zajednička memorija nije jedini mogući pristup upravljanju zadacima koje izvršava više procesora. Drugačija strategija, poznata kao distribuirana memorija, u biti dodjeljuje memorijski kapacitet svakom procesoru koji je trenutno u upotrebi. Kao i kod zajedničke memorije, postoji određeni potencijal za stvaranje uskih grla, ovisno o broju uključenih procesora i prirodi zadataka koji se trenutno izvršavaju. Postoji i hibridni pristup poznat kao distribuirana zajednička memorija koja nastoji graditi na prednostima oba pristupa, istovremeno minimizirajući potencijal za razvoj bilo kakvih operativnih problema.