جوجل تضيف تعديل على لينكس يحسن أداء TCP بنسبة 40%

· 403 كلمة · 2 دقيقة قراءة

شاهدت فيديو حسين ناصر عن تعديل جوجل على نواة لينكس لتحسين أداء إتصال تي سي پي بنسبة ٤٠٪.

كوكو لي (بالإنجليزية: Coco Li) من شركة جوجل شرح التعديل الخاص بتحسين الحفظ المؤقت (cachline) في كود الشبكات كما يلي:

“Currently, variable-heavy structs in the networking stack is organized chronologically, logically and sometimes by cache line access. This patch series attempts to reorganize the core networking stack variables to minimize cacheline consumption during the phase of data transfer. Specifically, we looked at the TCP/IP stack and the fast path definition in TCP.” — Coco Li | Googler

المعني ببساطة؛ التعديل عبارة عن إعادة ترتيب للمتغيرات وتغيير أماكنهم لكي يتم عمل حفظ واستدعاء لهم بشكل أفضل وأسرع. وتظهر هذه التحسينات في الأداء عندما يكون هناك طلبات TCP بمئات الآلاف أو الملايين.

هذه التحسينات تظهر بشكل قوي عند استخدام معالجات إيه إم دي (AMD CPU). وإليك كل النتائج التي نشرها (كوكو لي) مع تعديلاته للكود.

Tested:
Our tests were run with neper tcp_rr using tcp traffic. The tests have $cpu
number of threads and variable number of flows (see below).

Tests were run on 6.5-rc1

Efficiency is computed as cpu seconds / throughput (one tcp_rr round trip).
The following result shows efficiency delta before and after the patch
series is applied.

On AMD platforms with 100Gb/s NIC and 256Mb L3 cache:
IPv4
Flows   with patches    clean kernel      Percent reduction
30k     0.0001736538065 0.0002741191042 -36.65%
20k     0.0001583661752 0.0002712559158 -41.62%
10k     0.0001639148817 0.0002951800751 -44.47%
5k      0.0001859683866 0.0003320642536 -44.00%
1k      0.0002035190546 0.0003152056382 -35.43%

IPv6
Flows   with patches  clean kernel    Percent reduction
30k     0.000202535503  0.0003275329163 -38.16%
20k     0.0002020654777 0.0003411304786 -40.77%
10k     0.0002122427035 0.0003803674705 -44.20%
5k      0.0002348776729 0.0004030403953 -41.72%
1k      0.0002237384583 0.0002813646157 -20.48%

On Intel platforms with 200Gb/s NIC and 105Mb L3 cache:
IPv6
Flows   with patches    clean kernel    Percent reduction
30k     0.0006296537873 0.0006370427753 -1.16%
20k     0.0003451029365 0.0003628016076 -4.88%
10k     0.0003187646958 0.0003346835645 -4.76%
5k      0.0002954676348 0.000311807592  -5.24%
1k      0.0001909169342 0.0001848069709 3.31%

هذه التحسينات في الأداء ستكون متوفره في نواة لينكس إصدار 6.8 غالباً.

لمعرفة المزيد من التفاصيل، اقرأ مقال موقع فورونيكس باللغة الإنجليزية. وللإطلاع على أكبر معلومات ممكنة على الموضوع، اقرأ الرسالة التي كتبها (كوكو لي) نفسه مع تعديلاته في الكود في مراسلات نواة لينكس.

أتمنى أن تكون قد استفدت من الموضوع ، إن كنت تعرف أي شخص يُمكنه الإستفادة من هذه المعلومات، ارسل له رابط هذا المقال. إن أردت معرفة الموضوعات الجديدة بعد نشرها مباشرةً على موقع أبانوب حنا ، تابعني على يوتيوب و تيليجرام ، و فيسبوك ، و واتساب .

التصنيفات: برمجة
مشاركة:
waffarx cash back