sbcast(1) Slurm Commands sbcast(1)

sbcast - انتقال فایل به گره‌های تخصیص‌یافته به یک کار Slurm

sbcast [-CfFjpstvV] SOURCE DEST

دستور sbcast برای انتقال یک فایل به تمام گره‌های تخصیص‌یافته به کار فعال فعلی Slurm استفاده می‌شود. این دستور تنها باید از درون یک کار دسته‌ای (batch job) در Slurm یا درون پوسته‌ای که پس از تخصیص منابع یک کار Slurm ایجاد شده است اجرا شود. SOURCE نام فایل موجود در گره فعلی است. DEST باید نام مسیر کامل (fully qualified pathname) برای نسخه کپی فایلی باشد که قرار است روی هر گره ساخته شود. اگر نام مسیر کامل ارائه نشود، فایل در دایرکتوری مشخص‌شده در پارامتر BcastParameters در فایل slurm.conf (در صورت وجود) ایجاد می‌شود، در غیر این صورت در دایرکتوری کاری فعلی که دستور sbcast از آن اجرا شده است ایجاد خواهد شد. DEST باید روی سیستم‌فایل محلی مربوط به آن گره باشد. توجه داشته باشید که سیستم‌فایل‌های موازی ممکن است عملکرد بهتری نسبت به آنچه sbcast ارائه می‌دهد داشته باشند، اگرچه کارایی بسته به اندازه فایل، درجه موازی‌سازی و نوع شبکه متفاوت خواهد بود.

فشرده‌سازی فایلی که منتقل می‌شود. آرگومان اختیاری، کتابخانه فشرده‌سازی داده مورد استفاده را مشخص می‌کند. مقادیر پشتیبانی‌شده عبارتند از "lz4" (پیش‌فرض) و "none". برخی از کتابخانه‌های فشرده‌سازی ممکن است در بعضی سیستم‌ها در دسترس نباشند. کتابخانه فشرده‌سازی پیش‌فرض (و فعال‌سازی خود فشرده‌سازی) را می‌توان در فایل slurm.conf با استفاده از گزینه BcastParameters تنظیم کرد.
فهرست جداشده با کاما از مسیرهای دایرکتوری مطلق که هنگام تشخیص خودکار و انتشار وابستگی‌های شیء مشترک (shared object) فایل اجرایی، باید مستثنی شوند. اگر کلمه کلیدی "NONE" تنظیم شود، هیچ مسیر دایرکتوری مستثنی نخواهد شد. مقدار پیش‌فرض همان مقدار BcastExclude در slurm.conf است و این گزینه آن را لغو می‌کند. همچنین گزینه --send-libs را ببینید.
اگر فایل مقصد (و دایرکتوری کتابخانه مقصد هنگام استفاده از --send-libs) از قبل وجود داشته باشد، آن را جایگزین می‌کند.
شناسه کار (job ID) مورد نظر را به همراه آفست hetjob اختیاری و/یا شناسه گام (step ID) مشخص می‌کند. یک SLUID نیز می‌تواند به‌جای یک شناسه کار عددی استفاده شود. اگر درون یک تخصیص (allocation) اجرا شود، نیازی به این گزینه نیست زیرا شناسه کار از محیط خوانده خواهد شد.
انتقال فایل‌ها به فهرستی از گره‌ها صرف‌نظر از کارهایی که ممکن است در حال اجرا داشته باشند. این کار فقط توسط SlurmUser/root قابل انجام است.

گزینه --nodelist باید همراه با این گزینه استفاده شود.

فهرست میزبان‌هایی که فایل‌ها به آن‌ها منتقل می‌شوند. این گره‌ها باید زیرمجموعه‌ای از کار مورد نظر باشند، یا اینکه باید از گزینه --no-allocation استفاده شود.
زمان‌های اصلاح، زمان‌های دسترسی و مجوزهای فایل اصلی را حفظ می‌کند.
اگر روی yes تنظیم شود (یا بدون آرگومان فراخوانی شود)، وابستگی‌های شیء مشترک فایل اجرایی را به‌طور خودکار تشخیص داده و به گره‌های محاسباتی تخصیص‌یافته منتشر می‌کند. این فایل‌ها در یک دایرکتوری در کنار فایل اجرایی قرار می‌گیرند. این گزینه رفتار پیش‌فرض پیکربندی‌شده در SbcastParameters send_libs درون slurm.conf را لغو می‌کند. همچنین گزینه --exclude را ببینید.
اندازه بلوک مورد استفاده برای انتشار فایل را مشخص می‌کند. این اندازه می‌تواند پسوند k یا m برای کیلوبایت یا مگابایت داشته باشد (به‌طور پیش‌فرض بر حسب بایت است). این اندازه جهت حفظ کارایی مناسب، مشمول گرد کردن و محدودیت‌های بازه‌ای است. مقدار پیش‌فرض اندازه فایل یا 8MB است، هرکدام که کوچک‌تر باشد. این مقدار ممکن است در سیستم‌هایی با حافظه بسیار محدود نیاز به تنظیم داشته باشد.
مهلت زمانی پیام را بر حسب ثانیه مشخص می‌کند. مقدار پیش‌فرض همان MessageTimeout گزارش‌شده توسط "scontrol show config" است. تنظیم یک مقدار بالاتر ممکن است به دلیل عملکرد نسبتاً کند I/O روی دیسک‌های گره محاسباتی لازم باشد.
عرض درختی (treewidth) پیام‌های مورد استفاده برای انتقال فایل را مشخص می‌کند. حداکثر مقدار در حال حاضر ۶۴ است. مقدار "off" فن‌اوت (fanout) را غیرفعال می‌کند.
ثبت گزارش‌های تفصیلی از رویدادها را در طول اجرای برنامه فراهم می‌کند.
اطلاعات نسخه را چاپ کرده و خارج می‌شود.

اجرای sbcast یک فراخوانی روال از راه دور (RPC) به slurmctld ارسال می‌کند. اگر تعداد فراخوانی‌های هم‌زمان از سوی sbcast یا دیگر دستورات کلاینت Slurm که فراخوانی روال از راه دور به دیمن slurmctld می‌فرستند زیاد باشد، می‌تواند منجر به کاهش کارایی دیمن slurmctld و احتمالاً بروز شرایط انکار سرویس (DoS) شود.

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

برخی از گزینه‌های sbcast را می‌توان از طریق متغیرهای محیطی تنظیم کرد. این متغیرهای محیطی به همراه گزینه‌های متناظر آن‌ها در زیر آورده شده‌اند. (توجه: گزینه‌های خط فرمان همواره بر این تنظیمات اولویت خواهند داشت.)

-C, --compress
--exclude=<NONE|path1,...,pathN>
-F number, --fanout=number
-f, --force
--send-libs[=yes|no]
-p, --preserve
-s size, --size=size
-t seconds, --timeout=seconds
محل فایل پیکربندی Slurm.
فلگ‌های اشکال‌زدایی مورد استفاده sbcast را مشخص می‌کند. برای فهرست کامل فلگ‌ها، به گزینه DebugFlags در صفحه راهنمای slurm.conf(5) مراجعه کنید. این متغیر محیطی بر تنظیمات موجود در slurm.conf اولویت دارد.

هنگام استفاده از SlurmDBD، به کاربرانی که سطح مدیریتی (AdminLevel) برای آن‌ها تعریف شده است (Operator یا Admin) این اختیار داده می‌شود که sbcast را روی کارهای سایر کاربران اجرا کنند.

با استفاده از یک اسکریپت دسته‌ای (batch script)، فایل محلی my.prog را به /tmp/my.proc روی گره‌های محلی منتقل کرده و سپس آن را اجرا کنید:

$ cat my.job
#!/bin/bash
sbcast my.prog /tmp/my.prog
srun /tmp/my.prog
$ sbatch --nodes=8 my.job
srun: jobid 12345 submitted

Copyright (C) 2006-2010 The Regents of the University of California. Produced at Lawrence Livermore National Laboratory (cf, DISCLAIMER).
Copyright (C) 2010-2022 SchedMD LLC.

این فایل بخشی از Slurm، یک برنامه مدیریت منابع است. برای جزئیات بیشتر، https://slurm.schedmd.com را ببینید.

نرم‌افزار Slurm یک نرم‌افزار آزاد است؛ شما می‌توانید آن را تحت شرایط «مجوز عمومی همگانی گنو» (GNU General Public License) همان‌طور که توسط بنیاد نرم‌افزارهای آزاد منتشر شده است (یا نسخه ۲ مجوز، یا به انتخاب خودتان، هر نسخه بعدی آن) بازتوزیع کرده و/یا تغییر دهید.

این نرم‌افزار به این امید توزیع شده است که مفید واقع شود، اما بدون هیچ‌گونه ضمانتی؛ حتی بدون ضمانت ضمنی قابلیت فروش یا مناسب بودن برای یک هدف خاص. برای جزئیات بیشتر به «مجوز عمومی همگانی گنو» مراجعه کنید.

srun(1)

Slurm Commands Slurm 26.05