| fi_pingpong(1) | Libfabric v2.6.0 | fi_pingpong(1) |
نام (NAME)
fi_pingpong - آزمون پینگپنگ سریع و ساده برای libfabric
خلاصه دستور (SYNOPSIS)
-
fi_pingpong [OPTIONS] راهاندازی سرور fi_pingpong [OPTIONS] <server address> اتصال به سرور
توضیحات (DESCRIPTION)
ابزار fi_pingpong یک آزمون پینگپنگ برای سنجش ویژگی اصلی کتابخانه libfabric است: انتقال داده میان دو فرآیند. همچنین fi_pingpong آمار تجمیعی را پس از هر بار اجرای آزمون نمایش میدهد و میتواند علاوه بر این، یکپارچگی دادهها را پس از دریافت اعتبارسنجی کند.
بهطور پیشفرض، برای آزمون از نقطه پایانی (endpoint) دیتاگرام (FI_EP_DGRAM) استفاده میشود، مگر اینکه از طریق -e بهگونه دیگری مشخص شده باشد.
نحوه اجرای آزمونها (HOW TO RUN TESTS)
باید دو نسخه از برنامه اجرا شود: ابتدا یک نسخه باید به عنوان سرور راهاندازی شود. سپس، نسخه دیگری با مشخص کردن آدرس سرور اجرا میشود.
به عنوان یک آزمون کلاینت-سرور، هر یک از الگوی استفاده زیر پیروی میکنند:
راهاندازی سرور
-
server$ fi_pingpong
راهاندازی کلاینت
-
client$ fi_pingpong <server address>
گزینهها (OPTIONS)
برای عملکرد صحیح ابزار fi_pingpong، سرور و کلاینت باید بتوانند ارتباط مناسبی با یکدیگر برقرار کنند. اگر از هر یک از گزینههای -e، -I، -S یا -p استفاده شود، این گزینهها باید هنگام فراخوانی هر دو فرآیند سرور و کلاینت مشخص شوند. اگر گزینه -d در سمت سرور مشخص شده باشد، چنانچه هیچ سرنخی در سمت کلاینت ارائه نشده باشد، کلاینت دامنه (domain) مناسب را انتخاب خواهد کرد. اگر گزینه -d در سمت کلاینت مشخص شده باشد، باید در سمت سرور نیز مشخص شود. اگر هر دو سمت سرور و کلاینت گزینه -d را مشخص کنند و دامنههای تعیینشده نتوانند ارتباط برقرار کنند، برنامه با خطا متوقف خواهد شد.
پیامرسانی کنترلی (Control Messaging)
- -B <src_port>
- شماره پورت غیرپیشفرض مبدأ برای سوکت کنترلی. اگر ارائه نشود، سرور بهطور پیشفرض به پورت 47592 متصل میشود (bind) و کلاینت اجازه میدهد پورت بهطور خودکار انتخاب شود.
- -P <dest_port>
- شماره پورت غیرپیشفرض مقصد برای سوکت کنترلی. اگر ارائه نشود، کلاینت بهطور پیشفرض به 47592 متصل خواهد شد. سرور این گزینه را نادیده میگیرد.
فیلترسازی فابریک (Fabric Filtering)
- -p <provider_name>
- نام ارائهدهنده فابریک زیرین (مانند sockets، psm3، usnic و غیره). اگر ارائهدهندهای از طریق سوئیچ -p مشخص نشود، آزمون یکی را از فهرست ارائهدهندگان در دسترس (همانطور که توسط fi_getinfo(3) برگردانده میشود) انتخاب خواهد کرد.
- -e <endpoint>
- نوع نقطه پایانی (endpoint) مورد استفاده برای پیامرسانی داده میان دو فرآیند. مقادیر پشتیبانیشده عبارتند از dgram، rdm و msg. برای اطلاعات بیشتر در مورد انواع endpoint، fi_endpoint(3) را ببینید.
- -d <domain>
- نام دامنه (domain) خاصی که باید استفاده شود.
- -s <source address>
- آدرس مربوط به دامنه متناظر. در محیطهای دارای چند آداپتور الزامی است.
گزینههای آزمون (Test Options)
- -I <iter>
- تعداد دفعات تکرار اجرای آزمون.
- -S <msg_size>
- اندازه خاص پیام بر حسب بایت که در آزمون استفاده میشود، یا 'all' برای اجرای تمام اندازههای پیشفرض.
- -c
- فعالسازی بررسی صحت دادهها در سمت گیرنده (توجه: این کار کارایی را کاهش میدهد).
ابزار کاربردی (Utility)
مثالها (EXAMPLES)
یک مثال ساده
سرور: fi_pingpong -p <provider_name>
server$ fi_pingpong -p sockets
کلاینت: fi_pingpong -p <provider_name> <server_addr>
client$ fi_pingpong -p sockets 192.168.0.123
مثالی با گزینههای گوناگون
سرور:
server$ fi_pingpong -p usnic -I 1000 -S 1024
کلاینت:
client$ fi_pingpong -p usnic -I 1000 -S 1024 192.168.0.123
بهطور مشخص، این دستور یک آزمون پینگپنگ را با مشخصات زیر اجرا میکند:
- •
- ارائهدهنده usNIC
- •
- ۱۰۰۰ تکرار
- •
- اندازه پیام ۱۰۲۴ بایت
- •
- گره سرور به نشانی 192.168.0.123
یک آزمون طولانیتر
سرور:
server$ fi_pingpong -p usnic -I 10000 -S all
کلاینت:
client$ fi_pingpong -p usnic -I 10000 -S all 192.168.0.123
پیشفرضها (DEFAULTS)
هیچ ارائهدهنده پیشفرضی وجود ندارد؛ اگر ارائهدهندهای از طریق سوئیچ -p مشخص نشود، آزمون یک مورد را از فهرست ارائهدهندگان موجود (همانطور که توسط fi_getinfo(3) بازگردانده میشود) انتخاب خواهد کرد.
اگر هیچ نوع endpoint مشخص نشده باشد، 'dgram' استفاده میشود.
اندازههای آزمودهشده پیشفرض عبارتند از: 64، 256، 1024، 4096، 65536 و 1048576. آزمون تنها اندازههایی را بررسی خواهد کرد که در محدوده حداکثر اندازه پیام endpoint انتخابشده قرار داشته باشند.
خروجی (OUTPUT)
هر آزمون پیامهای دادهای تولید میکند که در محاسبات لحاظ میشوند. بهطور مشخص، آمارهای نمایشدادهشده در انتها عبارتند از:
- •
- bytes : تعداد بایتهای هر پیام ارسالی
- •
- #sent : تعداد پیامهای (ping) ارسالی از کلاینت به سرور
- •
- #ack : تعداد پاسخهای (pong) سرور که توسط کلاینت دریافت شده است
- •
- total : میزان حافظه مبادلهشده میان فرآیندها
- •
- time : مدتزمان این آزمون تکی
- •
- MB/sec : پهنای باند/توان عملیاتی محاسبهشده از روی total و time
- •
- usec/xfer : میانگین زمان ارسال یک پیام خروجی (ping یا pong) بر حسب میکروثانیه
- •
- Mxfers/sec : میانگین تعداد انتقالهای پیام خروجی در هر ثانیه
همچنین ببینید (SEE ALSO)
fi_getinfo(3), fi_endpoint(3) fabric(7),
نویسندگان (AUTHORS)
OpenFabrics.
| 2024-12-10 | Libfabric Programmer’s Manual |