TCQ

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 29. března 2021; kontroly vyžadují 10 úprav .

Tagged Command Queuing ( TCQ ) je technologie používaná u některých pevných disků ATA a SCSI . Tato technologie umožňuje operačnímu systému odesílat více požadavků na čtení a zápis na pevný disk. Svým provozem se ATA TCQ liší od efektivnější technologie NCQ používané u SATA disků [1] . SCSI TCQ ale netrpí stejnými omezeními jako ATA TCQ.

Před vynálezem TCQ byl operační systém schopen posílat pouze jeden požadavek najednou. Pro zlepšení výkonu musí tato technologie objednávat požadavky na základě vlastních úvah o činnosti pevného disku. S TCQ může disk sám rozhodovat o tom, jak objednávat požadavky (což by zase mělo zbavit operační systém této zátěže). V důsledku toho může TCQ zlepšit celkový výkon pevného disku, pokud je technologie implementována správně.

Přehled

Pro zvýšení efektivity by sektory měly být zpracovávány v pořadí podle blízkosti aktuální pozice hlavy, to znamená, že požadavky z nejbližších sektorů jsou zpracovávány jako první a ty nejvzdálenější jako poslední. Fronta se neustále doplňuje o nové požadavky a dokončené požadavky se mažou a k předefinování fronty dochází v souladu s již naplánovanými požadavky na čtení / zápis a změnami v pozici vedoucího. Přesný algoritmus řazení může záviset na řadiči a samotném disku, zatímco samotný počítač odesílá požadavky pouze v případě potřeby, přičemž podrobnosti provedení ponechává na uvážení řadiče.

Tento mechanismus řazení do fronty je někdy označován jako „ vyhledávání výtahů “, kvůli podobnosti s tím, jak se moderní výtahy pohybují v budovách, reagují na mnoho volání a zpracovávají je tak, aby se pohyb minimalizoval, což tuto myšlenku zcela jasně ilustruje.

Pokud jsou tlačítka pro patra 5, 2 a 4 stisknuta v tomto pořadí a výtah je zvednut z prvního patra, starý výtah se bude pohybovat mezi patry v pořadí, v jakém přišly požadavky. Moderní výtah naproti tomu zpracuje a seřadí požadavky tak, aby zastavil v patrech v logickém pořadí 2, 4 a 5 bez zbytečných pohybů. Disky bez fronty provádějí požadavky v pořadí, v jakém byly přijaty, jako staré výtahy výše. Jednotky ve frontě provádějí požadavky v nejúčinnějším pořadí. To umožňuje určité zlepšení výkonu na systémech s jedním uživatelem, ale největší efekt z použití této technologie je dosažen v systémech, se kterými pracuje několik uživatelů současně a zasílají požadavky, které jsou hromadně adresovány na celý povrch disku.

Srovnání SCSI TCQ, ATA TCQ a SATA NCQ

SCSI TCQ

SCSI TCQ je první nejoblíbenější verzí TCQ a je i dnes populární. Umožňuje vám objednávat úkoly ve frontě jedním ze tří různých způsobů [2] :

Před režimem fronty , který se používá výhradně v SCSI TCQ, je úloha umístěna na začátek fronty, před všechny ostatní úlohy, včetně dříve naplánovaných úloh předchozího vedoucího fronty [2] . [1] [3] . Tento režim není široce používán, protože může způsobit nedostatek dat v případě jakýchkoli odchylek.

V uspořádaném režimu by se úloha měla spustit bezprostředně po všech předchozích úlohách a před všemi novějšími, s výjimkou pouze novějších úloh v čele fronty [2] .

Jednoduchý režim umožňuje plnit úkoly v libovolném pořadí, které neporušuje pravidla a omezení úkolů spojených se dvěma předchozími režimy [2] . Po provedení příkazu v úloze zařízení odešle adaptéru hostitelské sběrnice oznámení o dokončení příkazu [2] . Ať tak či onak, SCSI TCQ přináší mnoho režií při použití přerušení v závislosti na sběrnici připojené k adaptéru kořenové sběrnice SCSI. U sběrnic PCI, PCI-X, PCI Express a dalších sběrnic, které to umožňují, se tomu použití DMA vyhne za cenu snížení zátěže. Starší sběrnice ISA vyžaduje adaptér SCSI pro generování přerušení pro přístup k procesoru, aby řadiče DMA třetích stran mohly dokončit přenos, a poté je vyžadováno další přerušení, které informuje procesor, že úloha ve frontě byla dokončena [1] , čímž způsobuje poměrně velké zatížení CPU.

Délka tagu v SCSI TCQ

Protokol SCSI-3 alokuje 64 bitů pro použití jako pole návěští (značky), což umožňuje, aby se do jedné přenosové sady vešlo až 264 úloh , což znamená, že některé příkazy musí být dokončeny před odesláním následujících příkazů [2] . Různé protokoly implementované v rámci protokolu SCSI však nemusí umožňovat použití všech 64 bitů. Například starší paralelní SCSI umožňuje pouze 8 bitů pro štítky (tagy), iSCSI umožňuje až 32 bitů a Fibre Channel umožňuje až 16 bitů pro štítky s vyhrazeným štítkem 0xFFFF . Tato flexibilita umožňuje návrháři protokolu vyvážit schopnost zpracovávat fronty a „náklady“. Sítě schopné dosahovat velkých velikostí, jako jsou sítě iSCSI, těží z více bitů pro štítky, dobře kombinované s více disky v síti a vyšší latencí způsobenou podobnou velikostí sítě, zatímco menší sítě, jako jsou paralelní řetězce SCSI, nemají dostatek disků. nebo latence, která vyžaduje velký počet bitů pro štítky a umožňuje úspory používáním systémů, které podporují méně bitů (obvykle se snadněji implementují, a proto jsou levnější, nebo se jedná o zastaralé systémy).

ATA TCQ

ATA TCQ bylo vyvinuto ve snaze přinést výhody SCSI na pevné disky ATA. Technologie existuje pro běžné (paralelní) i sériové ATA.

Tento nápad nebyl úspěšný, protože sběrnice ATA byla variantou sběrnice ISA se sníženým počtem pinů. Požadavek na kompatibilitu softwaru způsobil, že adaptéry ATA jsou velmi podobné zařízením sběrnice ISA bez podpory řízení sběrnice . Když je disk připraven k přenosu dat, musí odeslat signál přerušení do CPU, počkat, až se procesor disku „zeptá“, jaký příkaz je připraven provést, odpovědět, že je připraven jej provést, počkat na procesor Chcete-li naprogramovat adaptér sběrnice pro řízení prostřednictvím nepřímého DMA na základě výsledků předchozího příkazu, počkejte, až zprostředkovaný řadič DMA provede příkaz, a poté musíte znovu odeslat signál přerušení do procesoru, aby jej upozornil, že řadič DMA dokončí provádění úlohu, aby procesor mohl podprocesu oznámit, že požadovaná úloha byla dokončena. [1] . Vzhledem k tomu, že odezvy na přerušení vyžadují příliš velkou režii, využití procesoru se rychle zvyšuje s povoleným ATA TCQ [1] . Kromě toho, protože nelze předem předvídat dobu zpracování signálu přerušení, existují situace, kdy je disk připraven k přenosu dat, ale nemůže je přenést, protože musí počkat, až procesor na přerušení zareaguje. signál, protože je to on, kdo je zodpovědný za nastavení zprostředkovaného DMA [1] .

Proto je tento standard implementován velmi zřídka kvůli vysoké zátěži CPU a bez hmatatelného zlepšení výkonu, pro které by toto vše dávalo smysl [1] . Tato norma poskytuje až 32 čekajících příkazů na zařízení [3] .

SATA NCQ

SATA NCQ  je nový standard, který nevyžaduje signály přerušení CPU. Stejně jako ATA TCQ má až 32 nezpracovaných příkazů na zařízení [1] , ale byl navržen s ohledem na možnosti adaptérů SATA, bez emulace paralelního provozu ATA při podpoře přímého DMA [1] . Místo signálů přerušení se používá následující schéma: předtím, než úloha přinutí CPU naprogramovat adaptér DMA, pevný disk sdělí adaptéru, jaký příkaz chce provést, v důsledku čehož adaptér naprogramuje svůj integrovaný řadič DMA podle parametrů uvedených v příkazu, dříve vybraný pevný disk, pak řadič DMA odešle data potřebná k provedení příkazu [1] . Aby se dále snížila režie přerušení, může disk zpozdit přerušení pomocí signálů dokončení úlohy, dokud jich nebude dostatek, aby je bylo možné poslat společně, čímž umožní CPU upozornit více vláken najednou, že jejich úkoly byly dokončeny [1] . Pokud se po odeslání takového přerušení ukončí jiná úloha, adaptér může opravit zprávy o dokončení, pokud nebyly odeslány procesoru [1] . To umožňuje firmwaru pevného disku kompenzovat výkon disku a zatížení CPU tím, že určí, kdy se má zdržet a kdy má odeslat zprávy o dokončení [1] .

Viz také

Poznámky

  1. 1 2 3 4 5 6 7 8 9 10 11 12 13 Deesi, Briane. Nativní řazení příkazů do fronty - pokročilý výkon ve stolním úložišti  //  Potenciály IEEE: žurnál. - 2005. - listopad/prosinec ( roč. 24 , č. 4 ). - str. 4-7 . - doi : 10.1109/MP.2005.1549750 .
  2. 1 2 3 4 5 6 SCSI Architecture Model - 3 (SAM-3) (PDF). Získáno 24. února 2007. Archivováno z originálu 9. dubna 2012.
  3. 1 2 1532D: AT Attachment with Packet Interface - 7 Volume 1 (PDF). 1532D: Příloha AT s paketovým rozhraním - 7 . Datum přístupu: 2. ledna 2007. Archivováno z originálu 9. dubna 2012.

Odkazy