مقدمه ای بر TOE موتور بارگذاری جانبی TCP/IP
مقدمه ای بر TOE موتور بارگذاری جانبی TCP/IP

 اترنت  به محبوب ترین پروتکل شبکه ای برای  شبکه های محلی  (LANs) تبدیل  شده است. این پروتکل بسیار کم خرج است و پیاده سازی Plug And Play را ارائه می دهد. با افزایش محبوبیت شبکه، سرعت اتصال شبکه نیز اترنت افزایش یافته است. افزایش رشد اترنت از 10 مگابیت بر ثانیه تا 10 گیگابیت بر ثانیه، از رشد عملکرد ریزپردازنده های موجود در سرورها و رایانه ها جلوتر است. مانع اصلی برای بهبود عملکرد شبکه این است، که سرورها به جای درگیر شدن با عملیات ورودی و خروجی (I/O) ، برای محاسبات طراحی شده اند. انقلاب اینترنت به طور چشمگیری نیازهای سرور را تغییر داده است و ورودی و خروجی برای محاسبات سریع به یک تنگنای عمده تبدیل شده است. دلیل اصلی تنگنا، پردازش کندتر پشته آدرس پروتکل اینترنت و پروتکل کنترل انتقال ( TCP/IP) نسبت به  سرعت شبکه است.

TCP/IP offload Engine TOE

  موتور بارگذاری جانبی TCP/IP یا TOE یکی از فن آوری هایی است که می تواند میزان پردازش TCP / IP که توسط ریزپردازنده و سیستم سرور I/O انجام می شود را کاهش دهد که منجر به کاهش تنگنای شبکه سرور رمی شود.  TOE در ارتباط با فناوری های اترنت با سرعت بالا، برنامه های کاربردی را قادر می سازد تا به طور کامل از قابلیت های شبکه استفاده کنند. ذخیره سازی IP مبتنی بر اترنت یک فرصت بزرگ برای 10 گیگابیت اترنت است. مسئله مهم ذخیره سازی IP ، وجود سربارهای پردازشی TCP / IP است که سرورها را به سطح  عملکرد غیرقابل قبولی محدود می کند. تنها تکنولوژی  TOE می تواند این  میزان  ذخیره سازی IP را با عملکرد بالا فراهم سازد. iSCSI نمونه خوبی از استفاده از پهنای باند TCP/IP برای دستیابی به ذخیره سازی IP با کارایی بالا است.

TCP/IP offload Engine TOE

 پردازش TCP / IP روی اترنت به طور سنتی توسط نرم افزار در حال اجرا بر روی پردازنده مرکزی، پردازنده یا ریزپردازنده، سرور صورت می گیرد. همانطور که مقیاس اتصالات شبکه محدود به سرعت اترنت گیگابایت است، پردازنده با حجم زیادی از پردازش پروتکل TCP / IP مورد نیاز محدود می شود. دوباره اسمبل کردن بسته های خارج از ترتیب، نسخه های حافظه با محدودیت منابع و وقفه ها، بارگذاری بسیار زیادی را  بر پردازنده هاست متحمل می کنند. در شبکه های با سرعت بالا، پردازنده باید پردازش بیشتری را برای رسیدگی به ترافیک شبکه انجام دهد (نسبت به برنامه  های در حال اجرا) ، یک برآورد حدسی از پردازش پردازنده مورد نیاز بررسی سرعت لینک اترنت تعیین شده است که برای هر یک بیت در هر ثانیه از پردازش  اطلاعات شبکه است نیاز به یک هرتز پردازش پردازنده دارد  (این قاعده کلی در ابتدا توسط مجله PC در اواسط دهه 1990 اعلام شد و امروزه به عنوان یک قاعده کلی توسط شرکت های کامپیوتری مورد استفاده قرار می گیرد.) به عنوان مثال، اجرای پردازشگر 20 گیگاهرتزی برای بهره برداری کامل نیاز به یک درایو با لینک شبکه اترنتی  10 گیگابیتی دارد. TOE یک راه حل برای محدود کردن پردازش مورد نیاز پردازنده برای لینک های شبکه است. TOE ممکن است در یک رابط کارت شبکه ، NIC، یا آداپتور  باس هاست، HBA جاسازی شود.

فناوری TOE و پیاده سازی TOE های مختلف

ایده اصلی TOE این است که پردازش پروتکل TCP / IP را از پردازنده میزبان به سخت افزار بر روی آداپتور یا سیستم منتقل کند. پشته پروتکل TCP / IP دارای پروتکل های متعددی نظیر TCP، IP، UDP، ICMP و غیره است. اکثر برنامه های کاربر نهایی از پروتکل های TCP و IP استفاده می کنند. TOE را می توان با پردازنده و سیستم عامل، ASIC های تخصصی یا ترکیبی از هر دو اجرا کرد. TOE نه تنها پردازش پردازنده را خنثی می کند تا عملکرد نرم افزار را افزایش دهد، بلکه باعث می شود اترنت به بازارهای جدید مانند شبکه های ذخیره سازی iSCSI   و برنامه های ذخیره سازی شبکه (NAS) با عملکرد بالا دستور دهد. تمام پیاده سازی های TOE موجود در بازار روی خنثی کردن  پردازش TCP و IP متمرکز شده اند. در ادامه پیاده سازی های مختلف TOE را بررسی خواهیم کرد.

به  عنوان یک پیشرو در  امر بارگذاری جانبی TCP، بعضی از سیستم عامل ها  برای  بارگذاری از  برخی از ویژگی های حاساس به محاسبات هاست برای کارت های شبکه زیرساختی استفاده می کنند.  پیاده سازی بارگذاری چک سام  IP ، در برخی از آداپتورهای شبکه سرور ، نمونه ای از بارگذاری ساده است. اما  به همان اندازه که  سرعت اترنت تا از 100 مگابیت بر ثانیه افزایش می یابد ، انتظارات عملکرد کاربر نهایی نیز  افزایش می یابد ، نیاز به بارگذاری جانبی پردازش پروتکل های دیگر ، به یک نیاز مشخص تبدیل شده است. بسته به اولویت کاربر نهایی بین عوامل مختلف مانند انعطاف پذیری گسترده و عملکرد، TOE می تواند به روش های مختلفی اجرا شود. به طور سنتی، راه حل های مبتنی بر پردازنده، انعطاف پذیری را برای پیاده سازی ویژگی های جدید ارائه می دهد، در حالی که راه حل های ASIC عملکردی را ارائه  می دهد اما  به اندازه کافی برای  اجرای  ویژگی های جدید انعطاف پذیر نیست، امروزه نسل جدیدی از ASIC های بهینه سازی عملکرد با استفاده از موتورهای پردازش چندگانه برای ارائه عملکرد ASIC مانند، با انعطاف پذیری بیشتری وجود دارد. در بخش بعد ما در مورد پیاده سازی های مختلف بحث خواهیم کرد.

در یک پیاده سازی گسسته، TOE با استفاده از اجزای خارج از دستور  مانند یک پردازنده شبکه یا ریزپردازنده  در حال اجرا با  سیستم عامل زمان واقعی (RTOS) و یک MAC / PHY اجرا می شود. پروتکل پردازشی از  پردازنده  هاست برای بارگذاری جانبی  پشته پروتکل در RTOS استفاده می کند.  این پیاده سازی نه تنها پشته TCP را تخلیه  بار می کند، بلکه تمامی پروتکل هایی که توسط پشته جاسازی شده در RTOS پشتیبانی می شود را تخلیه بار می کند.  به شرطی که  هوک های مناسب توسط سخت افزار  برای تخلیه بار این دسته از پروتکل های هاست تامین شده باشد.  مزیت این پیاده سازی انعطاف پذیری راه حل و در دسترس بودن اجزای گسترده است. با این حال، مقیاس پذیری تا اترنت  10 گیگابایتی و فراتر از آن، تحت بررسی دقیق قرار گرفته است در یک پیاده سازی مبتنی بر ASIC، پردازش TCP / IP به سخت افزار بهینه سازی عملکرد  ، تخلیه بار شده است.

پیاده سازی های ASIC برای تخلیه  بار پروتکل TCP / IP سفارشی شده و عملکرد بهترتری نسبت به پیاده سازی های گسسته ارائه می دهند. مزایای این پیاده سازی، عملکرد و مقیاس پذیری و انعطاف پذیری است. پیاده سازی هایی وجود دارد که سعی خواهد کرد تا از هر دو پیاده سازی مبتنی بر پردازنده و اجرای پیاده سازی مبتنی بر ASIC ، بهره مند شوند. هدف این است که بتوانیم مقیاس پذیری و انعطاف پذیری ایجاد کنیم،  در حالی که  عملکرد را حفظ کرده باشیم.

 پردازش پروتکل TCP را می توان به فازهای مختلف تقسیم کرد:

  • برقراری  اتصال
  • انتقال / دریافت داده
  • گسیختن اتصال  (هنگامی که داده ها ارسال و دریافت می شود)
  • بررسی خطا

در محیط هایی که بسته های  کاهش یافته ، نادر هستند و اتصالات برای مدت زمان طولانی نگهداری می شوند، بخش عمده ای از  بار TCP / IP در انتقال و دریافت داده ها است تخلیه این سربارها معمولا به تخلیه بار مسیر داده  ،  اشاره دارد. تخلیه  بار مسیر داده ها، سربار TCP / IP را در مرحله انتقال و دریافت اطلاعات،  حذف می کند پشته میزبان مسئولیت مراحل باقی مانده را حفظ می کند ( (به عنوان مثال برقراری ارتباط، بسته شدن و  بررسی خطا از این جمله است. ).

تخلیه کامل بار ، تمام مراحل پشته TCP را در سخت افزار،  اجرا می کند. با استفاده از  تخلیه کامل بار ،  TOE نه تنها  میزبان را از پردازش اطلاعات کنار می گذارد ، بلکه  همچنین از  مديريت اتصال نيز اجتناب مي کند. در محیط هایی که در مدیریت ارتباطات و یا مدیریت خطا وظایف فشرده است، یک مزیت قطعی  برای راه حل های تخلیه بار  کامل   وجود دارد بسته به برنامه کاربر  نهایی ، تخلیه  بار مسیر داده یا تخلیه بار کامل ممکن است به طور مساوی در کاهش استفاده از پردازنده میزبان و افزایش توان داده ها موثر باشد. با تخلیه  بار پردازش پروتکل TCP / IP، پردازنده میزبان می تواند از پشته پروتکل های فشرده محاسبات، رهایی یابد و آزاد است تا  بر چرخه پردازنده خود در برنامه های کاربردی، تمرکز کند. با در نظر گرفتن اترنت 10 گیگابیت، روشن است که TOE مزایای قابل توجهی را برای عملکرد سیستم در محیط های مختلف برنامه، ارائه می دهد.

عملکرد  تخلیه بار TCP

 هنوز توصیف  بهبود عملکرد قطعی یا معیارهای تخلیه بار TCP / IP دراترنت  10 گیگابیتی زود است. با این حال، می توانیم TOE را  بر اساس  سه معیار عملکرد اولیه ارزیابی کنیم:  توان عملیاتی ، استفاده از پردازنده و تاخیر. توان عملیاتی  همیشه به عنوان یک شاخص کلیدی برای عملکرد شبکه استفاده می شود. اندازه گیری مجدد توان عملیاتی، یکی از تفاوت های عملکردی در بین انواع مختلف آداپتورهای TOE و غیر TOE است.  بهره وری پردازنده، همچنین اندازه گیری عملکرد ضروری برای سرورها است آداپتورهای مرسوم،  معمولا 1 هرتز پردازنده را برای هر بیت از داده های منتقل شده  TCP / IP، مصرف می کند. دو جزء اصلی وجود دارد که این خط مشی را پیش می برد : مقدار اطلاعات درون پشته  پروتکل کپی شده  داده ها از بافر های شبکه به بافر های کاربر  ، برگشت آن و تعداد تراکنش ها برای انتقال داده ها ، منتقل می شود. با  در نظر گرفتن  آداپتور  مرسوم  با استفاده از فریم استاندارد 1،500 بایت، به طور معمول سه تراکنش برای هر 3،000 بایت داده وجود دارد – دو بسته تولید یا دریافت شده و تایید دوباره در جهت دیگر بر می گردد. TOE تلاش می کند تا با اتصال به سیستم در روی لایه انتقال با اتصال به لایه نشست ، کپی اطلاعات و تراکنش را دستور دهد.

 این  کار معمولا متضمن   اتصال پریز به   سیستم های مبتنی بر  آن است.   چنین رابطی بر اساس این واقعیت عمل می کند که برنامه ها به طور معمول در بلوک های بزرگ ده ها کیلوبایتی یا بیشتر  ،خوانده و نوشته می شوند.  ایمیل با پیوست های بزرگ، صفحات وب با تعداد زیادی از عناصر چند رسانه ای و سرور هایی که  به برنامه های چند مگابایتی  ارائه می دهند ، ترکیبی از ترافیک معمول را مشخص می کنند. در خواندن و نوشتن  برنامه های بزرگ  حجم کار بر روی سیستم میزبان به شدت کاهش می یابد. یک خواندن یا نوشتن  32 کیلو بایتی  می تواند بیش از 30  تراکنش  باشد – بیش از 20 بسته داده و 10 ACK با استفاده از تکنولوژی آداپتور معمولی است. با استفاده از یک آداپتور TOE در سیستم، تعداد تراکنش های بین میزبان و آداپتور TOE و با استفاده از  پردازش بسته و پردازش محلی ACK نسبت به آداپتور TOE به طور چشمگیری کاهش می یابد، داده ها به وسیله موتورهای DMA سخت افزاری به  بافرهای برنامه منتقل می شوند یا از آن خارج می شوند.

تاخیر یکی دیگر از معیارهای عملکردی است که با استفاده از تخلیه بار  TCP تحت تاثیر قرار می گیرد. به عبارت ساده، کاهش تعداد  تراکنش ها در سراسر  گذرگاه  ورودی و خروجی سیستم  و گذرگاه حافظه به کاهش زمان انتظار برای گذرگاه  و کاهش تاخیر کمک می کند. با انجام پردازش TCP / IP در کارت شبکه،  تعداد تراکنش ها  در سراسر  گذرگاه  ورودی و خروجی سیستم  و گذرگاه حافظه کاهش می یابد. با  استفاده از  TOE، آداپتورهای شبکه  می توانند سریع تر پاسخ دهند، بنابراین می تواند یک رابطه دو طرفه سریع تر داشته باشد.

چالش ها

پیاده سازی و پذیرش بازار TOE با برخی از چالش های اساسی مواجه است در 2002 رابط راه انداز  استاندارد برای سیستم عامل های اصلی و آداپتورهای TOE وجود ندارد. پذیرش فزاینده آداپتورهای اترنت بر اساس استاندارد سازی رابط راه انداز  نرم افزار شبکه TCP / IP برای سیستم عامل های اصلی انجام شد راه انداز  ها برای پیاده سازی TOE به سیستم های عامل متفاوت  و انواع مختلفی از راه های اختصاصی  مرتبط اند. سیستم عامل های اصلی در حال راه اندازی  رابط استاندارد TOE برای تسهیل پشتیبانی ساده از راه حل های آن هستند. چالشی دیگر این است که بازار انتظار دارد که آداپتورهای شبکه ارزان باشند پیاده سازی آداپتور TOE که شامل یک پردازنده جاسازی شده یا  یا چندین ASIC  اختصاصی است ممکن است  خارج از توان بازار باشد. در نتیجه، شرکت ها  برای ارائه راه حل های ASIC یکپارچه برای کاهش هزینه کار می کنند پیاده سازی TOE های تک تراشه نیازمند قرار دادن یک پروتکل است که به طور معمول در نرم افزار، TCP / IP، به  صورت  سیلیکون تابع ثابت مورد استفاده قرار می گیرد  پیاده سازی TCP / IP به طور کامل در سخت افزار، یک چالش فنی قابل توجه است.

 فراتر از چالش های خاص TOE، قطع اتصال  اترنت 10 گیگابایتی  در یک سرور، بر  ساختار کلی سرور آسیب می زند. یک سیستم متعادل برای استفاده کامل از  اتصال شبکه با کارایی بالا،  مورد نیاز است. پهنای باند حافظه و پهنای باند گذرگاه فقط دو مورد از مهمترین ابعاد سیستم هستند که باید نظارت شوند زیرا سیستم ها اترنت 10 گیگابیتی را  قبول می کنند. یک سرور معمولی اجرا کننده  ویندوز 2000، امروز از اجرای  PCI شصت و چهار بایتی و 66 مگاهرتزی و پهنای باند مؤثر حدود 350 مگابایت بر ثانیه  استفاده می کند  یک سرور با استفاده از PCI-X در 133 مگاهرتز، پهنای باند گذرگاه حدود 800 مگابایت بر ثانیه دارد برای  بارگذاری لینک اترنت   10 گیگابایتی ، به ترتیب 1.25 گیگابایت بر ثانیه پهنای باند در هر جهت نیاز است یا مجموع 2.5 گیگابایت بر ثانیه، بیش از سه بار پیاده سازی PCI-X امروز و تقریبا هفت برابر پهنای باند  گذرگاه PCI 64/66   نیاز است. سرورها   از حافظه SD در حالت  128 بیتی استفاده می کنند که با 133 مگاهرتز  کار می کنند از آنجا که پهنای باند برای فرستادن و دریافت داده ها در شبکه و  و انتقال این داده ها به  پردازنده و خروج از آن  و  انتقال به  ذخیره ساز و خروج از آن نیاز است ، پهنای باند حافظه باید چندین بار سریعتر از پهنای باند I / O باشد پهنای باند حافظه تقریبا  4  بار نسبت به  پهنای باند  خروجی و ورودی  مورد نظر، و یا 10 گیگابایت بر ثانیه در هر رابط شبکه،  منطقا نیاز نیست.

کاربردها

برخی از کاربردهای TOE در بالا شرح داده شد، اگر به آنچه که TOE برای سیستم اترنت  10 گیگابیتی به ارمغان می آورد نگاه کنید،  بیشتر بر  تخلیه  بار اضافی  TCP / IP از پردازنده  می پردازد. با توجه به اینکه TCP / IP تقریبا مترادف با اترنت است، توانایی حذف یا کاهش نیازهای پردازنده برای مدیریت پیام های TCP / IP ، سرمایه گذاری در زمینه های جدید را  برای   به فناوری های مبتنی بر اترنت  ممکن می کند. یکی از موارد فوق، همانطور که در بالا توضیح داده شد انتقال iSCSI یا  ترافیک ذخیره سازی IP است TOE باعث کاهش بار بر روی میزبان پردازنده ، هم در هدف  (دستگاه  داده ها)  و هم  آغازگر ( دستگاه خواستار داده ها ) می شود.

ذخیره سازی IP و ترافیک اطلاعات عمومی تنها  جایی  نیست که تخلیه بار TCP / IP می تواند مزایایی  داشته باشد. استفاده از فناوری های اترنت برای اتصال دهنده های الکتریکی (یعنی XAUI در اترنت 10 گیگابیتی) می تواند از TCP / IP به عنوان وسیله ای برای مدیریت شبکه و لایه انتقال  استفاده کند TOE می تواند با ارائه قابلیت TCP / IP بدون نیاز به پردازنده یا با عملکرد پایین تر ، پردازنده و پردازشگر  کم هزینه تر ، به این موضوع  کمک کند دیگر برنامه های کاربردی  کلاینت هایی هستند که در آن پردازش قدرت  کلاینت  با پردازش TCP / IP  پر می شود. آزاد کردن توان پردازش  کلاینت  امکان توجه بیشتر بر توان پردازش محدود برای کارهای دیگر را ممکن می کند. این ها فقط برخی از برنامه های کاربردی عمومی هستند که می توان از  تابع TOE برای  کمک استفاده کرد با رشد تکنولوژی و پیشرفت آن، دیگر برنامه ها و احتمالا سایر بازارهای برای TCP / IP، TOE و  اترنت نیز به وجود خواهد آمد.