پیش‌نویس:معماری رابط مجازی

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

معماری رابط مجازی (VIA) یک مدل انتزاعی از شبکه رایانه‌ای بدون کپی سطح کاربر است و از اساس و پایه اینفینی‌باند، iWARP و RoCE به‌ شمار می‌رود. VIA اورجینال که توسط مایکروسافت، اینتل و کامپک ساخته شده، به دنبال استانداردسازی رابط و واسط فناوری‌های شبکه سطح بالا که به نام شبکه‌های سیستمی (SANs) شناخته می‌شوند، بود. (منظور از SANs شبکه های سیستمی است و نه شبکه ذخیره‌سازی)

شبکه‌ها یک منبع مشترک هستند. با استفاده از رابط‌های قدیمی و سنتی شبکه مانند سوکت‌های برکلی، هسته (سیستم‌عامل) در هر ارتباط شبکه‌ای دخیل است. این موضوع باعث ایجاد یک مانع و گلوگاه جهت عملکرد فوق‌العاده می‌شود زمانی که تأخیر (مهندسی) اهمیت دارد.

یکی از پیشرفت‌های کلاسیک در سیستم‌های محاسباتی، حافظه مجازی است که ترکیبی از سخت افزار و نرم افزار به شمار می‌رود که توهم و تصور حافظه خصوصی را برای هر فرآیند ایجاد می کند. در همین راستا، یک رابط شبکه مجازی که در میان مرزهای فرآیند محافظت شده است، در سطح کاربر قابل دسترسی است. با استفاده از این فناوری، "مصرف‌کننده" بافر خود، و علاوه بر آن برنامه زمانبندی ارتباط خود را، در موقعی که "ارائه‌دهنده" مسئول محافظت است، مدیریت می‌کند.

بنابراین، کارت شبکه (NIC) یک شبکه خصوصی برای یک فرآیند فراهم می‌کند، و به طور معمول به یک فرآیند اجازه داده می‌شود که چندین تا از این شبکه‌ها را داشته باشد. رابط مجازی (VI) در VIA به این شبکه اشاره می‌کند و صرفا مقصد درخواست‌های ارتباطی کاربر به حساب می‌آید. ارتباط از طریق یک جفت رابط مجازی صورت می گیرد، که هریک از گره‌های پردازنده در فرآیند‌های انتقال درگیر می‌باشد. در ارتباط "حذف هسته"، کاربر بافرهای خود را مدیریت می‌کند.

یکی از جنبه‌های دیگر شبکه‌های سنتی و قدیمی این است که داده‌های وارد شده در یک بافر از پیش‌ تخصیص داده شده قرار می‌گیرند و سپس به مقصد نهایی مشخص‌شده توسط کاربر کپی می‌شود. کپی کردن پیام‌های بزرگ ممکن است زمان زیادی طول بکشد و به همین دلیل حذف این مرحله مفید می‌باشد. یک پیشرفت کلاسیک دیگر در سیستم‌های محاسباتی، دستیابی مستقیم به حافظه (DMA) است که در آن یک دستگاه می‌تواند به طور مستقیم به حافظه اصلی دسترسی داشته باشد در حالی که واحد پردازش مرکزی (CPU) آزاد است تا وظایف دیگری را انجام دهد.

در یک شبکه با دسترسی مستقیم حافظه از راه دور (RDMA)، NIC فرستنده از DMA برای خواندن داده‌ها از بافر مشخص شده توسط کاربر استفاده می‌کند و آنها را به عنوان یک پیام مستقل از طریق شبکه ارسال می‌کند. سپس NIC دریافت‌کننده از DMA برای قرار دادن داده‌ها در بافر مشخص شده توسط کاربر استفاده می‌کند. در مراحل میانی هیچ فرآیند کپی کردنی وجود ندارد و تمام این عملیات‌ها بدون دخالت واحدهای پردازش مرکزی انجام می‌شود که این امر باعث کاهش استفاده از CPU می‌شود.

برای NIC جهت صورت‌ بخشیدن دسترسی به داده‌ها از طریق DMA، صفحه کاربر باید در حافظه باشد. در VIA، کاربر می‌بایست پیش از فرآیند انتقال بافرهای خود را به اصطلاح پین یا سنجاق کند تا قادر باشد که از فرآیند مبادله و تعویض صفحه به دیسک توسط سیستم عامل جلوگیری کند. این عملیات—یکی از عملیات های معدود است که باعث درگیری هسته می‌شود—که صفحه را به حافظه فیزیکی متصل می‌کند. برای اطمینان از اینکه فقط فرآیندی که حافظه ثبت شده را در اختیار دارد می تواند به آن دسترسی داشته باشد، NICهای VIA در حین ارتباط به کلیدهای مجوز که به عنوان برچسب‌های حفاظت شناخته می‌شوند، نیاز دارند.

بنابراین به طور ضروری، VIA یک استاندارد است که دسترسی به هسته و RDMA را در یک شبکه تعریف می‌کند. همچنین یک کتابخانه برنامه‌نویسی به نام "VIPL" را نیز تعریف می‌نماید. این استاندارد به ویژه در cLAN برگرفته از Giganet (Emulex کنونی) پیاده‌سازی شده است. اما غالبا، مشارکت اصلی و عمده‌ی VIA در فراهم کردن پایه برای استانداردهای اینفینی‌باند، iWARP و RoCE بوده است.

پیوند های خارجی[ویرایش]