Π‘ΠΈΡΡΠ΅ΠΌΡ Shenango ΠΏΠ»Π°Π½ΠΈΡΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² Π΄Π°ΡΠ°-ΡΠ΅Π½ΡΡΠ°Ρ .
/ ΡΠΎΡΠΎ
ΠΠΎ Π΄Π°Π½Π½ΡΠΌ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠΎΠ², Π΄Π°ΡΠ°-ΡΠ΅Π½ΡΡΡ
ΠΠΎΡΠΎΡΡΡΡ Ρ Π½Π΅ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΌ ΡΠ°ΡΡ
ΠΎΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΡΡ
ΡΠ΅ΡΡΡΡΠΎΠ² ΡΠ΅ΡΠΈΠ»ΠΈ Π² MIT.
ΠΠΎΠΌΠ°Π½Π΄Π° ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠΎΠ²
ΠΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Shenango
Shenango ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ Linux-Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ Π½Π° ΡΠ·ΡΠΊΠ΅ C Ρ Π±Π°ΠΉΠ½Π΄ΠΈΠ½Π³Π°ΠΌΠΈ Rust ΠΈ C++. ΠΠΎΠ΄ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈ ΡΠ΅ΡΡΠΎΠ²ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Ρ Π²
ΠΡΠ½ΠΎΠ²Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π°Π»Π³ΠΎΡΠΈΡΠΌ IOKernel, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ Π½Π° Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΠΎΠΌ ΡΠ΄ΡΠ΅ ΠΌΡΠ»ΡΡΠΈΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ. ΠΠ½ ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π·Π°ΠΏΡΠΎΡΠ°ΠΌΠΈ ΠΊ CPU Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ°
IOKernel ΡΠ΅ΡΠ°Π΅Ρ, ΠΊΠ°ΠΊΠΈΠΌ ΡΠ΄ΡΠ°ΠΌ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ Π·Π°Π΄Π°ΡΡ. ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΡΠ°ΠΊΠΆΠ΅ ΡΠ΅ΡΠ°Π΅Ρ, ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΄Π΅Ρ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ. ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΠ΄ΡΠ° (guaranteed) ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ (burstable) β Π²ΡΠΎΡΡΠ΅ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ Π² ΡΠ»ΡΡΠ°Π΅ ΡΠ΅Π·ΠΊΠΎΠ³ΠΎ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ ΡΠΈΡΠ»Π° Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΊ CPU.
ΠΡΠ΅ΡΠ΅Π΄Ρ Π·Π°ΠΏΡΠΎΡΠΎΠ² IOKernel ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Π° Π² Π²ΠΈΠ΄Π΅
ΠΡΠΈ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ Π½Π°Π³ΡΡΠ·ΠΊΠΈ ΠΏΡΠΈΠΎΡΠΈΡΠ΅Ρ ΠΎΡΠ΄Π°ΡΡΡΡ ΡΠ΄ΡΠ°ΠΌ, Π½Π° ΠΊΠΎΡΠΎΡΡΡ ΡΠ°ΠΊΠΎΠΉ ΠΆΠ΅ ΠΏΡΠΎΡΠ΅ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ»ΡΡ ΡΠ°Π½ΡΡΠ΅ ΠΈ ΡΠ°ΡΡΠΈΡΠ½ΠΎ ΠΎΡΡΠ°Π»ΡΡ Π² ΠΊΡΡ-ΠΏΠ°ΠΌΡΡΠΈ, ΠΈΠ»ΠΈ Π»ΡΠ±ΡΠΌ Π±Π΅Π·Π΄Π΅ΠΉΡΡΠ²ΡΡΡΠΈΠΌ ΡΠ΄ΡΠ°ΠΌ.
Shenango Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄
ΠΠΎΡΡΠΎΠΈΠ½ΡΡΠ²Π° ΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ
ΠΠΎ
ΠΠΎΡΠ΅Π½ΡΠΈΠ°Π» ΡΠ΅ΡΠ΅Π½ΠΈΡ
Π£ ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΏΠΎΠΊΠ° Π΅ΡΡΡ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ β ΠΎΠ½Π° Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΌΠ½ΠΎΠ³ΠΎΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΡΠ΅
/ ΡΠΎΡΠΎ
ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠ΅ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ
Π‘ΡΠ΅Π΄ΠΈ Π΄ΡΡΠ³ΠΈΡ ΡΠΈΡΡΠ΅ΠΌ Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΠΊΠΈ Π½Π°Π³ΡΡΠ·ΠΊΠΈ Π½Π° ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ΄Π΅Π»ΠΈΡΡ Arachne. ΠΠ½Π° ΡΠ°ΡΡΡΠΈΡΡΠ²Π°Π΅Ρ, ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΄Π΅Ρ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² ΠΌΠΎΠΌΠ΅Π½Ρ Π΅Π³ΠΎ Π·Π°ΠΏΡΡΠΊΠ°, ΠΈ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΏΡΠΎΡΠ΅ΡΡΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΡΡΠΈΠΌ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΌ. ΠΠΎ ΠΎΡΠ΅Π½ΠΊΠ°ΠΌ Π°Π²ΡΠΎΡΠΎΠ², ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½Π°Ρ Π·Π°Π΄Π΅ΡΠΆΠΊΠ° ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² Arachne ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΎΠΊΠΎΠ»ΠΎ 10 ΡΡΡ. ΠΌΠΈΠΊΡΠΎΡΠ΅ΠΊΡΠ½Π΄.
Π’Π΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π² Π²ΠΈΠ΄Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ C++ Π΄Π»Ρ Linux, Π° Π΅Ρ ΠΈΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π΅ΡΡΡ Π½Π°
ΠΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ-Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΡΠΈΠΊ β ZygOS. ΠΠ°ΠΊ ΠΈ Shenango, ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² ΠΌΠ΅ΡΠΎΠ΄ work stealing. ΠΠΎ Π΄Π°Π½Π½ΡΠΌ Π°Π²ΡΠΎΡΠΎΠ² ZygOS, ΡΡΠ΅Π΄Π½ΡΡ Π·Π°Π΄Π΅ΡΠΆΠΊΠ° Π² ΡΠ°Π±ΠΎΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΎΠΊΠΎΠ»ΠΎ 150 ΠΌΠΈΠΊΡΠΎΡΠ΅ΠΊΡΠ½Π΄, Π° ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½Π°Ρ β ΠΎΠΊΠΎΠ»ΠΎ 450 ΠΌΠΈΠΊΡΠΎΡΠ΅ΠΊΡΠ½Π΄. ΠΠΎΠ΄ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΡΠ°ΠΊΠΆΠ΅
ΠΡΠ²ΠΎΠ΄Ρ
Π‘ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π¦ΠΠ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡ ΡΠ°ΡΡΠΈΡΡΡΡΡΡ, ΠΡΠΎΠ±Π΅Π½Π½ΠΎ ΡΠ΅Π½Π΄Π΅Π½ΡΠΈΡ ΠΊ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ Π·Π°ΠΌΠ΅ΡΠ½Π° Π½Π° ΡΡΠ½ΠΊΠ΅ hyperscale Π΄Π°ΡΠ°-ΡΠ΅Π½ΡΡΠΎΠ²: ΡΠ΅ΠΉΡΠ°Ρ Π² ΠΌΠΈΡΠ΅
ΠΠΎΡΡΡ ΠΈΠ· ΠΠ΅ΡΠ²ΠΎΠ³ΠΎ Π±Π»ΠΎΠ³Π° ΠΎ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΠΎΠΌ IaaS:
ΠΠ°ΠΊ ΠΏΠΎΠ²ΡΡΠΈΡΡ ΡΠ½Π΅ΡΠ³ΠΎΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ Π΄Π°ΡΠ°-ΡΠ΅Π½ΡΡΠ° Π§ΡΠΎ Π½ΡΠΆΠ½ΠΎ Π·Π½Π°ΡΡ ΠΎ PCI DSS: ΠΎΠ±Π·ΠΎΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ° ΠΠΈΡ Π΄ΠΎ ΠΈ ΠΏΠΎΡΠ»Π΅: ΠΊΠ°ΠΊ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»Π°ΡΡ ΠΆΠΈΠ·Π½Ρ Ρ Π½Π°ΡΡΡΠΏΠ»Π΅Π½ΠΈΠ΅ΠΌ DNS Flag Day ΠΠ°ΠΊ IaaS ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΡΠ°Π·Π²ΠΈΠ²Π°ΡΡ Π±ΠΈΠ·Π½Π΅Ρ: ΡΡΠΈ Π·Π°Π΄Π°ΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅ΡΠΈΡ ΠΎΠ±Π»Π°ΠΊΠΎ Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π΄ΠΈΡΠΊΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Π² ΠΎΠ±Π»Π°ΠΊΠ΅: ΠΎΡΠ½ΠΎΠ²Ρ ΠΈ ΡΠΎΠ²Π΅ΡΡ 9 ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΡΠΎΠ²Π΅ΡΠΎΠ² Π΄Π»Ρ ΠΏΠ»Π°Π²Π½ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π° Π² ΠΎΠ±Π»Π°ΠΊΠΎ IaaS: ΠΠ΅ΡΠ²ΡΠ΅ ΡΠ°Π³ΠΈ ΠΏΠΎΡΠ»Π΅ Π°ΡΠ΅Π½Π΄Ρ ΠΎΠ±Π»Π°ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com