F-Stack 1.24, një version i rishikuar i rrjetit FreeBSD në hapësirën e përdoruesit që shfrytëzon kornizën DPDK për performancë maksimale, është publikuar. Projekti u krijua nga Tencent, kompania më e madhe e telekomunikacionit në Kinë, dhe përdoret në produktet dhe shërbimet e saj. Kodi është shkruar në C dhe shpërndahet sipas licencës BSD. Ai mbështet Linux dhe FreeBSD.
F-Stack u mundĂ«son aplikacioneve tĂ« pĂ«rdorin raftin e tyre lokal tĂ« rrjetit, tĂ« pavarur nga rafti i rrjetit tĂ« sistemit operativ, duke vepruar nĂ« hapĂ«sirĂ«n e pĂ«rdoruesit dhe duke bashkĂ«vepruar drejtpĂ«rdrejt me pajisjet e rrjetit. F-Stack pozicionohet si njĂ« zgjidhje pĂ«r rritjen e performancĂ«s sĂ« trajtuesve tĂ« kĂ«rkesave tĂ« rrjetit nĂ« kushte ku standardi TCP/IP grumbulli i bĂ«rthamĂ«s Linux bĂ«het njĂ« pengesĂ« dhe kufizon shkallĂ«ziminânĂ« disa situata, projekti lejon njĂ« rritje tĂ« konsiderueshme tĂ« numrit tĂ« kĂ«rkesave tĂ« vogla tĂ« rrjetit tĂ« pĂ«rpunuara. Teorikisht, F-Stack lejon qĂ« tĂ« arrihet kufiri i performancĂ«s sĂ« rrjetit pĂ«r kartĂ«n e rrjetit qĂ« pĂ«rdoret.
Përmirësimet e performancës arrihen duke eliminuar operacione të tilla si kopjimi i paketave të rrjetit, planifikimi i temave, trajtimi i ndërprerjeve dhe përdorimi i thirrjeve të sistemit. Për të bashkëvepruar me një kartë rrjeti, duke anashkaluar ndërfaqet e kernelit të sistemit operativ, përdoret kuadri DPDK (Data Plane Development Kit), i cili zhvillon një grup bibliotekash për punë të nivelit të ulët me përshtatës rrjeti. DPDK bën të mundur reduktimin e kostove të përgjithshme dhe përmbushjen e numrit minimal të cikleve të CPU-së gjatë marrjes ose dërgimit të paketave të rrjetit.
funksionalitetin TCP/IP Ky lloj i skedarëve korrespondon me skedarin e rrjetit FreeBSD 13 dhe është ndarë nga ai sistem operativ në një bibliotekë të pavarur. Zhvillimi i aplikacioneve mund të përdorë API-në standarde POSIX (socket, epoll, kqueue) ose një API të patentuar të bazuar në mikrofije, gjë që thjeshton krijimin e aplikacioneve të rrjetit dhe eliminon nevojën për logjikë komplekse asinkrone të përpunimit të kërkesave.
Projekti mbështet botimet e multiprotokollit të pajtueshme me F-Stack. server Nginx 1.25.2 dhe Redis 6.2.6 DBMS, duke demonstruar performancë superiore ndaj ndërtimeve standarde që funksionojnë në krye të raftit të rrjetit të sistemit.
Ndryshimet më të dukshme në versionin e ri:
- Skedari i konfigurimit config.ini ofron një zgjedhje midis përdorimit të KNI (Kernel NIC Interface) dhe virtio_user si një transport për kalimin e paketave midis kernelit dhe një aplikacioni të përpunimit të paketave të bazuara në DPDK. U shtua aftësia për të përdorur limitin e normës për KNI.
- U shtua mbështetje për aktivizimin e cilësimit të grupit të rrjetit "net.add_addr_allfibs=1" për të shtuar adresa në të gjitha tabelat e rrugëtimit.
- U shtua API ff_get_traffic për të marrë trafik, për shembull, për të zbatuar QoS (Cilësia e Shërbimit).
- Funksionet e shtuara pthread_create dhe pthread_join, që të kujtojnë funksione të ngjashme nga POSIX.
- U shtua API-ja ff_dpdk_raw_packet_send për aplikacionet për të dërguar paketa të papërpunuara drejtpërdrejt përmes DPDK-së dhe jo përmes një foleje.
- Mbështetje e implementuar për konfigurimin automatik të VLAN-it, rrugëzimin dhe drejtimin e politikave.
- ĂshtĂ« bĂ«rĂ« kalimi nĂ« versionin 22.11.6 LTS tĂ« DPDK.
- Zbatimi Nginx në krye të F-Stack ka shtuar mbështetje për modulin e transmetimit.
Burimi: opennet.ru
