Π­Π²ΠΎΠ»ΡŽΡ†ΠΈΡ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ Ρ‚ΠΎΡ€Π³ΠΎΠ²ΠΎ-ΠΊΠ»ΠΈΡ€ΠΈΠ½Π³ΠΎΠ²ΠΎΠΉ систСмы Московской Π±ΠΈΡ€ΠΆΠΈ. Π§Π°ΡΡ‚ΡŒ 1

Π­Π²ΠΎΠ»ΡŽΡ†ΠΈΡ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ Ρ‚ΠΎΡ€Π³ΠΎΠ²ΠΎ-ΠΊΠ»ΠΈΡ€ΠΈΠ½Π³ΠΎΠ²ΠΎΠΉ систСмы Московской Π±ΠΈΡ€ΠΆΠΈ. Π§Π°ΡΡ‚ΡŒ 1

ВсСм ΠΏΡ€ΠΈΠ²Π΅Ρ‚! МСня Π·ΠΎΠ²ΡƒΡ‚ Π‘Π΅Ρ€Π³Π΅ΠΉ ΠšΠΎΡΡ‚Π°Π½Π±Π°Π΅Π², Π½Π° Π‘ΠΈΡ€ΠΆΠ΅ я занимаюсь Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ ядра Ρ‚ΠΎΡ€Π³ΠΎΠ²ΠΎΠΉ систСмы.

Когда Π² голливудских Ρ„ΠΈΠ»ΡŒΠΌΠ°Ρ… ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ Нью-Π™ΠΎΡ€ΠΊΡΠΊΡƒΡŽ Ρ„ΠΎΠ½Π΄ΠΎΠ²ΡƒΡŽ Π±ΠΈΡ€ΠΆΡƒ, это всСгда выглядит Ρ‚Π°ΠΊ: Ρ‚ΠΎΠ»ΠΏΡ‹ людСй, всС Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΎΡ€ΡƒΡ‚, ΠΌΠ°ΡˆΡƒΡ‚ Π±ΡƒΠΌΠ°ΠΆΠΊΠ°ΠΌΠΈ, творится ΠΏΠΎΠ»Π½Ρ‹ΠΉ хаос. Π£ нас Π½Π° Московской Π±ΠΈΡ€ΠΆΠ΅ Ρ‚Π°ΠΊΠΎΠ³ΠΎ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π±Ρ‹Π»ΠΎ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Ρ‚ΠΎΡ€Π³ΠΈ с самого Π½Π°Ρ‡Π°Π»Π° вСдутся элСктронно ΠΈ Π±Π°Π·ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π½Π° Π΄Π²ΡƒΡ… основных ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ… β€” Spectra (срочный Ρ€Ρ‹Π½ΠΎΠΊ) ΠΈ ASTS (Π²Π°Π»ΡŽΡ‚Π½Ρ‹ΠΉ, Ρ„ΠΎΠ½Π΄ΠΎΠ²Ρ‹ΠΉ ΠΈ Π΄Π΅Π½Π΅ΠΆΠ½Ρ‹ΠΉ Ρ€Ρ‹Π½ΠΎΠΊ). И сСгодня Ρ…ΠΎΡ‡Ρƒ Ρ€Π°ΡΡΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΎΠ± ΡΠ²ΠΎΠ»ΡŽΡ†ΠΈΠΈ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ Ρ‚ΠΎΡ€Π³ΠΎΠ²ΠΎ-ΠΊΠ»ΠΈΡ€ΠΈΠ½Π³ΠΎΠ²ΠΎΠΉ систСмы ASTS, ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΡ… ΠΈ Π½Π°Ρ…ΠΎΠ΄ΠΊΠ°Ρ…. Рассказ Π±ΡƒΠ΄Π΅Ρ‚ Π΄Π»ΠΈΠ½Π½Ρ‹ΠΉ, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ Ρ€Π°Π·Π±ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π½Π° Π΄Π²Π΅ части.

ΠœΡ‹ ΠΎΠ΄Π½Π° ΠΈΠ· Π½Π΅ΠΌΠ½ΠΎΠ³ΠΈΡ… Π±ΠΈΡ€ΠΆ ΠΌΠΈΡ€Π°, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… проводятся Ρ‚ΠΎΡ€Π³ΠΈ Π°ΠΊΡ‚ΠΈΠ²Π°ΠΌΠΈ всСх классов ΠΈ прСдоставляСтся ΠΏΠΎΠ»Π½Ρ‹ΠΉ спСктр Π±ΠΈΡ€ΠΆΠ΅Π²Ρ‹Ρ… услуг. К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, Π² ΠΏΡ€ΠΎΡˆΠ»ΠΎΠΌ Π³ΠΎΠ΄Ρƒ ΠΌΡ‹ Π·Π°Π½ΠΈΠΌΠ°Π»ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠ΅ мСсто Π² ΠΌΠΈΡ€Π΅ ΠΏΠΎ ΠΎΠ±ΡŠΡ‘ΠΌΡƒ Ρ‚ΠΎΡ€Π³ΠΎΠ² облигациями, 25 мСсто срСди всСх Ρ„ΠΎΠ½Π΄ΠΎΠ²Ρ‹Ρ… Π±ΠΈΡ€ΠΆ, 13 мСсто ΠΏΠΎ ΠΊΠ°ΠΏΠΈΡ‚Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ срСди ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹Ρ… Π±ΠΈΡ€ΠΆ.

Π­Π²ΠΎΠ»ΡŽΡ†ΠΈΡ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ Ρ‚ΠΎΡ€Π³ΠΎΠ²ΠΎ-ΠΊΠ»ΠΈΡ€ΠΈΠ½Π³ΠΎΠ²ΠΎΠΉ систСмы Московской Π±ΠΈΡ€ΠΆΠΈ. Π§Π°ΡΡ‚ΡŒ 1

Для ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… участников Ρ‚ΠΎΡ€Π³ΠΎΠ² ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½Ρ‹ Ρ‚Π°ΠΊΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, ΠΊΠ°ΠΊ врСмя ΠΎΡ‚ΠΊΠ»ΠΈΠΊΠ°, ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ распрСдСлСния Π²Ρ€Π΅ΠΌΡ‘Π½ (Π΄ΠΆΠΈΡ‚Ρ‚Π΅Ρ€) ΠΈ Π½Π°Π΄Ρ‘ΠΆΠ½ΠΎΡΡ‚ΡŒ всСго комплСкса. На Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΌΡ‹ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌ дСсятки ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ Π² дСнь. ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ядром систСмы Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ дСсятки микросСкунд. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, Ρƒ сотовых ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² ΠΏΠΎΠ΄ Новый Π³ΠΎΠ΄ ΠΈΠ»ΠΈ Ρƒ поисковиков Π½Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½ΠΎΡΡ‚ΡŒ сама ΠΏΠΎ сСбС Π²Ρ‹ΡˆΠ΅ нашСй, Π½ΠΎ Π²ΠΎΡ‚ ΠΏΠΎ нагруТСнности Π²ΠΊΡƒΠΏΠ΅ с Π²Ρ‹ΡˆΠ΅ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚Ρ‹ΠΌΠΈ характСристиками с Π½Π°ΠΌΠΈ ΠΌΠ°Π»ΠΎ ΠΊΡ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒΡΡ, ΠΊΠ°ΠΊ ΠΌΠ½Π΅ каТСтся. ΠŸΡ€ΠΈ этом Π½Π°ΠΌ Π²Π°ΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ систСма Π½ΠΈ Π½Π° сСкунду Π½Π΅ ΠΏΠΎΠ΄Ρ‚ΠΎΡ€ΠΌΠ°ΠΆΠΈΠ²Π°Π»Π°, Ρ€Π°Π±ΠΎΡ‚Π°Π»Π° Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎ, ΠΈ всС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Π½Π°Ρ…ΠΎΠ΄ΠΈΠ»ΠΈΡΡŒ Π² Ρ€Π°Π²Π½Ρ‹Ρ… условиях.

НСмноТко истории

Π’ 1994 Π³ΠΎΠ΄Ρƒ Π½Π° Московской мСТбанковской Π²Π°Π»ΡŽΡ‚Π½ΠΎΠΉ Π±ΠΈΡ€ΠΆΠ΅ (ΠœΠœΠ’Π‘) Π±Ρ‹Π»Π° Π·Π°ΠΏΡƒΡ‰Π΅Π½Π° австралийская систСма ASTS, ΠΈ с этого ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ Ρ€ΠΎΡΡΠΈΠΉΡΠΊΡƒΡŽ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ элСктронных Ρ‚ΠΎΡ€Π³ΠΎΠ². Π’ 1998 Π³ΠΎΠ΄Ρƒ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ Π±ΠΈΡ€ΠΆΠΈ ΠΌΠΎΠ΄Π΅Ρ€Π½ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ Ρ€Π°Π΄ΠΈ внСдрСния ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-Ρ‚Ρ€Π΅ΠΉΠ΄ΠΈΠ½Π³Π°. Π‘ Ρ‚Π΅Ρ… ΠΏΠΎΡ€ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ внСдрСния Π½ΠΎΠ²Ρ‹Ρ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ ΠΈ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½Ρ‹Ρ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π²ΠΎ всСх систСмах ΠΈ подсистСмах Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π°Π±ΠΈΡ€Π°Π΅Ρ‚ ΠΎΠ±ΠΎΡ€ΠΎΡ‚Ρ‹.

Π’ Ρ‚Π΅ Π³ΠΎΠ΄Ρ‹ бирТСвая систСма Ρ€Π°Π±ΠΎΡ‚Π°Π»Π° Π½Π° hi-end ΠΆΠ΅Π»Π΅Π·Π΅ β€” свСрхнадёТных сСрвСрах HP Superdome 9000 (построСнных Π½Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ PA-RISC), Ρƒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΄ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Π»ΠΎΡΡŒ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ всё: подсистСмы Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π°, ΡΠ΅Ρ‚ΡŒ, опСративная ΠΏΠ°ΠΌΡΡ‚ΡŒ (фактичСски, Π±Ρ‹Π» RAID-массив ΠΈΠ· RAM), процСссоры (ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π»Π°ΡΡŒ горячая Π·Π°ΠΌΠ΅Π½Π°). МоТно Π±Ρ‹Π»ΠΎ ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ любой ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ сСрвСра Π±Π΅Π· остановки ΠΌΠ°ΡˆΠΈΠ½Ρ‹. ΠœΡ‹ полагались Π½Π° эти устройства, считали ΠΈΡ… фактичСски Π±Π΅Π·ΠΎΡ‚ΠΊΠ°Π·Π½Ρ‹ΠΌΠΈ. Π’ Ρ€ΠΎΠ»ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы выступала Unix-подобная систСма HP UX.

Но ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ с 2010 Π³ΠΎΠ΄Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ явлСниС, ΠΊΠ°ΠΊ high-frequency trading (HFT), ΠΈΠ»ΠΈ высокочастотная торговля β€” попросту говоря, Π±ΠΈΡ€ΠΆΠ΅Π²Ρ‹Π΅ Ρ€ΠΎΠ±ΠΎΡ‚Ρ‹. ВсСго Π·Π° 2,5 Π³ΠΎΠ΄Π° Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π½Π° наши сСрвСры ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ»Π°ΡΡŒ Π² 140 Ρ€Π°Π·.

Π­Π²ΠΎΠ»ΡŽΡ†ΠΈΡ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ Ρ‚ΠΎΡ€Π³ΠΎΠ²ΠΎ-ΠΊΠ»ΠΈΡ€ΠΈΠ½Π³ΠΎΠ²ΠΎΠΉ систСмы Московской Π±ΠΈΡ€ΠΆΠΈ. Π§Π°ΡΡ‚ΡŒ 1

Π’Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ со старой Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΎΠΉ ΠΈ ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π±Ρ‹Π»ΠΎ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. НуТно Π±Ρ‹Π»ΠΎ ΠΊΠ°ΠΊ-Ρ‚ΠΎ Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ.

Начало

Запросы ΠΊ Π±ΠΈΡ€ΠΆΠ΅Π²ΠΎΠΉ систСмС ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π° Π΄Π²Π° Ρ‚ΠΈΠΏΠ°:

  • Π’Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ. Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΊΡƒΠΏΠΈΡ‚ΡŒ Π΄ΠΎΠ»Π»Π°Ρ€Ρ‹, Π°ΠΊΡ†ΠΈΠΈ ΠΈΠ»ΠΈ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π΅Ρ‰Ρ‘, Ρ‚ΠΎ отправляСтС Π² Ρ‚ΠΎΡ€Π³ΠΎΠ²ΡƒΡŽ систСму Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ ΠΎΡ‚Π²Π΅Ρ‚ ΠΎΠ± ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΡΡ‚ΠΈ.
  • Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ запросы. Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡƒΠ·Π½Π°Ρ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Ρ†Π΅Π½Ρƒ, ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ½ΠΈΠ³Ρƒ заявок ΠΈΠ»ΠΈ индСксы, Ρ‚ΠΎ отправляСтС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ запросы.

Π­Π²ΠΎΠ»ΡŽΡ†ΠΈΡ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ Ρ‚ΠΎΡ€Π³ΠΎΠ²ΠΎ-ΠΊΠ»ΠΈΡ€ΠΈΠ½Π³ΠΎΠ²ΠΎΠΉ систСмы Московской Π±ΠΈΡ€ΠΆΠΈ. Π§Π°ΡΡ‚ΡŒ 1

Π‘Ρ…Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ ядро систСмы ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π° Ρ‚Ρ€ΠΈ уровня:

  • ΠšΠ»ΠΈΠ΅Π½Ρ‚ΡΠΊΠΈΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π±Ρ€ΠΎΠΊΠ΅Ρ€Ρ‹, ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρ‹. ВсС ΠΎΠ½ΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚ с сСрвСрами доступа.
  • Π‘Π΅Ρ€Π²Π΅Ρ€Ρ‹ доступа (Gateway) β€” это ΠΊΡΡˆΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ сСрвСры, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ локально ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ всС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ запросы. Π₯ΠΎΡ‚ΠΈΡ‚Π΅ ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΉ Ρ†Π΅Π½Π΅ сСйчас Ρ‚ΠΎΡ€Π³ΡƒΡŽΡ‚ΡΡ Π°ΠΊΡ†ΠΈΠΈ Β«Π‘Π±Π΅Ρ€Π±Π°Π½ΠΊΠ°Β»? Запрос ΡƒΡ…ΠΎΠ΄ΠΈΡ‚ Π½Π° сСрвСр доступа.
  • Но Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΊΡƒΠΏΠΈΡ‚ΡŒ Π°ΠΊΡ†ΠΈΠΈ, Ρ‚ΠΎ запрос ΠΈΠ΄Ρ‘Ρ‚ ΡƒΠΆΠ΅ Π½Π° Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΉ сСрвСр (Trade Engine). Π’Π°ΠΊΠΈΡ… сСрвСров ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡƒ Π½Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π²ΠΈΠ΄ Ρ€Ρ‹Π½ΠΊΠ°, ΠΎΠ½ΠΈ ΠΈΠ³Ρ€Π°ΡŽΡ‚ Π²Π°ΠΆΠ½Π΅ΠΉΡˆΡƒΡŽ Ρ€ΠΎΠ»ΡŒ, ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ€Π°Π΄ΠΈ Π½ΠΈΡ… ΠΌΡ‹ ΠΈ создавали Π΄Π°Π½Π½ΡƒΡŽ систСму.

Π―Π΄Ρ€ΠΎ Ρ‚ΠΎΡ€Π³ΠΎΠ²ΠΎΠΉ систСмы прСдставляСт собой Ρ…ΠΈΡ‚Ρ€ΡƒΡŽ in-memory Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ всС Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ β€” это Π±ΠΈΡ€ΠΆΠ΅Π²Ρ‹Π΅ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ. Π‘Π°Π·Π° Π±Ρ‹Π»Π° написана Π½Π° Π‘, ΠΈΠ· Π²Π½Π΅ΡˆΠ½ΠΈΡ… зависимостСй имСлась Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° libc ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ отсутствовало динамичСскоС Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ памяти. Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ врСмя ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, систСма запускаСтся со статичСским Π½Π°Π±ΠΎΡ€ΠΎΠΌ массивов ΠΈ со статичСской Ρ€Π΅Π»ΠΎΠΊΠ°Ρ†ΠΈΠ΅ΠΉ Π΄Π°Π½Π½Ρ‹Ρ…: сначала всС Π΄Π°Π½Π½Ρ‹Π΅ Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ дСнь Π·Π°Π³Ρ€ΡƒΠΆΠ°ΡŽΡ‚ΡΡ Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ, ΠΈ дальшС ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΉ ΠΊ диску Π½Π΅ выполняСтся, вся Ρ€Π°Π±ΠΎΡ‚Π° вСдётся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² памяти. ΠŸΡ€ΠΈ запускС систСмы всС справочныС Π΄Π°Π½Π½Ρ‹Π΅ ΡƒΠΆΠ΅ отсортированы, поэтому поиск Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΎΡ‡Π΅Π½ΡŒ эффСктивно ΠΈ Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‚ ΠΌΠ°Π»ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π² runtime. ВсС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ сдСланы с ΠΈΠ½Ρ‚Ρ€ΡƒΠ·ΠΈΠ²Π½Ρ‹ΠΌΠΈ списками ΠΈ Π΄Π΅Ρ€Π΅Π²ΡŒΡΠΌΠΈ для динамичСских структур Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΈ Π½Π΅ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»ΠΈ выдСлСния памяти Π² runtime.

Π”Π°Π²Π°ΠΉΡ‚Π΅ Π²ΠΊΡ€Π°Ρ‚Ρ†Π΅ пробСТимся ΠΏΠΎ истории развития нашСй Ρ‚ΠΎΡ€Π³ΠΎΠ²ΠΎ-ΠΊΠ»ΠΈΡ€ΠΈΠ½Π³ΠΎΠ²ΠΎΠΉ систСмы.
ΠŸΠ΅Ρ€Π²Π°Ρ вСрсия Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ Ρ‚ΠΎΡ€Π³ΠΎΠ²ΠΎ-ΠΊΠ»ΠΈΡ€ΠΈΠ½Π³ΠΎΠ²ΠΎΠΉ систСмы Π±Ρ‹Π»Π° построСна Π½Π° Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠΌ Unix-взаимодСйствии: ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΠ»ΠΈΡΡŒ раздСляСмая ΠΏΠ°ΠΌΡΡ‚ΡŒ, сСмафоры ΠΈ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ, Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ процСсс состоял ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΡ‚ΠΎΠΊΠ°. Π­Ρ‚ΠΎΡ‚ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π±Ρ‹Π» ΡˆΠΈΡ€ΠΎΠΊΠΎ распространён Π² Π½Π°Ρ‡Π°Π»Π΅ 1990-Ρ….

ΠŸΠ΅Ρ€Π²Π°Ρ вСрсия систСмы содСрТала Π΄Π²Π° уровня Gateway ΠΈ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΉ сСрвСр Ρ‚ΠΎΡ€Π³ΠΎΠ²ΠΎΠΉ систСмы. Π‘Ρ…Π΅ΠΌΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π±Ρ‹Π»Π° такая:

  • ΠšΠ»ΠΈΠ΅Π½Ρ‚ отправляСт запрос, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ‚ Π½Π° Gateway. Π’ΠΎΡ‚ провСряСт Π²Π°Π»ΠΈΠ΄Π½ΠΎΡΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° (Π½ΠΎ Π½Π΅ самих Π΄Π°Π½Π½Ρ‹Ρ…) ΠΈ ΠΎΡ‚Π²Π΅Ρ€Π³Π°Π΅Ρ‚ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Π΅ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ.
  • Если Π±Ρ‹Π» ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ запрос, Ρ‚ΠΎ ΠΎΠ½ исполняСтся локально; Ссли Ρ€Π΅Ρ‡ΡŒ ΠΈΠ΄Ρ‘Ρ‚ ΠΎ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ, Ρ‚ΠΎ ΠΎΠ½Π° пСрСнаправляСтся Π½Π° Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΉ сСрвСр.
  • Π—Π°Ρ‚Π΅ΠΌ Ρ‚ΠΎΡ€Π³ΠΎΠ²Ρ‹ΠΉ Π΄Π²ΠΈΠΆΠΎΠΊ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ, измСняСт Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΈ отправляСт ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ, Π° Π΅Ρ‘ саму β€” Π½Π° Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡŽ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ.
  • Gateway ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΠΎΡ‚ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΡƒΠ·Π»Π° ΠΎΡ‚Π²Π΅Ρ‚ ΠΈ пСрСнаправляСт Π΅Π³ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ.
  • Π§Π΅Ρ€Π΅Π· Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ врСмя Gateway ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ ΠΏΠΎ Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΌΡƒ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡƒ, ΠΈ Π² этот Ρ€Π°Π· ΠΎΠ½ исполняСт Π΅Ρ‘ локально, измСняя свои структуры Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ запросы ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π»ΠΈ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅.

ЀактичСски, здСсь описана рСпликационная модСль, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Gateway ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ повторял дСйствия, выполняСмыС Π² Ρ‚ΠΎΡ€Π³ΠΎΠ²ΠΎΠΉ систСмС. ΠžΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠ°Π½Π°Π» Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ обСспСчивал ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ порядок исполнСния Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ Π½Π° мноТСствС ΡƒΠ·Π»ΠΎΠ² доступа.

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΊΠΎΠ΄ Π±Ρ‹Π» ΠΎΠ΄Π½ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½Ρ‹ΠΌ, для обслуТивания мноТСства ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² использовалась классичСская схСма с fork-Π°ΠΌΠΈ процСссов. Однако Π΄Π΅Π»Π°Ρ‚ΡŒ fork для всСй Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π±Ρ‹Π»ΠΎ ΠΎΡ‡Π΅Π½ΡŒ Π½Π°ΠΊΠ»Π°Π΄Π½ΠΎ, поэтому ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΠ»ΠΈΡΡŒ лСгковСсныС процСссы-сСрвисы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ собирали ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ ΠΈΠ· TCP-сСссий ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»Π°Π΄Ρ‹Π²Π°Π»ΠΈ ΠΈΡ… Π² ΠΎΠ΄Π½Ρƒ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ (SystemV Message Queue). Gateway ΠΈ Trade Engine Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с этой ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒΡŽ, забирая ΠΎΡ‚Ρ‚ΡƒΠ΄Π° Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ Π½Π° исполнСниС. ΠžΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π² Π½Π΅Ρ‘ ΠΎΡ‚Π²Π΅Ρ‚ ΡƒΠΆΠ΅ Π±Ρ‹Π»ΠΎ нСльзя, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ нСпонятно, ΠΊΠ°ΠΊΠΎΠΉ сСрвис-процСсс Π΄ΠΎΠ»ΠΆΠ΅Π½ Π΅Π³ΠΎ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ. Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΏΡ€ΠΈΠ±Π΅Π³Π»ΠΈ ΠΊ ΡƒΠ»ΠΎΠ²ΠΊΠ΅: ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ fork-Π½ΡƒΡ‚Ρ‹ΠΉ процСсс создавал для сСбя ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ², ΠΈ ΠΊΠΎΠ³Π΄Π° Π²ΠΎ Π²Ρ…ΠΎΠ΄ΡΡ‰ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΠ» запрос, ΠΊ Π½Π΅ΠΌΡƒ сразу добавлялся Ρ‚Π΅Π³ для ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ².

ΠŸΠΎΡΡ‚ΠΎΡΠ½Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ· ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ Π² ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΎΠ±ΡŠΡ‘ΠΌΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… создавало ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, особСнно Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½Ρ‹Π΅ для ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… запросов. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΌΡ‹ воспользовались Π΅Ρ‰Ρ‘ ΠΎΠ΄Π½ΠΈΠΌ Ρ‚Ρ€ΡŽΠΊΠΎΠΌ: ΠΊΡ€ΠΎΠΌΠ΅ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ² ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ процСсс создавал Ρ‚Π°ΠΊΠΆΠ΅ ΠΈ ΠΎΠ±Ρ‰ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ (SystemV Shared Memory). Π’ Π½Π΅Ρ‘ ΠΏΠΎΠΌΠ΅Ρ‰Π°Π»ΠΈΡΡŒ сами ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹, Π° Π² ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ сохранялся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅Π³, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ Π½Π°ΠΉΡ‚ΠΈ исходный ΠΏΠ°ΠΊΠ΅Ρ‚. Π­Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠ³Π»ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² кэш-памяти процСссора.

SystemV IPC Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ для просмотра состояния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΎΡ‡Π΅Ρ€Π΅Π΄Π΅ΠΉ, памяти ΠΈ сСмафоров. ΠœΡ‹ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ этим пользовались, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ происходит Π² систСмС Π² ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚, Π³Π΄Π΅ ΡΠΊΠ°ΠΏΠ»ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹, Ρ‡Ρ‚ΠΎ находится Π² Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ΅ ΠΈ Ρ‚. П.

ΠŸΠ΅Ρ€Π²Ρ‹Π΅ ΠΌΠΎΠ΄Π΅Ρ€Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ

Π’ ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ ΠΌΡ‹ избавились ΠΎΡ‚ однопроцСссового Gateway. Π•Π³ΠΎ сущСствСнным нСдостатком Π±Ρ‹Π»ΠΎ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΌΠΎΠ³ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Π»ΠΈΠ±ΠΎ ΠΎΠ΄Π½Ρƒ Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π½ΡƒΡŽ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ, Π»ΠΈΠ±ΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ запрос ΠΎΡ‚ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°. И с ростом Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Gateway Π±ΡƒΠ΄Π΅Ρ‚ всё дольшС ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ запросы ΠΈ Π½Π΅ смоТСт ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ ΠΏΠΎΡ‚ΠΎΠΊ. К Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅, Ссли ΠΊΠ»ΠΈΠ΅Π½Ρ‚ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΠ» Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ, Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π΅Ρ‘ Π²Π°Π»ΠΈΠ΄Π½ΠΎΡΡ‚ΡŒ ΠΈ ΠΏΠ΅Ρ€Π΅Π°Π΄Ρ€Π΅ΡΠΎΠ²Π°Ρ‚ΡŒ дальшС. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΌΡ‹ Π·Π°ΠΌΠ΅Π½ΠΈΠ»ΠΈ ΠΎΠ΄ΠΈΠ½ процСсс Gateway Π½Π° мноТСство ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ: ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½Ρ‹Π΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ ΠΈ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΎΠ½Π½Ρ‹Π΅ процСссы, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠ΅ нСзависимо Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π° с ΠΎΠ±Ρ‰Π΅ΠΉ ΠΎΠ±Π»Π°ΡΡ‚ΡŒΡŽ памяти с ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ RW-Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ. И Π·Π°ΠΎΠ΄Π½ΠΎ Π²Π½Π΅Π΄Ρ€ΠΈΠ»ΠΈ процСссы диспСтчСризации ΠΈ Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ.

ВлияниС высокочастотной Ρ‚ΠΎΡ€Π³ΠΎΠ²Π»ΠΈ

Π’Ρ‹ΡˆΠ΅ΠΎΠΏΠΈΡΠ°Π½Π½Π°Ρ вСрсия Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ просущСствовала Π²ΠΏΠ»ΠΎΡ‚ΡŒ Π΄ΠΎ 2010 Π³ΠΎΠ΄Π°. Π’Π΅ΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ нас ΡƒΠΆΠ΅ пСрСстала ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ сСрвСров HP Superdome. К Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° PA-RISC фактичСски ΡƒΠΌΠ΅Ρ€Π»Π°, Π²Π΅Π½Π΄ΠΎΡ€ Π½Π΅ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π» Π½ΠΈΠΊΠ°ΠΊΠΈΡ… сущСствСнных ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΌΡ‹ стали ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ с HP UX/PA RISC Π½Π° Linux/x86. ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ начался с Π°Π΄Π°ΠΏΡ‚Π°Ρ†ΠΈΠΈ сСрвСров доступа.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π½Π°ΠΌ снова ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ ΠΌΠ΅Π½ΡΡ‚ΡŒ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ? Π”Π΅Π»ΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ высокочастотная торговля Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»Π° ΠΏΡ€ΠΎΡ„ΠΈΠ»ΡŒ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π½Π° ядро систСмы.

Допустим, Ρƒ нас Π΅ΡΡ‚ΡŒ нСбольшая транзакция, которая Π²Ρ‹Π·Π²Π°Π»Π° Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ†Π΅Π½Ρ‹ β€” ΠΊΡ‚ΠΎ-Ρ‚ΠΎ ΠΊΡƒΠΏΠΈΠ» ΠΏΠΎΠ»ΠΌΠΈΠ»Π»ΠΈΠ°Ρ€Π΄Π° Π΄ΠΎΠ»Π»Π°Ρ€ΠΎΠ². Бпустя ΠΏΠ°Ρ€Ρƒ миллисСкунд всС участники Ρ€Ρ‹Π½ΠΊΠ° это Π·Π°ΠΌΠ΅Ρ‡Π°ΡŽΡ‚ ΠΈ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ Π΄Π°Π²Π°Ρ‚ΡŒ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ†ΠΈΡŽ. ЕстСствСнно, запросы Π²Ρ‹ΡΡ‚Ρ€Π°ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π² ΠΎΠ³Ρ€ΠΎΠΌΠ½ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ систСма Π±ΡƒΠ΄Π΅Ρ‚ Π΄ΠΎΠ»Π³ΠΎ Ρ€Π°Π·Π³Ρ€Π΅Π±Π°Ρ‚ΡŒ.

Π­Π²ΠΎΠ»ΡŽΡ†ΠΈΡ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ Ρ‚ΠΎΡ€Π³ΠΎΠ²ΠΎ-ΠΊΠ»ΠΈΡ€ΠΈΠ½Π³ΠΎΠ²ΠΎΠΉ систСмы Московской Π±ΠΈΡ€ΠΆΠΈ. Π§Π°ΡΡ‚ΡŒ 1

На этом ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π΅ Π² 50 мс срСдняя ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ составляСт ΠΎΠΊΠΎΠ»ΠΎ 16 тыс. Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ Π² сСкунду. Если ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ ΠΎΠΊΠ½ΠΎ Π΄ΠΎ 20 мс, Ρ‚ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ ΡΡ€Π΅Π΄Π½ΡŽΡŽ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΡƒΠΆΠ΅ 90 тыс. Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ Π² сСкунду, ΠΏΡ€ΠΈΡ‡Ρ‘ΠΌ Π½Π° ΠΏΠΈΠΊΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ 200 тыс. Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ. Π˜Π½Ρ‹ΠΌΠΈ словами, Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ° нСпостоянная, с Ρ€Π΅Π·ΠΊΠΈΠΌΠΈ всплСсками. А ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ запросов Π½ΡƒΠΆΠ½ΠΎ всСгда ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ быстро.

Но ΠΏΠΎΡ‡Π΅ΠΌΡƒ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ? Π˜Ρ‚Π°ΠΊ, Π² нашСм ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ мноТСство ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Π·Π°ΠΌΠ΅Ρ‚ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ†Π΅Π½Ρ‹ ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ. Π’Π΅ приходят Π² Gateway, ΠΎΠ½ ΠΈΡ… сСриализуСт, Π·Π°Π΄Π°Ρ‘Ρ‚ Π½Π΅ΠΊΠΈΠΉ порядок ΠΈ отправляСт Π² ΡΠ΅Ρ‚ΡŒ. ΠœΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ‚ΠΎΡ€Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡˆΠΈΠ²Π°ΡŽΡ‚ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ ΠΈΡ… дальшС. Π§Π΅ΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚ ΠΏΡ€ΠΈΡˆΡ‘Π» Ρ€Π°Π½ΡŒΡˆΠ΅, Ρ‚Π° транзакция ΠΈ Β«Π²Ρ‹ΠΈΠ³Ρ€Π°Π»Π°Β». Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρ‹ Π±ΠΈΡ€ΠΆΠΈ стали Π·Π°ΠΌΠ΅Ρ‡Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ссли ΠΎΠ΄Π½Ρƒ ΠΈ Ρ‚Ρƒ ΠΆΠ΅ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ с Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Gateway, Ρ‚ΠΎ ΡˆΠ°Π½ΡΡ‹ Π½Π° Π΅Ρ‘ Π±Ρ‹ΡΡ‚Ρ€ΡƒΡŽ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°ΡŽΡ‚. ВскорС Π±ΠΈΡ€ΠΆΠ΅Π²Ρ‹Π΅ Ρ€ΠΎΠ±ΠΎΡ‚Ρ‹ Π½Π°Ρ‡Π°Π»ΠΈ Π·Π°Π±Ρ€Π°ΡΡ‹Π²Π°Ρ‚ΡŒ Gateway запросами, ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° Π»Π°Π²ΠΈΠ½Π° Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ.

Π­Π²ΠΎΠ»ΡŽΡ†ΠΈΡ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ Ρ‚ΠΎΡ€Π³ΠΎΠ²ΠΎ-ΠΊΠ»ΠΈΡ€ΠΈΠ½Π³ΠΎΠ²ΠΎΠΉ систСмы Московской Π±ΠΈΡ€ΠΆΠΈ. Π§Π°ΡΡ‚ΡŒ 1

Новый Π²ΠΈΡ‚ΠΎΠΊ ΡΠ²ΠΎΠ»ΡŽΡ†ΠΈΠΈ

ПослС Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ тСстирования ΠΈ исслСдований ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅ΡˆΠ»ΠΈ Π½Π° real-time ядро ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы. Для этого Π²Ρ‹Π±Ρ€Π°Π»ΠΈ RedHat Enterprise MRG Linux, Π³Π΄Π΅ MRG Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π²Π°Π΅Ρ‚ΡΡ ΠΊΠ°ΠΊ messaging real-time grid. ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²ΠΎ real-time-ΠΏΠ°Ρ‚Ρ‡Π΅ΠΉ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‚ систСму ΠΏΠΎΠ΄ максимально быстроС исполнСниС: всС процСссы Π²Ρ‹ΡΡ‚Ρ€Π°ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π² FIFO-ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ядра, Π½ΠΈΠΊΠ°ΠΊΠΈΡ… выбрасываний, всС Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π² строгой ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

Π­Π²ΠΎΠ»ΡŽΡ†ΠΈΡ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ Ρ‚ΠΎΡ€Π³ΠΎΠ²ΠΎ-ΠΊΠ»ΠΈΡ€ΠΈΠ½Π³ΠΎΠ²ΠΎΠΉ систСмы Московской Π±ΠΈΡ€ΠΆΠΈ. Π§Π°ΡΡ‚ΡŒ 1
ΠšΡ€Π°ΡΠ½Ρ‹ΠΉ β€” Ρ€Π°Π±ΠΎΡ‚Π° с ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒΡŽ Π² ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΌ ядрС, Π·Π΅Π»Π΅Π½Ρ‹ΠΉ β€” Ρ€Π°Π±ΠΎΡ‚Π° Π² real-time ядрС.

Но Π΄ΠΎΡΡ‚ΠΈΡ‡ΡŒ Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ Π½Π° ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… сСрвСрах Π½Π΅ Ρ‚Π°ΠΊ просто:

  • Бильно ΠΌΠ΅ΡˆΠ°Π΅Ρ‚ Ρ€Π΅ΠΆΠΈΠΌ SMI, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π² Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ x86 Π»Π΅ΠΆΠΈΡ‚ Π² основС Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π²Π°ΠΆΠ½ΠΎΠΉ ΠΏΠ΅Ρ€ΠΈΡ„Π΅Ρ€ΠΈΠ΅ΠΉ. ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° всСвозмоТных Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Ρ… событий ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ ΠΈ устройствами выполняСтся ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΎΠΉ Π² Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠΌ ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΠΌ SMI-Ρ€Π΅ΠΆΠΈΠΌΠ΅, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ опСрационная систСма Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅ Π²ΠΈΠ΄ΠΈΡ‚, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠ°. Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, всС ΠΊΡ€ΡƒΠΏΠ½Ρ‹Π΅ Π²Π΅Π½Π΄ΠΎΡ€Ρ‹ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ для firmware-сСрвСров, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ ΠΎΠ±ΡŠΡ‘ΠΌ SMI-ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.
  • НС Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ динамичСского управлСния частотой процСссора, это ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΌΡƒ ΠΏΡ€ΠΎΡΡ‚ΠΎΡŽ.
  • Когда сбрасываСтся ΠΆΡƒΡ€Π½Π°Π» Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы, Π² ядрС Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ Π½Π΅ΠΊΠΈΠ΅ процСссы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ приводят ΠΊ нСпрСдсказуСмым Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ°ΠΌ.
  • НуТно ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ‚Π°ΠΊΠΈΠ΅ Π²Π΅Ρ‰ΠΈ, ΠΊΠ°ΠΊ CPU Affinity, Interrupt affinity, NUMA.

Надо ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‚Π΅ΠΌΠ° настройки ΠΆΠ΅Π»Π΅Π·Π° ΠΈ ядра Linux ΠΏΠΎΠ΄ realtime-ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ заслуТиваСт ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠΈ. ΠœΡ‹ ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΏΠΎΡ‚Ρ€Π°Ρ‚ΠΈΠ»ΠΈ Π½Π° экспСримСнты ΠΈ исслСдования, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ достигли Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π³ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°.

ΠŸΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π΅ с PA-RISC-сСрвСров Π½Π° x86 Π½Π°ΠΌ практичСски Π½Π΅ ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ сильно ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΊΠΎΠ΄ систСмы, ΠΌΡ‹ лишь Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ ΠΈ пСрСнастроили Π΅Ρ‘. Π—Π°ΠΎΠ΄Π½ΠΎ ΠΏΠΎΠΏΡ€Π°Π²ΠΈΠ»ΠΈ нСсколько Π±Π°Π³ΠΎΠ². НапримСр, быстро всплыли послСдствия Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ PA RISC являлась Big endian-систСмой, Π° x86 β€” Little endian: Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Π»ΠΈΡΡŒ Π΄Π°Π½Π½Ρ‹Π΅. Π‘ΠΎΠ»Π΅Π΅ Ρ…ΠΈΡ‚Ρ€Ρ‹ΠΉ Π±Π°Π³ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π»ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ PA RISC ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ консистСнтный (Sequential consistent) доступ ΠΊ памяти, Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ x86 ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΡƒΠΏΠΎΡ€ΡΠ΄ΠΎΡ‡ΠΈΠ²Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π° Ρ‡Ρ‚Π΅Π½ΠΈΠ΅, поэтому ΠΊΠΎΠ΄, Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ Π²Π°Π»ΠΈΠ΄Π½Ρ‹ΠΉ Π½Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅, стал Π½Π΅Ρ€Π°Π±ΠΎΡ‡ΠΈΠΌ Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ.

ПослС ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° Π½Π° Ρ…86 ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ выросла ΠΏΠΎΡ‡Ρ‚ΠΈ Π² Ρ‚Ρ€ΠΈ Ρ€Π°Π·Π°, срСдняя Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ снизилась Π΄ΠΎ 60 мкс.

Π”Π°Π²Π°ΠΉΡ‚Π΅ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ рассмотрим, ΠΊΠ°ΠΊΠΈΠ΅ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ измСнСния Π±Ρ‹Π»ΠΈ внСсСны Π² Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ систСмы.

ЭпопСя с горячим Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ

ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Ρ Π½Π° commodity-сСрвСры ΠΌΡ‹ ΠΎΡ‚Π΄Π°Π²Π°Π»ΠΈ сСбС ΠΎΡ‚Ρ‡Ρ‘Ρ‚, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ ΠΌΠ΅Π½Π΅Π΅ Π½Π°Π΄Ρ‘ΠΆΠ½Ρ‹. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΏΡ€ΠΈ создании Π½ΠΎΠ²ΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ ΠΌΡ‹ Π°ΠΏΡ€ΠΈΠΎΡ€ΠΈ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π»ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΈΠ· строя ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΡƒΠ·Π»ΠΎΠ². ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π½ΡƒΠΆΠ½Π° Π±Ρ‹Π»Π° систСма горячСго рСзСрвирования, способная ΠΎΡ‡Π΅Π½ΡŒ быстро ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ Π½Π° Ρ€Π΅Π·Π΅Ρ€Π²Π½Ρ‹Π΅ ΠΌΠ°ΡˆΠΈΠ½Ρ‹.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π±Ρ‹Π»ΠΈ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ трСбования:

  • НСльзя Π½ΠΈ Π² ΠΊΠΎΠ΅ΠΌ случаС Ρ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Π΅ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ.
  • БистСма Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΠΉ для нашСй инфраструктуры.
  • ΠšΠ»ΠΈΠ΅Π½Ρ‚Ρ‹ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π°Π·Ρ€Ρ‹Π²Ρ‹ соСдинСний.
  • Π Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π²Π½ΠΎΡΠΈΡ‚ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΡƒ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ это критичСский Ρ„Π°ΠΊΡ‚ΠΎΡ€ для Π±ΠΈΡ€ΠΆΠΈ.

ΠŸΡ€ΠΈ создании систСмы горячСго рСзСрвирования ΠΌΡ‹ Π½Π΅ рассматривали Ρ‚Π°ΠΊΠΈΠ΅ сцСнарии, ΠΊΠ°ΠΊ Π΄Π²ΠΎΠΉΠ½Ρ‹Π΅ ΠΎΡ‚ΠΊΠ°Π·Ρ‹ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, пСрСстала Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΡΠ΅Ρ‚ΡŒ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ сСрвСрС ΠΈ завис основной сСрвСр); Π½Π΅ рассматривали Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ошибок Π² ПО, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ Π²Ρ‹ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π² Ρ…ΠΎΠ΄Π΅ тСстирования; ΠΈ Π½Π΅ рассматривали Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΆΠ΅Π»Π΅Π·Π°.

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΌΡ‹ ΠΏΡ€ΠΈΡˆΠ»ΠΈ ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ схСмС:

Π­Π²ΠΎΠ»ΡŽΡ†ΠΈΡ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ Ρ‚ΠΎΡ€Π³ΠΎΠ²ΠΎ-ΠΊΠ»ΠΈΡ€ΠΈΠ½Π³ΠΎΠ²ΠΎΠΉ систСмы Московской Π±ΠΈΡ€ΠΆΠΈ. Π§Π°ΡΡ‚ΡŒ 1

  • Π“Π»Π°Π²Π½Ρ‹ΠΉ сСрвСр нСпосрСдствСнно взаимодСйствовал с сСрвСрами Gateway.
  • ВсС Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ, ΠΏΠΎΡΡ‚ΡƒΠΏΠ°Π²ΡˆΠΈΠ΅ Π½Π° Π³Π»Π°Π²Π½Ρ‹ΠΉ сСрвСр, ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎ Ρ€Π΅ΠΏΠ»ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π»ΠΈΡΡŒ Π½Π° Ρ€Π΅Π·Π΅Ρ€Π²Π½Ρ‹ΠΉ сСрвСр ΠΏΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌΡƒ ΠΊΠ°Π½Π°Π»Ρƒ. Арбитр (Governor) ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Π» ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ.

    Π­Π²ΠΎΠ»ΡŽΡ†ΠΈΡ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ Ρ‚ΠΎΡ€Π³ΠΎΠ²ΠΎ-ΠΊΠ»ΠΈΡ€ΠΈΠ½Π³ΠΎΠ²ΠΎΠΉ систСмы Московской Π±ΠΈΡ€ΠΆΠΈ. Π§Π°ΡΡ‚ΡŒ 1

  • Π“Π»Π°Π²Π½Ρ‹ΠΉ сСрвСр ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π» ΠΊΠ°ΠΆΠ΄ΡƒΡŽ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ ΠΈ ΠΎΠΆΠΈΠ΄Π°Π» подтвСрТдСния ΠΎΡ‚ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ³ΠΎ сСрвСра. Π§Ρ‚ΠΎΠ±Ρ‹ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ° Π±Ρ‹Π»Π° минимальной, ΠΌΡ‹ ΠΎΡ‚ΠΊΠ°Π·Π°Π»ΠΈΡΡŒ ΠΎΡ‚ оТидания выполнСния Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ Π½Π° Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠΌ сСрвСрС. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ пСрСмСщСния Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ΠΏΠΎ сСти Π±Ρ‹Π»Π° сравнима с Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ выполнСния, Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ Π½Π΅ ΠΏΡ€ΠΈΠ±Π°Π²Π»ΡΠ»ΠΎΡΡŒ.
  • Π‘Π²Π΅Ρ€ΡΡ‚ΡŒ состояниС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π³Π»Π°Π²Π½Ρ‹ΠΌ ΠΈ Ρ€Π΅Π·Π΅Ρ€Π²Π½Ρ‹ΠΌ сСрвСром ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ, Π° статус ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ Π±Ρ‹Π» нСизвСстСн. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ здСсь всё Π΅Ρ‰Ρ‘ использовались ΠΎΠ΄Π½ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½Ρ‹Π΅ процСссы, ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ ΠΎΡ‚Π²Π΅Ρ‚Π° ΠΎΡ‚ Backup Π·Π°Ρ‚ΠΎΡ€ΠΌΠΎΠ·ΠΈΠ»ΠΎ Π±Ρ‹ вСсь ΠΏΠΎΡ‚ΠΎΠΊ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, ΠΈ поэтому ΠΌΡ‹ пошли Π½Π° Ρ€Π°Π·ΡƒΠΌΠ½Ρ‹ΠΉ компромисс: свСряли Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ.

Π­Π²ΠΎΠ»ΡŽΡ†ΠΈΡ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ Ρ‚ΠΎΡ€Π³ΠΎΠ²ΠΎ-ΠΊΠ»ΠΈΡ€ΠΈΠ½Π³ΠΎΠ²ΠΎΠΉ систСмы Московской Π±ΠΈΡ€ΠΆΠΈ. Π§Π°ΡΡ‚ΡŒ 1

Π‘Ρ…Π΅ΠΌΠ° Ρ€Π°Π±ΠΎΡ‚Π°Π»Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ.

Допустим, Π³Π»Π°Π²Π½Ρ‹ΠΉ сСрвСр пСрСстал ΠΎΡ‚Π²Π΅Ρ‡Π°Ρ‚ΡŒ, Π½ΠΎ Gateway ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡŽΡ‚ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ. На Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠΌ сСрвСрС срабатываСт Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚, ΠΎΠ½ обращаСтся ΠΊ Governor, Π° Ρ‚ΠΎΡ‚ Π½Π°Π·Π½Π°Ρ‡Π°Π΅Ρ‚ Π΅ΠΌΡƒ Ρ€ΠΎΠ»ΡŒ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ сСрвСра, ΠΈ всС Gateway ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ Π½Π° Π½ΠΎΠ²Ρ‹ΠΉ Π³Π»Π°Π²Π½Ρ‹ΠΉ сСрвСр.

Если Π³Π»Π°Π²Π½Ρ‹ΠΉ сСрвСр снова Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² строй, Π½Π° Π½Ρ‘ΠΌ Ρ‚ΠΎΠΆΠ΅ срабатываСт Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΊ сСрвСру Π½Π΅ Π±Ρ‹Π»ΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΉ ΠΎΡ‚ Gateway. Π’ΠΎΠ³Π΄Π° ΠΎΠ½ Ρ‚ΠΎΠΆΠ΅ обращаСтся ΠΊ Governor, ΠΈ Ρ‚ΠΎΡ‚ ΠΈΡΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π΅Π³ΠΎ ΠΈΠ· схСмы. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π±ΠΈΡ€ΠΆΠ° Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° Ρ‚ΠΎΡ€Π³ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π° Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с ΠΎΠ΄Π½ΠΈΠΌ сСрвСром. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ Π²Ρ‹Ρ…ΠΎΠ΄Π° сСрвСра ΠΈΠ· строя достаточно низкая, такая схСма ΡΡ‡ΠΈΡ‚Π°Π»Π°ΡΡŒ Π²ΠΏΠΎΠ»Π½Π΅ ΠΏΡ€ΠΈΠ΅ΠΌΠ»Π΅ΠΌΠΎΠΉ, ΠΎΠ½Π° Π½Π΅ содСрТала слоТной Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΈ Π»Π΅Π³ΠΊΠΎ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Π»Π°ΡΡŒ.

ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ слСдуСт.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com