ΠΠ½ΠΆΠ΅Π½Π΅Ρ ΠΈΠ· ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Clyso ΠΎΠ±ΠΎΠ±ΡΠΈΠ» ΠΎΠΏΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠ΅ΡΠ° Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π½Π° Π±Π°Π·Π΅ ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΠΉ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Ceph Ρ ΠΏΡΠΎΠΏΡΡΠΊΠ½ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡΡ, ΠΏΡΠ΅Π²ΡΡΠ°ΡΡΠ΅ΠΉ ΡΠ΅Π±ΠΈΠ±Π°ΠΉΡ Π² ΡΠ΅ΠΊΡΠ½Π΄Ρ. ΠΡΠΌΠ΅ΡΠ°Π΅ΡΡΡ, ΡΡΠΎ ΡΡΠΎ ΠΏΠ΅ΡΠ²ΡΠΉ ΠΊΠ»Π°ΡΡΠ΅Ρ Π½Π° Π±Π°Π·Π΅ Ceph, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΌΠΎΠ³ Π΄ΠΎΡΡΠΈΠ³Π½ΡΡΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Ρ, Π½ΠΎ ΠΏΠ΅ΡΠ΅Π΄ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠ°ΠΌ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°Π»ΠΎΡΡ ΠΏΡΠ΅ΠΎΠ΄ΠΎΠ»Π΅ΡΡ ΡΠ΅ΡΠΈΡ Π½Π΅ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΡΡ ΠΏΠΎΠ΄Π²ΠΎΠ΄Π½ΡΡ ΠΊΠ°ΠΌΠ½Π΅ΠΉ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π½Π° 10-20% Π±ΡΠ»ΠΎ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π²ΠΊΠ»ΡΡΠΈΡΡ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ°Ρ Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ ΡΠ½Π΅ΡΠ³ΠΎΡΠ±Π΅ΡΠ΅ΠΆΠ΅Π½ΠΈΡ BIOS ΡΠ°Π±ΠΎΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΈ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ c-state (c-state ΠΌΠ΅Π½ΡΠ΅Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠ½Π΅ΡΠ³ΠΎΡΠ±Π΅ΡΠ΅ΠΆΠ΅Π½ΠΈΡ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π½Π°Π³ΡΡΠ·ΠΊΠΈ, ΡΡΠΎ ΠΎΡΡΠ°ΠΆΠ°Π΅ΡΡΡ Π½Π° Ceph). Π’Π°ΠΊΠΆΠ΅ ΠΎΠΊΠ°Π·Π°Π»ΠΎΡΡ, ΡΡΠΎ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π½Π°ΠΊΠΎΠΏΠΈΡΠ΅Π»Π΅ΠΉ NVMe ΡΠ΄ΡΠΎ Linux Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΡΡΠ°ΡΠΈΡ Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ spin-Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΎΠΊ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΌΠ°ΠΏΠΏΠΈΠ½Π³Π° IOMMU. ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ IOMMU Π² ΡΠ΄ΡΠ΅ ΠΏΡΠΈΠ²Π΅Π»ΠΎ ΠΊ Π·Π°ΠΌΠ΅ΡΠ½ΠΎΠΌΡ ΡΠΎΡΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π² ΡΠ΅ΡΡΠ°Ρ Π·Π°ΠΏΠΈΡΠΈ ΠΈ ΡΡΠ΅Π½ΠΈΡ Π±Π»ΠΎΠΊΠΎΠ², ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ 4MB.
ΠΡΠΈ ΡΡΠΎΠΌ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ IOMMU Π½Π΅ ΡΠ΅ΡΠΈΠ»ΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΠΏΡΠΎΡΠ΅Π΄Π°Π½ΠΈΠ΅ΠΌ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΏΡΠΈ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ Π±Π»ΠΎΠΊΠΎΠ², ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ 4KB. Π Π°Π·Π±ΠΈΡΠ°ΡΡΡ Π² ΡΡΠΌ Π΄Π΅Π»ΠΎ, ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΡ Π½Π°ΡΠΎΠ»ΠΊΠ½ΡΠ»ΠΈΡΡ Π½Π° ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π² ΡΠ±ΠΎΡΠΎΡΠ½ΡΡ ΡΡΠ΅Π½Π°ΡΠΈΡΡ Ceph ΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Gentoo ΠΈ Ubuntu, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΠΊΠ»ΡΡΠ°Π»ΠΈ ΡΠ±ΠΎΡΠΊΡ Ρ ΠΎΠΏΡΠΈΠ΅ΠΉ RelWithDebInfo, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Ρ Π½Π΅ΠΉ Π² GCC ΠΏΡΠΈΠΌΠ΅Π½ΡΠ»ΡΡ ΡΠ΅ΠΆΠΈΠΌ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ «-O2», ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΌ Π·Π°ΠΌΠ΅ΡΠ½ΠΎ Π²ΠΎΠ·ΡΠ°ΡΡΠ°Π»Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Ceph. Π ΡΠ½ΠΈΠΆΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΠ»Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ TCMalloc. ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠ»Π°Π³ΠΎΠ² ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΈ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ TCMalloc ΠΏΡΠΈΠ²Π΅Π»ΠΎ ΠΊ ΡΠ½ΠΈΠΆΠ΅Π½ΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ (compaction) Π² ΡΡΠΈ ΡΠ°Π·Π° ΠΈ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π·Π°ΠΏΠΈΡΠΈ Π±Π»ΠΎΠΊΠ°ΠΌΠΈ 4K Π² Π΄Π²Π° ΡΠ°Π·Π°. Π ΡΠΈΠ½Π°Π»Π΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π±ΡΠ»Π° ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Π½Π°ΡΡΡΠΎΠ΅ΠΊ Reef RocksDB ΠΈ Π³ΡΡΠΏΠΏ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ (PG).
ΠΠ»Π°ΡΡΠ΅Ρ ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ ΠΈΠ· 68 ΡΠ·Π»ΠΎΠ² Π½Π° Π±Π°Π·Π΅ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² Dell PowerEdge R6615 Ρ CPU AMD EPYC 9454P 48C/96T. ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ·Π΅Π» ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ 10 NVMe-Π½Π°ΠΊΠΎΠΏΠΈΡΠ΅Π»Π΅ΠΉ Dell 15.36TB, Π΄Π²Π° Ethernet-Π°Π΄Π°ΠΏΡΠ΅ΡΠ° 100GbE Mellanox ConnectX-6 ΠΈ 192 ΠΠ ΠΠΠ£. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΎ Π½Π° Ubuntu 20.04.6 ΠΈ Ceph 17.2.7. Π ΠΊΠ»Π°ΡΡΠ΅ΡΠ΅ Π½Π° 63 ΡΠ·Π»Π°Ρ ΠΏΠΎΠ΄Π½ΡΡΠΎ 630 OSD (Πbject Storage Daemon, ΡΠΎΠ½ΠΎΠ²ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΠΉ Ρ ΡΠ°Π½Π΅Π½ΠΈΠ΅ΠΌ Π΄Π°Π½Π½ΡΡ Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΌ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅, ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡ OSD Π½Π° NVMe-Π½Π°ΠΊΠΎΠΏΠΈΡΠ΅Π»Ρ), ΡΡΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠ° MON (monitor, ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠ΅ΡΠ°) ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΏΡΠΎΡΠ΅ΡΡ MGR (Manager, ΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΠΉ ΡΠ΅ΡΠ²ΠΈΡ). Π Π°Π·ΠΌΠ΅Ρ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° 8.2 ΠΠ.
ΠΡΠΎΠΏΡΡΠΊΠ½Π°Ρ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ ΠΏΡΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΡ ΡΡΠ΅Π½ΠΈΡ Π±Π»ΠΎΠΊΠΎΠ² 4Π ΡΠΎΡΡΠ°Π²ΠΈΠ»Π° 1025 GiB/s, Π·Π°ΠΏΠΈΡΠΈ — 270 GiB/s. ΠΡΠΈ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠΌ ΡΡΠ΅Π½ΠΈΠΈ Π±Π»ΠΎΠΊΠΎΠ² 4KB ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠΎΡΡΠ°Π²ΠΈΠ»Π° 25.5 ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΡΡΠ΅Π½ΠΈΡ Π² ΡΠ΅ΠΊΡΠ½Π΄Ρ ΠΈ 4.9 ΠΌΠ»Π½ ΠΏΡΠΈ Π·Π°ΠΏΠΈΡΠΈ. ΠΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΌΠ΅Π½ΡΡΠΈΠ»ΠΎ ΠΏΡΠΎΠΏΡΡΠΊΠ½ΡΡ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ ΠΏΡΠΈ ΡΡΠ΅Π½ΠΈΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ Π΄ΠΎ 750 GiB/s. ΠΡΠΈ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠΎΠ΄ΠΎΠ² ΠΊΠΎΡΡΠ΅ΠΊΡΠΈΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ EC62 ΠΏΡΠΎΠΏΡΡΠΊΠ½Π°Ρ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ ΡΠΎΡΡΠ°Π²ΠΈΠ»Π° 547 GiB/s ΠΏΡΠΈ ΡΡΠ΅Π½ΠΈΠΈ ΠΈ 387 GiB/s ΠΏΡΠΈ Π·Π°ΠΏΠΈΡΠΈ (ΡΠΊΠΎΡΠΎΡΡΡ Π·Π°ΠΏΠΈΡΠΈ ΠΎΠΊΠ°Π·Π°Π»Π°ΡΡ Π²ΡΡΠ΅ ΡΠ΅ΠΌ Π±Π΅Π· ΠΊΠΎΠ΄ΠΎΠ² ΠΊΠΎΡΡΠ΅ΠΊΡΠΈΠΈ), Π° ΠΏΡΠΈ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠΌ Π΄ΠΎΡΡΡΠΏΠ΅ 3.4M IOPS ΠΏΡΠΈ ΡΡΠ΅Π½ΠΈΠΈ ΠΈ 936K IOPS ΠΏΡΠΈ Π·Π°ΠΏΠΈΡΠΈ.
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ Π² ΡΠ΅Π½ΡΡΠ±ΡΠ΅ ΠΏΠΎΡ
ΠΎΠΆΠΈΠΉ ΡΡΠ±Π΅ΠΆ ΠΏΡΠΎΠΏΡΡΠΊΠ½ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ Π² ΡΠ΅Π±ΠΈΠ±Π°ΠΉΡ Π² ΡΠ΅ΠΊΡΠ½Π΄Ρ Π±ΡΠ» Π΄ΠΎΡΡΠΈΠ³Π½ΡΡ Π² ΡΠΊΡΠ°Π±Π°ΠΉΡΠ½ΠΎΠΌ ΠΊΠ»Π°ΡΡΠ΅ΡΠ΅ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ CERN, ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΌ Π½Π° Π±Π°Π·Π΅ ΠΎΡΠΊΡΡΡΠΎΠ³ΠΎ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠ³ΠΎ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° EOS, ΠΏΠΎΡΡΡΠΎΠ΅Π½Π½ΠΎΠ³ΠΎ Π½Π° Π±Π°Π·Π΅ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° XRootD.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru