RSTREAM(1) librdmacm RSTREAM(1)

rstream - آزمون پینگ‌پنگ جریان داده بر بستر RDMA

rstream [-s server_address] [-b bind_address] [-f address_format]
			[-B buffer_size] [-I iterations] [-C transfer_count]
			[-S transfer_size] [-p server_port] [-T test_option]

از پروتکل جریان داده بر بستر RDMA (یا rsocket) برای برقراری ارتباط و تبادل داده میان یک برنامه کلاینت و سرور استفاده می‌کند.

نام شبکه یا نشانی IP سامانه سرور که منتظر اتصالات است. نام یا نشانی استفاده‌شده باید از طریق یک دستگاه RDMA مسیریابی شود. این گزینه باید توسط کلاینت مشخص گردد.
نشانی شبکه محلی برای مقید شدن (bind) به آن.
قالب‌های نشانی پشتیبانی‌شده عبارتند از ip، ipv6، gid، یا name.
اندازه بافرهای شبکه ارسال و دریافت را مشخص می‌کند.
تعداد دفعاتی که تعداد پیام‌های مشخص‌شده بین کلاینت و سرور تبادل خواهند شد. (پیش‌فرض: 1000)
تعداد پیام‌ها برای انتقال از کلاینت به سرور و بازگشت مجدد در هر تکرار. (پیش‌فرض: 1000)
اندازه هر انتقال ارسالی، به بایت. (پیش‌فرض: 1000) اگر 'all' مشخص شود، rstream مجموعه‌ای از آزمون‌ها را با اندازه‌های گوناگون اجرا خواهد کرد.
شماره پورت سرور.
پارامترهای آزمون را مشخص می‌کند. گزینه‌های موجود عبارتند از:

s | socket - استفاده از فراخوانی‌های استاندارد سوکت برای انتقال داده

a | async - استفاده از عملیات ناهمگام (مانند select / poll)

b | blocking - استفاده از فراخوانی‌های مسدودکننده (blocking)

f | fork - انشعاب پردازش سرور با fork (گزینه -T s را اجباری می‌کند)

n | nonblocking - استفاده از فراخوانی‌های غیرمسدودکننده (non-blocking)

r | resolve - استفاده از rdma cm برای تحلیل نشانی

v | verify - بررسی و اعتبارسنجی انتقال‌های داده

کاربرد پایه به این صورت است که ابتدا rstream روی یک سامانه سرور اجرا شود و سپس rstream -s server_name روی یک سامانه کلاینت به اجرا درآید. به‌طور پیش‌فرض، rstream مجموعه‌ای از آزمون‌های کارایی تأخیر و پهنای باند را اجرا خواهد کرد. مشخص کردن مقادیر دیگر برای iterations، transfer_count، یا transfer_size، آزمونی سفارشی‌سازی‌شده را اجرا می‌کند و در مواردی که مقداری تعیین نشده باشد از مقادیر پیش‌فرض بهره می‌برد.

از آنجا که این آزمون منابع RDMA را به فضای کاربری (userspace) نگاشت می‌کند، کاربران باید اطمینان حاصل کنند که منابع سیستمی و مجوزهای لازم را در اختیار دارند. برای جزئیات تکمیلی به فایل README مربوط به libibverbs مراجعه کنید.

rdma_cm(7)

2011-11-16 librdmacm