Do redakcji: Jak dla mnie najciekawszym testem byłoby włożenie przynajmniej 4 lub 6 dysków tego typu w macierz RAID0 i porównanie wydajności takiej macierzy bezpośrednio z wydajnością pamięci RAM (czyli RamDrive'em).
Z chęcią zobaczyłbym jak duże byłyby różnice w poszczególnych testach.
Wyniki takiego testu mogłyby posłużyć jako estymacja jak mógłby taki zestaw PC sprawdzić się jako ekstremalny serwer bazy danych (na przykład SQL Server).
Ważne: przy konfiguracji tego typu połowę dysków należałoby podłączyć do linii PCIe wychodzących z jednego zeppelinu, a drugą połowę do linii PCIe wychodzących z drugiego zeppelinu, aby uzyskać maksymalną przepustowość. Do tego celu należy sprawdzić na płycie głównej jak (w sensie do których slotów) rozlokowane są linie PCIe.
Wyniki takiego testu mogłyby posłużyć jako estymacja jak mógłby taki zestaw PC sprawdzić się jako ekstremalny serwer bazy danych (na przykład SQL Server).
Jeżeli już to taki serwer by stał na RAID10. Co oczywiście nie zmienia faktu że taki test byłby ciekawy.
A i zapomniałem dodać: brawo dla autora. Bardzo dobry artykuł od dłuższego czasu.
Wkrótce będę składał zestaw na TR + 2x 960 Evo 250GB. Będzie to maszyna z Windows 10 + Linux. Czy np. Ubuntu 17.04 na etapie instalacji wykryję wcześniejszą instalację Windows 10 czy w ogóle nie rozpozna macierzy RAID 0 z dysków NVMe?
tego raida to stawialiście w tym slocie ala dimm2?
to znaczy że wątki z drugiego ccxa przepychały dane przez cache cpu.
trzeba było drugie m.2 wsadzić w sloty pcie podpięte do drugiego ccxa i tak postawić raida i testować. oj nie odrobiliście lekcji.
Wkrótce będę składał zestaw na TR + 2x 960 Evo 250GB. Będzie to maszyna z Windows 10 + Linux. Czy np. Ubuntu 17.04 na etapie instalacji wykryję wcześniejszą instalację Windows 10 czy w ogóle nie rozpozna macierzy RAID 0 z dysków NVMe?
Ubuntu niestety nie rozpozna macierzy z Windowsem.
a na intelu nie da sie postawić RAID0 z NVMe ?? , ciekawe bylo by porownanie wlasnie miedzy TR a takim odpowiednikiem Intela
Teoretycznie da się, pisaliśmy o tym we wstępie. Technika nazywa się VROC. Niestety nadal oficjalnie niedostępny jest sterownik, więc nie mogliśmy sprawdzić, jak takie rozwiązanie sprawdza się na platformie Intela.
połowę dysków należałoby podłączyć do linii PCIe wychodzących z jednego zeppelinu, a drugą połowę do linii PCIe wychodzących z drugiego zeppelinu, aby uzyskać maksymalną przepustowość.
To ciekawe zagadnienie – jeśli chcemy zapełnić danymi całą pulę pamięci, to najlepiej będzie ustawić maszynę w tryb NUMA i podłączyć tak jak mówisz. Ale jeśli chcemy pobrać z macierzy tyle danych, ile mieści się w połowie pamięci, to może lepiej będzie podłączyć wszystkie SSD-ki do jednego jądra, a może nawet ustawić wtedy tryb UMA?
Chciałbym poprosić o następujący test:
1. przygotować RAM dysk o pojemności 40GB+ zamiast PrimoCache
2. przenieść na niego typowy folder Windows i uzupełnić jakimiś danymi do pełna, może być katalog 'temp'
3. skopiować dane na dysk SSD i zmierzyć czas
4. skopiować dane na macierz i zmierzyć czas
5. wyczyścić RAM dysk i po kilku minutach (żeby dyski SSD przepisały dane do MLC) + restart systemu żeby cache Windows opróżnić, przeprowadzić test odczytu danych z dysku do RAM dysku
6. z ciekawości można zrobić jakieś 40GB+ archiwum i taki sam test z nim żeby sprawdzić sekwencyjny zapis i odczyt danych w praktyce a nie to co pokazują programy testujące
7. ewentualnie mniejsze paczki danych (30GB) uzupełnione na przykład 8GB buforem PrimoCache
połowę dysków należałoby podłączyć do linii PCIe wychodzących z jednego zeppelinu, a drugą połowę do linii PCIe wychodzących z drugiego zeppelinu, aby uzyskać maksymalną przepustowość.
To ciekawe zagadnienie – jeśli chcemy zapełnić danymi całą pulę pamięci, to najlepiej będzie ustawić maszynę w tryb NUMA i podłączyć tak jak mówisz. Ale jeśli chcemy pobrać z macierzy tyle danych, ile mieści się w połowie pamięci, to może lepiej będzie podłączyć wszystkie SSD-ki do jednego jądra, a może nawet ustawić wtedy tryb UMA?
Podłączenie macierzy po równo na obu zeppelinach maksymalizuje przepustowość przesyłu danych (potwierdziło to kilku już ludzi w internecine, w tym popularny Linus), ale możliwe, że negatywnie wpływa na opóźnienia. Podłączenie macierzy tylko do jednego zeppelina najprawdopodobniej będize miało skutek odwrotny, czyli zmniejszenie przepustowości, ale polepszenie opóźnień. Warto przetestować czy tak jest faktycznie.
Swoją drogą nie brałem pod uwagę trybu działania pamięciu UMA/NUMA. To ciekawy aspekt i moim zdaniem też wart przetestowania
Do redakcji: Jak dla mnie najciekawszym testem byłoby włożenie przynajmniej 4 lub 6 dysków tego typu w macierz RAID0 i porównanie wydajności takiej macierzy bezpośrednio z wydajnością pamięci RAM (czyli RamDrive'em).
Z chęcią zobaczyłbym jak duże byłyby różnice w poszczególnych testach.
Wyniki takiego testu mogłyby posłużyć jako estymacja jak mógłby taki zestaw PC sprawdzić się jako ekstremalny serwer bazy danych (na przykład SQL Server).
W serwerach bazodanowych wrzuca się tyle RAMu, żeby rzadko dotykać dysków. Na dyski leci zapis liniowy do logów i zapis zmian w bazie. Co więcej często wrzuca się kilkukrotnie większą ilość RAMu, niż same dane, by przetwarzać je równolegle w pamięci bez blokowania.
Funkcja komentowania została wyłączona. Do dyskusji zapraszamy na forum.
Z chęcią zobaczyłbym jak duże byłyby różnice w poszczególnych testach.
Wyniki takiego testu mogłyby posłużyć jako estymacja jak mógłby taki zestaw PC sprawdzić się jako ekstremalny serwer bazy danych (na przykład SQL Server).
Ważne: przy konfiguracji tego typu połowę dysków należałoby podłączyć do linii PCIe wychodzących z jednego zeppelinu, a drugą połowę do linii PCIe wychodzących z drugiego zeppelinu, aby uzyskać maksymalną przepustowość. Do tego celu należy sprawdzić na płycie głównej jak (w sensie do których slotów) rozlokowane są linie PCIe.
Wyniki takiego testu mogłyby posłużyć jako estymacja jak mógłby taki zestaw PC sprawdzić się jako ekstremalny serwer bazy danych (na przykład SQL Server).
Jeżeli już to taki serwer by stał na RAID10. Co oczywiście nie zmienia faktu że taki test byłby ciekawy.
A i zapomniałem dodać: brawo dla autora. Bardzo dobry artykuł od dłuższego czasu.
Wkrótce będę składał zestaw na TR + 2x 960 Evo 250GB. Będzie to maszyna z Windows 10 + Linux. Czy np. Ubuntu 17.04 na etapie instalacji wykryję wcześniejszą instalację Windows 10 czy w ogóle nie rozpozna macierzy RAID 0 z dysków NVMe?
to znaczy że wątki z drugiego ccxa przepychały dane przez cache cpu.
trzeba było drugie m.2 wsadzić w sloty pcie podpięte do drugiego ccxa i tak postawić raida i testować. oj nie odrobiliście lekcji.
Wkrótce będę składał zestaw na TR + 2x 960 Evo 250GB. Będzie to maszyna z Windows 10 + Linux. Czy np. Ubuntu 17.04 na etapie instalacji wykryję wcześniejszą instalację Windows 10 czy w ogóle nie rozpozna macierzy RAID 0 z dysków NVMe?
Ubuntu niestety nie rozpozna macierzy z Windowsem.
Do tego celu należy sprawdzić na płycie głównej jak (w sensie do których slotów) rozlokowane są linie PCIe.
Nie trzeba nic sprawdzać - Linus dostał info od ASUSa.
https://abload.de/img/threadripperdieszenitxcawr.png
Teoretycznie da się, pisaliśmy o tym we wstępie. Technika nazywa się VROC. Niestety nadal oficjalnie niedostępny jest sterownik, więc nie mogliśmy sprawdzić, jak takie rozwiązanie sprawdza się na platformie Intela.
Nie trzeba nic sprawdzać - Linus dostał info od ASUSa.
https://abload.de/img/threadripperdieszenitxcawr.png
Nieprawda! Wystarczy zajrzeć tutaj: http://pclab.pl/art75202-5.html żeby się przekonać, że jest tak:
To ciekawe zagadnienie – jeśli chcemy zapełnić danymi całą pulę pamięci, to najlepiej będzie ustawić maszynę w tryb NUMA i podłączyć tak jak mówisz. Ale jeśli chcemy pobrać z macierzy tyle danych, ile mieści się w połowie pamięci, to może lepiej będzie podłączyć wszystkie SSD-ki do jednego jądra, a może nawet ustawić wtedy tryb UMA?
Za pomocą tego narzędzia możecie podejrzeć jakie dane sobie aktualnie siedzą w pamięci RAM
https://docs.microsoft.com/en-us/sysintern...ownloads/rammap
1. przygotować RAM dysk o pojemności 40GB+ zamiast PrimoCache
2. przenieść na niego typowy folder Windows i uzupełnić jakimiś danymi do pełna, może być katalog 'temp'
3. skopiować dane na dysk SSD i zmierzyć czas
4. skopiować dane na macierz i zmierzyć czas
5. wyczyścić RAM dysk i po kilku minutach (żeby dyski SSD przepisały dane do MLC) + restart systemu żeby cache Windows opróżnić, przeprowadzić test odczytu danych z dysku do RAM dysku
6. z ciekawości można zrobić jakieś 40GB+ archiwum i taki sam test z nim żeby sprawdzić sekwencyjny zapis i odczyt danych w praktyce a nie to co pokazują programy testujące
7. ewentualnie mniejsze paczki danych (30GB) uzupełnione na przykład 8GB buforem PrimoCache
Gdzie realne testy?
To ciekawe zagadnienie – jeśli chcemy zapełnić danymi całą pulę pamięci, to najlepiej będzie ustawić maszynę w tryb NUMA i podłączyć tak jak mówisz. Ale jeśli chcemy pobrać z macierzy tyle danych, ile mieści się w połowie pamięci, to może lepiej będzie podłączyć wszystkie SSD-ki do jednego jądra, a może nawet ustawić wtedy tryb UMA?
Podłączenie macierzy po równo na obu zeppelinach maksymalizuje przepustowość przesyłu danych (potwierdziło to kilku już ludzi w internecine, w tym popularny Linus), ale możliwe, że negatywnie wpływa na opóźnienia. Podłączenie macierzy tylko do jednego zeppelina najprawdopodobniej będize miało skutek odwrotny, czyli zmniejszenie przepustowości, ale polepszenie opóźnień. Warto przetestować czy tak jest faktycznie.
Swoją drogą nie brałem pod uwagę trybu działania pamięciu UMA/NUMA. To ciekawy aspekt i moim zdaniem też wart przetestowania
Z chęcią zobaczyłbym jak duże byłyby różnice w poszczególnych testach.
Wyniki takiego testu mogłyby posłużyć jako estymacja jak mógłby taki zestaw PC sprawdzić się jako ekstremalny serwer bazy danych (na przykład SQL Server).
W serwerach bazodanowych wrzuca się tyle RAMu, żeby rzadko dotykać dysków. Na dyski leci zapis liniowy do logów i zapis zmian w bazie. Co więcej często wrzuca się kilkukrotnie większą ilość RAMu, niż same dane, by przetwarzać je równolegle w pamięci bez blokowania.