Facebook ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π° Hermit, Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ инструмСнти Π·Π° повтарящо сС изпълнСниС Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ

Facebook (Π·Π°Π±Ρ€Π°Π½Π΅Π½ Π² Руската фСдСрация) ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π° ΠΊΠΎΠ΄Π° Π½Π° инструмСнтариума Hermit, ΠΊΠΎΠΉΡ‚ΠΎ Ρ„ΠΎΡ€ΠΌΠΈΡ€Π° срСда Π·Π° Π΄Π΅Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΈΡ€Π°Π½ΠΎ изпълнСниС Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°, която позволява ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°Π½Π΅ Π½Π° ΡΡŠΡ‰ΠΈΡ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ ΠΈ повтарянС Π½Π° Π½Π°ΠΏΡ€Π΅Π΄ΡŠΠΊΠ° Π½Π° изпълнСниС, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ Π΅Π΄Π½ΠΈ ΠΈ ΡΡŠΡ‰ΠΈ Π²Ρ…ΠΎΠ΄Π½ΠΈ Π΄Π°Π½Π½ΠΈ ΠΏΡ€ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ стартирания. ΠšΠΎΠ΄ΡŠΡ‚ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π΅ написан Π½Π° Rust ΠΈ сС разпространява ΠΏΠΎΠ΄ BSD Π»ΠΈΡ†Π΅Π½Π·.

По Π²Ρ€Π΅ΠΌΠ΅ Π½Π° Π½ΠΎΡ€ΠΌΠ°Π»Π½ΠΎΡ‚ΠΎ изпълнСниС Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ външни Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈ влияят Π½Π° Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚Π°, ΠΊΠ°Ρ‚ΠΎ Ρ‚Π΅ΠΊΡƒΡ‰ΠΎΡ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈΡ‚Π΅ Π·Π° ΠΏΠ»Π°Π½ΠΈΡ€Π°Π½Π΅ Π½Π° нишки, адрСси Π½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚, Π΄Π°Π½Π½ΠΈ ΠΎΡ‚ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ Π½Π° псСвдослучайни числа ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΡƒΠ½ΠΈΠΊΠ°Π»Π½ΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΈ. Hermit Π²ΠΈ позволява Π΄Π° ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π° Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€, Π² ΠΊΠΎΠΉΡ‚ΠΎ Ρ‚Π΅Π·ΠΈ Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈ остават постоянни ΠΏΡ€ΠΈ слСдващи изпълнСния. ΠŸΠΎΠ²Ρ‚Π°Ρ€ΡΡ‰ΠΎΡ‚ΠΎ сС изпълнСниС, ΠΊΠΎΠ΅Ρ‚ΠΎ напълно Π²ΡŠΠ·ΠΏΡ€ΠΎΠΈΠ·Π²Π΅ΠΆΠ΄Π° настройкитС Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°Ρ‚Π° срСда, ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° диагностика Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ, ΠΌΠ½ΠΎΠ³ΠΎΠ΅Ρ‚Π°ΠΏΠ½ΠΎ отстраняванС Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ с повторСния, създаванС Π½Π° фиксирана срСда Π·Π° рСгрСсионни тСстовС, стрСс тСстовС, отстраняванС Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ с ΠΌΠ½ΠΎΠ³ΠΎΠ½ΠΈΡˆΠΊΠΎΠ²ΠΎΡΡ‚Ρ‚Π° ΠΈ повтарящи сС систСми Π·Π° ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅.

Facebook ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π° Hermit, Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ инструмСнти Π·Π° повтарящо сС изпълнСниС Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ

Бъздава сС Π²ΡŠΠ·ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠΌΠ° срСда Ρ‡Ρ€Π΅Π· ΠΏΡ€ΠΈΡ…Π²Π°Ρ‰Π°Π½Π΅ Π½Π° систСмни повиквания, някои ΠΎΡ‚ ΠΊΠΎΠΈΡ‚ΠΎ сС замСнят със собствСни ΠΌΠ°Π½ΠΈΠΏΡƒΠ»Π°Ρ‚ΠΎΡ€ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅ΠΆΠ΄Π°Ρ‚ постоянСн Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚, Π° Π΄Ρ€ΡƒΠ³ΠΈ сС прСнасочват към ядрото, слСд ΠΊΠΎΠ΅Ρ‚ΠΎ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΡŠΡ‚ сС изчиства ΠΎΡ‚ нСпостоянни Π΄Π°Π½Π½ΠΈ. Π—Π° ΠΏΡ€ΠΈΡ…Π²Π°Ρ‰Π°Π½Π΅ Π½Π° систСмни обаТдания сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Ρ€Π°ΠΌΠΊΠ°Ρ‚Π° reverie, Ρ‡ΠΈΠΉΡ‚ΠΎ ΠΊΠΎΠ΄ ΡΡŠΡ‰ΠΎ Π΅ ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Π½ ΠΎΡ‚ Facebook. Π—Π° Π΄Π° сС ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ във Ρ„Π°ΠΉΠ»ΠΎΠ²Π°Ρ‚Π° систСма ΠΈ ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈΡ‚Π΅ заявки Π΄Π° повлияят Π½Π° Π½Π°ΠΏΡ€Π΅Π΄ΡŠΠΊΠ° Π½Π° изпълнСниС, ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° фиксиран FS ΠΎΠ±Ρ€Π°Π· ΠΈ с Π΄Π΅Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½ Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ външни ΠΌΡ€Π΅ΠΆΠΈ. ΠŸΡ€ΠΈ Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° Π½Π° псСвдослучайни числа, Hermit ΠΏΡ€ΠΎΠΈΠ·Π²Π΅ΠΆΠ΄Π° ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π½ΠΎ Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π°Π½Π° послСдоватСлност, която сС повтаря всСки ΠΏΡŠΡ‚, ΠΊΠΎΠ³Π°Ρ‚ΠΎ сС стартира.

Π‘Ρ€Π΅Π΄ Π½Π°ΠΉ-слоТнитС нСпостоянни влияния Π²ΡŠΡ€Ρ…Ρƒ ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π΅ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‡ΠΈΠΊΡŠΡ‚ Π½Π° нишки, Ρ‡ΠΈΠ΅Ρ‚ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ зависи ΠΎΡ‚ ΠΌΠ½ΠΎΠ³ΠΎ външни Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈ, ΠΊΠ°Ρ‚ΠΎ броя Π½Π° процСсорнитС ядра ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅Ρ‚ΠΎ Π½Π° Π΄Ρ€ΡƒΠ³ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ΠΈ нишки. Π—Π° Π΄Π° сС осигури повторяСмо ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‡ΠΈΠΊΠ°, всички нишки са сСриализирани, ΠΎΠ±Π²ΡŠΡ€Π·Π°Π½ΠΈ само с Π΅Π΄Π½ΠΎ ядро ​​на процСсора ΠΈ Π² Ρ€Π΅Π΄Π°, Π² ΠΊΠΎΠΉΡ‚ΠΎ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŠΡ‚ сС ΠΏΡ€Π΅Π΄Π°Π²Π° Π½Π° Π½ΠΈΡˆΠΊΠΈΡ‚Π΅. Всяка нишка ΠΈΠΌΠ° ΠΏΡ€Π°Π²ΠΎ Π΄Π° изпълни фиксиран Π±Ρ€ΠΎΠΉ инструкции, слСд ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ спира ΠΈ сС ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»Ρ към Π΄Ρ€ΡƒΠ³Π° нишка (Π·Π° ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π°Π²Π°Π½Π΅ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° CPU PMU (Performance Monitoring Unit), ΠΊΠΎΠΉΡ‚ΠΎ спира ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ слСд ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ Π±Ρ€ΠΎΠΉ условни разклонСния).

Π—Π° диагностициранС Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ с нишки ΠΏΠΎΡ€Π°Π΄ΠΈ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅ Π½Π° ΡΡŠΡΡ‚Π΅Π·Π°Π½ΠΈΠ΅, Hermit ΠΈΠΌΠ° Ρ€Π΅ΠΆΠΈΠΌ Π·Π° ΠΎΡ‚ΠΊΡ€ΠΈΠ²Π°Π½Π΅ Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ Π½Π΅ са Π² Ρ€Π΅Π΄ ΠΈ са Π΄ΠΎΠ²Π΅Π»ΠΈ Π΄ΠΎ срив. Π—Π° ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°Π½Π΅ Π½Π° Ρ‚Π°ΠΊΠΈΠ²Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ сС ΠΏΡ€Π°Π²ΠΈ сравнСниС Π½Π° ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΡΡ‚Π°, Π² ΠΊΠΎΠΈΡ‚ΠΎ са записани ΠΏΡ€Π°Π²ΠΈΠ»Π½Π° опСрация ΠΈ Π½Π΅ΠΎΠ±ΠΈΡ‡Π°ΠΉΠ½ΠΎ Π·Π°Π²ΡŠΡ€ΡˆΠ²Π°Π½Π΅ Π½Π° ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€