Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem c++ více vláken, stejná cache

No testuju program na 16 jádrovým procesoru.

Napíšu dobu trvání a počet jader (pokaždé program vypočítá stejnou věc, ale to je snad jasný)

1 Vlákno: 0.5 sekundy
2 Vlákna: 0.9 sekundy
4 Vlákna: 2.5 sekundy
8 Vláken: 5.8 sekundy
16 Vláken: 9.0 sekundy
32 Vláken: 9.1 sekundy
64 Vláken: 9.3 sekundy
128Vláken: 9.5 sekundy

Takže je zjevný, že na čím větším počtu jader program běží, tím je pomalejší (tím častěji mu nějaké jiné vlákno změní data, které on má v cache(musí je načíst znova)).
Při použití více jak 16ti vláken se program nezpomaluje, neb se o tu práci dělí 16 jader s 16ti cache paměťmi.

Reakce na odpověď

1 Zadajte svou přezdívku:
2 Napište svou odpověď:
3 Pokud chcete dostat ban, zadejte libovolný text:

Zpět do poradny