fi_mon_sampler(1) Libfabric v2.6.0 fi_mon_sampler(1)

fi_mon_sampler - نمونه‌بردار ساده برای ارائه‌دهنده ofi_hook_monitor.

fi_mon_sampler [OPTIONS] <target>      sample from file(s) at <target>

داده‌ها را از طریق فایل‌های ارتباطی از ارائه‌دهنده ofi_hook_monitor استخراج می‌کند. <target> می‌تواند یک فایل ارتباطی منفرد یا پوشه‌ای از فایل‌ها باشد. داده‌ها بر اساس -f <format> صادر شده و یا در stdout چاپ می‌شوند (تنها برای فایل‌های تکی)، و یا به ازای هر فایل ارتباطی در مسیر -o <outpath> ذخیره می‌گردند. نمونه‌بردار می‌تواند با استفاده از گزینهٔ -w <msec> تغییرات فایل‌های ارتباطی را زیر نظر بگیرد تا نمونه‌برداری تکرارشونده انجام شود.

قالب نام‌گذاری فایل‌های خروجی بر اساس ارائه‌دهنده ofi_hook_monitor بوده و به شرح زیر است: <ppid>_<pid>_<sequential id>_<job id>_<provider name>. شناسه‌های ppid و pid از دیدگاه برنامهٔ تحت نظارت گرفته می‌شوند. در یک محیط دسته‌ای (batched) در حال اجرای SLURM، مقدار job id برابر با شناسه کار در SLURM قرار می‌گیرد، در غیر این صورت روی 0 تنظیم می‌شود.

یک برنامه libfabric را با FI_HOOK=monitor اجرا کنید تا ارائه‌دهنده ofi_hook_monitor فعال شود. تنظیمات ارائه‌دهنده مانیتور را بر اساس fi_hook(7) تعیین کنید.

سپس نمونه‌بردار را از طریق fi_mon_sampler -o <output> <target> اجرا نمایید. به‌طور پیش‌فرض، ارائه‌دهنده ofi_hook_monitor داده‌ها را در مسیر /dev/shm/ofi/<uid>/<hostname> ذخیره می‌کند.

نمونه‌بردار فایل‌های خروجی را در پوشهٔ مشخص‌شده در <output> ایجاد خواهد کرد؛ یک فایل به ازای هر ارائه‌دهندهٔ تحت نظارت.

بررسی فایل‌ها برای تغییرات، بررسی در هر <msec> میلی‌ثانیه.
قالب خروجی. در حال حاضر تنها از CSV پشتیبانی می‌کند.
مسیر فایل خروجی. در صورت عدم تنظیم، از stdout استفاده می‌کند.

اجرای یک برنامه libfabric و فعال‌سازی ارائه‌دهنده ofi_hook_monitor:

FI_HOOK=monitor fi_pingpong [OPTIONS]

اجرای یک fi_pingpong دیگر با تنظیمات متناظر.

در نهایت، اجرای نمونه‌بردار:

fi_mon_sampler -o $HOME -w 1000 -f csv /dev/shm/ofi/$UID/$HOSTNAME

فایل‌های خروجی در پوشهٔ مشخص‌شده در -o <output> ایجاد خواهند شد.

در حالت -f csv، این پوشه شامل یک فایل CSV با داده‌های مربوط به تمام توابع تحت نظارت libfabric خواهد بود. برای هر تابع، هر دو شمارندهٔ count و sum صادر می‌شوند که به ترتیب با پسوندهای نام ستون _c و _s مشخص شده‌اند. علاوه بر این، هر تابع برای هر ردهٔ اندازه داده (data size bucket) نظارت می‌شود. برای جزئیات بیشتر به fi_hook(7) مراجعه کنید.

نمونه خروجی CSV، چهار ستون اول، سه سطر اول:

mon_recv_0_64_c,mon_recv_0_64_s,mon_recv_64_512_c,mon_recv_64_512_s
0,0,0,0
22529,0,0,0
113664,0,0,0

fi_hook(7)

OpenFabrics.

2025-06-06 Libfabric Programmer’s Manual