Razlog je vrlo jednostavan - 1 TB RAM memorije je danas i dalje skupo, sa Xeon EP (Ivy Bridge EP) sistemom najjeftinije sto covek moze da prodje je 768 GB RAM-a preko 48 16 GB DIMM-ova, i to mu dodje ~6K EUR - preskupo za kucni projekat. Sve vise od toga ide u nebesa, zato sto su 32 GB RDIMM-ovi preskupi (1.5 TB bi izaslo ~25 hiljada EUR, sto je vec suludo).
Posto mogu da prihvatim usporenje - alternativa je da se napravi virtuelna memorija uz pomoc brzih SSD-ova.
I - zbog toga sam zapoceo mali projekat :)
Prva stvar koje sam se dokopao je Intel® RAID Controller RS25AB080.
Regularna cena ovog kontrolera je 700-800 EUR, ali sam uspeo da se dokopam istog za 1/5 cene preko nekog likvidatora firmi - otprilike izasao me je kao najjeftiniji SAS kontroler :-)
Sta pruza ovaj kontroler?
- PCIe 3.0 x8 (!) - dakle, do 8 GB/s protoka
- 1 GB DDR3 kesa
- 8x SAS i SATA III 6 Gb/s konektora (2x SFF8087)
- Baterijski backup
Evo kako kontroler izgleda:

Ideja je sledeca - na ovaj kontroler ustekati niz jeftinih SSD-ova (ne bas najjeftinijih, vec IOPS optimizovanih sa MLC flash-om - dakle ), i povezati sve to u jedan RAID0 niz.
Ocekujem da sa tim dobijem bar 3 GB/s protoka kada popunim sve SATA III konektore, a nadam se i preko toga (teoretski sa danasnjim SATA III SSD-ovima maksimum bi bio ~4.4 GB/s). Takodje, ocekujem i bar nekoliko stotina hiljada IOPS-ova.
Dodatna pogodnost je sto moj projekat moze da koristi 2 MB memorijske stranice umesto 4 KB, sto ce se lepo odraziti na I/O performanse.
Sve u svemu - cilj je da se dobije nesto sto je drasticno brze od HDD swap memorije, i mozda 100x sporije od RAM memorije. Nije idealno, ali je ukupna cena ovog kucnog projekta 6-16x jeftinija od RAM memorije. Stavise, nije nikakav problem ako treba kasnije male SSD-ove zameniti sa, recimo, 1 TB SSD-vima, sto moze drzati 8 TB za cenu koja je verovatno onda par stotina puta manja nego za 8 TB fizicke memorije i, jos bitnije, sistem koji bi mogao da primi 8 TB :-)
Sama arhitektura je interesantna: 128 GB RAM-a (8 DIMM-ova povezano na 2 Xeon procesora, sa 4 kanala po procesoru) ce biti korisceno kao jedan veliki kes (fizicka memorija), a 1-2 TB virtuelne memorije ce ici preko PCIe 3.0 x8 magistrale, 1 GB kesa na kontroleru - i, verovatno, bar 512 MB kesa po SSD-u, znaci 4 GB kesa kada popunim svih 8 SATA III konektora.
Sledeci korak su SSD-ovi - verovatno cu prvo uzeti 4 komada, da ispitam teren, pa cemo videti za dalje :)
http://www.digicortex.net/node/1 Videos: http://www.digicortex.net/node/17 Gallery: http://www.digicortex.net/node/25
PowerMonkey - Redyce CPU Power Waste and gain performance! - https://github.com/psyq321/PowerMonkey