Tech Report - RAM-disk je že poznan trik, ki del delovnega pomnilnika v računalniku operacijskemu sistemu predstavi kot disk. Nanj lahko povsem običajno shranjujejo datoteke, delo z njimi pa je bliskovito, saj je RAM bistveno hitrejši od trdih diskov in tudi SSD-jev. Edina slabost ostaja volatilnost, saj je ob izgubi napajanja (torej ponovnem zagonu) vsebina pobriše - ne bomo ga torej uporabljali za stalno hranjenje podatkov.
O smiselnosti tega početja so na internetu prelili že ogromno črnila. V starejših verzijah Windows je bil RAM-disk zelo smiseln, saj Windows ni znal izkoristiti velikih količin pomnilnika (še vedno velja, da je RAM zato, da se ga napolni, neizkoriščen RAM pa je potrata), zato je bil RAM-disk precej uporaben. V novejših verzijah teh težav naj ne bi bilo več, saj Microsoft trdi, da Windows 7 in 8 znata izkoristiti ves pomnilnik. Kakorkoli že, izkušnje uporabnikov so mešane, razlogi za uporabo RAM-diska pa še kakšni drugi (nastavite ga lahko kot mesto za odlaganje začasnih datotek, ki jih Windows za seboj površno briše).
Obe verziji omogočata tudi izdelavo varnostne kopije RAM-diska na klasični trdi disk, ki se lahko dogaja po prednastavljenih intervalih in pa seveda ob zaustavitvi sistema.
En kos podatka manjka, je kak preprost način za dodajanje baterije, ki obdrži podatke v pomnilniku za primer izpada elektrike? Ker potem je to super. Sicer je pa malo kriza za karkoli razen fast-game-loading cache.
Sam to je pa dobra ideja o RAM disku kot odlaganju datotek. Namreč osebno sem se že večkrat soočil z problemom začasnega odlaganja certifikatov, BitLocker keyev, ali katerih drugih datotek, ki sem jih kasneje zakriptiral. Namreč če file nekam kopiraš in potem zbrišeš, se še vedno da do njega priti..
Problem sem rešil z kopiranjem fila na kak USB ključ, ki sem ga kasneje zakriptiral in nato formatiral:) Ampak RAM disk bi bil res preprostejša rešitev.
Ni pa nobene potreba po AMDjevem programu, sem prepričan, da obstaja že cel kup RAM disk programov...
Amm... kaj pa je potem "mount -t tmpfs" (ali "-t ramfs" za pogumneže)? Je res, da s tem ne dobiš možnosti backupov pri ugašanju računalnika, ampak na SysV initih je tu vedno rc.shutdown, v systemd pa zagotovo obstaja kakšna podobna stvar. Enako za nalaganje v RAM ob zagonu z rc.local.
" je kak preprost način za dodajanje baterije, ki obdrži podatke v pomnilniku za primer izpada elektrike"
ne moreš dat kar tako baterije zraven rama, ker to ni statičen ram, ampak dinamičen, in rabi osveževanje, ki ga pa vrši ram controller (v starih cajtih kar cpu). To je možno samo v sleep modu. prenosniki imajo to sposobnost recimo, dokler imajo baterijo.
Lahko bi se pa že enkrat eden opogumil in naredil in implementiral statičen ram za današnje mašine. je nekako potraten s prostorom in cca 4x dražji za enako kapaciteto, ampak ob današnji tehniki izdelave polprevodnikov bi lahko dosegali uporabne rezultate.. če ena ploščica 8G ddr3 košta 30 funtov, bi 2G morala koštat tudi tam nekje. Še ena primerjava: na površino quad core i7 iz leta 2008 bi lahko spravli 15Gx8bit sram celic - tako nekako pride izračun, če primerjam samo število tranzistorjev. pa verjetno bi šlo zaradi nekompleksnosti spominskih celic še več. ampak: SRAM + baterija je umor za proizvajalce diskov in DRAMov in čipovja.. tako kot elektromotor + baterija in avto za naftarje.
A se niso včasih prodajal celo eni moduli (kartice s podnožji za ram) za PCI vodila? Ko si gor obesil ram je to zaznalo kot disk in si imel prostor za hitro pakiranje in podobne zadeve.
Asrock X99 Extreme 4 | Intel E5-2683V4 ES | 64GB DDR4 2400MHz ECC |
Samsung 250GB M.2 | Asus 1070 TI | 850W Antec | LC Tank Buster
@ truga: potem takem te bodo še mnogo let nategvali z DRAMom..
@ nebivedu: obstajal je i-RAM od gigabyte, na PCI, pa je propadel zaradi cene, ni ga na PCIe, danes so ga SSDji povozili. Tisti ki vedo, za kaj so ga kupili, jim še danes služi. Ovce pa kupujemo SSDje in podobno sranje, kao boljše in hitrejše, pol pa svizec prtisne štoflc na flašo..
Zakaj nategovali z dramom. Zdej je ze tok pocen da ga prides v trgovino in reces "jst bi 3 kile rame", in dobis za nek smesen drobiz.
@nebivedu, pol raje kupis kar SSD ki pase v PCIe, k je non-volatile. Prepustnost je mogoce malo manjsa, ampak ne verjamem da to lahko opazis (ta "poceni" varjante so ze nad 1.5GB/s).
Za še večje paranoike pa real-time sinhronizacija na računalnik v sosednji sobi. Prav tko z UPS in redundantnim napajalcem.
Za ekstremne paranoike pa še en off-site mašina z enako konfiguracijo (hot-site).
Zato, da ne bo en malo večji Excel slučajno šel po gobe.
Antifašizem je danes poslednje pribežališče ničvredneža, je ideologija ničesar
in neizprosen boj proti neobstoječemu sovražniku - v zameno za državni denar
in neprofitno najemno stanovanje v središču Ljubljane. -- Tomaž Štih, 2021
Saj, Amigin sistem (pa tudi strojna oprema) je bila preveč napredna za svoj čas. Tako kot OnLive. Zato je vse propadlo.
Eno vprašanje: v starih Windows sistemih (3.1, 95/98/Me, NT) si lahko brez težav nastavil RAM disk. Zakaj to v novejših ne deluje? Je MS odstranil to funkcijo?
Zdaj za to rabiš ločene programške, kot je tale AMD-jev, ali pa spodnjega?
Hrabri mišek (od 2015 nova serija!) -> http://tinyurl.com/na7r54l
18. november 2011 - Umrl je Mark Hall, "oče" Hrabrega miška
RTVSLO: http://tinyurl.com/74r9n7j
Še ena primerjava: na površino quad core i7 iz leta 2008 bi lahko spravli 15Gx8bit sram celic - tako nekako pride izračun, če primerjam samo število tranzistorjev.
Newsflash: večina površine Core i7 so SRAM celice. Kaj pa misliš, da je L1/L2 cache? Glej CPU cache @ Wikipedia
Pomnilniki v računalnikih so urejeni od dragega in hitrega (s skupno manjšo kapaciteto) proti cenejšem in počasnejšem (s skupno večjo kapaciteto): - CPU registri - L1 cache - L2/L3 cache - DRAM - SSD - HDD - trak / optični mediji (danes bolj arhivski nameni kot €/GB)
Če hočeš imeti zmogljiv sistem, si raje narediš compute cluster s takšno pomnilniško hierarhijo (tj. paralelizem) kot da mečeš drag pomnilnik v en sam sistem. Pravo vprašanje je, kje je v sistemu ozko grlo
Največja napaka desetletja je bila narejena 4. novembra 2008
Oni so goljufali in Alah je goljufal, Alah je najboljši prevarant. (Koran 3:54)
Citiraj svetega očeta Benedikta XVI. in postani "persona rudis"...
Zakaj nategovali z dramom. Zdej je ze tok pocen da ga prides v trgovino in reces "jst bi 3 kile rame", in dobis za nek smesen drobiz.
@nebivedu, pol raje kupis kar SSD ki pase v PCIe, k je non-volatile. Prepustnost je mogoce malo manjsa, ampak ne verjamem da to lahko opazis (ta "poceni" varjante so ze nad 1.5GB/s).
Pozabu si nekaj "drobnarij".
FLASH ima tisti življenjski ciklus od samo 10.000 vpisov. Pri RAMu je vpis neomejen. Pri FLASHu je vpis precej počasnejši od branja. Pri RAMu tega ni. Flash ima stranice od nekaj KB. Pri RAMu tega ni. Teoretično bandwidth VSAKEGA ploščka je čez 8GB/s- v praksi mnogi segajo tudi daleč čez to.
Pri RAM-u ni treba posebnih trikov, da skriješ počasnost vpisa ali omejeno število vpisnih ciklov. Edino, za kar moraš poskrbeti, je solidno in stalno AKU napajanje. Flash mi je sicer zmerno všeč, vendar ne v tej vlogi - diska.
Če bi ga lahko dobil na ploščicah in zložil v en tak DDR-drive modul, to bi bilo že bolj všečno.
Sam to je pa dobra ideja o RAM disku kot odlaganju datotek. Namreč osebno sem se že večkrat soočil z problemom začasnega odlaganja certifikatov, BitLocker keyev, ali katerih drugih datotek, ki sem jih kasneje zakriptiral. Namreč če file nekam kopiraš in potem zbrišeš, se še vedno da do njega priti..
Problem sem rešil z kopiranjem fila na kak USB ključ, ki sem ga kasneje zakriptiral in nato formatiral:) Ampak RAM disk bi bil res preprostejša rešitev.
Kaj pa če bi shranil v NTFS EFS mapo? Na HDD oziroma USB ključku? EFS ni ravno plain text zadeva... Link: Encrypting File System @ Wikipedia
Če bi ga lahko dobil na ploščicah in zložil v en tak DDR-drive modul, to bi bilo že bolj všečno.
OK, in kaj bi potem s takim ultra hitrim datotečnim sistemom? Ne razumem, za kakšen workload bi bilo to optimalno?
1. Če imaš zadosti RAM, program shranjuje podatke v RAM (mislim 64-bitni naslovni prostor). 2. Če nima zadosti RAM, shrani na disk. 3. Kje tu paše RAM disk? 4. Ali ne bi bilo tistih DRAM palčk bolje uporabiti za sistemski RAM kot za RAM disk? 5. Ali je optimalna res tolikšna količina RAM/CPU, da se ti ne splača imeti raje compute clustra?
Največja napaka desetletja je bila narejena 4. novembra 2008
Oni so goljufali in Alah je goljufal, Alah je najboljši prevarant. (Koran 3:54)
Citiraj svetega očeta Benedikta XVI. in postani "persona rudis"...
Vse tvoje datoteke na "driveu" bibti tu bile trenutno dosegljive - le majčkeno počasneje kot v DRAM-u.
Kot sem napisal, ne razumem kakšen workload bi potreboval hkraten dostop do vseh datotek. Če že, zadeve raje naložiš iz ene flat datoteke v RAM kot na RAM disk.
Swap na takem mediju se ne bi obnašal bistveno počasneje od DRAM-a.
Kot sem napisal, ne razumem kakšen workload* bi bolj optimalno deloval z RAM diskom kot z RAMom...
* govorim o 64-bitnih programih
Največja napaka desetletja je bila narejena 4. novembra 2008
Oni so goljufali in Alah je goljufal, Alah je najboljši prevarant. (Koran 3:54)
Citiraj svetega očeta Benedikta XVI. in postani "persona rudis"...
A se niso včasih prodajal celo eni moduli (kartice s podnožji za ram) za PCI vodila? Ko si gor obesil ram je to zaznalo kot disk in si imel prostor za hitro pakiranje in podobne zadeve.
Ja, tako so SSD prej izdelovali. Takrat blazno drag, ker je RAM bil drag.
@nebivedu, pol raje kupis kar SSD ki pase v PCIe, k je non-volatile. Prepustnost je mogoce malo manjsa, ampak ne verjamem da to lahko opazis (ta "poceni" varjante so ze nad 1.5GB/s).
RAM ima nekaj (deset)tisočkrat krajši dostopni čas. Saj lahko sam testiraš, posebej če imaš Linux: skopiraj sistemsko particijo v RAM disk in primerjaj delo (malo bo tesno, ampak če imaš 16 GB RAM-a bi moralo it)
Če bi ga lahko dobil na ploščicah in zložil v en tak DDR-drive modul, to bi bilo že bolj všečno.
OK, in kaj bi potem s takim ultra hitrim datotečnim sistemom? Ne razumem, za kakšen workload bi bilo to optimalno?
1. Če imaš zadosti RAM, program shranjuje podatke v RAM (mislim 64-bitni naslovni prostor). 2. Če nima zadosti RAM, shrani na disk. 3. Kje tu paše RAM disk? 4. Ali ne bi bilo tistih DRAM palčk bolje uporabiti za sistemski RAM kot za RAM disk? 5. Ali je optimalna res tolikšna količina RAM/CPU, da se ti ne splača imeti raje compute clustra?
1.) Si sam malo prej ugotovil, da programi tega pač ne počnejo. Torej imaš dve možnosti: Sanjaš o svetu, ker so programi idealni, ali uporabiš RAM disk (ali kaj podobnega).
Sicer bi OS moral sam uporabiti RAM kot cache, za vsebino disk-a pa vseeno še leta 2012 to ne dela tak ko mora. Primer: Odzipaš source kodo. Prevedeš. Popraviš nekaj fajlov. Prevedeš še enkrat. Pri tem zadnjem koraku (oziroma že pri prvem prevajanju) ne bi smel sploh dostopati do diska, ker bi lahko že vse bilo v RAM cache, ampak v praksi vseeno "šrota" po disku. Če uporabiš RAM disk, pa bo lepo z RAM-om delal.
Motiti se je človeško.
Motiti se pogosto je neumno.
Vztrajati pri zmoti je... oh, pozdravljen!
A DataRamDisk program omogoča koristiti pomnilnik, kot RAM disk nad omejitvijo (prib 3.2 GB) Win 32? Npr. imaš 8GB ram, pa nedosegljivih 4 GB določiš za RAM disk?
Prednost teh RAM diskov pred Windows cachom je ravno to, da se zavedaš da ma RAM Disk "persistance problem" zato nanj daš zadevo, ki načeloma lahko tut izhlapi, pa ne bo hude škode. Zato pisanje v na ta disk pomeni samo pisanje v RAM.
Windows Cache nima tega privilegija in mora zagotavljat, da bo vse zapisano vanj tudi obstalo i.e. pisanje v cache je v obliki WriteThrough se pravi vso pisanje gre v RAM in precej hitro tudi na disk. Neki zamika (še-ne-zapisanega-na-disk)je ampak ta se ne meri v stotinah megabajtov ampak v kilobajtih.
Prevajanje je tipično tak task, kjer je ogromno pisanja majhnih fajlov. To precej hitro zasiči "cache" v disk-cachu in zadeva začne čakat da se vse vroče spremembe shranijo na sam disk.