پیش‌نویس:آی‌وارپ

از ویکی‌پدیا، دانشنامهٔ آزاد

iWARP یک پروتکل شبکه کامپیوتری است که دسترسی مستقیم به حافظه از راه دور (RDMA) را برای انتقال کارآمد داده‌ها از طریق شبکه‌های پروتکل اینترنت پیاده‌سازی می‌کند. برخلاف برخی از حساب‌ها،[۱] iWARP مخفف نیست.[۲]

از آنجایی که iWARP بر روی پروتکل‌های آگاه از تراکم استاندارد نیروی کار مهندسی اینترنت (IETF) مانند پروتکل کنترل انتقال (TCP) و پروتکل انتقال کنترل جریان (SCTP) لایه‌بندی شده است، الزامات کمی در شبکه ایجاد می‌کند و می‌تواند با موفقیت در یک شبکه مستقر شود. طیف وسیعی از محیط‌ها

تاریخ[ویرایش]

در سال ۲۰۰۷، IETF پنج درخواست برای نظرات (RFC) را منتشر کرد که iWARP را تعریف می‌کنند:

  1. RFC 5040 مشخصات پروتکل دسترسی مستقیم به حافظه از راه دور روی پروتکل قرار دادن داده مستقیم (DDP) لایه بندی شده است. این تعریف می‌کند که چگونه عملیات ارسال، خواندن و نوشتن RDMA با استفاده از DDP در هدرهای شبکه کدگذاری می‌شوند.
  2. RFC 5041 مستقیم قرار دادن داده‌ها از طریق حمل و نقل قابل اعتماد بر روی MPA/TCP یا SCTP قرار می‌گیرد. این تعریف می‌کند که چگونه داده‌های دریافتی را می‌توان مستقیماً در پروتکل‌های لایه بالایی قرار داد، بافر دریافتی بدون بافرهای میانی.
  3. پروتکل RFC 5042 Direct Placement Data (DDP) / پروتکل دسترسی مستقیم به حافظه از راه دور (RDMAP) امنیت مسائل امنیتی مربوط به لایه‌های پروتکل iWARP DDP و RDMAP را تجزیه و تحلیل می‌کند.
  4. RFC 5043 Stream Control Transmission Protocol (SCTP) Direct Data Placement (DDP) Adaptation یک لایه انطباق را تعریف می‌کند که DDP را روی SCTP فعال می‌کند.
  5. RFC 5044 Marker PDU Aligned Framing for TCP Specification یک لایه انطباق را تعریف می‌کند که حفظ مرزهای رکورد پروتکل در سطح DDP لایه لایه روی جریان بایت متصل قابل اعتماد TCP را امکان‌پذیر می‌کند.

این RFCها بر اساس مشخصات کنسرسیوم RDMA برای RDMA از طریق TCP هستند.[۳] مشخصات کنسرسیوم RDMA تحت تأثیر استانداردهای قبلی RDMA، از جمله معماری رابط مجازی (VIA) و InfiniBand (IB) قرار دارد.

از سال ۲۰۰۷، IETF سه RFC اضافی منتشر کرده است که iWARP را حفظ و گسترش می‌دهد:

  1. RFC 6580 IANA Registries for the Remote Direct Placement Data Placement (RDDP) Protocols منتشر شده در سال ۲۰۱۲، ثبت IANA را برای کدهای خطا، کدهای عملیاتی و کدهای عملکردی Remote Direct Placement Data Placement (RDDP) تعریف می‌کند.
  2. RFC 6581 ارتقا یافته دسترسی به حافظه مستقیم از راه دور (RDMA) که در سال ۲۰۱۱ منتشر شد، کاستی‌های راه‌اندازی اتصال iWARP را برطرف می‌کند.
  3. برنامه افزودنی پروتکل RFC 7306 Remote Direct Memory Access (RDMA) منتشر شده در سال ۲۰۱۴، [rfc:5040 RFC 5040 را] با عملیات اتمی و RDMA Write با داده‌های فوری را گسترش می‌دهد.

پروتکل[ویرایش]

مؤلفه اصلی در پروتکل iWARP، پروتکل مستقیم قرار دادن داده (DDP) است که امکان انتقال واقعی صفر کپی را فراهم می‌کند. DDP خود انتقال را انجام نمی‌دهد. پروتکل اصلی (TCP یا SCTP) انجام می‌دهد.

با این حال، TCP به مرزهای پیام احترام نمی‌گذارد. داده‌ها را به صورت دنباله ای از بایت‌ها بدون توجه به واحدهای داده پروتکل (PDU) ارسال می‌کند. در این راستا، خود DDP ممکن است برای SCTP مناسب تر باشد، و در واقع IETF یک RDMA استاندارد را بر روی SCTP پیشنهاد کرده است.[۴] برای اجرای DDP از طریق TCP، نیاز به تغییری دارد که به عنوان کادربندی نشانگر PDU aligned (MPA) شناخته می‌شود تا مرزهای پیام‌ها را تضمین کند.

علاوه بر این، DDP برای دسترسی مستقیم در نظر گرفته نشده است. در عوض، یک پروتکل RDMA جداگانه (RDMAP) خدمات خواندن و نوشتن داده‌ها را فراهم می‌کند؛ بنابراین، کل مشخصات RDMA روی TCP واقعاً RDMAP روی DDP بر روی MPA/TCP یا SCTP است. تمامی این پروتکل‌ها در سخت‌افزار قابل پیاده‌سازی هستند.

برخلاف IB, iWARP فقط ارتباطات متصل قابل اعتمادی دارد، زیرا این تنها سرویسی است که TCP و SCTP ارائه می‌کنند. مشخصات iWARP سایر ویژگی‌های IB مانند Send with Immediate Data را حذف می‌کند. با RFC 7306، IETF در تلاش است تا این حذفیات را کاهش دهد.

پیاده‌سازی[ویرایش]

از آنجا که اجرای هسته از پشته TCP می‌تواند به عنوان یک گلوگاه دیده شود، این پروتکل معمولاً در کنترلرهای رابط شبکه RDMA سخت‌افزاری (rNIC) پیاده‌سازی می‌شود. از آنجایی که از دست دادن داده‌های ساده در محیط‌های شبکه به ندرت اتفاق می‌افتد، مکانیسم‌های تصحیح خطا TCP ممکن است توسط نرم‌افزار انجام شود، در حالی که ارتباطاتی که اغلب انجام می‌شوند کاملاً توسط منطق تعبیه‌شده در rNIC مدیریت می‌شوند. به‌طور مشابه، اتصالات اغلب به‌طور کامل توسط نرم‌افزار برقرار می‌شوند و سپس به سخت‌افزار واگذار می‌شوند. علاوه بر این، مدیریت جزئیات پروتکل خاص iWARP معمولاً از پیاده‌سازی TCP جدا می‌شود و به rNICها اجازه می‌دهد هم برای تخلیه RDMA و هم برای تخلیه TCP (در پشتیبانی از برنامه‌های کاربردی TCP/IP مبتنی بر سوکت‌های سنتی) استفاده شوند. بخشی از پیاده‌سازی سخت‌افزاری که برای پیاده‌سازی پروتکل TCP استفاده می‌شود به عنوان موتور تخلیه بار TCP (TOE) شناخته می‌شود.

خود TOE از کپی در سمت گیرنده جلوگیری نمی‌کند و باید با سخت‌افزار RDMA ترکیب شود تا نتایج کپی صفر شود. مشخصات RDMA / TCP مجموعه‌ای از پروتکل‌های سیمی مختلف است که برای پیاده‌سازی در سخت‌افزار در نظر گرفته شده است (اگرچه به نظر می‌رسد شبیه‌سازی آن در نرم‌افزار برای سازگاری اما بدون مزایای عملکردی امکان‌پذیر است). خود TOE از کپی در سمت گیرنده جلوگیری نمی‌کند و باید با سخت‌افزار RDMA ترکیب شود تا نتایج کپی صفر شود. مشخصات RDMA / TCP مجموعه‌ای از پروتکل‌های سیمی مختلف است که برای پیاده‌سازی در سخت‌افزار در نظر گرفته شده است (اگرچه به نظر می‌رسد شبیه‌سازی آن در نرم‌افزار برای سازگاری اما بدون مزایای عملکردی امکان‌پذیر است).

رابط‌ها[ویرایش]

iWARP یک پروتکل است، نه یک پیاده‌سازی، اما رفتار پروتکل را بر حسب عملیات قانونی برای پروتکل تعریف می‌کند که به عنوان افعال شناخته می‌شود. به این ترتیب، iWARP هیچ رابط برنامه‌نویسی استاندارد واحدی ندارد. با این حال، رابط‌های برنامه‌نویسی تمایل زیادی به مطابقت بسیار نزدیک با افعال دارند.

چندین رابط برنامه‌نویسی پیشنهاد شده است، از جمله OpenFabrics Verbs, Network Direct, uDAPL, kDAPL, IT-API و RNICPI. پیاده‌سازی برخی از این رابط‌ها برای پلتفرم‌های مختلف از جمله ویندوز و لینوکس در دسترس است.

خدمات موجود[ویرایش]

سرویس‌های شبکه‌ای که بر روی iWARP پیاده‌سازی می‌شوند شامل مواردی است که در OpenFabrics Enterprise Distribution (OFED) توسط OpenFabrics Alliance برای سیستم‌های عامل لینوکس و توسط Microsoft Windows از طریق Network Direct ارائه می‌شوند.

فروشندگان[ویرایش]

فروشندگان محبوب تجهیزات دارای iWarp عبارتند از:

منابع[ویرایش]

  1. "Understanding iWARP: Delivering Low Latency to Ethernet" (PDF). Intel. 2015-11-24. Retrieved 2018-09-07.
  2. "RDMA Consortium FAQs".
  3. "RDMA Consortium". 2009-12-17. Retrieved 2017-08-23.
  4. {{cite book}}: Empty citation (help)

پیوند به بیرون[ویرایش]

رده:ابررایانه‌ها رده:شبکه‌های رایانه‌ای