Wat is Doorvoer (throughput)?

Hoeveelheid werk, verzoeken of data die per tijdseenheid kan worden verwerkt. Een andere maat dan latency, die de snelheid van één taak aangeeft.

Japanse benaming: スループット

“Doorvoer (throughput)” komt voor in 5 oefenvragen uit 5 onderwerpen, bijv. Opbrengst en kwaliteitsbeheersing, Prestatiemeting en profiling, CPU en architectuur.

Vakgebied: Prestatiemeting en profiling

Doorvoer vs. latency

Doorvoer (throughput) telt hoeveel werk er per tijdseenheid klaar is; latency meet hoe lang één stuk werk van begin tot eind duurt. De twee worden vaak tegen elkaar uitgeruild. Een CPU-pipeline met vijf trappen rondt idealiter één instructie per klokcyclus af, wat de doorvoer ongeveer vervijfvoudigt, ook al neemt de latency van elke instructie iets toe. Verzoeken bundelen (batching) in een server of AI-inferentie-engine verhoogt de doorvoer, maar laat elk verzoek wachten. CPU's besteden hun schakelingen aan het snel maken van één thread, terwijl GPU's duizenden eenvoudigere threads draaien om de totale doorvoer te maximaliseren.

Doorvoer in geheugen en I/O

De piekdoorvoer van geheugen is de transfersnelheid maal de busbreedte. DDR-geheugen draagt op beide klokflanken data over, dus DDR4-3200 draait een klok van 1600 MHz op 3200 MT/s, en een kanaal van 64 bit haalt een piek van 25,6 GB/s. Meerdere DRAM-banken laten activate- en precharge-bewerkingen overlappen om de datastroom gaande te houden. Ook de linkcodering doet ertoe: PCI Express 3.0 stapte over van 8b/10b (80% rendement) naar 128b/130b (ongeveer 98,5%), wat de effectieve doorvoer bijna verdubbelde terwijl de signaleringssnelheid alleen van 5 naar 8 GT/s steeg.

Compute-bound of memory-bound

Het roofline-model laat zien welk soort doorvoer een programma begrenst. Als je de prestaties uitzet tegen de rekenintensiteit, in bewerkingen per byte die uit het geheugen wordt verplaatst, krijg je een schuin plafond dat door de geheugenbandbreedte wordt bepaald en een vlak plafond dat door de piekrekenkracht wordt bepaald. Met 1 TB/s bandbreedte en 100 TFLOPS rekenkracht is elke kernel onder 100 FLOP per byte memory-bound, dus helpt beter hergebruik van data meer dan extra rekeneenheden toevoegen.

Doorvoer in een fab

In de productie geldt hetzelfde idee. De doorvoer van een tool wordt uitgedrukt in wafers per uur, en keuzes ruilen die vaak in tegen andere doelen: batchreiniging van ongeveer 50 wafers per bad is snel maar riskeert kruisbesmetting, een hogere EUV-dosis vermindert stochastische defecten maar verlaagt de doorvoer van de scanner, en thermocompressiebonden is langzamer dan mass reflow. Op fabriekniveau stelt de wet van Little dat WIP = doorvoer × cyclustijd, dus een fab die 50.000 wafers per maand levert met een cyclustijd van drie maanden heeft ongeveer 150.000 wafers in bewerking.

Nu oefenen: vragen over Doorvoer (throughput)

Welke inhoud van de wet van Little, die het verband beschrijft tussen de hoeveelheid onderhanden werk (WIP), de verwerkingssnelheid (doorvoer) en de cyclustijd in een fabriek, is juist?

  1. AWIP = doorvoer × cyclustijd
  2. BWIP = doorvoer ÷ cyclustijd
  3. CWIP staat los van de cyclustijd
Antwoord en toelichting tonen

Antwoord: A. WIP = doorvoer × cyclustijd

De wet van Little zegt dat de gemiddelde hoeveelheid onderhanden werk gelijk is aan het product van de afgewerkte hoeveelheid per tijdseenheid (doorvoer) en de cyclustijd. Als bijvoorbeeld per maand 50 000 wafers worden afgewerkt en de cyclustijd 3 maanden bedraagt, is er in de fabriek steeds circa 150 000 wafers onderhanden werk. Om bij dezelfde doorvoer de cyclustijd te verkorten, moet het onderhanden werk worden verminderd, en omgekeerd verlengt te veel onderhanden werk de cyclustijd.

Welke uitleg van doorvoer (throughput) en latentie (latency) van een server is juist?

  1. ADoorvoer en latentie zijn hetzelfde
  2. BDoorvoer is het aantal verzoeken dat per tijdseenheid kan worden verwerkt, en latentie is de tijd tussen het ontvangen van één verzoek en het antwoord daarop
  3. CHoe groter de latentie, hoe beter de prestaties
Antwoord en toelichting tonen

Antwoord: B. Doorvoer is het aantal verzoeken dat per tijdseenheid kan worden verwerkt, en latentie is de tijd tussen het ontvangen van één verzoek en het antwoord daarop

Doorvoer geeft aan hoeveel werk kan worden verricht, latentie hoe snel één taak klaar is. Als veel verzoeken gebundeld worden verwerkt, stijgt de doorvoer, maar de latentie kan langer worden met de tijd die het wachten op bundeling kost. Bij nachtelijke batchverwerking wordt de doorvoer zwaar gewogen, bij webreacties waar de gebruiker voor het scherm op wacht de latentie.

Veelgestelde vragen

Wat is het verschil tussen doorvoer en latency?

Doorvoer is de hoeveelheid werk die per tijdseenheid wordt afgerond, zoals verzoeken per seconde of GB/s. Latency is de tijd die één verzoek nodig heeft om af te ronden; een systeem kan een hoge doorvoer en toch een hoge latency hebben, bijvoorbeeld als het werk in batches verwerkt.

Hoe bereken je de geheugenbandbreedte?

Vermenigvuldig de transfersnelheid met de busbreedte in bytes. DDR4-3200 op een kanaal van 64 bit (8 bytes) geeft bijvoorbeeld 3200 MT/s × 8 B = 25,6 GB/s piek; de duurzame doorvoer is lager door refresh, bankconflicten en omschakeltijden (turnarounds).

Wat is de wet van Little?

De wet van Little zegt dat het gemiddelde onderhanden werk gelijk is aan de doorvoer maal de gemiddelde tijd in het systeem. Ze geldt evengoed voor fabs, wachtrijen en processors, dus de cyclustijd verkorten bij gelijke doorvoer vraagt minder WIP.

“Doorvoer (throughput)” in de toelichting

Vragen met “Doorvoer (throughput)” (5)

  1. Welke inhoud van de wet van Little, die het verband beschrijft tussen de hoeveelheid onderhanden werk (WIP), de verwerkingssnelheid (doorvoer) en de cyclustijd in een fabriek, is juist?
  2. Welke uitleg van doorvoer (throughput) en latentie (latency) van een server is juist?
  3. Wat is het belangrijkste doel van pipelining in een CPU?
  4. Welke uitspraak over het verschil in ontwerpfilosofie tussen CPU en GPU is juist?
  5. Welke uitspraak over het nadeel van een te grote batchgrootte bij inferentie is juist?

Verwante termen

Sprongvoorspelling (branch prediction) Wet van Little Pipelining GPU Out-of-order-uitvoering Batchgrootte Inferentie (inference) KV-cache Benchmark CPI

Naar de woordenlijst