sbcast(1) Slurm Commands sbcast(1) نام (NAME) sbcast - انتقال فایل به گره‌های تخصیص‌یافته به یک کار Slurm خلاصه دستور (SYNOPSIS) sbcast [-CfFjpstvV] SOURCE DEST توضیحات (DESCRIPTION) دستور sbcast برای انتقال یک فایل به تمام گره‌های تخصیص‌یافته به کار فعال فعلی Slurm استفاده می‌شود. این دستور تنها باید از درون یک کار دسته‌ای (batch job) در Slurm یا درون پوسته‌ای که پس از تخصیص منابع یک کار Slurm ایجاد شده است اجرا شود. SOURCE نام فایل موجود در گره فعلی است. DEST باید نام مسیر کامل (fully qualified pathname) برای نسخه کپی فایلی باشد که قرار است روی هر گره ساخته شود. اگر نام مسیر کامل ارائه نشود، فایل در دایرکتوری مشخص‌شده در پارامتر BcastParameters در فایل slurm.conf (در صورت وجود) ایجاد می‌شود، در غیر این صورت در دایرکتوری کاری فعلی که دستور sbcast از آن اجرا شده است ایجاد خواهد شد. DEST باید روی سیستم‌فایل محلی مربوط به آن گره باشد. توجه داشته باشید که سیستم‌فایل‌های موازی ممکن است عملکرد بهتری نسبت به آنچه sbcast ارائه می‌دهد داشته باشند، اگرچه کارایی بسته به اندازه فایل، درجه موازی‌سازی و نوع شبکه متفاوت خواهد بود. گزینه‌ها (OPTIONS) -C, --compress[=library] فشرده‌سازی فایلی که منتقل می‌شود. آرگومان اختیاری، کتابخانه فشرده‌سازی داده مورد استفاده را مشخص می‌کند. مقادیر پشتیبانی‌شده عبارتند از "lz4" (پیش‌فرض) و "none". برخی از کتابخانه‌های فشرده‌سازی ممکن است در بعضی سیستم‌ها در دسترس نباشند. کتابخانه فشرده‌سازی پیش‌فرض (و فعال‌سازی خود فشرده‌سازی) را می‌توان در فایل slurm.conf با استفاده از گزینه BcastParameters تنظیم کرد. --exclude= فهرست جداشده با کاما از مسیرهای دایرکتوری مطلق که هنگام تشخیص خودکار و انتشار وابستگی‌های شیء مشترک (shared object) فایل اجرایی، باید مستثنی شوند. اگر کلمه کلیدی "NONE" تنظیم شود، هیچ مسیر دایرکتوری مستثنی نخواهد شد. مقدار پیش‌فرض همان مقدار BcastExclude در slurm.conf است و این گزینه آن را لغو می‌کند. همچنین گزینه --send-libs را ببینید. -f, --force اگر فایل مقصد (و دایرکتوری کتابخانه مقصد هنگام استفاده از --send-libs) از قبل وجود داشته باشد، آن را جایگزین می‌کند. -j, --jobid= شناسه کار (job ID) مورد نظر را به همراه آفست hetjob اختیاری و/یا شناسه گام (step ID) مشخص می‌کند. یک SLUID نیز می‌تواند به‌جای یک شناسه کار عددی استفاده شود. اگر درون یک تخصیص (allocation) اجرا شود، نیازی به این گزینه نیست زیرا شناسه کار از محیط خوانده خواهد شد. -Z, --no-allocation انتقال فایل‌ها به فهرستی از گره‌ها صرف‌نظر از کارهایی که ممکن است در حال اجرا داشته باشند. این کار فقط توسط SlurmUser/root قابل انجام است. گزینه --nodelist باید همراه با این گزینه استفاده شود. -w, --nodelist= فهرست میزبان‌هایی که فایل‌ها به آن‌ها منتقل می‌شوند. این گره‌ها باید زیرمجموعه‌ای از کار مورد نظر باشند، یا اینکه باید از گزینه --no- allocation استفاده شود. -p, --preserve زمان‌های اصلاح، زمان‌های دسترسی و مجوزهای فایل اصلی را حفظ می‌کند. --send-libs[=yes|no] اگر روی yes تنظیم شود (یا بدون آرگومان فراخوانی شود)، وابستگی‌های شیء مشترک فایل اجرایی را به‌طور خودکار تشخیص داده و به گره‌های محاسباتی تخصیص‌یافته منتشر می‌کند. این فایل‌ها در یک دایرکتوری در کنار فایل اجرایی قرار می‌گیرند. این گزینه رفتار پیش‌فرض پیکربندی‌شده در SbcastParameters send_libs درون slurm.conf را لغو می‌کند. همچنین گزینه --exclude را ببینید. -s, --size= اندازه بلوک مورد استفاده برای انتشار فایل را مشخص می‌کند. این اندازه می‌تواند پسوند k یا m برای کیلوبایت یا مگابایت داشته باشد (به‌طور پیش‌فرض بر حسب بایت است). این اندازه جهت حفظ کارایی مناسب، مشمول گرد کردن و محدودیت‌های بازه‌ای است. مقدار پیش‌فرض اندازه فایل یا 8MB است، هرکدام که کوچک‌تر باشد. این مقدار ممکن است در سیستم‌هایی با حافظه بسیار محدود نیاز به تنظیم داشته باشد. -t, --timeout= مهلت زمانی پیام را بر حسب ثانیه مشخص می‌کند. مقدار پیش‌فرض همان MessageTimeout گزارش‌شده توسط "scontrol show config" است. تنظیم یک مقدار بالاتر ممکن است به دلیل عملکرد نسبتاً کند I/O روی دیسک‌های گره محاسباتی لازم باشد. -F, --treewidth= عرض درختی (treewidth) پیام‌های مورد استفاده برای انتقال فایل را مشخص می‌کند. حداکثر مقدار در حال حاضر ۶۴ است. مقدار "off" فن‌اوت (fanout) را غیرفعال می‌کند. -v, --verbose ثبت گزارش‌های تفصیلی از رویدادها را در طول اجرای برنامه فراهم می‌کند. -V, --version اطلاعات نسخه را چاپ کرده و خارج می‌شود. کارایی (PERFORMANCE) اجرای sbcast یک فراخوانی روال از راه دور (RPC) به slurmctld ارسال می‌کند. اگر تعداد فراخوانی‌های هم‌زمان از سوی sbcast یا دیگر دستورات کلاینت Slurm که فراخوانی روال از راه دور به دیمن slurmctld می‌فرستند زیاد باشد، می‌تواند منجر به کاهش کارایی دیمن slurmctld و احتمالاً بروز شرایط انکار سرویس (DoS) شود. دستور sbcast یا دیگر دستورات کلاینت Slurm را که فراخوانی‌های روال از راه دور به slurmctld ارسال می‌کنند، در حلقه‌های اسکریپت‌های شل یا دیگر برنامه‌ها اجرا نکنید. اطمینان حاصل کنید که برنامه‌ها فراخوانی‌های sbcast را به حداقل مقدار لازم برای اطلاعاتی که در پی جمع‌آوری آن هستید محدود کنند. متغیرهای محیطی (ENVIRONMENT VARIABLES) برخی از گزینه‌های sbcast را می‌توان از طریق متغیرهای محیطی تنظیم کرد. این متغیرهای محیطی به همراه گزینه‌های متناظر آن‌ها در زیر آورده شده‌اند. (توجه: گزینه‌های خط فرمان همواره بر این تنظیمات اولویت خواهند داشت.) SBCAST_COMPRESS -C, --compress SBCAST_EXCLUDE --exclude= SBCAST_FANOUT -F number, --fanout=number SBCAST_FORCE -f, --force SBCAST_SEND_LIBS --send-libs[=yes|no] SBCAST_PRESERVE -p, --preserve SBCAST_SIZE -s size, --size=size SBCAST_TIMEOUT -t seconds, --timeout=seconds SLURM_CONF محل فایل پیکربندی Slurm. SLURM_DEBUG_FLAGS فلگ‌های اشکال‌زدایی مورد استفاده sbcast را مشخص می‌کند. برای فهرست کامل فلگ‌ها، به گزینه DebugFlags در صفحه راهنمای slurm.conf(5) مراجعه کنید. این متغیر محیطی بر تنظیمات موجود در slurm.conf اولویت دارد. مجوزها (AUTHORIZATION) هنگام استفاده از SlurmDBD، به کاربرانی که سطح مدیریتی (AdminLevel) برای آن‌ها تعریف شده است (Operator یا Admin) این اختیار داده می‌شود که sbcast را روی کارهای سایر کاربران اجرا کنند. مثال‌ها (EXAMPLES) با استفاده از یک اسکریپت دسته‌ای (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 کپی‌رایت و تکثیر (COPYING) 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، یک برنامه مدیریت منابع است. برای جزئیات بیشتر، را ببینید. نرم‌افزار Slurm یک نرم‌افزار آزاد است؛ شما می‌توانید آن را تحت شرایط «مجوز عمومی همگانی گنو» (GNU General Public License) همان‌طور که توسط بنیاد نرم‌افزارهای آزاد منتشر شده است (یا نسخه ۲ مجوز، یا به انتخاب خودتان، هر نسخه بعدی آن) بازتوزیع کرده و/یا تغییر دهید. این نرم‌افزار به این امید توزیع شده است که مفید واقع شود، اما بدون هیچ‌گونه ضمانتی؛ حتی بدون ضمانت ضمنی قابلیت فروش یا مناسب بودن برای یک هدف خاص. برای جزئیات بیشتر به «مجوز عمومی همگانی گنو» مراجعه کنید. همچنین ببینید (SEE ALSO) srun(1) Slurm 26.05 Slurm Commands sbcast(1)