Dlaczego dysk SSD ma (dużo) wyższe mb / s przy głębokości kolejki 32 niż głębokość kolejki 1?

3

Więc w zasadzie w klasie (podczas kursu bazy danych) musieliśmy zainstalować i uruchomić CrystalDiskMark i przeanalizować liczby.

Jedyne, czego nie mogłem pojąć, to fakt, że mój komputer (wykorzystujący dysk SSD) miał wyższą liczbę mb / s na głębokości kolejki 32, a następnie miał głębokość kolejki 1.

Jeśli się nie mylę, głębokość kolejki to ilość zadań oczekujących na przetworzenie, gdzie 1 jest zwykle dla zwykłego użytkownika, a 32 jest bardziej dla serwera.

Przy głębokości kolejki 4Kb 1 miał odczyt 31,74 mb / s i zapis 24,13 mb / s. Przy głębokości kolejki 4Kb 32 miał odczyt 163,6 mb / s i zapis 60,68 mb / s.

Do czytania jest to więcej niż 5x, a potem podwójne zapisywanie. Dlaczego ma znacznie więcej mb / s na głębokości kolejki 32? Myślałem, że będzie wyższa na 1 głębokości kolejki

user404666
źródło

Odpowiedzi:

2

Najczęstsze głębokości kolejek do przetestowania to głębokość kolejki 1, co jest typowe dla lekkich obciążeń konsumenckich, a głębokość kolejki wynosi 32, co jest reprezentatywne dla dużego obciążenia, jakie może być widoczne na serwerze (np. Serwer WWW serwer bazy danych itp.). Gdzie w tym widmie najlepiej będzie działać dysk SSD, zależy od algorytmu oprogramowania układowego dysku. Zoptymalizowana dla wysokich lub niskich głębi lub odwrotności kolejki nie musi być zła, ale raczej decyzją projektową.

Źródło

Tak więc, jeśli testowany dysk został zoptymalizowany pod kątem użycia serwera, może / powinien / powinien działać lepiej z dłuższymi / głębszymi kolejkami niż dysk z płytką kolejką (np. Dysk niskiej klasy).

Należy również pamiętać, że sam kontroler dysku odgrywa również rolę w sposobie obsługi QD i jak głęboko można uzyskać dostęp do kolejki jednocześnie.

Więcej informacji na temat kontrolerów głębokości kolejki i dysków

Przyzwoity kontroler dysku może określić, które żądania są zależne od tego, i jakiego rodzaju jest to żądanie. Następnie może wykorzystać te informacje, aby zdecydować, która kolejność poleceń zostanie przekazana do napędu (dysków), optymalizując tym samym przepustowość.

Ogólnie rzecz biorąc, kolejkowanie pozwala podsystemowi napędowemu (systemowi operacyjnemu, kontrolerowi, napędom itp.) Określić optymalną kolejność uruchamiania poleceń. Jeśli głębokość kolejki wynosi tylko 1, to zajmuje się tylko 1 poleceniem na raz, optymalizacji nie można zrobić.

Ƭᴇcʜιᴇ007
źródło
1
Myślę, że twój link źródłowy umarł niestety. Oto inne lustro: samsung.com/global/business/semiconductor/minisite/SSD/M2M/html/… Myślę, że kolejnym istotnym kontrapunktem dla źródła Samsunga jest to, że „preferencja” jest tylko jednokierunkowa, ze wszystkich dysków SSD, które widziałem. Otrzymujesz silny QD32 / słaby QD1 lub silny QD32 / silny QD1. Nigdy nie widziałem słabego QD32 / silnego QD1. Mam na myśli „silny” w stosunku do innych dysków, nie w obrębie tego samego dysku (gdzie QD32 zawsze będzie szybszy niż QD1).
ikjadoon
0

Nie sądzę, aby to pytanie rzeczywiście zostało udzielone, więc oto prosta próba.

Dyski SSD są szybsze na wyższych głębokościach kolejki z kilku powodów:

  1. Są zbudowane z wielu układów Flash. Łatwo jest powiedzieć, że są wewnątrz RAID 0, ale jest to trochę podobne. Kolejka żądań może być obsługiwana z wielu układów Flash w tym samym czasie.

  2. Flash jest tak szybki, że opóźnienie między odpowiedzią na żądanie a otrzymaniem nowego żądania jest istotną częścią procesu. Z dyskiem twardym opóźnienie odpowiedzi / żądania jest nieznaczne w porównaniu z opóźnieniem obrotowym i czasem wyszukiwania głowy. Ale w przypadku dysku SSD oczekiwanie jest znacznie większe. Posiadanie kolejki żądań daje SSD więcej pracy do wykonania po wcześniejszej pracy.

Zan Lynx
źródło