Компания Cloudflare ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΠ»Π° ΠΏΠ°Ρ‚Ρ‡ΠΈ, ΠΊΠ°Ρ€Π΄ΠΈΠ½Π°Π»ΡŒΠ½ΠΎ ΡƒΡΠΊΠΎΡ€ΡΡŽΡ‰ΠΈΠ΅ дисковоС ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² Linux

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΈΠ· ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Cloudflare рассказали ΠΎ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ дискового ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ Π² ядрС Linux. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π±Ρ‹Π»ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Ρ‹ ΠΏΠ°Ρ‚Ρ‡ΠΈ для подсистСмы dm-crypt ΠΈ Crypto API, позволившиС Π² синтСтичСском тСстС Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ Π² Π΄Π²Π° Ρ€Π°Π·Π° ΠΏΠΎΠ΄Π½ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠΏΡƒΡΠΊΠ½ΡƒΡŽ способности ΠΏΡ€ΠΈ Ρ‡Ρ‚Π΅Π½ΠΈΠΈ ΠΈ записи, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π² Π΄Π²Π° Ρ€Π°Π·Π° ΡΠ½ΠΈΠ·ΠΈΡ‚ΡŒ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ. ΠŸΡ€ΠΈ тСстировании Π½Π° Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠΈ Π½Π°ΠΊΠ»Π°Π΄Π½Ρ‹Π΅ расходы ΠΎΡ‚ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΡΠ½ΠΈΠ·ΠΈΡ‚ΡŒ практичСски Π΄ΠΎ уровня, наблюдаСмого ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с диском Π±Π΅Π· примСнСния ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ Π΄Π°Π½Π½Ρ‹Ρ….

Cloudflare ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ dm-crypt для ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° накопитСлях, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… для ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° Π² CDN-сСти. Dm-crypt Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ Π±Π»ΠΎΡ‡Π½ΠΎΠ³ΠΎ устройства ΠΈ выполняСт ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ запросов Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π° Π½Π° запись ΠΈ Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΡƒ запросов Π½Π° Ρ‡Ρ‚Π΅Π½ΠΈΠ΅, выступая Π² Ρ€ΠΎΠ»ΠΈ прослойки ΠΌΠ΅ΠΆΠ΄Ρƒ Π±Π»ΠΎΡ‡Π½Ρ‹ΠΌ устройством ΠΈ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠΌ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы.

Компания Cloudflare ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΠ»Π° ΠΏΠ°Ρ‚Ρ‡ΠΈ, ΠΊΠ°Ρ€Π΄ΠΈΠ½Π°Π»ΡŒΠ½ΠΎ ΡƒΡΠΊΠΎΡ€ΡΡŽΡ‰ΠΈΠ΅ дисковоС ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² Linux

Для ΠΎΡ†Π΅Π½ΠΊΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ dm-crypt ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Π° Flexible I/O tester Π±Ρ‹Π»ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΎ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ скорости Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ ΠΈ Π½Π΅Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ Ρ€Π°Π·Π΄Π΅Π»Π°ΠΌΠΈ Π½Π° RAM-дискС, Ρ€Π°Π·ΠΌΠ΅Ρ‰Ρ‘Π½Π½ΠΎΠΌ Π² ΠžΠ—Π£ для ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Ρ„Π»ΡƒΠΊΡ‚ΡƒΠ°Ρ†ΠΈΠΉ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ дисков ΠΈ фокусировании Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄Π°. Для Π½Π΅Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ² ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ чтСния ΠΈ записи Π΄Π΅Ρ€ΠΆΠ°Π»Π°ΡΡŒ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ 1126 MB/s, Π½ΠΎ ΠΏΡ€ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ снизилась Π² 7 Ρ€Π°Π· ΠΈ составила 147 MB/s.

Π’Π½Π°Ρ‡Π°Π»Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΎ ΠΏΠΎΠ΄ΠΎΠ·Ρ€Π΅Π½ΠΈΠ΅ Π² использовании нСэффСктивных Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² Π² криптосистСмС ядра. Но Π² тСстах использовался Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ быстрый Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ aes-xts с 256 ΠΊΠ»ΡŽΡ‡ΠΎΠΌ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ, ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ «cryptsetup benchmark» Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ Π² Π΄Π²Π° Ρ€Π°Π·Π° Π²Ρ‹ΡˆΠ΅, Ρ‡Π΅ΠΌ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΈ тСстировании RAM-диска Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚. ЭкспСримСнты с Ρ„Π»Π°Π³Π°ΠΌΠΈ dm-crypt для Ρ‚ΡŽΠ½ΠΈΠ½Π³Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π½Π΅ Π΄Π°Π»ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°: ΠΏΡ€ΠΈ использовании Ρ„Π»Π°Π³Π° «—perf-same_cpu_crypt» ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π΄Π°ΠΆΠ΅ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΠ»Π°ΡΡŒ Π΄ΠΎ 136 MB/s, Π° ΠΏΡ€ΠΈ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠΈ Ρ„Π»Π°Π³Π° «—perf-submit_from_crypt_cpus» возросла лишь Π΄ΠΎ 166 MB/s.

Π‘ΠΎΠ»Π΅Π΅ Π³Π»ΡƒΠ±ΠΎΠΊΠΈΠΉ Ρ€Π°Π·Π±ΠΎΡ€ Π»ΠΎΠ³ΠΈΠΊΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎΠΊΠ°Π·Π°Π», Ρ‡Ρ‚ΠΎ dm-crypt Π½Π΅ Ρ‚Π°ΠΊ прост ΠΊΠ°ΠΊ каТСтся — ΠΏΡ€ΠΈ поступлСнии ΠΎΡ‚ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° Π€Π‘ запроса Π½Π° запись, dm-crypt Π½Π΅ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ Π΅Π³ΠΎ сразу, Π° ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅Ρ‚ Π² ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ «kcryptd», которая разбираСтся Π½Π΅ сразу, Π° ΠΏΡ€ΠΈ наступлСнии ΡƒΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°. Из ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ запрос отправляСтся Π² Linux Crypto API для выполнСния ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ. Но Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Crypto API ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π°ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½Π½ΡƒΡŽ модСль выполнСния, ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚Π°ΠΊΠΆΠ΅ производится Π½Π΅ сразу, Π° минуя Π΅Ρ‰Ρ‘ ΠΎΠ΄Π½Ρƒ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ. ПослС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ dm-crypt ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ сортировку ΠΎΠΆΠΈΠ΄Π°ΡŽΡ‰ΠΈΡ… запросов Π½Π° запись, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π΄Π΅Ρ€Π΅Π²ΠΎ поиска red-black. Π’ ΠΊΠΎΠ½Ρ†Π΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠΎΡ‚ΠΎΠΊ ядра ΠΎΠΏΡΡ‚ΡŒ с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠΉ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…Π²Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ накопившиСся запросы Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π° ΠΈ отправляСт ΠΈΡ… Π² стСк Π±Π»ΠΎΡ‡Π½ΠΎΠ³ΠΎ устройства.

Компания Cloudflare ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΠ»Π° ΠΏΠ°Ρ‚Ρ‡ΠΈ, ΠΊΠ°Ρ€Π΄ΠΈΠ½Π°Π»ΡŒΠ½ΠΎ ΡƒΡΠΊΠΎΡ€ΡΡŽΡ‰ΠΈΠ΅ дисковоС ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² Linux

ΠŸΡ€ΠΈ Ρ‡Ρ‚Π΅Π½ΠΈΠΈ Π²Π½Π°Ρ‡Π°Π»Π΅ dm-crypt добавляСт Π² ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ «kcryptd_io» запрос Π½Π° ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… с накопитСля. Π§Π΅Ρ€Π΅Π· ΠΊΠ°ΠΊΠΎΠ΅-Ρ‚ΠΎ врСмя Π΄Π°Π½Π½Ρ‹Π΅ становятся доступны ΠΈ ΠΏΠΎΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ Π² ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ «kcryptd» для Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠΈ.
Kcryptd отправляСт запрос Π² Linux Crypto API, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π²Π°Π΅Ρ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π² асинхронном Ρ€Π΅ΠΆΠΈΠΌΠ΅. Запросы Π½Π΅ всСгда проходят ΠΏΠΎ всСм очСрСдям, Π½ΠΎ Π² Ρ…ΡƒΠ΄ΡˆΠ΅ΠΌ сцСнарии запрос Π½Π° запись осСдаСт Π² очСрСдях Π΄ΠΎ 4 Ρ€Π°Π·, Π° запрос Π½Π° Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ Π΄ΠΎ 3 Ρ€Π°Π·. КаТдоС ΠΏΠΎΠΏΠ°Π΄Π°Π½ΠΈΠ΅ Π² ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ возникновСнию Π·Π°Π΄Π΅Ρ€ΠΆΠ΅ΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠΉ ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΎΠΉ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ сниТСния ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ dm-crypt.

ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΎΡ‡Π΅Ρ€Π΅Π΄Π΅ΠΉ обусловлСно Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² условиях возникновСния ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ. Π’ 2005 Π³ΠΎΠ΄Ρƒ, ΠΊΠΎΠ³Π΄Π° Π±Ρ‹Π»Π° Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° тСкущая модСль Ρ€Π°Π±ΠΎΡ‚Ρ‹ dm-crypt Π½Π° основС ΠΎΡ‡Π΅Ρ€Π΅Π΄Π΅ΠΉ, Crypto API Π΅Ρ‰Ρ‘ Π½Π΅ Π±Ρ‹Π» асинхронным. ПослС ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° Crypto API Π½Π° Π°ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½Π½ΡƒΡŽ модСль выполнСния стала ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ ΠΏΠΎ сути двойная Π·Π°Ρ‰ΠΈΡ‚Π°. ΠžΡ‡Π΅Ρ€Π΅Π΄ΠΈ Ρ‚Π°ΠΊΠΆΠ΅ вводились для экономии потрСблСния стСка ядра, Π½ΠΎ послС Π΅Π³ΠΎ увСличСния Π² 2014 Π³ΠΎΠ΄Ρƒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ потСряли Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ «kcryptd_io» Π±Ρ‹Π»Π° Π²Π²Π΅Π΄Π΅Π½Π° для прСодолСния ΡƒΠ·ΠΊΠΎΠ³ΠΎ мСста, приводящСго ΠΊ оТиданию выдСлСния памяти ΠΏΡ€ΠΈ поступлСнии большого числа запросов. Π’ 2015 Π³ΠΎΠ΄Ρƒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π±Ρ‹Π»Π° Π²Π²Π΅Π΄Π΅Π½Π° Ρ„Π°Π·Π° сортировки, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ запросы ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ Π½Π° многопроцСссорных систСмах ΠΌΠΎΠ³Π»ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠ°Ρ‚ΡŒΡΡ Π½Π΅ соблюдая порядок ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ (вмСсто ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ доступа ΠΊ диску, осущСствлялся доступ Π² случайном порядкС, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ эффСктивно Ρ€Π°Π±ΠΎΡ‚Π°Π» ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ CFQ). Π’ настоящСС врСмя ΠΏΡ€ΠΈ использовании SSD-Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»Π΅ΠΉ сортировка потСряла смысл, Π° ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ CFQ ΡƒΠΆΠ΅ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² ядрС.

Учитывая Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ соврСмСнныС Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΠΈ стали быстрСС ΠΈ ΡƒΠΌΠ½Π΅Π΅, систСма распрСдСлСния рСсурсов Π² ядрС Linux Π±Ρ‹Π»Π° пСрСсмотрСна Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ подсистСмы ΠΏΠ΅Ρ€Π΅Ρ€Π°Π±ΠΎΡ‚Π°Π½Ρ‹, ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Ρ‹ Cloudflare Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Π² dm-crypt Π½ΠΎΠ²Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹, ΠΈΠ·Π±Π°Π²Π»Π΅Π½Π½Ρ‹ΠΉ ΠΎΡ‚ использования Π»ΠΈΡˆΠ½ΠΈΡ… ΠΎΡ‡Π΅Ρ€Π΅Π΄Π΅ΠΉ ΠΈ асинхронных Π²Ρ‹Π·ΠΎΠ²ΠΎΠ². Π Π΅ΠΆΠΈΠΌ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌ Ρ„Π»Π°Π³ΠΎΠΌ «force_inline» ΠΈ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ dm-crypt ΠΊ Ρ„ΠΎΡ€ΠΌΠ΅ простого прокси, ΡˆΠΈΡ„Ρ€ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΈ Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ ΠΏΠΎΡΡ‚ΡƒΠΏΠ°ΡŽΡ‰ΠΈΠ΅ запросы. ВзаимодСйствиС с Crypto API Π±Ρ‹Π»ΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ явным Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… Π² синхронном Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΈ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ… ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ запросов. Для синхронной Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Crypto API Π±Ρ‹Π» ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ FPU/AES-NI для ускорСния ΠΈ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΏΡ€ΠΎΠ±Ρ€Π°ΡΡ‹Π²Π°ΡŽΡ‰ΠΈΠΉ запросы ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ ΠΈ Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠΈ.

Π’ ΠΈΡ‚ΠΎΠ³Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΏΡ€ΠΈ тСстировании RAM-диска Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ Π² Π΄Π²Π° Ρ€Π°Π·Π° ΠΏΠΎΠ΄Π½ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ dm-crypt — ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ возросла с 294 MB/s (2 x 147 MB/s) Π΄ΠΎ 640 MB/s, Ρ‡Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ Π±Π»ΠΈΠ·ΠΊΠΎ ΠΊ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π³ΠΎΠ»ΠΎΠ³ΠΎ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ (696 MB/s).

Компания Cloudflare ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΠ»Π° ΠΏΠ°Ρ‚Ρ‡ΠΈ, ΠΊΠ°Ρ€Π΄ΠΈΠ½Π°Π»ΡŒΠ½ΠΎ ΡƒΡΠΊΠΎΡ€ΡΡŽΡ‰ΠΈΠ΅ дисковоС ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² Linux

Компания Cloudflare ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΠ»Π° ΠΏΠ°Ρ‚Ρ‡ΠΈ, ΠΊΠ°Ρ€Π΄ΠΈΠ½Π°Π»ΡŒΠ½ΠΎ ΡƒΡΠΊΠΎΡ€ΡΡŽΡ‰ΠΈΠ΅ дисковоС ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² Linux

Компания Cloudflare ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΠ»Π° ΠΏΠ°Ρ‚Ρ‡ΠΈ, ΠΊΠ°Ρ€Π΄ΠΈΠ½Π°Π»ΡŒΠ½ΠΎ ΡƒΡΠΊΠΎΡ€ΡΡŽΡ‰ΠΈΠ΅ дисковоС ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² Linux

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

Компания Cloudflare ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΠ»Π° ΠΏΠ°Ρ‚Ρ‡ΠΈ, ΠΊΠ°Ρ€Π΄ΠΈΠ½Π°Π»ΡŒΠ½ΠΎ ΡƒΡΠΊΠΎΡ€ΡΡŽΡ‰ΠΈΠ΅ дисковоС ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² Linux

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

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ