Sobes.tech
Senior

Kam směřují gorutiny při jejich vytváření – do místní nebo globální fronty plánovače Go?

sobes.tech AI

Odpověď od AI

Při vytváření gorutiny v Go se ta dostane do místního frontu plánovače (local run queue), který patří k určitému M (stroji, systémovému vláknu).

Runtime Go používá model M:N, kde M jsou systémová vlákna a G jsou gorutiny. Každé M má svůj vlastní místní front gorutin pro vykonávání. Pokud se místní fronta přetíží nebo je prázdná, může plánovač gorutiny vyvažovat mezi místní a globální frontou.

Tímto způsobem je nová gorutina nejprve umístěna do místní fronty plánovače, což umožňuje efektivní využití cache procesoru a snižuje náklady na přepínání kontextu.