Hot, hot data
Nadal chcesz przyspieszyć serwer dzięki SSD? Budżet nie pozwala na zakup dającego 1,5 miliona IOPS Kaminario K2. Pewnie nie starcza nawet na najmniejszą konfigurację K2 (300 kIOPS, 1TB, $200k), ani na małego RamSan-440.
Pozostaje dopingować (a najlepiej zasponsorować) Bena Chocieja z IBM, który pracuje nad infrastrukturą do śledzenia temperatury danych. Im gorętsze — częściej używane — tym bardziej nadają się do przeniesienia na szybszą pamięć masową. Czyli na dyski 10k, 15k RPM, short-stroked, SSD czy wysokowydajne wolumeny RAID10 na macierzy.
Łatki Bena na początek współdziałają z btrfs. Pojawiły się głosy za umieszczeniem funkcjonalności na poziomie VFS, co daje możliwość korzystanie z niej innym systemom plików. Koncepcja jak najbardziej słuszna.
W stosunku do rozwiązań cache'ujących, pojemność szybkiej pamięci masowej wchodzi w skład dostępnej przestrzeni dyskowej w puli. Stąd już tylko krótki krok do niezłej implementacji hierarchicznego składowania w Linuksie. I do zastąpienia DMAPI, niedawno usuniętego z XFS w jądrze.
Archived comments:
sprae 2010-08-29 16:40:24
Czy dzisiaj się nie stosuje już do takich krytycznych rzeczy zwykłego ramdysku?
zdz 2010-08-29 17:02:19
sprae stosuje się, ale cenowo/pojemnościowo się nie opłaca. Do serwera włożysz jakiś terabajt RAMu (do Sun Fire x4800) ale zapłacisz za to masakrycznie dużo (KVR1333D3D4R9S/8G za 1300 pln, potrzebujesz 128 takich). Po to są rozwiązania HSM, na jednym końcu page cache jądra, potem SSD, dyski, a na końcu taśmy.
zdz 2010-08-29 17:10:08
W sumie inaczej: jeden poziom cacheowania danych już mamy - tak jak mówisz, w pamięci RAM. Problemem są dwa:1) że jądro widzi tylko pamięć RAM i system dyskowy, bez niczego pośredniego; 2) dane są duplikowane w RAM i na dysku, więc tracimy na pojemności.
Po zauważeniu, że dyski nie są jednolite - różnią się prędkością - łatki Bena pozwalają te różnice wykorzystać.
Ręczne zakładanie ramdysków i kopiowanie częściej używanych danych to prowizorka. Tym powinno się zajmować jądro.
sprae 2010-08-29 21:21:45
Tak spytałem, bo ostatnio głośno o facebookowym przejściu na ARM. I gdy o tym dyskutowaliśmy to wyszło nam, że na ARM można co najwyżej zrobić komputery obsługujące aplikacje (te ich kompilowane PHPy itp). Z resztą oni też są znani z tego, że trzymają statyczne dane w ramie.
Co do reszty infrastruktury o której piszesz we wpisie wydaje się fajna, o ile będzie stabilna i przewidywalna. Inaczej dalej będzie jak to nazywasz "prowizorka" (dla mnie to normalne elementy infrastruktury).
Comments
Comments powered by Disqus