ΠΠ³ΡΠΎΠ²ΠΈΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Malte Skarupke ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ Π½Π° Π±Π°Π·Π° ΠΈ ΠΏΡΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΡΠΈ Π½Π° Π·Π°Π΄Π°ΡΠΈ. Π’Π΅ΡΡΠ²Π°Π½Π΅ΡΠΎ ΠΏΠΎΠΊΠ°Π·Π° Π°Π½ΠΎΠΌΠ°Π»Π½ΠΎ Π³ΠΎΠ»Π΅ΠΌΠΈ Π·Π°Π±Π°Π²ΡΠ½ΠΈΡ ΠΏΡΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° Spinlock Ρ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊΠ° ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Π½Π° Linux. ΠΠ²ΡΠΎΡΡΡ Π½Π° ΡΠ΅ΡΡΠΎΠ²Π΅ΡΠ΅ Π·Π°ΠΊΠ»ΡΡΠΈ, ΡΠ΅ Linux ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊΡΡ ΠΈΠΌΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ, ΠΊΠΎΠΈΡΠΎ Π½Π΅Π³Π°ΡΠΈΠ²Π½ΠΎ Π²Π»ΠΈΡΡΡ Π½Π° ΠΈΠ³ΡΠΈΡΠ΅, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π°Π½ΠΈ Π·Π° ΡΡΠ»ΡΠ³Π°ΡΠ° Google Stadia, Π² ΠΊΠΎΡΡΠΎ ΠΈΠ³ΡΠΈΡΠ΅ ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°Ρ Π½Π° GPU Π² ΠΎΠ±Π»Π°ΡΠ½Π° ΡΡΠ΅Π΄Π°, Π° ΠΊΠ»ΠΈΠ΅Π½ΡΡΡ ΠΏΠΎΠ»ΡΡΠ°Π²Π° ΠΏΠΎΡΠΎΡΠ½ΠΎ ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ Π½Π° Π΅ΠΊΡΠ°Π½Π° Ρ Π΄ΠΎ 60 ΠΊΠ°Π΄ΡΡΠ° Π² ΡΠ΅ΠΊΡΠ½Π΄Π°. ΠΡΠΈ ΡΠ°ΠΊΠΈΠ²Π° ΡΡΠ»ΠΎΠ²ΠΈΡ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΊΠ°Π΄ΡΠΈΡΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·Π²Π΅ΠΆΠ΄Π°Ρ Π½Π°Π²ΡΠ΅ΠΌΠ΅ ΠΈ Π·Π°Π±Π°Π²ΡΠ½ΠΈΡ, Π½Π°Π΄Ρ Π²ΡΡΠ»ΡΡΠΈ ΠΌΠΈΠ»ΠΈΡΠ΅ΠΊΡΠ½Π΄Π½Π°ΡΠ° Π³ΡΠ°Π½ΠΈΡΠ°, ΡΡΠ°Π²Π°Ρ Π·Π°Π±Π΅Π»Π΅ΠΆΠΈΠΌΠΈ.
ΠΡΠΌ Π΄ΠΈΡΠΊΡΡΠΈΡΡΠ° Π½Π° ΡΠ΅ΡΡΠΎΠ²Π΅ΡΠ΅ ΠΠΈΠ½ΡΡ Π’ΠΎΡΠ²Π°Π»Π΄Ρ, ΠΊΠΎΠΉΡΠΎ Π³ΠΈ Π½Π°ΡΠ΅ΡΠ΅ Π±ΠΎΠΊΠ»ΡΠΊ (βpure garbageβ) ΠΈ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ΅, Π±Π΅Π· Π΄Π° ΡΠ΅ ΡΠ°Π·Π±ΠΈΡΠ° ΠΈΠ·ΡΡΠ»ΠΎ ΡΠ΅ΠΌΠ°ΡΠ°, Π΄Π° ΡΠ΅ ΠΏΠΎΠ»ΡΡΠ°Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ, ΠΊΠΎΠΈΡΠΎ Π½Π΅ ΠΎΡΡΠ°Π·ΡΠ²Π°Ρ ΡΠ΅Π°Π»Π½ΠΎΡΡΡΠ°. Spinlock Π΅ ΠΏΡΠΈΠΌΠΈΡΠΈΠ² Ρ Π½ΠΈΡΠΊΠΎ Π½ΠΈΠ²ΠΎ, ΠΊΠΎΠΉΡΠΎ Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎΡΠΎ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Ρ Π³ΠΎΠ»ΡΠΌΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΈ ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Π½Π° Π΄Π΅ΡΠ°ΠΉΠ»ΠΈΡΠ΅, Π² ΠΏΡΠΎΡΠΈΠ²Π΅Π½ ΡΠ»ΡΡΠ°ΠΉ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈ ΡΠΎΠ²Π°, ΠΊΠΎΠ΅ΡΠΎ Π΄Π΅ΠΌΠΎΠΊΡΠ°ΡΠΈΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Ρ Π°. ΠΠΈΠ½ΡΡ ΠΏΠΎΡΡΠ²Π΅ΡΠ²Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π½Π° ΠΈΠ³ΡΠΈ Π΄Π° Π½Π΅ ΠΏΡΠΈΠ»Π°Π³Π°Ρ spinlock ΠΈ Π΄Π° Π½Π΅ ΠΎΠΏΠΈΡΠ²Π°Ρ Π΄Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Ρ ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ Π·Π° Π±Π»ΠΎΠΊΠΈΡΠ°Π½Π΅ Π½Π° Π½Π΅Π³ΠΎΠ²Π°ΡΠ° ΠΎΡΠ½ΠΎΠ²Π°, Π° Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°ΡΠΈΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½ΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΈΠ½ΡΠΎΡΠΌΠΈΡΠ°Ρ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° ΠΎΡΠ°ΠΊΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π²Π°Π½Π΅ Π½Π° Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ°ΡΠ°, Π·Π° Π΄Π° ΡΠ΅ ΠΈΠ·Π±Π΅Π³Π½Π΅ Π²Π»ΠΈΡΠ½ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊΠ°.
ΠΠ°Π΄ΡΡΡΠΎΠΉΠΊΠΈΡΠ΅ Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° Spinlock ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΡΠ°ΠΌΠΎ ΠΏΡΠΈ ΠΏΡΠ»Π½Π° ΡΠ²Π΅ΡΠ΅Π½ΠΎΡΡ, ΡΠ΅ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊΡΡ Π½ΡΠΌΠ° Π΄Π° ΠΏΡΠ΅ΠΊΡΡΠ½Π΅ ΡΡΡ Π½ΠΎΡΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅. ΠΠ»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈΡΠ΅, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Π² ΡΠ΅ΡΡΠΎΠ²Π΅ΡΠ΅, Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° spinlock, ΡΠ° ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΡΡΠ΅Π· ΡΠ°ΠΌΠΎΠ΄Π΅Π»Π½Π° ΠΎΠ±Π²ΠΈΠ²ΠΊΠ°, ΡΠ°Π±ΠΎΡΠ΅ΡΠ° Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎΡΠΎ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ. ΠΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊΡΡ ΠΌΠΎΠΆΠ΅ ΠΏΠΎ Π²ΡΡΠΊΠΎ Π²ΡΠ΅ΠΌΠ΅ Π΄Π° Π²Π·Π΅ΠΌΠ΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΡΠΎ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΡΠ°Π·ΠΈ ΠΎΠ±Π²ΠΈΠ²ΠΊΠ° ΠΈ Π΄Π° ΠΏΡΠ΅ΠΌΠΈΠ½Π΅ ΠΊΡΠΌ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° Π΄ΡΡΠ³Π° Π·Π°Π΄Π°ΡΠ°. Π’ΡΠΉ ΠΊΠ°ΡΠΎ ΠΈΠ·ΠΌΠ΅ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π° Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΈ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ Π½Π° ΡΠ°ΠΉΠΌΠ΅ΡΠ°, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡΠ΅ Π² ΡΠ΅ΡΡΠΎΠ²Π΅ΡΠ΅ Π·Π°Π±Π°Π²ΡΠ½ΠΈΡ ΠΎΠ±Ρ Π²Π°ΡΠ°Ρ Π½Π΅ ΡΠ°ΠΌΠΎ Π·Π°Π±Π°Π²ΡΠ½ΠΈΡΡΠ° Π² ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° Π½Π° Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ°ΡΠ°, Π½ΠΎ ΠΈ ΠΊΠΎΠ΄, ΠΊΠΎΠΉΡΠΎ Π΅ Π±ΠΈΠ» ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ Π² Π΄ΡΡΠ³ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ, Ρ.Π΅. ΠΈΠ·ΠΌΠ΅ΡΠ²Π°Ρ Π½Π΅ ΡΠ°ΠΌΠΎ ΡΠΎΠ²Π°, ΠΊΠΎΠ΅ΡΠΎ Π°Π²ΡΠΎΡΡΡ Π½Π° ΡΠ΅ΡΡΠ° ΡΠ΅ Π΅ ΠΎΠΏΠΈΡΠ°Π» Π΄Π° ΠΈΠ·ΠΌΠ΅ΡΠΈ, Π½ΠΎ ΠΈ βΡΡΠΌβ ΠΎΡ Π΄ΡΡΠ³ΠΈΡΠ΅ ΠΈΠ·ΡΠΈΡΠ»Π΅Π½ΠΈΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°.
ΠΠ²ΡΠΎΡΡΡ Π½Π° ΡΠ΅ΡΡΠ° Π΄Π° ΡΠ΅ ΠΏΡΠΎΡΠΈΠ²ΠΎΠΏΠΎΡΡΠ°Π²ΠΈ Π½Π° ΠΠΈΠ½ΡΡ, ΠΏΠΎΡΠΎΡΠ²Π°ΠΉΠΊΠΈ, ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈ Π±Π»ΠΎΠΊΠΈΡΠ°ΡΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° spinlock ΡΠ΅ΡΡΠΎ ΡΠ΅ ΠΏΡΠΈΠ»Π°Π³Π° Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ° Π² ΠΈΠ³ΡΠΈΡΠ΅, ΡΡΠΉ ΠΊΠ°ΡΠΎ ΡΠ΅ΡΡΠΎΠ²Π΅ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π²Π°Ρ ΠΏΠΎ-Π²ΠΈΡΠΎΠΊΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ ΠΏΡΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΏΠΎ-ΠΏΡΠΎΡΡΠΈΡΠΊΠΈΡΠ΅ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΡΠΈ Π² ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Ρ Linux. ΠΠΈΠ½ΡΡ , ΡΠ΅ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊΡΡ Π½Π° Linux Π΅ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»Π΅Π½, ΡΡΡΠ²ΡΡΡΠ΅Π½ΡΡΠ²Π°Π½ Π΅ Π² ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Π΄Π΅ΡΠ΅ΡΠΈΠ»Π΅ΡΠΈΡ ΠΈ Π΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½ Π½Π΅ ΡΠ°ΠΌΠΎ Π·Π° Π½Π°ΡΡΠΎΠ»Π½ΠΈ ΠΊΠΎΠΌΠΏΡΡΡΠΈ ΠΈ ΠΈΠ³ΡΠΈ, Π½ΠΎ ΠΈ Π·Π° Π΄ΡΡΠ³ΠΈ Π²ΠΈΠ΄ΠΎΠ²Π΅ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½ΠΈΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π·Π° ΡΡΡΠ²ΡΡΠ½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ, ΠΊΠΎΠ΅ΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π²Π°, ΡΠ΅ Π²Π·Π΅ΠΌΠ° ΠΏΠΎΠ΄ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π½ΡΠ°Π½ΡΠΈ ΠΏΡΠΈ ΠΏΠ»Π°Π½ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° Π·Π°Π΄Π°ΡΠΈ.
ΠΠΎΠ±Π°Π²ΡΠ½Π΅ΡΠΎ Π½Π° ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ, ΠΊΠΎΠΈΡΠΎ Π΄Π° Π½Π°ΠΌΠ°Π»ΡΡ Π·Π°ΠΊΡΡΠ½Π΅Π½ΠΈΡΡΠ° Π² ΠΈΠ³ΡΠΈΡΠ΅ Google Stadia, ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΠΎΠ²ΠΈΡΠΈ ΡΠ΅Π°ΠΊΡΠΈΡΡΠ° Π² ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΈΡ ΡΠ»ΡΡΠ°ΠΉ, Π½ΠΎ Π²Π΅ΡΠΎΡΡΠ½ΠΎ ΡΠ΅ Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ Π½Π°ΠΌΠ°Π»ΡΠ²Π°Π½Π΅ Π½Π° Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡΠ° Π½Π° ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊΠ° ΠΊΠ°ΡΠΎ ΡΡΠ»ΠΎ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊΡΡ Π½Π° Windows ΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Ρ ΠΏΠΎ-Π΄ΠΎΠ±ΡΠ΅ Π² ΡΠ°Π·Π³Π»Π΅ΠΆΠ΄Π°Π½ΠΈΡΠ΅ ΡΠ΅ΡΡΠΎΠ²Π΅, ΡΡΠΉ ΠΊΠ°ΡΠΎ Π΅ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΠΏΠΎ-ΠΏΡΠΎΡΡ ΠΎΡ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊΠ° Π½Π° Linux ΠΈ Π΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½ ΠΎΡΠ½ΠΎΠ²Π½ΠΎ Π·Π° Π·Π°Π΄Π°ΡΠΈ, ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΈ Π·Π° Π½Π°ΡΡΠΎΠ»Π½ΠΈ ΠΊΠΎΠΌΠΏΡΡΡΠΈ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
