Lëshimi i stack-ut rrjetë F-Stack 1.13, që realizohet në hapësirën e përdoruesit

Pas pas një viti e gjysmë zhvillimi u organizua lëshimin e projektit F-Stack 1.13, duke zhvilluar një stek rrjeti me performancë të lartë në hapësirën e përdoruesit, i bazuar në një strukturë DPDK dhe stek TCP/IP të FreeBSD (F-Stack nuk është i lidhur me FreeBSD dhe si platformë kryesore për përdorim konsideron Linux). Projekti përdoret në produkte dhe shërbime të ndryshme Tencent, kompania më e madhe telekomunikuese në Kinë. Kodi shpërndahet nën licencën BSD. Mbështetet puna në Linux dhe FreeBSD.

F-Stack ofron mundësinë për të organizuar ndërveprimin rrjetor në aplikacione, duke përdorur në vend të stekut rrjetor të sistemit operativ stekun e vet rrjetor, që funksionon në hapësirën e përdoruesit dhe punon drejtpërdrejt me pajisjet rrjetore. Ofrohen edita të specializuara të Nginx dhe Redis, të përkthyer për përdorimin e F-Stack.

Për zhvillimin e aplikacioneve mbështetet si API standard Posix (Socket, Epoll, Kqueue), që thjeshton kalimin në F-Stack të aplikacioneve ekzistuese, ashtu edhe ndërfaqen e vet programore të bazuar në kooperativa (mikroprocesorë), që thjeshton krijimin e aplikacioneve rrjetore dhe lejon shmangien e logjikës së komplikuar të përpunimit asinkron të kërkesave. F-Stack gjithashtu ofron mjete për të thjeshtuar përdorimin në aplikacione me arkitekturë shumëprocesike.

Për ndërveprimin me kartën rrjetore, duke kaluar përmes ndërfaqeve të kernelit të sistemit operativ, përdoret struktura DPDK (Data Plane Development Kit), që ofron një grup bibliotekash për punë në nivele të ulëta me adapatorët rrjetorë, ndërveprimin në sisteme me shumë bërthamë, angazhimin e tamponëve ring dhe faqeve të mëdha memorie ("huge page"). Përdorimi i DPDK ofron mundësinë për të pranuar dhe dërguar paketa rrjetore me numrin minimal të cikleve të CPU (rreth 80 cikle për paketë) dhe për të zhvilluar komponentë me performancë të lartë të stekut rrjetor. Funksionaliteti i stekut TCP/IP është marrë nga FreeBSD 11.1 dhe është ndarë në një bibliotekë të pavarur nga sistemi operativ.

F-Stack pozicionohet si një zgjidhje që mund të përdoret për të rritur performancën e procesorëve të kërkesave rrjetërore kur funksionimi i TCP/IP standard të kernelit Linux bëhet një ngushticë dhe kufizon shkallëzimin. Përdorimi i F-Stack ofron optimizim të ndjeshëm dhe lejon në disa raste rritjen e numrit të kërkesave të vogla të procesuar në mënyrë drastike.

Lëshimi i stack-ut rrjetë F-Stack 1.13, që realizohet në hapësirën e përdoruesit

Lëshimi i stack-ut rrjetë F-Stack 1.13, që realizohet në hapësirën e përdoruesit

Rritja e performancës arrihet duke përjashtuar operacione si kopjimi i paketave rrjetërore, planifikimi i proceseve, përpunimi i ndërprerjeve dhe përdorimi i thirrjeve sistemike. F-Stack lejon arritjen e kufirit të performancës rrjetërore, të mundshme për kartelën rrjetërore të përdorur. Për shembull, zgjidhjet e bazuara në F-Stack kanë demonstruar aftësinë për të trajtuar 10 milion lidhje paralele, 5 milion kërkesa në sekondë dhe 1 milion lidhje në sekondë.

NĂ« versionin e ri:

  • Shtuar mbĂ«shtetje pĂ«r VLAN;
  • Siguruar mundĂ«sinĂ« e funksionimit nĂ« konteiner tĂ« izoluar tĂ« bazuar nĂ« Docker;
  • Implementuar ndĂ«rfaqet ff_dup, ff_dup2, ff_ioctl_freebsd, ff_getsockopt_freebsd dhe ff_setsockopt_freebsd;
  • Shtuar parametri 'idle_sleep' pĂ«r tĂ« zvogĂ«luar ngarkesĂ«n nĂ« CPU nĂ« situatĂ«n e mungesĂ«s sĂ« paketimeve tĂ« ardhshme.
  • Shtuar mbĂ«shtetje pĂ«r ndĂ«rtimin pĂ«r arkitekturĂ«n ARM64;
  • NĂ« redaksinĂ« e pĂ«rkthyer nĂ« F-Stack tĂ« Nginx janĂ« zĂ«vendĂ«suar procesorĂ«t getpeername, getsockname dhe shutdown;
  • Kaluar nĂ« versionin e ri DPDK 17.11.4 LTS;
  • NĂ« pĂ«rbĂ«rje Ă«shtĂ« shtuar utilitari traffic pĂ«r tĂ« paraqitur trafikun aktual qĂ« pĂ«rpunojnĂ« aplikacionet duke pĂ«rdorur F-Stack (ngjan me trafshow).

Nga planet për të ardhmen shënohet mbështetje për IPv6, ofrimin e API për gjuhët Python, PHP dhe Go, mbështetje për API Cyptodev (Intel QAT), përdorimi i zerocopy gjatë dërgimit të paketimeve, mbështetje për SPDK dhe mundësia e ekzekutimit në formën e një procesi në sfond.

Burimi: opennet.ru

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster