| sacctmgr(1) | Slurm Commands | sacctmgr(1) |
نام (NAME)
sacctmgr - برای مشاهده و ویرایش اطلاعات حسابهای کاربری Slurm استفاده میشود.
خلاصه دستور (SYNOPSIS)
sacctmgr [OPTIONS...] [COMMAND...]
توضیحات (DESCRIPTION)
دستور sacctmgr برای مشاهده یا ویرایش اطلاعات حسابهای کاربری Slurm به کار میرود. اطلاعات حسابها در یک پایگاهداده نگهداری میشوند که رابط آن توسط slurmdbd (دیمن پایگاهداده Slurm) ارائه میشود. این پایگاهداده میتواند به عنوان یک مخزن مرکزی از اطلاعات کاربران و رایانهها برای چندین رایانه در یک سایت واحد عمل کند. اطلاعات حسابهای Slurm بر اساس چهار پارامتر ثبت میشود که مفهومی به نام association (وابستگی/انتساب) را تشکیل میدهند. این پارامترها عبارتند از user، cluster، partition و account. پارامتر user نام ورود به سیستم (login name) است. پارامتر cluster نام خوشه مدیریتشده توسط Slurm است که با پارامتر ClusterName در فایل پیکربندی slurm.conf مشخص شده است. پارامتر partition نام یک پارتیشن Slurm در آن خوشه است. پارامتر account حسابی است که کار (job) برای آن ثبت میشود. شیوه کار مورد نظر به این صورت است که ابتدا دستور sacctmgr را اجرا کنید، رکوردهای association را اضافه، حذف، ویرایش و/یا فهرستبندی نمایید و سپس تغییرات را اعمال (commit) کرده و خارج شوید.
NOTE: محتویات پایگاهداده Slurm با حروف کوچک (lower case) نگهداری میشوند. این موضوع ممکن است باعث شود برخی از خروجیهای sacctmgr با خروجی دیگر دستورهای Slurm متفاوت باشد.
گزینهها (OPTIONS)
- -s, --associations
- همراه با show یا list برای نمایش ارتباطات (associations) مرتبط با موجودیت استفاده میشود. این گزینه معادل دستور associations است.
- -h, --help
- چاپ پیام راهنما که نحوه استفاده از sacctmgr را توضیح میدهد. این گزینه معادل دستور help است.
- -i, --immediate
- اعمال فوری تغییرات بدون درخواست تأیید.
- --json, --json=list, --json=<data_parser>
- تخلیه اطلاعات در قالب JSON با استفاده از افزونه پیشفرض data_parser یا یک data_parser مشخص همراه با پارامترها. آرگومانهای مرتبسازی و قالببندی نادیده گرفته خواهند شد. این گزینه برای همه دستورها در دسترس نیست.
- -n, --noheader
- هیچ سرآیندی به ابتدای خروجی اضافه نخواهد شد.
- -p, --parsable
- خروجی با '|' جدا شده و در انتها نیز یک '|' خواهد داشت.
- -P, --parsable2
- خروجی با '|' جدا شده و در انتها بدون '|' خواهد بود.
- -Q, --quiet
- هیچ پیامی غیر از پیامهای خطا چاپ نشود. این گزینه معادل دستور quiet است.
- -r, --readonly
- مانع از آن میشود که sacctmgr در حال اجرا بتواند اطلاعات حسابداری را تغییر دهد. گزینه readonly برای استفاده در حالت تعاملی (interactive) است.
- --yaml, --yaml=list, --yaml=<data_parser>
- تخلیه اطلاعات در قالب YAML با استفاده از افزونه پیشفرض data_parser یا یک data_parser مشخص همراه با پارامترها. آرگومانهای مرتبسازی و قالببندی نادیده گرفته خواهند شد. این گزینه برای همه دستورها در دسترس نیست.
- -v, --verbose
- فعالسازی ثبت دقیق گزارشها (verbose logging). این گزینه معادل دستور verbose است.
- -V , --version
- نمایش شماره نسخه. این گزینه معادل دستور version است.
دستورها (COMMANDS)
- add <ENTITY> <SPECS>
- افزودن یک موجودیت (entity). مشابه دستور create است.
- archive {dump|load} <SPECS>
- نوشتن اطلاعات پایگاهداده در یک فایل متنی ساده (flat file) یا بارگذاری اطلاعاتی که قبلاً در یک فایل نوشته شدهاند.
- clear stats
- پاکسازی آمار سرور.
- create <ENTITY> <SPECS>
- افزودن یک موجودیت. مشابه دستور add است.
- delete <ENTITY> where <SPECS>
- حذف موجودیتهای مشخصشده. مشابه دستور remove است.
- dump <cluster>
- تخلیه دادههای خوشه در فایل مشخصشده. اگر نام فایل مشخص نشود، بهطور پیشفرض از نام فایل clustername.cfg استفاده میکند.
- help
- نمایش توضیحات مربوط به گزینهها و دستورهای sacctmgr.
- list <ENTITY> [<SPECS>]
- نمایش اطلاعات مربوط به موجودیت مشخصشده. بهطور پیشفرض تمام مدخلها نمایش داده میشوند؛ میتوانید با مشخص کردن SPECS در پرسوجوی خود، نتایج را محدودتر کنید. مشابه دستور show است.
- load <FILENAME>
- بارگذاری دادههای خوشه از فایل مشخصشده. این یک فایل پیکربندی است که با اجرای دستور sacctmgr dump تولید شده است. این دستور دادههای بایگانی را بارگذاری نمیکند، به جای آن گزینه sacctmgr archive load را ببینید.
- modify <ENTITY> where <SPECS> set <SPECS>
- ویرایش یک موجودیت.
- ping
- ارسال پینگ و بررسی ارتباط با slurmdbd.
- reconfigure
- پیکربندی مجدد SlurmDBD (در صورت در حال اجرا بودن آن).
- remove <ENTITY> where <SPECS>
- حذف موجودیتهای مشخصشده. مشابه دستور delete است.
- show <ENTITY> [<SPECS>]
- نمایش اطلاعات مربوط به موجودیت مشخصشده. بهطور پیشفرض تمام مدخلها نمایش داده میشوند؛ میتوانید با مشخص کردن SPECS در پرسوجوی خود، نتایج را محدودتر کنید. مشابه دستور list است.
- shutdown
- خاموش کردن سرور.
- version
- نمایش
شماره نسخه
sacctmgr.
نکته: تمام دستورهای فهرستشده در زیر را میتوان در حالت تعاملی استفاده کرد، اما نه در خط فرمان اولیه.
- exit
- پایان دادن به حالت تعاملی sacctmgr. همانند دستور quit است.
- quiet
- چاپ نکردن هیچ پیامی بهجز پیامهای خطا.
- quit
- پایان دادن به اجرای حالت تعاملی sacctmgr. همانند دستور exit است.
- verbose
- فعالسازی گزارشگیری با جزئیات (detailed logging). این شامل برچسبهای زمانی (time-stamps) روی ساختارهای داده، تعداد رکوردها و غیره است. این یک دستور مستقل بدون گزینه است که برای استفاده در حالت تعاملی در نظر گرفته شده است.
- !!
- تکرار آخرین دستور.
موجودیتها (ENTITIES)
- account
- یک حساب (account)، که معمولاً هنگام ارسال کار (job submit time) با استفاده از گزینهٔ --account= مشخص میشود. این حسابها ممکن است به صورت سلسلهمراتبی مرتب شوند؛ برای نمونه، حسابهای 'chemistry' و 'physics' میتوانند زیرمجموعهٔ حساب 'science' باشند. این سلسلهمراتب میتواند عمق دلخواهی داشته باشد.
- association
- موجودیتی که برای گروهبندی اطلاعات شامل چهار پارامتر استفاده میشود: account، cluster، partition (اختیاری) و user. تنها با دستور list یا show استفاده میشود. عملیات add، modify و delete باید روی موجودیت user، account یا cluster انجام شوند که به نوبهٔ خود associationهای زیربنایی را بهروزرسانی خواهند کرد. تغییر ویژگیهایی مانند محدودیتها (limits) برای یک association مجاز است، اما تغییر دادن چهار ویژگی اصلی یک association مجاز نیست. شما نمیتوانید تنظیمات partition را برای یک association موجود تغییر دهید (یا در صورت عدم تنظیم، یکی تعیین کنید). در عوض، باید یک association جدید ایجاد کنید که partition در آن گنجانده شده باشد. شما میتوانید association قبلی را بدون تعریف partition نگه دارید، یا آن را حذف کنید. توجه داشته باشید که این associationهای تازه اضافهشده موجودیتهایی یکتا هستند و هیچ اطلاعات مصرف موجودی به association جدید منتقل نخواهد شد.
- cluster
- پارامتر ClusterName در فایل پیکربندی slurm.conf، که برای تفکیک حسابها روی ماشینهای مختلف استفاده میشود.
- configuration
- تنها با دستور list یا show برای گزارش پیکربندی کنونی سیستم استفاده میشود.
- coordinator
- یک کاربر ویژه با امتیازات دسترسی، معمولاً مدیر یک حساب، که میتواند کاربرها یا زیرحسابهایی را به حسابی که هماهنگکنندهٔ (coordinator) آن است اضافه کند. این فرد باید شخصی قابل اعتماد باشد، زیرا میتواند محدودیتهای مربوط به associationهای حساب و کاربر را تغییر دهد، و همچنین کارهای درون حوزهٔ خود را لغو (cancel)، بازصفبندی (requeue) یا حساب آنها را دوباره تعیین (reassign) کند.
- event
- رویدادهایی مانند گرههای از کار افتاده (downed) یا تخلیهشده (drained) در خوشهها. توجه داشته باشید که این شامل حالتهای گذرا مانند DRAINING نمیشود.
- federation
- گروهی از خوشهها که برای زمانبندی کارها با یکدیگر همکاری میکنند.
- job
- برای تغییر فیلدهای مشخصی از یک کار (job) استفاده میشود: Derived Exit Code، Comment، AdminComment، Extra، SystemComment، TRES یا WCKey.
- problem
- برای نمایش مشکلات موجودیتها با show یا list استفاده میشود.
- qos
- کیفیت خدمات (Quality of Service).
- reservation
- مجموعهای از منابع که برای استفادهٔ یک حساب، کاربر یا گروهی از کاربران خاص در یک بازهٔ زمانی معین رزرو شده است.
- resource
- منابع نرمافزاری سیستم. اینها مجوزهای نرمافزاری (software licenses) به اشتراک گذاشتهشده میان خوشهها هستند.
- RunawayJobs
- تنها با
دستور list یا
show برای
گزارش
کارهای
جاری که روی
خوشهٔ محلی
بیسرپرست
(orphaned) شدهاند
و اکنون
مهارگسیخته
(runaway) هستند،
استفاده
میشود. اگر
کارهایی در
این وضعیت
وجود داشته
باشند،
گزینهای
برای
«تعمیر» (fix)
آنها نیز در
اختیارتان
قرار
میدهد. این
کار زمان
پایان هر
کار را روی
آخرین زمان
از میان
زمانهای
start، eligible و submit آن
کار تنظیم
میکند و
وضعیت را به
طور
پیشفرض
روی completed قرار
میدهد. پس
از اصلاح،
این امر SlurmDBD
را تحریک
میکند تا
میزان مصرف
را از قبل
از زودترین
زمان ارسال
تمام
کارهای
مهارگسیخته
دوباره
محاسبه کند.
برای انجام
این کار
باید
دستکم
دارای AdminLevel
در سطح Operator
باشید.
نکته: این عملیات ممکن است زمان زیادی ببرد و sreport ممکن است تا پایان محاسبهٔ مجدد، دادهای بازنگرداند. بهتر است این عملیات زمانی اجرا شود که سیستم شلوغ نیست.
- stats
- با دستور list یا show برای مشاهدهٔ آمار کارساز (server) استفاده میشود. آرگومان اختیاری ave_time یا total_time را برای مرتبسازی بر اساس آن فیلدها میپذیرد. به طور پیشفرض، بر اساس فیلد تعداد RPC به صورت صعودی مرتب میکند.
- transaction
- فهرست تراکنشهایی که در یک بازه زمانی مشخص رخ دادهاند.
- tres
- با دستور list یا show برای مشاهدهٔ فهرستی از منابع قابلردیابی (Trackable RESources) پیکربندیشده روی سیستم استفاده میشود.
- user
- نام کاربری ورود. نامهای کاربری به بزرگی و کوچکی حروف حساس نیستند (به حروف کوچک تبدیل میشوند) مگر اینکه گزینهٔ PreserveCaseUser در فایل پیکربندی SlurmDBD تنظیم شده باشد.
- wckeys
- کلید
مشخصهسازی
بار کاری (Workload
Characterization Key). یک
رشتهٔ
دلخواه
برای
گروهبندی
حسابهای
متعامد (orthogonal accounts).
نکته:
محدودیتهای
گروهی (GrpJobs، GrpTRES و
غیره)
هنگامی که
یک شغل برای
تخصیص
منابع در
دست بررسی
قرار
میگیرد،
آزمایش و
ارزیابی
میشوند.
اگر آغاز یک
شغل موجب
فراتر رفتن
از هر یک از
محدودیتهای
گروهی آن
شود، آن شغل
برای
زمانبندی
در نظر
گرفته
نخواهد شد؛
حتی اگر
اجرای آن
شغل بتواند
تقدم
شغلهای
دیگر را لغو
کند (preempt) که در
نتیجه آن،
منابع
گروهی کافی
برای
راهاندازی
شغل معلق
آزاد گردد.
نکته: هرگونه تغییر در محدودیت TRES با استفاده از نحو "+=" یا "-=" همواره مقداری بین 0 و 18446744073709551600 تولید خواهد کرد. تلاش برای تنظیم یک مقدار منفی با استفاده از "-=" مقدار آن TRES را به 0 تغییر میدهد، حتی اگر از پیش هیچ محدودیتی برای آن TRES وجود نداشته باشد.
- DefaultQOS=<default_qos>
- سطح کیفیتی (QOS) که این انتساب و فرزندان آن در صورت مجاز بودن در فهرست QosLevel ذکرشده در زیر، بهطور پیشفرض استفاده خواهند کرد. در صورت تنظیم مستقیم روی یک کاربر، این مقدار لغو و بازنویسی میشود. برای پاک کردن مقدار موجود، یک مقدار جدید -1 تعیین کنید.
- سهمهای تخصیصیافته که برای محاسبات fairshare استفاده میشوند. این مقدار میتواند رشته parent نیز باشد که بسته به این که روی یک کاربر یا یک حساب تنظیم شود، تفسیر متفاوتی دارد. اگر روی یک کاربر تنظیم شود، انتساب والد برای fairshare استفاده میشود. اگر روی یک حساب تنظیم شود، فرزندان آن حساب برای محاسبات fairshare عملاً به نخستین والد از والدشان که دارای Fairshare=parent نباشد بازوالددهی (re-parent) میشوند. محدودیتها بدون تغییر باقی میمانند و تنها مقدار fairshare آن متأثر میشود. برای پاک کردن مقدار موجود، یک مقدار جدید -1 تعیین کنید.
- GrpJobs=<max_jobs>
- حداکثر تعداد شغلهای در حال اجرا در مجموع برای این انتساب و فرزندان آن. برای پاک کردن مقدار موجود، یک مقدار جدید -1 تعیین کنید.
- GrpJobsAccrue=<max_jobs>
- حداکثر تعداد شغلهای معلق در مجموع که قادر به انباشتن اولویت سنی برای این انتساب و فرزندان آن هستند. برای پاک کردن مقدار موجود، یک مقدار جدید -1 تعیین کنید.
- GrpSubmit=<max_jobs>
- GrpSubmitJobs=<max_jobs>
- حداکثر تعداد شغلها در وضعیت معلق یا در حال اجرا در هر زمان، در مجموع برای این انتساب و فرزندان آن. برای پاک کردن مقدار موجود، یک مقدار جدید -1 تعیین کنید.
- GrpTRES=TRES[+|-]=<max_TRES>[,TRES[+|-]=<max_TRES>,...]
- حداکثر
تعداد TRES
قابل تخصیص
توسط
شغلهای در
حال اجرا در
مجموع برای
این انتساب
و فرزندان
آن.
برای جزئیات بیشتر به بخش اطلاعات TRES (TRES information) در زیر مراجعه کنید.
- GrpTRESMins=TRES[+|-]=<minutes>[,TRES[+|-]=<minutes>,...]
- حداکثر
تعداد
دقیقه-TRES که
امکان
استفاده از
آن توسط
شغلهای
گذشته، حال
و آینده در
این انتساب
و فرزندان
آن وجود
دارد.
برای جزئیات بیشتر به بخش اطلاعات TRES (TRES information) در زیر مراجعه کنید.
نکته: این محدودیت در صورت تعیین روی انتساب ریشه (root association) یک کلاستر اعمال نمیشود. بنابراین، حتی اگر در خروجی sacctmgr ظاهر شود، اعمال نخواهد شد.
نکته: این محدودیت تنها هنگام استفاده از پلاگین Priority Multifactor اعمال میگردد. زمان بر اساس مقدار PriorityDecayHalfLife یا PriorityUsageResetPeriod طبق تنظیمات در slurm.conf دچار واپاشی میشود. با رسیدن به این محدودیت، تمامی شغلهای در حال اجرای مرتبط متوقف (kill) خواهند شد و کلیه شغلهای آینده که با انتسابهای این گروه ارسال شوند، تا زمانی که امکان اجرای آنها درون این محدودیت فراهم گردد به تأخیر میافتند.
- GrpTRESRunMins=TRES[+|-]=<minutes>[,TRES[+|-]=<minutes>,...]
- حداکثر
تعداد
دقیقه-TRES
قابل تخصیص
توسط
شغلهای در
حال اجرا در
این انتساب
و فرزندان
آن. این
پارامتر
محدودیت
زمانی
شغلهای در
حال اجرا را
در نظر
گرفته و آن
را مصرف
میکند. اگر
محدودیت
تکمیل شود،
تا زمان
اتمام سایر
شغلها و
آزاد شدن
زمان، هیچ
شغل جدیدی
آغاز
نخواهد شد.
برای جزئیات بیشتر به بخش اطلاعات TRES (TRES information) در زیر مراجعه کنید.
- GrpWall=<max_wall>
- حداکثر
زمان واقعی
سپریشده (wall
clock time) قابل
تخصیص توسط
شغلهای در
حال اجرا در
مجموع در
این انتساب
و فرزندان
آن. قالب GrpWall
به صورت <min>
یا <min>:<sec> یا
<hr>:<min>:<sec> یا
<days>-<hr>:<min>:<sec> یا
<days>-<hr> است. این
مقدار بر
حسب دقیقه و
با گرد کردن
در صورت
نیاز ثبت
میگردد.
برای پاک
کردن مقدار
موجود، یک
مقدار جدید
-1 تعیین
کنید.
نکته: اگرچه ممکن است این محدودیت در خروجی sacctmgr ظاهر شود، اما در صورتی که روی انتساب ریشه یک کلاستر تنظیم شده باشد، اعمال نخواهد شد.
نکته: این محدودیت تنها هنگام استفاده از پلاگین Priority Multifactor اعمال میگردد. زمان بر اساس مقدار PriorityDecayHalfLife یا PriorityUsageResetPeriod طبق تنظیمات در slurm.conf دچار واپاشی میشود. با رسیدن به این محدودیت، تمامی شغلهای در حال اجرای مرتبط متوقف (kill) خواهند شد و کلیه شغلهای آینده که با انتسابهای این گروه ارسال شوند، تا زمانی که امکان اجرای آنها درون این محدودیت فراهم گردد به تأخیر میافتند.
- MaxJobs=<max_jobs>
- حداکثر تعداد شغلهای در حال اجرا به ازای هر کاربر در این انتساب. در صورت تنظیم مستقیم روی یک کاربر، این مقدار لغو و بازنویسی میشود. مقدار پیشفرض، محدودیت کلاستر است. برای پاک کردن مقدار موجود، یک مقدار جدید -1 تعیین کنید.
- MaxJobsAccrue=<max_jobs>
- حداکثر تعداد شغلهای معلق که قادرند در هر زمان مشخص در این انتساب اولویت سنی انباشته کنند. در صورت تنظیم مستقیم روی یک کاربر، این مقدار لغو و بازنویسی میشود. پیشفرض، محدودیت کلاستر است. برای پاک کردن مقدار موجود، یک مقدار جدید -1 تعیین کنید.
- MaxSubmit=<max_jobs>
- MaxSubmitJobs=<max_jobs>
- حداکثر تعداد شغلها در وضعیت معلق یا در حال اجرا در هر زمان در این انتساب. پیشفرض، محدودیت کلاستر است. برای پاک کردن مقدار موجود، یک مقدار جدید -1 تعیین کنید.
- MaxTRES=TRES[+|-]=<max_TRES>[,TRES[+|-]=<max_TRES>,...]
- MaxTRESPJ=TRES[+|-]=<max_TRES>[,TRES[+|-]=<max_TRES>,...]
- MaxTRESPerJob=TRES[+|-]=<max_TRES>[,TRES[+|-]=<max_TRES>,...]
- حداکثر
تعداد TRES که
هر شغل
میتواند
در این
انتساب
استفاده
کند. در
صورت تنظیم
مستقیم روی
یک کاربر،
این مقدار
لغو و
بازنویسی
میشود.
پیشفرض،
محدودیت
کلاستر است.
برای جزئیات بیشتر به بخش اطلاعات TRES (TRES information) در زیر مراجعه کنید.
- MaxTRESMins=TRES[+|-]=<minutes>[,TRES[+|-]=<minutes>,...]
- MaxTRESMinsPJ=TRES[+|-]=<minutes>[,TRES[+|-]=<minutes>,...]
- MaxTRESMinsPerJob=TRES[+|-]=<minutes>[,TRES[+|-]=<minutes>,...]
- حداکثر
تعداد
دقیقه-TRES که
هر شغل
میتواند
در این
انتساب
استفاده
کند. در
صورت تنظیم
مستقیم روی
یک کاربر،
این مقدار
لغو و
بازنویسی
میشود.
پیشفرض،
محدودیت
کلاستر است.
برای جزئیات بیشتر به بخش اطلاعات TRES (TRES information) در زیر مراجعه کنید.
- MaxTRESPN=TRES[+|-]=<max_TRES>[,TRES[+|-]=<max_TRES>,...]
- MaxTRESPerNode=TRES[+|-]=<max_TRES>[,TRES[+|-]=<max_TRES>,...]
- حداکثر
تعداد TRES که
هر گره در
یک تخصیص
شغل
میتواند
در این
انتساب
استفاده
کند. در
صورت تنظیم
مستقیم روی
یک کاربر،
این مقدار
لغو و
بازنویسی
میشود.
پیشفرض،
محدودیت
کلاستر است.
برای جزئیات بیشتر به بخش اطلاعات TRES (TRES information) در زیر مراجعه کنید.
- MaxWall=<max_wall>
- MaxWallDurationPerJob=<max_wall>
- حداکثر
زمان واقعی
سپریشدهای
که هر شغل
میتواند
در این
انتساب
استفاده
کند. در
صورت تنظیم
مستقیم روی
یک کاربر،
این مقدار
لغو و
بازنویسی
میشود.
پیشفرض،
محدودیت
کلاستر است.
قالب MaxWall به
صورت <min> یا
<min>:<sec> یا
<hr>:<min>:<sec> یا
<days>-<hr>:<min>:<sec> یا
<days>-<hr> است. این
مقدار بر
حسب دقیقه و
با گرد کردن
در صورت
نیاز ثبت
میگردد.
برای پاک
کردن مقدار
موجود، یک
مقدار جدید
-1 تعیین
کنید.
نکته: تغییر این مقدار هیچ اثری بر شغلهای در حال اجرا نخواهد داشت، اما ممکن است محدودیت زمانی پیشفرض را برای شغلهای معلق بهروزرسانی کند.
- Priority
- ضریب اولویت انتساب برای استفاده توسط افزونه priority/multifactor. در صورت تنظیم مستقیم روی یک کاربر، این مقدار لغو و بازنویسی میشود. بهطور پیشفرض تنظیم نشده است، که نشان میدهد هیچ اولویت اضافهای اعطا نمیگردد. برای پاک کردن مقدار موجود، یک مقدار جدید -1 تعیین کنید.
- QosLevel<operator><comma_separated_list_of_qos_names>
- فهرست
نامهای QOS
موجود برای
شغلهای در
حال اجرا در
این انتساب.
برای
دریافت
فهرست QOSهای
معتبر،
دستور 'sacctmgr list qos'
را به کار
ببرید. این
مقدار،
مقدار والد
خود را
بازنویسی
کرده و به
عنوان
پیشفرض
جدید به
فرزندان آن
اعمال
میگردد.
تنظیم QosLevel به
صورت '' (دو
علامت
نقلقول
تکی بدون
هیچ
فاصلهای
میان آنها)
تنظیمات
پیشفرض آن
را
بازمیگرداند.
همچنین
میتوانید
از
عملگرهای +=
و -= برای
افزودن یا
حذف کردن
QOSهای معین
از فهرست QOS
استفاده
کنید.
مقادیر معتبر <operator> عبارتند از:.IP
- بخش مثالها (EXAMPLES) را در زیر ببینید.
مشخصات حسابها (SPECIFICATIONS FOR ACCOUNTS)
حسابها را میتوان با sacctmgr ایجاد، ویرایش و حذف کرد. این گزینهها به شما امکان میدهند تا هنگام پرسوجو برای حسابها، مشخصههای متناظر را تنظیم کنید یا بر اساس آنها پالایش انجام دهید.
- Cluster=<cluster>
- خوشهٔ مشخصی که حساب به آن اضافه میشود. پیشفرض همهٔ خوشههای سیستم است.
- Description=<description>
- رشتهای دلخواه برای توصیف یک حساب.
- Flags=<flag>[,<flag>,...]
- گزینههای معتبر عبارتند از:
- NoUsersAreCoords
- امتیازی را که UsersAreCoords تنظیم میکند حذف میکند.
- UsersAreCoords
- در صورت تنظیم، همهٔ کاربران این حساب وضعیت هماهنگکننده (coordinator) را در این حساب و هر زیرحسابی در سلسلهمراتب آن خواهند داشت.
- Name=<name>
- نام یک حساب. توجه داشته باشید که نام باید یکتا باشد و نمیتواند نمایانگر حسابهای مختلف در نقاط متفاوتی از سلسلهمراتب حساب باشد.
- Organization=<org>
- سازمانی که حساب به آن تعلق دارد.
- Parent=<parent>
- حساب والد این حساب. پیشفرض حساب root (یک حساب سطح بالا) است.
- RawUsage=<value>
- این گزینه به مدیر سیستم اجازه میدهد تا میزان مصرف خام انباشتهشده برای یک حساب را بازنشانی کند. تنها مقداری که در حال حاضر پشتیبانی میشود 0 (صفر) است. این فقط یک مشخصهٔ قابل تنظیم است - نمیتوان از آن به عنوان پالایه (فیلتر) برای فهرست کردن حسابها استفاده کرد.
- WithAssoc
- نمایش تمام وابستگیها (associations) برای این حساب.
- WithCoord
- نمایش تمام هماهنگکنندهها (coordinators) برای این حساب.
- WithDeleted
- نمایش اطلاعات به همراه دادههایی که قبلاً حذف شدهاند. حسابهایی که ظرف ۲۴ ساعت پس از ایجاد حذف شوند و در طول این مدت هیچ کاری در حساب اجرا نشده باشد، از پایگاه داده پاک خواهند شد. در غیر این صورت، حساب به عنوان حذفشده علامتگذاری میشود و با پرچم WithDeleted قابل مشاهده خواهد بود.
نکته: در صورت استفاده از گزینهٔ WithAssoc، میتوانید بر اساس اطلاعات ویژهٔ وابستگی نیز پرسوجو کنید تا فقط وابستگیهای معینی را که این حساب ممکن است داشته باشد مشاهده نمایید. این گزینههای اضافه را میتوان در بخش SPECIFICATIONS FOR ASSOCIATIONS یافت. همچنین میتوانید از مشخصات عمومی فهرستشده در بالا در بخش GENERAL SPECIFICATIONS FOR ASSOCIATION BASED ENTITIES استفاده کنید.
گزینههای قالب فهرست/نمایش حساب (LIST/SHOW ACCOUNT FORMAT OPTIONS)
فیلدهایی
که
میتوانید
هنگام
مشاهدهٔ
سوابق حساب
با استفاده
از گزینهٔ
format= نمایش
دهید. قالب
پیشفرض
عبارت است
از:
Account,Description,Organization
- Account
- نام یک حساب.
- Description
- رشتهای دلخواه برای توصیف یک حساب.
- Flags
- پرچمهای تنظیمشده روی حساب.
- Organization
- سازمانی که حساب به آن تعلق دارد.
- Coordinators
- فهرستی از کاربرانی که هماهنگکنندهٔ حساب هستند. (فقط هنگام استفاده از گزینهٔ WithCoordinator پر میشود.)
نکته: در صورت استفاده از گزینهٔ WithAssoc، همچنین میتوانید اطلاعات مربوط به وابستگیهای مختلفی را که ممکن است این حساب در تمام خوشههای سیستم داشته باشد مشاهده کنید. اطلاعات وابستگی را میتوان پالایش کرد. توجه داشته باشید که تمام حسابهای موجود در پایگاه داده همیشه نشان داده خواهند شد، چرا که پالایه فقط روی دادههای وابستگی اعمال میشود. فیلدهای قالب وابستگی در بخش LIST/SHOW ASSOCIATION FORMAT OPTIONS شرح داده شدهاند.
انتسابها (Associations) را میتوان با sacctmgr ایجاد، ویرایش و حذف کرد. این گزینهها به شما امکان میدهند ویژگیهای مربوطه را تنظیم کنید یا هنگام جستجو برای انتسابها، بر اساس آنها پالایش (فیلتر) انجام دهید.
- Clusters=<cluster_name>[,<cluster_name>,...]
- فهرست کردن انتسابهای کلاستر(ها).
- Accounts=<account_name>[,<account_name>,...]
- فهرست کردن انتسابهای حساب(ها).
- Users=<user_name>[,<user_name>,...]
- فهرست کردن انتسابهای کاربر(ها).
- Partitions=<partition_name>[,<partition_name>,...]
- فهرست کردن انتسابهای پارتیشن(ها).
نکته: هنگام تعیین حالتی که هیچ پارتیشنی وجود ندارد، از Partitions="" یا Partitions='' بدون درج هیچ نام دیگری استفاده کنید. این قابلیت میتواند هنگام استفاده از یک فرمان با موجودیتی که دارای انتسابهای با پارتیشن و بدون پارتیشن است، مفید باشد. اگر در پوستهای استفاده شود که علامتهای نقلقول مصرف میشوند، باید خود آنها را داخل نقلقول قرار داد. برای نمونه: Partitions=\"\".
نکته: همچنین میتوانید از فهرست مشخصات عمومی در بخش GENERAL SPECIFICATIONS FOR ASSOCIATION BASED ENTITIES استفاده کنید.
سایر گزینههای اختصاصی برای فهرست کردن انتسابها:
- OnlyDefaults
- تنها نمایش انتسابهایی که انتساب پیشفرض هستند.
- Tree
- نمایش نام حسابها به صورت سلسلهمراتبی (درختی).
- WithDeleted
- نمایش اطلاعات همراه با دادههای قبلاً حذفشده. انتسابهایی که ظرف ۲۴ ساعت پس از ایجاد حذف شوند و در این مدت کاری در آن انتساب اجرا نشده باشد، به طور کامل از پایگاهداده حذف خواهند شد. در غیر این صورت، انتساب به عنوان حذفشده علامتگذاری میشود و با پرچم WithDeleted قابل مشاهده خواهد بود.
- WithSubAccounts
- نمایش اطلاعات به همراه زیرحسابها. تنها زمانی کاربرد واقعی دارد که به همراه گزینه account= استفاده شود. این گزینه تمامی انتسابهای زیرحساب را به همراه حسابهای فهرستشده در این گزینه نمایش میدهد.
- WOLimits
- نمایش اطلاعات بدون اطلاعات محدودیتها. این گزینه برای یک قالب پیشفرض کوچکتر به شکل "Cluster,Account,User,Partition" است.
- WOPInfo
- نمایش اطلاعات بدون اطلاعات والد (یعنی شناسه والد و نام حساب والد). این گزینه همچنین به طور ضمنی گزینه WOPLimits را فعال میکند.
- WOPLimits
- نمایش اطلاعات بدون محدودیتهای سلسلهمراتبی والد (یعنی تنها محدودیتهایی را نمایش میدهد که مستقیماً تنظیم شدهاند، به جای انتشار دادن آنها از والد).
گزینههای قالب فهرستکردن/نمایش انتساب (LIST/SHOW ASSOCIATION FORMAT OPTIONS)
فیلدهایی که میتوانید هنگام مشاهده رکوردهای انتساب با استفاده از گزینه format= نمایش دهید.
- Account
- نام یک حساب در انتساب.
- Cluster
- نام یک کلاستر در انتساب.
- DefaultQOS
- کیفیت سرویس (QOS) پیشفرضی که این انتساب و فرزندان آن استفاده خواهند کرد، در صورتی که در فهرست QosLevel ذکر شده در زیر مجاز باشد.
- سهمهای تخصیصیافته که برای محاسبه سهم منصفانه (fairshare) استفاده میشوند. همچنین میتواند رشته parent باشد که بسته به این که روی یک کاربر یا یک حساب تنظیم شود، تفسیر متفاوتی دارد. اگر روی یک کاربر تنظیم شود، از انتساب والد برای fairshare استفاده میشود. اگر روی یک حساب تنظیم شود، فرزندان آن حساب برای محاسبات fairshare عملاً به اولین والدِ والد خود که Fairshare=parent نیست، بازوالددهی (re-parent) میشوند. محدودیتها بدون تغییر باقی میمانند و تنها مقدار fairshare آن تحت تأثیر قرار میگیرد.
- Flags
- پرچمهای تنظیمشده روی انتساب.
- GrpJobs
- حداکثر تعداد کارهای در حال اجرا در مجموع برای این انتساب و فرزندان آن.
- GrpJobsAccrue
- حداکثر تعداد کارهای در انتظار در مجموع که قادر به انباشت اولویت سنی برای این انتساب و فرزندان آن هستند.
- GrpSubmit
- GrpSubmitJobs
- حداکثر تعداد کارها در وضعیت در انتظار یا در حال اجرا در هر لحظه، در مجموع برای این انتساب و فرزندان آن.
- GrpTRES
- حداکثر تعداد TRES قابل تخصیص توسط کارهای در حال اجرا در مجموع برای این انتساب و فرزندان آن.
- GrpTRESMins
- حداکثر TRES-دقیقه قابل استفاده توسط کارهای گذشته، حال و آینده در این انتساب و فرزندان آن.
- GrpTRESRunMins
- حداکثر TRES-دقیقه قابل تخصیص توسط کارهای در حال اجرا در این انتساب و فرزندان آن. این مقدار، محدودیت زمانی کارهای در حال اجرا را در نظر گرفته و آن را مصرف میکند. اگر به این محدودیت برسد، هیچ کار جدیدی آغاز نمیشود تا زمانی که کارهای دیگر پایان یافته و زمان آزاد شود.
- GrpWall
- حداکثر زمان واقعی سپریشده (wall clock) قابل تخصیص توسط کارهای در حال اجرا در مجموع در این انتساب و فرزندان آن.
- ID
- شناسه انتساب.
- Lineage
- مسیر کامل رو به بالا در سلسلهمراتب تا انتساب ریشه.
- MaxJobs
- حداکثر تعداد کارهای در حال اجرا به ازای هر کاربر.
- MaxJobsAccrue
- حداکثر تعداد کارهای در انتظار که قادر به انباشت اولویت سنی در هر زمان مشخص هستند.
- MaxSubmit
- MaxSubmitJobs
- حداکثر تعداد کارها در وضعیت در حال اجرا یا در انتظار در هر لحظه.
- MaxTRES
- MaxTRESPJ
- حداکثر تعداد TRES که هر کار میتواند استفاده کند.
- MaxTRESMins
- MaxTRESMinsPJ
- MaxTRESMinsPerJob
- حداکثر میزان TRES-دقیقه که هر کار میتواند استفاده کند.
- MaxTRESPN
- MaxTRESPerNode
- حداکثر تعداد TRES که هر گره در یک تخصیص کار میتواند استفاده کند.
- MaxWall
- MaxWallDurationPerJob
- حداکثر زمان واقعی (wall clock time) که هر کار میتواند استفاده کند.
- ParentID
- شناسه انتساب (association ID) والدِ این انتساب.
- ParentName
- نام حساب کاربری والدِ این انتساب.
- Partition
- نام یک پارتیشن در انتساب.
- Priority
- ضریب اولویت انتساب که توسط پلاگین priority/multifactor استفاده میشود.
- Qos
- سیاستهای QOS معتبر برای این انتساب.
- QosRaw
- شناسههای عددی QOSهای معتبر برای این انتساب.
- User
- نام کاربر در انتساب.
- WithRawQOSLevel
- نمایش QosLevel در قالبی خام و ارزیابینشده، شامل فهرستی جداشده با کاما از نامهای QOS که با ´´ (هیچ)، ´+´ یا ´-´ برای این انتساب پیشوندگذاری شدهاند. نامهای QOS بدون پیشوند +/- مستقیماً تخصیص داده شدهاند (مانند sacctmgr modify ... set QosLevel=qos_name) برای موجودیت فهرستشده یا یکی از والدین آن در سلسلهمراتب. نامهای QOS با پیشوند +/- نشان میدهند که QOS برای موجودیت مذکور یا یکی از والدین آن در سلسلهمراتب اضافه/فیلتر شده است (مانند sacctmgr modify ... set QosLevel=[+-]qos_name). گنجاندن WOPLimits دقیقاً نشان خواهد داد که هر QOS در کجای سلسلهمراتب تخصیص یافته، افزوده یا فیلتر شده است.
مشخصات خوشهها (SPECIFICATIONS FOR CLUSTERS)
خوشهها را میتوان با sacctmgr ایجاد، اصلاح و حذف کرد. این گزینهها به شما اجازه میدهند تا ویژگیهای متناظر را تنظیم کرده یا هنگام پرسوجوی خوشهها، بر اساس آنها فیلتر اعمال کنید.
- Classification=<classification>
- نوع ماشین؛ دستهبندیهای فعلی عبارتند از capability، capacity و capapacity.
- Features[+|-]=<comma_separated_list_of_feature_names>
- ویژگیهایی
که مختص
خوشه هستند.
کارهای
فدراسیونی
(federated jobs) را
میتوان به
خوشههایی
هدایت کرد
که حاوی
ویژگیهای
درخواستی
کار باشند.
برای افزودن یا حذف ویژگیهای تکی، از عملگرهای += یا -= استفاده کنید. برای پاک کردن تمام ویژگیهای موجود، مقدار جدید را برابر با ´´ (دو علامت تککوتیشن بدون هیچ فاصلهای بین آنها) قرار دهید.
- Federation=<federation>
- فدراسیونی که این خوشه باید عضو آن باشد. یک خوشه در هر زمان تنها میتواند عضو یک فدراسیون باشد.
- FedState=<state>
- وضعیت خوشه
در
فدراسیون.
وضعیتهای معتبر عبارتند از:
- ACTIVE
- خوشه بهطور فعال کارهای فدراسیونی را پذیرفته و زمانبندی میکند.
- INACTIVE
- خوشه هیچ کاری را زمانبندی نکرده و نمیپذیرد.
- DRAIN
- خوشه هیچ کار جدیدی را نمیپذیرد و اجازه میدهد کارهای فدراسیونیِ موجود به پایان برسند.
- DRAIN+REMOVE
- خوشه هیچ کار جدیدی را نمیپذیرد و به محض اتمام تمام کارهای فدراسیونی، خود را از فدراسیون حذف میکند. پس از حذف از فدراسیون، خوشه کارها را به عنوان یک خوشه غیرفدراسیونی خواهد پذیرفت.
- Name=<name>
- نام یک خوشه. این مقدار باید برابر با پارامتر ClusterName در فایل پیکربندی slurm.conf برای یک خوشه مدیریتشده با Slurm باشد.
- RPC=<rpc_list>
- فهرستی جداشده با کاما از مقادیر عددی RPC.
- WithDeleted
- نمایش اطلاعات به همراه دادههایی که پیشتر حذف شدهاند. خوشههایی که ظرف ۲۴ ساعت پس از ایجاد حذف شوند و در این مدت هیچ کاری در خوشه اجرا نشده باشد، از پایگاه داده به طور کامل حذف خواهند شد. در غیر این صورت، خوشه به عنوان حذفشده علامتگذاری میشود و با پرچم WithDeleted قابل مشاهده خواهد بود.
- WithFed
- ستونهای مربوط به فدراسیون را به گزینههای قالببندی پیشفرض اضافه میکند (مانند Federation,ID,Features,FedState).
- WOLimits
- نمایش اطلاعات بدون اطلاعات محدودیتها. این گزینه برای قالب پیشفرض کوچکترِ Cluster,ControlHost,ControlPort,RPC کاربرد دارد.
نکته: شما همچنین میتوانید از فهرست مشخصات عمومی که در بخش GENERAL SPECIFICATIONS FOR ASSOCIATION BASED ENTITIES آمده است استفاده کنید.
فیلدهایی که میتوانید هنگام مشاهدهٔ رکوردهای خوشه با استفاده از گزینهٔ format= نمایش دهید.
- Classification
- نوع ماشین، یعنی capability، capacity یا capapacity.
- Cluster
- نام خوشه.
- ControlHost
- هنگامی که یک slurmctld در پایگاهداده ثبت میشود، نشانی IP کنترلکننده در اینجا قرار میگیرد.
- ControlPort
- هنگامی که یک slurmctld در پایگاهداده ثبت میشود، پورتی که کنترلکننده روی آن گوش میدهد در اینجا قرار میگیرد.
- Features
- فهرست ویژگیهای موجود روی خوشه (در صورت وجود).
- Federation
- نام فدراسیونی که این خوشه عضو آن است (در صورت وجود).
- FedState
- وضعیت خوشه در فدراسیون (در صورت عضویت در آن).
- FedStateRaw
- مقدار عددی نام FedState.
- Flags
- ویژگیهایی
که خوشه
داراست.
پرچمهای
کنونی شامل
Cray، External و MultipleSlurmd
هستند.
خوشههای خارجی (External) خوشههایی فقط برای ثبتنام (registration only) هستند. یک slurmctld میتواند یک slurmdbd خارجی را با گزینهٔ AccountingStorageExternalHost در slurm.conf تعیین کند. این امر به slurmctld اجازه میدهد تا در یک slurmdbd خارجی ثبت شود تا خوشههای متصل به آن slurmdbd خارجی بتوانند با دستورهای Slurm با خوشهٔ خارجی ارتباط برقرار کنند.
- ID
- شناسهای که هنگام عضویت در یک فدراسیون به خوشه اختصاص مییابد. این شناسه بهطور یکتا خوشه و کارهای آن را در فدراسیون مشخص میکند.
- NodeCount
- تعداد فعلی گرههای مرتبط با خوشه.
- NodeNames
- گرههای فعلی مرتبط با خوشه.
- RPC
- هنگامی که یک slurmctld در پایگاهداده ثبت میشود، نسخهٔ RPC که کنترلکننده در حال اجرای آن است در اینجا قرار میگیرد.
- TRES
- منابع قابل ردگیری یا Trackable RESources (شامل Billing، BB (Burst buffer)، CPU، Energy، GRES، License، Memory و Node) که این خوشه حسابداری آنها را انجام میدهد.
نکته: شما همچنین میتوانید اطلاعات مربوط به انتساب ریشه (root association) را برای خوشه مشاهده کنید. فیلدهای قالب انتساب در بخش LIST/SHOW ASSOCIATION FORMAT OPTIONS شرح داده شدهاند.
مشخصات هماهنگکننده (SPECIFICATIONS FOR COORDINATOR)
هماهنگکنندهها را میتوان با sacctmgr ایجاد، ویرایش و حذف کرد. این گزینهها به شما اجازه میدهند تا ویژگیهای مربوطه را تنظیم کرده یا هنگام پرسوجو برای هماهنگکنندهها، براساس آنها فیلتر کنید.
- Account=<account_name>[,<account_name>,...]
- نام حسابی که این کاربر به عنوان هماهنگکننده به آن اضافه میشود.
- Names=<user_name>[,<user_name>,...]
- نامهای هماهنگکنندهها.
نکته: برای فهرست کردن هماهنگکنندهها، از گزینههای WithCoordinator همراه با list account یا list user استفاده کنید.
مشخصات رویدادها (SPECIFICATIONS FOR EVENTS)
رویدادها بهطور خودکار ایجاد شده و برای ذخیرهسازی به slurmdbd ارسال میشوند. اینها گزینههایی هستند که میتوانید برای فیلتر کردن انواع خاصی از رویدادها مشخص کنید.
- All_Clusters
- میانبری برای دریافت اطلاعات همهٔ خوشهها.
- All_Time
- میانبری برای دریافت بازهٔ زمانی تمام دوران.
- Clusters=<cluster_name>[,<cluster_name>,...]
- فهرست کردن رویدادهای خوشه(ها). مقدار پیشفرض، خوشهای است که دستور در آن اجرا شده است.
- CondFlags=<flag>[,<flag>,...]
- فهرست
اختیاری از
پرچمها
برای فیلتر
کردن
رویدادها.
گزینههای معتبر عبارتند از:
- Open
- در صورت تنظیم، فقط رویدادهای باز گره (در حال حاضر از کار افتاده / down) بازگردانده خواهند شد.
- End=<OPT>
- زمان پایان
دورهٔ
رویدادها.
پیشفرض now
است.
قالبهای معتبر زمان عبارتند از:
HH:MM[:SS] [AM|PM]
MMDD[YY] یا MM/DD[/YY] یا MM.DD[.YY]
MM/DD[/YY]-HH:MM[:SS]
YYYY-MM-DD[THH:MM[:SS]]
now[{+|-}count[seconds(default)|minutes|hours|days|weeks]]
- Event=<OPT>
- انواع خاصی از رویدادها برای جستجو. گزینههای معتبر Cluster یا Node هستند. پیشفرض هر دو است.
- MaxCPUs=<OPT>
- بیشینهٔ تعداد CPUهای متأثر از یک رویداد.
- MinCPUs=<OPT>
- کمینهٔ تعداد CPUهای متأثر از یک رویداد.
- Nodes=<node_name>[,<node_name>,...]
- نام گرههای متأثر از یک رویداد.
- Reason=<reason>[,<reason>,...]
- دلیل مربوط به از کار افتادن یک گره. دلیلی که شامل فاصله (space) است باید درون علامت نقلقول قرار گیرد.
- Start=<OPT>
- زمان آغاز
دورهٔ
رویدادها.
مقدار
پیشفرض 00:00:00
روز قبل
است، مگر
اینکه
وضعیتها
همراه با
رویدادهای
States=<spec> مشخص
شده باشند.
در این
صورت،
رفتار
پیشفرض
بازگرداندن
رویدادهایی
است که در
حال حاضر در
وضعیتهای
مشخصشده
قرار دارند.
قالبهای معتبر زمان عبارتند از:
MMDD[YY] یا MM/DD[/YY] یا MM.DD[.YY]
MM/DD[/YY]-HH:MM[:SS]
YYYY-MM-DD[THH:MM[:SS]]
now[{+|-}count[seconds(default)|minutes|hours|days|weeks]]
- States=<state>[,<state>,...]
- وضعیت یک گره در یک رویداد گره (node event). اگر این گزینه تنظیم شود، نوع رویداد بهطور خودکار روی Node تنظیم میشود.
- User=<user_name>[,<user_name>,...]
- پرسوجو بر اساس کاربرانی که رویداد را ثبت کردهاند. اگر این گزینه تنظیم شود، نوع رویداد بهطور خودکار روی Node تنظیم میشود، چرا که تنها کاربر slurm میتواند یک رویداد خوشه (cluster event) را اجرا کند.
گزینههای قالببندی فهرست/نمایش رویداد (LIST/SHOW EVENT FORMAT OPTIONS)
فیلدهایی
که
میتوانید
هنگام
مشاهده
رکوردهای Event
با استفاده
از گزینه format=
نمایش دهید.
قالب
پیشفرض
عبارت است
از:
Cluster,NodeName,TimeStart,TimeEnd,State,Reason,User
- Cluster
- نام خوشهای که رویداد در آن رخ داده است.
- ClusterNodes
- فهرست گرهها (hostlist) در یک خوشه هنگام وقوع یک رویداد خوشه.
- Duration
- مدت زمانی که رویداد برقرار بوده است.
- End
- زمان پایان یافتن رویداد.
- Event
- نام رویداد.
- EventRaw
- مقدار عددی نام رویداد.
- NodeName
- گرهای که تحت تأثیر رویداد قرار گرفته است. در یک رویداد خوشه، این مقدار خالی است.
- Reason
- دلیل وقوع رویداد.
- Start
- زمان شروع رویداد.
- State
- در یک رویداد گره، این مقدار وضعیت قالببندیشده گره در طول رویداد است.
- StateRaw
- در یک رویداد گره، این مقدار عددی وضعیت گره در طول رویداد است.
- TRES
- تعداد TRES دخیل در رویداد.
- User
- در یک رویداد گره، این کاربری است که باعث وقوع رویداد شده است.
مشخصات فدراسیون (SPECIFICATIONS FOR FEDERATION)
فدراسیونها را میتوان با استفاده از sacctmgr ایجاد، ویرایش و حذف کرد. این گزینهها به شما اجازه میدهند ویژگیهای مربوطه را تنظیم کرده یا هنگام پرسوجو برای فدراسیونها، بر اساس آنها فیلتر اعمال کنید.
- Clusters[+|-]=<cluster_name>[,<cluster_name>,...]
- فهرست خوشهها جهت افزودن/حذف به/از یک فدراسیون. یک مقدار خالی (مانند clusters=) تمام خوشهها را از فدراسیون حذف خواهد کرد. نکته: هر خوشه تنها میتواند عضو یک فدراسیون باشد.
- Name=<name>
- نام فدراسیون.
- Tree
- نمایش فدراسیونها به صورت سلسلهمراتبی.
- WithDeleted
- نمایش اطلاعات به همراه دادههایی که قبلاً حذف شدهاند. فدراسیونهایی که ظرف ۲۴ ساعت پس از ایجاد حذف شوند، بهطور کامل از پایگاه داده پاک خواهند شد. فدراسیونهایی که بیش از ۲۴ ساعت قبل از درخواست حذف ایجاد شده باشند، صرفاً به عنوان حذفشده علامتگذاری میشوند و با پرچم WithDeleted قابل مشاهده خواهند بود.
فیلدهایی
که
میتوانید
هنگام
مشاهده
رکوردهای
فدراسیون
با استفاده
از گزینه format=
نمایش دهید.
قالب
پیشفرض
عبارت است
از:
Federation,Cluster,Features,FedState
- Cluster
- نام کلاستری که عضو فدراسیون است.
- Features
- فهرست ویژگیهای (features) کلاستر.
- Federation
- نام فدراسیون.
- FedState
- وضعیت کلاستر در فدراسیون.
- FedStateRaw
- مقدار عددیِ وضعیت کلاستر (FedState).
- Index
- اندیس کلاستر در فدراسیون.
مشخصات نمونهها (SPECIFICATIONS FOR INSTANCES)
اطلاعات مربوط به نمونههای (instances) گره ابری برای ذخیرهسازی به slurmdbd ارسال میشود. اینها گزینههایی هستند که میتوانید برای پالایش نمونههای خاص مشخص کنید.
- Clusters=<cluster_name>[,<cluster_name>,...]
- نام کلاستری که نمونه روی آن اجرا شده است. پیشفرض کلاستری است که دستور در آن اجرا شده است.
- End=<OPT>
- پایان بازه
زمانی
نمونهها.
پیشفرض now
(اکنون) است.
قالبهای زمانی معتبر عبارتند از:
HH:MM[:SS] [AM|PM]
MMDD[YY] یا MM/DD[/YY] یا MM.DD[.YY]
MM/DD[/YY]-HH:MM[:SS]
YYYY-MM-DD[THH:MM[:SS]]
now[{+|-}count[seconds(default)|minutes|hours|days|weeks]]
- Extra=<OPT>
- رشته دلخواه مرتبط با گره در طول چرخه حیات نمونه.
- InstanceId=<OPT>
- شناسه نمونه ابری (Cloud instance ID).
- InstanceType=<OPT>
- نوع نمونه ابری (Cloud instance type).
- Nodes=<node_name>[,<node_name>,...]
- گرهای که نمونه روی آن اجرا شده است.
- Start=<OPT>
- آغاز بازه
زمانی
نمونهها.
پیشفرض 00:00:00
روز قبل
است.
قالبهای زمانی معتبر عبارتند از:
HH:MM[:SS] [AM|PM]
MMDD[YY] یا MM/DD[/YY] یا MM.DD[.YY]
MM/DD[/YY]-HH:MM[:SS]
YYYY-MM-DD[THH:MM[:SS]]
now[{+|-}count[seconds(default)|minutes|hours|days|weeks]]
گزینههای قالب فهرست/نمایش نمونه (LIST/SHOW INSTANCE FORMAT OPTIONS)
فیلدهایی
که
میتوانید
هنگام
مشاهده
رکوردهای
نمونه با
استفاده از
گزینه format=
نمایش دهید.
قالب
پیشفرض
عبارت است
از:
Cluster,NodeName,Start,End,InstanceID,InstanceType,Extra
- Cluster
- نام کلاستری که نمونه روی آن اجرا شده است.
- End
- زمانی که نمونه به پایان رسیده است.
- Extra
- رشته دلخواه مرتبط با گره در طول چرخه حیات نمونه.
- InstanceId
- شناسه نمونه ابری.
- InstanceType
- نوع نمونه ابری.
- NodeName
- گرهای که نمونه روی آن اجرا شده است.
- Start
- زمانی که نمونه آغاز شده است.
اطلاعات کار بهطور خودکار برای ذخیرهسازی به slurmdbd ارسال میشود. اینها گزینههایی هستند که میتوانید برای فیلتر کردن کارهای مشخص تعیین کنید. همچنین برخی ویژگیها وجود دارند که میتوانید برای یک رکورد کار تغییر دهید.
- AdminComment=<admin_comment>
- رشته توصیفی دلخواه. تنها توسط مدیر سیستم Slurm قابل تغییر است. برای پاک کردن یک مقدار موجود، مقدار جدید را برابر '' (دو کوتیشن تکی بدون هیچ فاصلهای بین آنها) قرار دهید.
- Comment=<comment>
- رشته یادداشت کار هنگامی که پارامتر AccountingStoreFlags در فایل slurm.conf شامل 'job_comment' باشد. کاربر تنها میتواند رشته یادداشت کار خودش را تغییر دهد. برای پاک کردن یک مقدار موجود، مقدار جدید را برابر '' (دو کوتیشن تکی بدون هیچ فاصلهای بین آنها) قرار دهید.
- Cluster=<cluster_list>
- فهرست کلاسترهایی که کارها روی آنها تغییر داده میشوند؛ پیشفرض کلاستر محلی است.
- DerivedExitCode=<derived_exit_code>
- کد خروج اشتقاقی (derived exit code) را میتوان پس از اتمام کار، بر اساس تشخیص کاربر از موفقیت یا شکست کار تغییر داد. کاربر تنها میتواند کد خروج اشتقاقی کار خودش را تغییر دهد.
- EndTime
- کارها باید پیش از این زمان به پایان رسیده باشند تا تغییر یابند. قالب خروجی بهصورت YYYY-MM-DDTHH:MM:SS است، مگر اینکه از طریق متغیر محیطی SLURM_TIME_FORMAT تغییر یافته باشد.
- Extra=<extra>
- رشته اضافی (extra) کار هنگامی که پارامتر AccountingStoreFlags در فایل slurm.conf شامل 'job_extra' باشد. کاربر تنها میتواند رشته اضافی کار خودش را تغییر دهد. برای پاک کردن یک مقدار موجود، مقدار جدید را برابر '' (دو کوتیشن تکی بدون هیچ فاصلهای بین آنها) قرار دهید.
- JobID=<jobid_list>
- شناسه کار برای تغییر. در صورت تغییر چندین کار با استفاده از مشخصه wckey، نیازی به آن نیست.
- NewWCKey=<new_wckey>
- برای تغییر نام یک wckey در کار(ها) در پایگاهداده حسابداری استفاده میشود.
- StartTime
- کارها برای تغییر یافتن باید در این زمان یا پس از آن شروع شده باشند؛ در همان قالب EndTime.
- SystemComment=<system_comment>
- رشته توصیفی دلخواه که معمولاً توسط BurstBufferPlugin مدیریت میشود. تنها توسط مدیر سیستم Slurm قابل تغییر است. برای پاک کردن یک مقدار موجود، مقدار جدید را برابر '' (دو کوتیشن تکی بدون هیچ فاصلهای بین آنها) قرار دهید.
- TRES=<tres_name=value>
- برای تنظیم
یا تغییر یک
TRES روی
کار(هایی)
در
پایگاهداده
حسابداری
که قبلاً
تکمیل
شدهاند
استفاده
میشود.
هشدار: این تغییر دائمی است و مقدار اولیه پس از آن از دست خواهد رفت.
- User=<user_list>
- برای مشخص کردن کارهای کاربران جهت تغییر استفاده میشود.
- WCKey=<wckey_list>
- برای تعیین wckeyها جهت تغییر استفاده میشود.
فیلدهای AdminComment، Comment، DerivedExitCode، Extra، SystemComment و WCKey تنها فیلدهایی از رکورد یک کار در پایگاهداده هستند که پس از اتمام کار قابل تغییرند.
گزینههای قالب فهرست/نمایش کار (LIST/SHOW JOB FORMAT OPTIONS)
دستور sacct دستور اختصاصی برای نمایش رکوردهای کار از پایگاهداده Slurm است.
مشخصات کیفیت سرویس (SPECIFICATIONS FOR QOS)
یک QOS میتواند با sacctmgr ایجاد، تغییر داده شده و حذف شود. این گزینهها به شما امکان میدهند هنگام پرسوجو برای یک QOS، ویژگیهای متناظر را تنظیم کرده یا بر اساس آنها فیلتر کنید.
نکته: محدودیتهای گروهی (GrpJobs، GrpTRES و غیره) زمانی بررسی میشوند که یک کار برای تخصیص منابع در دست بررسی باشد. اگر شروع یک کار باعث شود که هر یک از محدودیتهای گروهی آن فراتر رود، آن کار برای زمانبندی در نظر گرفته نخواهد شد؛ حتی اگر آن کار بتواند سایر کارهایی را که منابع گروهی کافی برای آغاز کار معلق آزاد میکنند، لغو اولویت (preempt) کند.
نکته: تمام گزینههای TRES (مانند GrpTRES، MaxTRES و غیره) نیز میتوانند از همان نحو "[+|-]=" موجود برای موجودیتهای مبتنی بر انتساب (association) استفاده کنند.
- Description
- رشتهای دلخواه برای توصیف یک QOS. تنها توسط مدیر سیستم Slurm قابل تغییر است.
- Flags
- توسط slurmctld
برای
بازنویسی
یا اعمال
ویژگیهای
خاصی
استفاده
میشود.
برای
افزودن یا
حذف
پرچمهای
منفرد، از
عملگرهای +=
یا -=
استفاده
کنید. برای
پاک کردن
تمام
پرچمهای
موجود،
مقدار جدید
-1 را تنظیم
کنید.
گزینههای معتبر عبارتند از:
- DenyOnLimit
- در صورت تنظیم، کارهایی که از این QOS استفاده میکنند، چنانچه به عنوان کارهای مستقل (stand-alone) با محدودیتهای 'Max' یا 'Min' مربوط به QOS مطابقت نداشته باشند، در زمان ارسال رد خواهند شد. کارهایی که هنگام در نظر گرفتن سایر کارها از این محدودیتها فراتر میروند، اما وقتی به صورت جداگانه در نظر گرفته شوند با محدودیتها مطابقت دارند، رد نخواهند شد؛ بلکه تا زمان در دسترس قرار گرفتن منابع در حالت معلق (pend) باقی میمانند. محدودیتهای گروهی (مانند GrpTRES) نیز مانند محدودیتهای 'Max' (مانند MaxTRESPerNode) در نظر گرفته میشوند و کارها در صورتی که به عنوان کارهای مستقل حد مجاز را نقض کنند، رد خواهند شد. این مورد در حال حاضر تنها بر محدودیتهای QOS و Association اعمال میشود.
- EnforceUsageThreshold
- در صورت تنظیم، و اگر QOS نیز دارای یک UsageThreshold باشد، هر کاری که با این QOS ارسال شود و به زیر UsageThreshold بیفتد، تا زمانی که Fairshare Usage آن به بالای Threshold برسد در حالت تعلیق (hold) باقی میماند.
- NoDecay
- در صورت تنظیم، مقادیر GrpTRESMins، GrpWall و UsageRaw این QOS توسط تنظیمات PriorityDecayHalfLife یا PriorityUsageResetPeriod در slurm.conf کاهش (decay) نخواهند یافت. این به یک QOS اجازه میدهد تا محدودیتهای تجمیعی ارائه دهد که پس از مصرف، بهطور خودکار بازیابی نمیشوند. چنین QOSای به عنوان یک سهمیه منابع با زمان محدود برای انتسابی (association) عمل میکند که به آن دسترسی دارد. مصرف حساب/کاربر همچنان برای انتسابهایی که از این QOS استفاده میکنند کاهش مییابد. محدودیتهای GrpTRESMins و GrpWall در QOS را میتوان افزایش داد یا مقدار RawUsage مربوط به QOS را به 0 (صفر) بازنشانی کرد تا دوباره به کارهای ارسالشده با این QOS اجازه صفبندی (اگر DenyOnLimit تنظیم شده باشد) یا اجرا داده شود (معلق با دلایل QOSGrp{TRES}MinutesLimit یا QOSGrpWallLimit، که در آن {TRES} نوعی منبع قابل ردیابی است).
- NoReserve
- در صورت تنظیم و استفاده از زمانبندی backfill، کارهایی که از این QOS استفاده میکنند، منابع را در نقشه زمانبندی backfill از منابع تخصیصیافته در طول زمان رزرو نخواهند کرد. این پرچم برای استفاده با QOSای در نظر گرفته شده است که ممکن است توسط کارهای مرتبط با همه QOSهای دیگر لغو اولویت (preempt) شود (مثلاً استفاده با یک QOS از نوع "standby"). اگر این پرچم با یک QOS استفاده شود که نمیتواند توسط همه QOSهای دیگر لغو اولویت شود، میتواند منجر به گرسنگی (starvation) کارهای بزرگتر شود.
- OverPartQOS
- در صورت تنظیم، کارهایی که از این QOS استفاده میکنند قادر خواهند بود هرگونه محدودیتی را که توسط محدودیتهای QOS پارتیشن درخواستی استفاده میشود، نادیده بگیرند (override کنند).
- PartitionMaxNodes
- در صورت تنظیم، کارهایی که از این QOS استفاده میکنند قادر خواهند بود محدودیت MaxNodes پارتیشن درخواستی را نادیده بگیرند (override کنند).
- PartitionMinNodes
- در صورت تنظیم، کارهایی که از این QOS استفاده میکنند قادر خواهند بود محدودیت MinNodes پارتیشن درخواستی را نادیده بگیرند (override کنند).
- PartitionTimeLimit
- در صورت تنظیم، کارهایی که از این QOS استفاده میکنند قادر خواهند بود TimeLimit پارتیشن درخواستی را نادیده بگیرند (override کنند)..IP
- Relative
- در صورت
تنظیم،
محدودیتهای
QOS به جای
محدودیتهای
مطلق، به
عنوان
درصدی از
کلاستر یا
پارتیشن در
نظر گرفته
میشوند
(اعداد باید
کمتر از ۱۰۰
باشند). پس
از افزودن
پرچم Relative به
QOS،
کنترلکننده
(controller) باید
مجدداً
راهاندازی
یا
پیکربندی
مجدد شود.
اگر این مورد به عنوان QOS پارتیشن استفاده شود:
1.
محدودیتها
به نسبت
منابع
پارتیشن
محاسبه
خواهند شد.
2. تنها یک
پارتیشن
میتواند
این QOS را به
عنوان QOS
پارتیشن
خود داشته
باشد.
3. به کارها
اجازه
استفاده از
آن به عنوان
یک QOS عادی
داده
نخواهد شد.
- RequiresReservation
- در صورت تنظیم، کارهایی که از این QOS استفاده میکنند باید هنگام ارسال کار، یک رزرو (reservation) را تعیین کنند. این گزینه میتواند برای محدود کردن استفاده از QOS که قابلیت قبضهکردن (preemptive) بیشتر یا منابع اضافی دارد مفید باشد، تا تنها در چارچوب یک رزرو مجاز شمرده شود.
- UsageFactorSafe
- در صورت تنظیم و چنانچه AccountingStorageEnforce شامل Safe باشد، کارها تنها در صورتی قادر به اجرا خواهند بود که بتوانند با اعمال UsageFactor تا پایان اجرا شوند.
- GraceTime
- مهلت قبضه
(preemption grace time) بر حسب
ثانیه که به
کاری که
برای قبضه
انتخاب شده
است داده
میشود.
مقدار
پیشفرض
صفر است، به
این معنی که
هیچ مهلت
قبضی بر روی
این QOS مجاز
نیست. این
مقدار تنها
برای QOS با
PreemptMode=CANCEL و PreemptMode=REQUEUE
قابل اعمال
است.
نکته: کاری که برای قبضه انتخاب شده و پیش از به پایان رسیدن GraceTime خارج میشود، صرفنظر از دلیل خروج، بر اساس PreemptMode مدیریت خواهد شد (بیشتر زمانی مشهود است که PreemptMode=REQUEUE باشد). Slurm نمیتواند بین خروج ناشی از سیگنال قبضه و خروج نامرتبطی که در طول GraceTime رخ میدهد، تمایز قائل شود.
- GrpJobs
- حداکثر تعداد کارهای در حال اجرا در مجموع برای این QOS. برای پاک کردن یک مقدار موجود، مقدار جدید را بر روی -1 تنظیم کنید.
- GrpJobsAccrue
- حداکثر تعداد کارهای در انتظار در مجموع که قادر به انباشت اولویت سنی (age priority) برای این QOS هستند. این محدودیت تنها بر روی QOS کار اعمال میشود و نه QOS پارتیشن. برای پاک کردن یک مقدار موجود، مقدار جدید را بر روی -1 تنظیم کنید.
- GrpSubmit
- GrpSubmitJobs
- حداکثر تعداد کارها در وضعیت در انتظار یا در حال اجرا در هر زمان در مجموع برای این QOS. برای پاک کردن یک مقدار موجود، مقدار جدید را بر روی -1 تنظیم کنید.
- GrpTRES
- حداکثر
تعداد TRES
قابل تخصیص
توسط
کارهای در
حال اجرا در
مجموع برای
این QOS.
برای جزئیات بیشتر به بخش TRES information در زیر مراجعه کنید.
- GrpTRESMins
- حداکثر
تعداد
دقیقه-TRES که
احتمالاً
میتواند
توسط
کارهای
گذشته، حال
و آینده با
این QOS
استفاده
شود.
برای جزئیات بیشتر به بخش TRES information در زیر مراجعه کنید.
نکته: این محدودیت تنها هنگام استفاده از افزونه Priority Multifactor اعمال میشود. زمان با استفاده از مقدار PriorityDecayHalfLife یا PriorityUsageResetPeriod طبق تنظیمات slurm.conf کاهش (decay) مییابد. هنگامی که این محدودیت حاصل شود، تمام کارهای مرتبط در حال اجرا متوقف (kill) خواهند شد و تمام کارهای بعدی ارسالشده با این QOS به تعویق میافتند تا زمانی که بتوانند در چارچوب محدودیت اجرا شوند.
- GrpTRESRunMins
- حداکثر
تعداد
دقیقه-TRES
قابل تخصیص
توسط
کارهای در
حال اجرا با
این QOS. این
گزینه
محدودیت
زمانی
کارهای در
حال اجرا را
در نظر
گرفته و آن
را مصرف
میکند. اگر
محدودیت
حاصل شود،
هیچ کار
جدیدی شروع
نمیشود تا
زمانی که
کارهای
دیگر به
پایان
برسند تا
زمان آزاد
شود.
برای جزئیات بیشتر به بخش TRES information در زیر مراجعه کنید.
- GrpWall
- حداکثر
زمان واقعی
(wall clock time) قابل
تخصیص توسط
کارهای در
حال اجرا در
مجموع برای
این QOS. اگر
این
محدودیت
حاصل شود،
ارسال
کارها رد
خواهد شد و
کارهای در
حال اجرا
متوقف (kill)
میشوند.
قالب GrpWall به
صورت <min> یا
<min>:<sec> یا
<hr>:<min>:<sec> یا
<days>-<hr>:<min>:<sec> یا
<days>-<hr> است. این
مقدار بر
حسب دقیقه
با گرد کردن
در صورت
نیاز ثبت
میشود.
برای پاک
کردن یک
مقدار
موجود،
مقدار جدید
را بر روی -1
تنظیم کنید.
نکته: این محدودیت تنها هنگام استفاده از افزونه Priority Multifactor اعمال میشود. زمان با استفاده از مقدار PriorityDecayHalfLife یا PriorityUsageResetPeriod طبق تنظیمات slurm.conf کاهش (decay) مییابد. هنگامی که این محدودیت حاصل شود، تمام کارهای مرتبط در حال اجرا متوقف (kill) خواهند شد و تمام کارهای بعدی ارسالشده با این QOS به تعویق میافتند تا زمانی که بتوانند در چارچوب محدودیت اجرا شوند.
- LimitFactor
- یک مقدار ممیز شناور که در محدودیتهای [Grp|Max]TRES یک انتساب (association) ضرب میشود. به عنوان مثال، اگر LimitFactor برابر ۲ باشد، آنگاه انتسابی با GrpTRES برابر با ۳۰ پردازنده، هنگام اجرا تحت این QOS مجاز به تخصیص ۶۰ پردازنده خواهد بود. برای پاک کردن یک مقدار موجود، مقدار جدید را بر روی -1 تنظیم کنید. نکته: این ضریب تنها بر انتسابهای در حال اجرا در این QOS اعمال میشود و بر هیچیک از محدودیتها در خود QOS اعمال نمیگردد.
- MaxJobsAccruePA
- MaxJobsAccruePerAccount
- حداکثر تعداد کارهای در انتظاری که یک حساب (یا زیرحساب) میتواند در هر زمان مشخص برای انباشت اولویت سنی داشته باشد. این محدودیت تنها برای QOS کار اعمال میشود و نه QOS پارتیشن. برای پاک کردن یک مقدار موجود، مقدار جدید را بر روی -1 تنظیم کنید.
- MaxJobsAccruePU
- MaxJobsAccruePerUser
- حداکثر تعداد کارهای در انتظاری که یک کاربر میتواند در هر زمان مشخص برای انباشت اولویت سنی داشته باشد. این محدودیت تنها برای QOS کار اعمال میشود و نه QOS پارتیشن. برای پاک کردن یک مقدار موجود، مقدار جدید را بر روی -1 تنظیم کنید.
- MaxJobsPA
- MaxJobsPerAccount
- حداکثر تعداد کارهای در حال اجرا به ازای هر حساب. برای پاک کردن یک مقدار موجود، مقدار جدید را بر روی -1 تنظیم کنید.
- MaxJobsPU
- MaxJobsPerUser
- حداکثر تعداد کارهای در حال اجرا به ازای هر کاربر. برای پاک کردن یک مقدار موجود، مقدار جدید را بر روی -1 تنظیم کنید.
- MaxSubmitJobsPA
- MaxSubmitJobsPerAccount
- حداکثر تعداد کارها در وضعیت در انتظار یا در حال اجرا به ازای هر حساب. برای پاک کردن یک مقدار موجود، مقدار جدید را بر روی -1 تنظیم کنید.
- MaxSubmitJobsPU
- MaxSubmitJobsPerUser
- حداکثر تعداد کارها در وضعیت در انتظار یا در حال اجرا به ازای هر کاربر. برای پاک کردن یک مقدار موجود، مقدار جدید را بر روی -1 تنظیم کنید.
- MaxTRES
- MaxTRESPJ
- MaxTRESPerJob
- حداکثر
تعداد TRES که
هر کار
میتواند
استفاده
کند.
برای جزئیات بیشتر به بخش TRES information در زیر مراجعه کنید.
- MaxTRESMinsPJ
- MaxTRESMinsPerJob
- حداکثر
تعداد
دقیقههای
TRES که هر کار
میتواند
استفاده
کند.
برای جزئیات بیشتر به بخش TRES information در زیر مراجعه کنید.
- MaxTRESPA
- MaxTRESPerAccount
- حداکثر
تعداد TRES که
هر حساب
میتواند
استفاده
کند.
برای جزئیات بیشتر به بخش TRES information در زیر مراجعه کنید.
- MaxTRESPN
- MaxTRESPerNode
- حداکثر
تعداد TRES که
هر گره در
یک تخصیص
کار
میتواند
استفاده
کند.
برای جزئیات بیشتر به بخش TRES information در زیر مراجعه کنید.
- MaxTRESPU
- MaxTRESPerUser
- حداکثر
تعداد TRES که
هر کاربر
میتواند
استفاده
کند.
برای جزئیات بیشتر به بخش TRES information در زیر مراجعه کنید.
- MaxTRESRunMinsPA
- MaxTRESRunMinsPerAccount
- حداکثر
تعداد
دقیقههای
TRES که هر حساب
میتواند
استفاده
کند. این
گزینه
محدودیت
زمانی
کارهای در
حال اجرا را
در نظر
میگیرد.
اگر
محدودیت
حاصل شود،
تا زمان
پایان
یافتن
کارهای
دیگر و آزاد
شدن زمان،
هیچ کار
جدیدی شروع
نخواهد شد.
برای جزئیات بیشتر به بخش TRES information در زیر مراجعه کنید.
- MaxTRESRunMinsPU
- MaxTRESRunMinsPerUser
- حداکثر
تعداد
دقیقههای
TRES که هر
کاربر
میتواند
استفاده
کند. این
گزینه
محدودیت
زمانی
کارهای در
حال اجرا را
در نظر
میگیرد.
اگر
محدودیت
حاصل شود،
تا زمان
پایان
یافتن
کارهای
دیگر و آزاد
شدن زمان،
هیچ کار
جدیدی شروع
نخواهد شد.
برای جزئیات بیشتر به بخش TRES information در زیر مراجعه کنید.
- MaxWall
- MaxWallDurationPerJob
- حداکثر زمان واقعی (wall clock) که هر کار میتواند استفاده کند. قالب MaxWall به صورت <min> یا <min>:<sec> یا <hr>:<min>:<sec> یا <days>-<hr>:<min>:<sec> یا <days>-<hr> است. این مقدار در صورت لزوم با گرد کردن بر حسب دقیقه ثبت میشود. برای پاک کردن مقدار موجود، مقدار جدید را روی -1 تنظیم کنید.
- MinPrioThreshold
- حداقل اولویت لازم برای رزرو منابع هنگام زمانبندی. برای پاک کردن مقدار موجود، مقدار جدید را روی -1 تنظیم کنید.
- MinTRES
- MinTRESPerJob
- حداقل
تعداد TRES که
هر کار در
حال اجرا
تحت این QOS
باید
درخواست
کند. در غیر
این صورت،
کار تا زمان
اصلاح شدن
در حالت
معلق (pend) باقی
خواهد ماند.
برای جزئیات بیشتر به بخش TRES information در زیر مراجعه کنید.
- Name
- نام QOS. برای ایجاد آن الزامی است.
- Preempt
- سایر QOSهایی
که این QOS
میتواند
حق تقدم
آنها را
سلب کند (preempt
کند). برای
پاک کردن
مقدار
موجود،
مقدار جدید
را روی '' (دو
علامت
نقلقول
تکی بدون
فاصلهای
بین آنها)
تنظیم کنید.
NOTE: پارامتر Priority یک QOS به سلب حق تقدم در QOS ارتباطی ندارد؛ تنها از Preempt برای تعیین اینکه کدام QOS میتواند حق تقدم دیگران را سلب کند استفاده میشود.
- PreemptExemptTime
- حداقل زمان
اجرای
کارهای این
QOS را پیش از
آنکه برای
سلب حق تقدم
در نظر
گرفته شوند
مشخص
میکند. این
گزینهٔ QOS
نسبت به
مقدار
سراسری PreemptExemptTime
اولویت
دارد.
تنظیم روی -1 این گزینه را غیرفعال کرده و اجازه میدهد QOS دیگر یا گزینهٔ سراسری اعمال شود. تنظیم روی 0 نشاندهندهٔ عدم وجود حداقل زمان اجرا بوده و بر QOS با اولویت پایینتر (به OverPartQOS مراجعه کنید) و/یا گزینهٔ سراسری در slurm.conf برتری خواهد داشت.
- PreemptMode
- سازوکاری
که برای سلب
حق تقدم
کارهای در
حال اجرا در
این QOS
هنگامی که
PreemptType کلاستر
روی preempt/qos
تنظیم شده
باشد،
استفاده
میشود. این
PreemptMode ویژهٔ QOS،
مقدار
سراسری PreemptMode
کلاستر را
برای این QOS
باطل
میکند.
برای جزئیات بیشتر https://slurm.schedmd.com/preempt.html را ببینید.NOTE: به دلایل کارایی، زمانبند backfill کل گرهها را برای کارها رزرو میکند، نه بخشی از گرهها را. اگر در طول زمانبندی backfill کاری حق تقدم یک یا چند کار دیگر را سلب کند، کل گرههای آن کارهای مغلوب برای کار سلبکننده رزرو میشوند، حتی اگر کار سلبکننده منابع کمتری از آن درخواست کرده باشد. این گرههای رزروشده در طول آن چرخهٔ backfill برای کارهای دیگر در دسترس نیستند، حتی اگر کارهای دیگر بتوانند روی آن گرهها جای بگیرند. بنابراین، ممکن است کارها در یک تکرار واحد backfill منابع بیشتری نسبت به آنچه درخواست کردهاند را تصاحب کنند.
NOTE: برای اینکه یک کار ناهمگن (heterogeneous job) واجد شرایط سلب حق تقدم دانسته شود، تمام اجزای آن باید برای سلب حق تقدم واجد شرایط باشند. هنگامی که قرار است حق تقدم یک کار ناهمگن سلب شود، نخستین جزء شناساییشده از کار که دارای بالاترین مرتبهٔ PreemptMode باشد (به ترتیب SUSPEND (بالاترین)، REQUEUE، و CANCEL (پایینترین)) برای تنظیم PreemptMode تمام اجزا استفاده خواهد شد. مقادیر GraceTime و سیگنال هشدار کاربر برای هر جزء از کار ناهمگن به صورت یکتا باقی میماند. کارهای ناهمگن از عملیات زمانبندی GANG مستثنی هستند.
- CLUSTER
- مقدار پیشفرض است و از PreemptMode سراسری کلاستر برای سلب حق تقدم کار استفاده میکند. مقدار "OFF" یا "" (رشتهٔ خالی) معادل آن است. برای جلوگیری از سلب حق تقدم کارهای موجود در این QOS، اطمینان حاصل کنید که این QOS در فیلد Preempt هیچ QOS دیگری ذکر نشده باشد.
- CANCEL
- کار سلبحقتقدمشده لغو خواهد شد.
- REQUEUE
- با بازگردانی کارها به صف (در صورت امکان) یا لغو آنها، حق تقدم را سلب میکند. برای قرار گرفتن دوبارهٔ کارها در صف، باید گزینهٔ --requeue در sbatch تنظیم شده باشد یا پارامتر سراسری JobRequeue در slurm.conf روی 1 قرار گرفته باشد.
- SUSPEND
- کارهای
سلبحقتقدمشده
تعلیق
میشوند و
بعداً
زمانبند Gang
آنها را از
سر میگیرد.
بنابراین
حالت سلب حق
تقدم SUSPEND
همیشه
مستلزم
تعیین
گزینهٔ GANG
در سطح
کلاستر است.
همچنین، از
آنجا که
کارهای
تعلیقشده
همچنان از
حافظه روی
گرههای
تخصیصیافته
استفاده
خواهند
کرد، Slurm برای
اینکه قادر
به تعلیق
کارها
باشد، باید
بتواند
منابع
حافظه را
ردگیری کند.
اگر PreemptType=preempt/qos پیکربندی شده باشد و کار(های) سلبحقتقدمشده و کار سلبکننده روی یک پارتیشن باشند، منابع را به کمک زمانبند Gang به اشتراک میگذارند (برش زمانی یا time-slicing). در غیر این صورت (یعنی اگر کارهای مغلوب و کار سلبکننده روی پارتیشنهای متفاوتی باشند)، کارهای سلبحقتقدمشده تا زمان پایان یافتن کار سلبکننده در حالت تعلیق باقی خواهند ماند.NOTE: کارهای تعلیقشده GRES را آزاد نخواهند کرد. کارهای با اولویت بالاتر قادر به سلب حق تقدم برای دسترسی به GRES نخواهند بود.
- PRIORITY
- تنها زمانی اجازهٔ سلب حق تقدم را میدهد که اولویت کار سلبکننده بالاتر از اولویت کار سلبحقتقدمشده باشد.
- WITHIN
- امکان سلب حق تقدم میان کارهایی که از یک qos مشترک استفاده میکنند را فراهم میکند. به طور پیشفرض، PreemptType=preempt/qos کارها را تنها در صورتی واجد شرایط سلب حق تقدم در نظر میگیرد که مقدار qos آنها یکسان نباشد.
- Priority
- ضریب
اولویت QOS که
توسط
افزونهٔ
priority/multifactor
استفاده
میشود. به
طور
پیشفرض
تنظیم نشده
است، که
نشان
میدهد هیچ
اولویت
اضافی اعطا
نمیشود.
NOTE: پارامتر Priority یک QOS به سلب حق تقدم در QOS ارتباطی ندارد، در عوض Preempt را ببینید..IP
- RawUsage=<value>
- این گزینه به مدیر سیستم اجازه میدهد میزان مصرف خام انباشتهشده برای یک QOS را تعیین کند. تعیین مقدار 0 (صفر) مصرف خام را بازنشانی میکند. این تنها یک مشخصه قابل تنظیم است - نمیتوان از آن به عنوان فیلتری برای فهرست کردن حسابها استفاده کرد.
- UsageFactor
- یک عدد ممیز
شناور که در
میزان مصرف
TRES یک کار ضرب
میشود
(مانند RawUsage ،TRESMins
و TRESRunMins). به
عنوان
مثال، اگر
usagefactor برابر با
۲ باشد، به
ازای هر
ثانیه
اجرای کار
بر اساس TRESBillingUnit
معادل ۲
ثانیه
محاسبه
خواهد شد.
اگر usagefactor
برابر با
۰٫۵ باشد،
هر ثانیه
تنها نصف آن
زمان به
حساب
میآید.
تنظیم آن
روی ۰ هیچ
مصرف زمانی
ناشی از کار
را اضافه
نخواهد کرد.
ضریب مصرف تنها برای QOS مربوط به کار اعمال میشود و برای QOS پارتیشن اعمال نخواهد شد.
اگر پرچم UsageFactorSafe تنظیم شده باشد و AccountingStorageEnforce شامل Safe باشد، کارها تنها در صورتی شروع میشوند که بتوانند با اعمال UsageFactor تا پایان اجرا شوند، و به دلیل محدودیتها متوقف (kill) نخواهند شد.
اگر پرچم UsageFactorSafe تنظیم نشده باشد و AccountingStorageEnforce شامل Safe باشد، کارها در صورتی که بتوانند بدون اعمال UsageFactor تا پایان اجرا شوند شروع خواهند شد، و به دلیل محدودیتها متوقف نخواهند شد.
اگر پرچم UsageFactorSafe تنظیم نشده باشد و AccountingStorageEnforce شامل Safe نباشد، کارها تا زمانی که به محدودیتها نرسیده باشند زمانبندی میشوند، اما ممکن است به دلیل محدودیتها متوقف شوند.
به AccountingStorageEnforce در صفحه راهنمای slurm.conf مراجعه کنید.
پیشفرض ۱ است. برای پاک کردن مقدار موجود، یک مقدار جدید -1 تعیین کنید.
- UsageThreshold
- یک عدد ممیز شناور نشاندهنده کمترین سهم منصفانه (fairshare) مجاز یک انتساب (association) برای اجرای یک کار. اگر یک انتساب به زیر این آستانه برسد و کارهای معلق داشته باشد یا کارهای جدیدی ثبت کند، آن کارها در حالت تعلیق قرار میگیرند تا زمانی که میزان مصرف مجدداً به بالاتر از آستانه بازگردد. از sshare برای مشاهده سهمهای فعلی در سیستم استفاده کنید. برای پاک کردن مقدار موجود، مقدار جدید -1 را تعیین کنید.
گزینههای قالببندی فهرست/نمایش QOS (LIST/SHOW QOS FORMAT OPTIONS)
فیلدهایی که میتوانید هنگام مشاهده رکوردهای QOS با استفاده از گزینه format= نمایش دهید.
- Description
- یک رشته دلخواه برای توصیف یک QOS.
- Flags
- توسط slurmctld برای بازنویسی یا اعمال ویژگیهای خاصی استفاده میشود.
- GraceTime
- مهلت زمانی سلب حق تقدم (preemption grace time) برای اعطا به کاری که برای سلب حق تقدم انتخاب شده است، در قالب hh:mm:ss.
- GrpJobs
- حداکثر تعداد کارهای در حال اجرا در مجموع برای این QOS.
- GrpJobsAccrue
- حداکثر تعداد کارهای در انتظار در مجموع که قادر به انباشت اولویت سنی (age priority) برای این QOS هستند. این محدودیت تنها برای QOS کار اعمال میشود و برای QOS پارتیشن اعمال نمیگردد.
- GrpSubmit
- GrpSubmitJobs
- حداکثر تعداد کارهای موجود در وضعیت معلق یا در حال اجرا در هر زمان، در مجموع برای این QOS.
- GrpTRES
- حداکثر تعداد TRES قابل تخصیص توسط کارهای در حال اجرا در مجموع برای این QOS.
- GrpTRESMins
- حداکثر تعداد دقایق TRES که احتمالاً میتواند توسط کارهای گذشته، حال و آینده با این QOS استفاده شود.
- GrpTRESRunMins
- حداکثر تعداد دقایق TRES قابل تخصیص توسط کارهای در حال اجرا با این QOS.
- GrpWall
- حداکثر زمان واقعی سپریشده (wall clock time) قابل تخصیص توسط کارهای در حال اجرا در مجموع برای این QOS.
- ID
- شناسه (ID) مربوط به QOS.
- LimitFactor
- یک عدد ممیز شناور که در محدودیتهای [Grp|Max]TRES یک انتساب ضرب میشود.
- MaxJobsAccruePA
- MaxJobsAccruePerAccount
- حداکثر تعداد کارهای در انتظاری که یک حساب (یا زیرحساب) میتواند در هر زمان مشخص برای انباشت اولویت سنی داشته باشد. این محدودیت تنها برای QOS کار اعمال میشود و برای QOS پارتیشن اعمال نمیگردد.
- MaxJobsAccruePU
- MaxJobsAccruePerUser
- حداکثر تعداد کارهای در انتظاری که یک کاربر میتواند در هر زمان مشخص برای انباشت اولویت سنی داشته باشد. این محدودیت تنها برای QOS کار اعمال میشود و برای QOS پارتیشن اعمال نمیگردد.
- MaxJobsPA
- MaxJobsPerAccount
- حداکثر تعداد کارهای در حال اجرا به ازای هر حساب.
- MaxJobsPU
- MaxJobsPerUser
- حداکثر تعداد کارهای در حال اجرا به ازای هر کاربر.
- MaxSubmitJobsPA
- MaxSubmitJobsPerAccount
- حداکثر تعداد کارها در وضعیت معلق یا در حال اجرا به ازای هر حساب.
- MaxSubmitJobsPU
- MaxSubmitJobsPerUser
- حداکثر تعداد کارها در وضعیت معلق یا در حال اجرا به ازای هر کاربر.
- MaxTRES
- MaxTRESPJ
- MaxTRESPerJob
- حداکثر تعداد TRES که هر کار میتواند استفاده کند.
- MaxTRESMins
- MaxTRESMinsPJ
- MaxTRESMinsPerJob
- حداکثر تعداد دقایق TRES که هر کار میتواند استفاده کند.
- MaxTRESPA
- MaxTRESPerAccount
- حداکثر تعداد TRES که هر حساب میتواند استفاده کند.
- MaxTRESPN
- MaxTRESPerNode
- حداکثر تعداد TRES که هر گره در یک تخصیص کار میتواند استفاده کند..IP
- MaxTRESPU
- MaxTRESPerUser
- حداکثر تعداد TRES که هر کاربر میتواند استفاده کند.
- MaxTRESRunMinsPA
- MaxTRESRunMinsPerAccount
- حداکثر تعداد دقایق TRES که هر حساب (account) میتواند استفاده کند.
- MaxTRESRunMinsPU
- MaxTRESRunMinsPerUser
- حداکثر تعداد دقایق TRES که هر کاربر میتواند استفاده کند.
- MaxWall
- MaxWallDurationPerJob
- حداکثر زمان واقعی سپریشده (wall clock) که هر کار میتواند استفاده کند.
- MinPrioThreshold
- حداقل اولویت لازم برای رزرو منابع هنگام زمانبندی.
- MinTRES
- حداقل تعداد TRES که هر کارِ در حال اجرا تحت این QOS باید درخواست کند. در غیر این صورت، کار تا زمان اصلاح شدن در حالت تعلیق (pend) باقی خواهد ماند.
- Name
- نام QOS.
- Preempt
- سایر QOSهایی که این QOS میتواند تقدم آنها را سلب کند (preempt نماید).
- PreemptExemptTime
- حداقل زمان اجرای کارهای تحت این QOS را پیش از آنکه مشمول سلب تقدم (preemption) شوند، مشخص میکند.
- PreemptMode
- سازوکار مورد استفاده برای سلب تقدم (preempt) کارها یا فعالسازی زمانبندی گروهی (gang scheduling) برای این QOS، هنگامی که PreemptType کلاستر بر روی preempt/qos تنظیم شده باشد. سازوکار پیشفرض سلب تقدم با پارامتر پیکربندی سراسری کلاستر، PreemptMode، تعیین میشود.
- Priority
- ضریب اولویت QOS جهت استفاده توسط افزونهٔ priority/multifactor.
- UsageFactor
- یک عدد ممیز شناور که در میزان مصرف TRES کار ضرب میشود (مانند RawUsage، TRESMins و TRESRunMins).
- UsageThreshold
- یک عدد ممیز شناور که کمترین میزان سهم منصفانه (fairshare) یک انتساب (association) را برای مجاز بودن به اجرای کار نشان میدهد.
- WithDeleted
- نمایش اطلاعات به همراه دادههای حذفشدهٔ قبلی. یک QOS که ظرف ۲۴ ساعت پس از ایجاد حذف شود و در این مدت هیچ کاری در آن اجرا نشده باشد، از پایگاه داده پاک خواهد شد. در غیر این صورت، این QOS به عنوان حذفشده علامتگذاری شده و با پرچم WithDeleted قابل مشاهده خواهد بود.
مشخصات رزروها (SPECIFICATIONS FOR RESERVATIONS)
رزروها با دستور scontrol ایجاد میشوند و اطلاعات آنها جهت ذخیرهسازی به slurmdbd ارسال میگردد. اینها گزینههایی هستند که میتوانید برای فیلتر کردن رزروهای خاص تعیین کنید.
- Clusters=<cluster_name>[,<cluster_name>,...]
- فهرست کردن رزروهای کلاستر(ها). پیشفرض، کلاستری است که دستور در آن اجرا شده است.
- End=<OPT>
- پایان
بازهٔ
رزروها.
پیشفرض،
اکنون (now) است.
قالبهای معتبر زمان عبارتند از:
HH:MM[:SS] [AM|PM]
MMDD[YY] یا MM/DD[/YY] یا MM.DD[.YY]
MM/DD[/YY]-HH:MM[:SS]
YYYY-MM-DD[THH:MM[:SS]]
now[{+|-}count[seconds(default)|minutes|hours|days|weeks]]
- ID=<OPT>
- فهرستی از شناسه (ID)های رزرو که با ویرگول از هم جدا شدهاند.
- Names=<OPT>
- فهرستی از نامهای رزرو که با ویرگول از هم جدا شدهاند.
- Nodes=<node_name>[,<node_name>,...]
- نام گرههایی که رزرو بر روی آنها اجرا شده است.
- Start=<OPT>
- آغاز بازهٔ
رزروها.
پیشفرض،
ساعت 00:00:00 روز
قبل است.
قالبهای معتبر زمان عبارتند از:
HH:MM[:SS] [AM|PM]
MMDD[YY] یا MM/DD[/YY] یا MM.DD[.YY]
MM/DD[/YY]-HH:MM[:SS]
YYYY-MM-DD[THH:MM[:SS]]
now[{+|-}count[seconds(default)|minutes|hours|days|weeks]]
فیلدهایی
که
میتوانید
هنگام
مشاهده
سوابق رزرو
(Reservation) با
استفاده از
گزینه format=
نمایش دهید.
قالب
پیشفرض
عبارت است
از:
Cluster,Name,TRES,Start,End,UnusedWall
- Associations
- شناسههای (ID) انتسابهایی که قادر به اجرا در رزرو هستند.
- Cluster
- نام خوشهای که رزرو روی آن قرار دارد.
- End
- زمان پایان رزرو.
- Flags
- پرچمهای تنظیمشده روی رزرو.
- ID
- شناسه رزرو (Reservation ID).
- Name
- نام این رزرو.
- NodeNames
- فهرست گرههای موجود در رزرو.
- Start
- زمان شروع رزرو.
- TRES
- فهرست TRES در رزرو.
- UnusedWall
- زمان ساعت واقعی (Wall clock) به ثانیه که توسط هیچ کاری استفاده نشده است. میزان مصرف تخصیصیافته به یک کار برابر است با مدتزمان اجرای آن ضرب در نسبت پردازندههای (CPU) آن به کل پردازندههای موجود در رزرو. برای مثال، کاری که از تمام پردازندههای موجود در رزرو استفاده کند و به مدت ۱ دقیقه اجرا شود، unused_wall را به میزان ۱ دقیقه کاهش میدهد.
مشخصات منبع (SPECIFICATIONS FOR RESOURCE)
منابع را میتوان با sacctmgr ایجاد، ویرایش و حذف کرد. این گزینهها به شما اجازه میدهند مشخصههای متناظر را تنظیم کنید یا هنگام پرسوجو برای منابع، بر اساس آنها فیلتر نمایید.
- LastConsumed=<OPT>
- تعداد منابع نرمافزاری با یک نام مشخص که از مقدار Count روی سیستم تحت کنترل یک مدیر منبع مصرف شده است.
- Clusters=<name_list>
- فهرست جداشده با کاما از نام خوشههایی که منابع مشخصشده باید روی آنها در دسترس باشند. اگر هیچ نامی تعیین نشود، خوشههایی که پیشتر اجازه استفاده از این منبع را داشتهاند تغییر خواهند کرد.
- Count=<OPT>
- تعداد منابع نرمافزاری با یک نام مشخص که روی سیستم تحت کنترل یک مدیر منبع پیکربندی شده است.
- Descriptions=
- توضیح مختصری درباره منبع.
- Flags[-|+]=<OPT>
- پرچمهایی
که
ویژگیهای
خاص منبع
سیستم را
مشخص
میکنند.
گزینههای معتبر عبارتند از:
- Absolute
- در صورت
تنظیم،
منبع با
مقادیر
شمارششده
برای Allowed و Allocated
به عنوان
مقادیر
مطلق به جای
درصد رفتار
خواهد کرد.
نکته: در صورت حذف این مورد با flags-=absolute، هیچ تلاشی برای تبدیل مجدد اعداد موجود در پایگاه داده به درصد صورت نمیگیرد. این کار توسط کاربر الزامی است.
- به هر خوشه اجازه میدهد بدون نیاز به تخصیص انحصاری یک مقدار به هر خوشه، به کل استخر منابع دسترسی داشته باشد. این نیازمند آن است که مقدار Allowed هر خوشه برابر با 0 یا کل Count/100% باشد (با/بدون Absolute).
- Names=<OPT>
- فهرست جداشده با کاما از نام یک منبع پیکربندیشده روی سیستم تحت کنترل یک مدیر منبع. اگر این منبع در slurmctld دیده شود، نام آن به صورت name@server خواهد بود تا از منابع محلی تعریفشده در slurm.conf متمایز شود. نامهای منابع حساس به بزرگ و کوچکی حروف نیستند (به حروف کوچک تبدیل میشوند) مگر اینکه گزینه Parameters=PreserveCaseResource در slurmdbd.conf تنظیم شده باشد.
- Allowed=<allowed>
- درصد/تعداد یک منبع خاص که میتواند در خوشه مشخصشده استفاده شود.
- Server=<OPT>
- رشتهای دلخواه که نام سرور ارائهدهنده منبع را مشخص میکند. پیشفرض 'slurmdb' است که نشان میدهد مجوزها توسط پایگاه داده ارائه میشوند. این پارامتر صرفاً برای برچسبگذاری است.
- ServerType=<OPT>
- رشتهای دلخواه که برای برچسبزدن نوع مدیر منبع نرمافزاری ارائهدهنده مجوزها استفاده میشود. به عنوان مثال سرور مجوز FlexNext Publisher Flexlm یا Reprise License Manager RLM. این به معنای هیچگونه یکپارچهسازی با مدیران مجوز نیست.
- Type=<OPT>
- نوع منبع ارائهشده توسط این رکورد. در حال حاضر تنها نوع معتبر License است.
- WithClusters
- نمایش درصد/تعداد منابع خوشهها. اگر منبعی به یک خوشه داده نشده باشد، آن منبع با این پرچم نمایش داده نخواهد شد.
- WithDeleted
- نمایش اطلاعات به همراه دادههایی که پیشتر حذف شدهاند. منابعی که ظرف ۲۴ ساعت پس از ایجاد حذف شوند، از پایگاه داده حذف خواهند شد. منابعی که بیش از ۲۴ ساعت قبل از درخواست حذف ایجاد شده باشند، صرفاً به عنوان حذفشده نشانهگذاری میشوند و با پرچم WithDeleted قابل مشاهده خواهند بود.
نکته: منبع (Resource) برای تعریف هر منبع پیکربندیشده روی یک سیستم استفاده میشود که برای استفاده توسط خوشههای Slurm در دسترس است.
فیلدهایی
که
میتوانید
هنگام
مشاهده
رکوردهای Resource
با استفاده
از گزینه format=
نمایش دهید.
قالب
پیشفرض به
این صورت
است:
Name,Server,Type,Count,LastConsumed,Allocated,ServerType,Flags
- Allocated
- درصد یا تعداد مجوزهای (licenses) تخصیصیافته به یک کلاستر.
- LastConsumed
- تعداد منبع مصرفشده مشخص از مقدار Count بهصورت سراسری در سیستم.
- Cluster
- نام کلاستری که منبع به آن اختصاص یافته است.
- Count
- تعداد منبع مشخصِ پیکربندیشده در سیستم بهصورت سراسری.
- Description
- توضیحات منبع.
- Name
- نام این منبع.
- Server
- سروری که منبع را ارائه میدهد.
- ServerType
- نوع سرور کنترلکننده مجوزها.
- Type
- نوع منبعی که این رکورد نشاندهنده آن است.
مشخصات RUNAWAYJOB (SPECIFICATIONS FOR RUNAWAYJOB)
تحت شرایط خاص، کارها (jobs) ممکن است بدون اینکه تکمیل آنها توسط slurmdbd ثبت شود، به پایان برسند. این امر منجر به ایجاد یک «runaway job» (کار سرکش) میشود که در آن slurmdbd بدون مداخله زمان پایانی برای آن ثبت نخواهد کرد. این دستور کارهایی را که در این وضعیت قرار دارند شناسایی کرده و پیشنهاد پاکسازی رکورد(های) کار توسط slurmdbd را ارائه میدهد.
این نگارش خاص از دستور «show» همچنین اجازه میدهد از کلیدواژه «set» برای تعیین مشخصات زیر استفاده کنید:
- EndState=<state>
- وضعیت مطلوب برای استفاده بهعنوان وضعیت پایانی کارهای اصلاحشده. وضعیتهای پشتیبانیشده عبارتند از: Completed، Failed.
گزینههای قالببندی LIST/SHOW RUNAWAYJOB (LIST/SHOW RUNAWAYJOB FORMAT OPTIONS)
فیلدهایی
که
میتوانید
هنگام
مشاهده
رکوردهای runaway job
با استفاده
از گزینه format=
نمایش دهید.
قالب
پیشفرض به
این صورت
است:
ID,Name,Partition,Cluster,State,TimeSubmit,TimeStart,TimeEnd
- Cluster
- نام کلاستری که کار روی آن اجرا شده است.
- ID
- شناسه کار (job).
- Name
- نام کار.
- Partition
- پارتیشنی که کار روی آن اجرا شده است.
- State
- وضعیت فعلی کار در پایگاهداده.
- TimeEnd
- زمان ثبتشده فعلی برای پایان کار.
- TimeStart
- زمانی که کار شروع به اجرا کرد.
- TimeSubmit
- زمانی که کار ثبت (ارسال) شد.
اطلاعات مربوط به تغییرات در خوشهها، منابع، حسابها، وابستگیها (associations) و غیره توسط slurmdbd به عنوان تراکنش ثبت میشوند. اینها گزینههایی هستند که میتوانید برای فیلتر کردن تراکنشهای خاص مشخص کنید.
- Accounts=<account_name>[,<account_name>,...]
- تنها تراکنشهای تأثیرگذار بر حسابهای مشخصشده را چاپ میکند.
- Action=<Specific_action_the_list_will_display>
- تنها تراکنشهای مربوط به نوع اقدام (action) مشخصشده را نمایش میدهد.
- Actor=<Specific_name_the_list_will_display>
- تنها تراکنشهای انجامشده توسط یک فرد مشخص را نمایش میدهد.
- Clusters=<cluster_name>[,<cluster_name>,...]
- تنها تراکنشهای تأثیرگذار بر خوشههای مشخصشده را چاپ میکند.
- End=<Date_and_time_of_last_transaction_to_return>
- همه تراکنشهای پیش از این تاریخ و زمان را برمیگرداند. مقدار پیشفرض now است.
- Start=<Date_and_time_of_first_transaction_to_return>
- همه
تراکنشهای
پس از این
تاریخ و
زمان را
برمیگرداند.
مقدار
پیشفرض epoch
است.
قالبهای زمانی معتبر برای End و Start عبارتند از:
HH:MM[:SS] [AM|PM]
MMDD[YY] یا MM/DD[/YY] یا MM.DD[.YY]
MM/DD[/YY]-HH:MM[:SS]
YYYY-MM-DD[THH:MM[:SS]]
now[{+|-}count[seconds(default)|minutes|hours|days|weeks]]
- Users=<user_name>[,<user_name>,...]
- تنها تراکنشهای تأثیرگذار بر کاربران مشخصشده را چاپ میکند.
- WithAssoc
- اطلاعات مربوط به اینکه کدام وابستگیها (associations) تحت تأثیر تراکنشها قرار گرفتهاند را دریافت میکند.
گزینههای قالببندی فهرست/نمایش تراکنشها (LIST/SHOW TRANSACTIONS FORMAT OPTIONS)
فیلدهایی
که
میتوانید
هنگام
مشاهده
رکوردهای
تراکنش با
استفاده از
گزینه format=
نمایش دهید.
قالب
پیشفرض به
این صورت
است:
Time,Action,Actor,Where,Info
- Action
- نوع اقدام (Action) صورتگرفته را نمایش میدهد.
- Actor
- عامل (Actor) ایجادکننده تراکنش را نمایش میدهد.
- Info
- جزئیات تراکنش را نمایش میدهد.
- TimeStamp
- زمان وقوع تراکنش را نمایش میدهد.
- Where
- جزئیات محدودیتهای مربوط به تراکنش را نمایش میدهد.
نکته: در صورت استفاده از گزینه WithAssoc میتوانید اطلاعات مربوط به وابستگیهای مختلفی که تراکنش بر آنها تأثیر گذاشته است را نیز مشاهده کنید. فیلدهای قالب وابستگی در بخش LIST/SHOW ASSOCIATION FORMAT OPTIONS شرح داده شدهاند.
مشخصات کاربران (SPECIFICATIONS FOR USERS)
کاربران را میتوان با sacctmgr ایجاد کرد، تغییر داد و حذف نمود. این گزینهها به شما اجازه میدهند ویژگیهای مربوطه را تنظیم کرده یا هنگام پرسوجو برای کاربران، بر اساس آنها فیلتر کنید.
شناخت تفاوت بین یک کاربر (User) و یک وابستگی (Association) بسیار حائز اهمیت است. برای هر نام کاربری یکتا، یک موجودیت کاربر وجود دارد. با این حال، ممکن است چندین وابستگی کاربری (User Association) برای یک کاربر وجود داشته باشد. ترکیب یک Cluster، Account، User و به صورت اختیاری یک Partition، یک User Association را تشکیل میدهد. هنگامی که یک کاربر موجود را به حساب دیگری اضافه میکنید، در واقع به جای تغییر دادن کاربر موجود، یک User Association جدید ایجاد میکنید.
- Account=<account>
- نام حسابی که این کاربر باید به آن افزوده شود.
- AdminLevel=<level>
- سطح مدیریتی کاربر. سطوح معتبر عبارتند از None، Operator و Admin.
- Cluster=<cluster>
- خوشه مشخصی که کاربر در آن به حساب اضافه میشود. مقدار پیشفرض همه خوشههای موجود در سیستم است.
- DefaultAccount=<account>
- نام حساب پیشفرضی را مشخص میکند که در صورت عدم تعیین در زمان ارسال کار (job)، استفاده خواهد شد.
- DefaultWCKey=<defaultwckey>
- کلید پیشفرض مشخصات بار کاری (Workload Characterization Key) را تعیین میکند.
- Name=<name>
- نام کاربر.
- NewName=<newname>
- برای تغییر نام کاربر در پایگاهداده حسابداری استفاده میشود.
- Partition=<name>
- نام پارتیشن (Partition).
نکته: همچنین به Partitions فهرستشده در بخش SPECIFICATIONS FOR ASSOCIATIONS مراجعه کنید.
- RawUsage=<value>
- به مدیر سیستم اجازه میدهد میزان مصرف خام (raw usage) انباشتهشده برای یک کاربر را بازنشانی کند. تنها مقداری که در حال حاضر پشتیبانی میشود 0 (صفر) است. این گزینه صرفاً یک مشخصه قابل تنظیم است - نمیتوان از آن به عنوان یک فیلتر برای فهرست کردن کاربران استفاده کرد.
- WCKeys=<wckeys>
- مقادیر کلید مشخصات بار کاری (Workload Characterization Key).
- WithAssoc
- نمایش تمام وابستگیها (associations) برای این کاربر.
- WithCoord
- نمایش تمام حسابهایی که کاربر هماهنگکننده (coordinator) آنها است.
- WithDeleted
- نمایش اطلاعات به همراه دادههایی که قبلاً حذف شدهاند. کاربرانی که ظرف ۲۴ ساعت پس از ایجاد حذف شوند و در این مدت هیچ کاری توسط آنها اجرا نشده باشد، به طور کامل از پایگاهداده حذف خواهند شد. در غیر این صورت، کاربر به عنوان حذفشده علامتگذاری میشود و با پرچم WithDeleted قابل مشاهده خواهد بود.
نکته: در صورت استفاده از گزینه WithAssoc میتوانید بر اساس اطلاعات خاص وابستگی نیز پرسوجو کنید تا تنها وابستگیهای مشخصی که این کاربر ممکن است داشته باشد را مشاهده نمایید. این گزینههای اضافی را میتوان در بخش SPECIFICATIONS FOR ASSOCIATIONS یافت. همچنین میتوانید از مشخصات عمومی فهرستشده در بخش GENERAL SPECIFICATIONS FOR ASSOCIATION BASED ENTITIES استفاده کنید.
فیلدهایی
که
میتوانید
هنگام
مشاهده
رکوردهای
کاربر با
استفاده از
گزینه format=
نمایش دهید.
قالب
پیشفرض
عبارت است
از:
User,DefaultAccount,DefaultWCKey,AdminLevel
- AdminLevel
- سطح مدیریتی کاربر.
- Coordinators
- فهرست کاربرانی که هماهنگکننده (coordinator) حساب هستند. (تنها هنگام استفاده از گزینه WithCoordinator پر میشود.)
- DefaultAccount
- حساب پیشفرض کاربر.
- DefaultWCKey
- کلید wckey پیشفرض کاربر.
- User
- نام یک کاربر.
نکته: در صورت استفاده از گزینه WithAssoc میتوانید اطلاعات مربوط به انتسابهای (association) مختلفی را که ممکن است کاربر در تمام کلاسترهای سیستم داشته باشد نیز مشاهده کنید. اطلاعات انتساب قابل پالایش (فیلتر) است. توجه داشته باشید که تمام کاربران موجود در پایگاهداده همواره نشان داده خواهند شد، چرا که فیلتر فقط بر روی دادههای انتساب اعمال میشود. فیلدهای قالب انتساب در بخش LIST/SHOW ASSOCIATION FORMAT OPTIONS شرح داده شدهاند.
نمایش/فهرست WCKey (LIST/SHOW WCKey)
فیلدهایی
که
میتوانید
هنگام
مشاهده
رکوردهای WCKey
با استفاده
از گزینه format=
نمایش دهید.
قالب
پیشفرض
عبارت است
از:
WCKey,Cluster,User
- Cluster
- کلاستر مشخصشده برای WCKey.
- ID
- شناسه WCKey.
- User
- نام یک کاربر برای WCKey.
- WCKey
- کلید مشخصهیابی بار کاری (Workload Characterization Key).
- WithDeleted
- نمایش اطلاعات همراه با دادههای حذفشده قبلی. مواردی از WCKey که ظرف ۲۴ ساعت پس از ایجاد حذف شوند و در این مدت کاری با این WCKey اجرا نشده باشد، از پایگاهداده پاک خواهند شد. در غیر این صورت، WCKey به عنوان حذفشده علامتگذاری میشود و با پرچم WithDeleted قابل مشاهده خواهد بود.
نمایش/فهرست TRES (LIST/SHOW TRES)
فیلدهایی
که
میتوانید
هنگام
مشاهده
رکوردهای TRES
با استفاده
از گزینه format=
نمایش دهید.
قالب
پیشفرض
عبارت است
از:
Type,Name,ID
- ID
- شماره شناسایی منبع قابل ردیابی همانگونه که در پایگاهداده ثبت شده است.
- Name
- نام منبع قابل ردیابی. این گزینه برای انواع TRES از جمله BB (بافر انفجاری یا Burst buffer)، GRES و License الزامی است. انواع CPU، Energy، Memory و Node نام ندارند. برای مثال اگر نوع منبع GRES باشد، آنگاه Name عنوان خود GRES است؛ مانند GPU.
- Type
- نوع منبع قابل ردیابی. انواع فعلی عبارتند از BB (بافر انفجاری یا Burst buffer)، CPU، Energy، GRES، License، Memory و Node.
اطلاعات TRES (TRES information)
منابع قابل ردیابی (Trackable RESources یا TRES) در بسیاری از محدودیتهای QOS یا انتساب (GrpTRES* / MaxTRES*) استفاده میشوند. هنگام تعیین محدودیتها، میتوان یک یا چند مقداردهی جداشده با کاما به فرم "TRES=value" را مشخص کرد.
هر TRES میتواند یکی از پیشفرضهای Slurm (مانند cpu، mem، node) یا هر منبع عمومی تعریفشده (generic resource) دیگری باشد. میتوانید فهرست منابع موجود را با اجرای دستور sacctmgr show tres مشاهده کنید.
هر TRES دارای یک محدودیت متفاوت است؛ برای مثال، "GrpTRES=cpu=16,mem=32G" دو محدودیت مجزا تعیین میکند: یکی برای ۱۶ پردازنده (CPU) و دیگری برای ۳۲ گیبیبایت (GiB) حافظه.
تنظیم مقدار جدید برای یک نوع TRES بر دیگر انواع TRES که قبلاً مشخص شدهاند تأثیری نمیگذارد. به عنوان مثال، بر روی همان موجودیت در بالا، مقداردهی بعدی "GrpTRES=gres/gpu=2" منجر به اعمال "GrpTRES=cpu=16,mem=32G,gres/gpu=2" روی آن موجودیت خواهد شد.
برای حذف یک محدودیت، مقدار -1 را به نوع TRES که محدودیت آن باید حذف شود اختصاص دهید؛ برای مثال، "GrpTRES=cpu=-1" تنها محدودیت TRES پردازنده را حذف کرده و منجر به "GrpTRES=mem=32G,gres/gpu=2" روی آن موجودیت میشود.
از Slurm 26.05 به بعد، یک مقداردهی TRES میتواند از عملگرهای += یا -= برای افزودن به مقدار قبلی یا کاستن از آن برای آن TRES استفاده کند؛ برای مثال، "GrpTRES=mem-=8G,gres/gpu+=2" منجر به "GrpTRES=mem=24G,gres/gpu=4" روی آن موجودیت خواهد شد.
نکته: هنگام کار با حافظه (Memory) به عنوان یک TRES، واحد پیشفرض MiB است. پسوندهای G، T یا P را میتوان برای مشخص کردن محدودیت در واحدهای بزرگتر اضافه کرد.
نکته: مقدار Billing TRES بر اساس TRESBillingWeights مربوط به یک پارتیشن محاسبه میشود. این مقدار در طول زمانبندی بهطور موقت برای هر پارتیشن محاسبه میگردد تا محدودیتهای billing TRES اعمال شوند. مقدار نهایی Billing TRES پس از تخصیص منابع به کار محاسبه شده و در خروجی scontrol show jobs و sacct قابل مشاهده است..SH "گزینه قالببندی سراسری (GLOBAL FORMAT OPTION)" هنگام استفاده از گزینه format برای فهرست کردن فیلدهای گوناگون، میتوانید یک %NUMBER در ادامه آن قرار دهید تا مشخص کنید چند نویسه باید چاپ شود.
برای نمونه، format=name%30 تعداد 30 نویسه از فیلد name را بهصورت راستچین چاپ میکند. مقدار -30 تعداد 30 نویسه را بهصورت چپچین چاپ خواهد کرد.
تخلیه و بارگذاری فایل متنی ساده (FLAT FILE DUMP AND LOAD)
دستور sacctmgr این قابلیت را دارد که دادههای انتساب (association) در Slurm را در یک فایل تخلیه (dump) کرده یا از آن بارگذاری (load) کند. با این روش میتوان بهسادگی یک کلاستر جدید افزود یا انتسابهای یک کلاستر موجود را درون یک کلاستر جدید با حسابهای مشابه کپی کرد. هر فایل حاوی دادههای انتساب Slurm برای یک کلاستر منفرد است. از نگارش 25.05 به بعد، اطلاعات QOS نیز در فایل تخلیه گنجانده شده است. میتوان با نویسه # در فایل توضیحات (کامنت) درج کرد. هر سطر از اطلاعات باید با یکی از این پنج عنوان آغاز شود: QOS، Cluster، Parent، Account یا User. پس از عنوان، یک فاصله، خط تیره، فاصله، مقدار موجودیت (entity value) و سپس مشخصات قرار میگیرد. مشخصات با دونقطه از یکدیگر جدا میشوند. اگر هر متغیری، مانند نام یک Organization، حاوی فاصله باشد، آن نام را درون علامتهای نقلقول تکی یا دوتایی قرار دهید.
دستور sacctmgr dump/load باید توسط مدیر Slurm یا کاربر ریشه (root) اجرا شود. در صورت استفاده از sacctmgr load روی پایگاهدادهای که فاقد هرگونه انتساب است، باید حتماً توسط کاربر ریشه (root) اجرا شود (چرا که هنوز هیچ کاربری در پایگاهداده وجود ندارد).
dump
انتسابهای کلاستر را از پایگاهداده درون یک فایل تخلیه میکند. اگر فایلی مشخص نشده باشد، فایلی با استفاده از نام کلاستر ایجاد خواهد شد. این فایل در دایرکتوری کاری جاری ایجاد میشود.
برای ایجاد فایلی حاوی اطلاعات انتساب میتوانید این دستور را اجرا کنید:
sacctmgr dump tux file=tux.cfg
load
انتسابهای کلاستر را درون پایگاهداده بارگذاری میکند. انتسابهای واردشده با موارد موجود تطبیق داده و یکپارچه خواهند شد.
برای بارگذاری فایلی که قبلاً ایجاد شده میتوانید این دستور را اجرا کنید:
sacctmgr load file=tux.cfg
- clean
- آنچه را که از قبل وجود داشته حذف کرده و با این اطلاعات از ابتدا شروع میکند. بدون هیچ گزینهای، این مورد تنها کلاستر را به همراه انتسابهای آن حذف میکند. هیچ حساب، کاربر یا QOS حذف نخواهد شد. این گزینه همچنین فهرستی جداشده با کاما از گزینههای دیگر را برای حذف میپذیرد. این موارد شامل 'account'، 'qos' و 'user' هستند. اگر میخواهید حسابها، qos و کاربران را به همراه کلاستر و انتسابها حذف کنید، ورودی clean=account,qos,user را وارد نمایید.
- Cluster=
- نامی متفاوت از آنچه در فایل آمده را برای کلاستر مشخص میکند.
- File=
- یک فایل متنی ساده را برای بارگذاری مشخص میکند.
مشخصات فایل متنی ساده (SPECIFICATIONS FOR FLAT FILE)
از آنجا که انتسابها در سامانه از یک ساختار سلسلهمراتبی پیروی میکنند، فایل نیز از همین الگو تبعیت میکند. هر چیزی که والد (parent) است باید پیش از فرزندانش تعریف شود. تنها استثنا، حساب از پیش شناختهشده 'root' است. این حساب همواره برای هر کلاستر یک پیشفرض است و نیازی به تعریف آن نیست.
برای ویرایش/ایجاد یک فایل، کار را با یک سطر cluster برای کلاستر جدید آغاز کنید:
Cluster - cluster_name:MaxTRESPerJob=node=15
هر آنچه در این سطر گنجانده شود، پیشفرضی برای تمام انتسابها در این کلاستر خواهد بود. گزینههای مربوط به کلاستر عبارتند از:
- سهمهای تخصیصیافته که برای محاسبه fairshare استفاده میشوند.
- GrpJobs=
- حداکثر تعداد کارهای در حال اجرا در مجموع برای این انتساب و فرزندان آن.
- GrpJobsAccrue=
- حداکثر تعداد کارهای در حال انتظار در مجموع که قادر به اندوختن اولویت سنی (age priority) برای این انتساب و فرزندان آن هستند.
- GrpNodes=
- این گزینه منسوخ شده و TRES چندمنظورهتر جایگزین آن شده است. تعریف محدودیت معادل اکنون بهصورت GrpTRES=node=# است.
- GrpSubmitJobs=
- حداکثر تعداد کارها در وضعیت انتظار یا در حال اجرا در هر زمان در مجموع برای این انتساب و فرزندان آن.
- GrpTRES=
- حداکثر تعداد TRES قابل تخصیص توسط کارهای در حال اجرا در مجموع برای این انتساب و فرزندان آن.
- GrpTRESMins=
- حداکثر تعداد دقیقههای TRES که احتمالاً میتواند توسط کارهای گذشته، حال و آینده در این انتساب و فرزندان آن مصرف شود.
- GrpTRESRunMins=
- حداکثر تعداد دقیقههای TRES قابل تخصیص توسط کارهای در حال اجرا در این انتساب و فرزندان آن. این گزینه محدودیت زمانی کارهای در حال اجرا را در نظر گرفته و آن را مصرف میکند. اگر به این محدودیت رسیده شود، هیچ کار جدیدی شروع نمیشود تا زمانی که سایر کارها پایان یابند و زمان آزاد شود.
- GrpWall=
- حداکثر زمان ساعت دیواری (wall clock time) قابل تخصیص توسط کارهای در حال اجرا در مجموع در این انتساب و فرزندان آن.
- MaxJobs=
- حداکثر تعداد کارهای در حال اجرا به ازای هر کاربر در این انتساب.
- MaxTRESPerJob=
- حداکثر تعداد TRES که هر کار میتواند در این انتساب استفاده کند.
- MaxWallDurationPerJob=
- حداکثر زمان ساعت دیواری که هر کار میتواند در این انتساب استفاده کند.
- QOS=
- فهرست جداشده با کاما از نامهای کیفیت سرویس (تعریفشده در sacctmgr).
پس از ورودی حساب root، ورودیهای مربوط به سایر حسابهای سامانه را خواهید داشت. این ورودیها شبیه به این مثال خواهند بود:
Parent - root Account - cs:MaxTRESPerJob=node=5:MaxJobs=4:FairShare=399:MaxWallDurationPerJob=40:Description='Computer Science':Organization='LC' Parent - cs Account - test:MaxTRESPerJob=node=1:MaxJobs=1:FairShare=1:MaxWallDurationPerJob=1:Description='Test Account':Organization='Test'
هر یک از گزینههای پس از یک “:” میتوانند حذف شوند و میتوانند با هر ترتیبی بیایند. اگر میخواهید زیرحسابی اضافه کنید، تنها کافی است والدی را که از قبل ایجاد شده است (Parent THAT HAS ALREADY BEEN CREATED)، پیش از حسابی که میافزایید قید کنید.
گزینههای Account عبارتند از:
- Description=
- توضیحی مختصر درباره حساب.
- عددی که همراه با سایر انتسابها برای تعیین اولویت کار استفاده میشود..IP
- GrpTRES=
- حداکثر تعداد TRES قابل تخصیص توسط کارهای در حال اجرا در مجموع برای این انتساب (association) و فرزندان آن.
- GrpTRESMins=
- حداکثر تعداد TRES-دقیقه که امکان دارد توسط کارهای گذشته، حال و آینده در این انتساب و فرزندان آن استفاده شود.
- GrpTRESRunMins=
- حداکثر تعداد TRES-دقیقه قابل تخصیص توسط کارهای در حال اجرا در این انتساب و فرزندان آن. این گزینه محدودیت زمانی کارهای در حال اجرا را در نظر گرفته و آن را مصرف میکند. اگر به این محدودیت برسد، تا زمان پایان یافتن سایر کارها و آزاد شدن زمان، هیچ کار جدیدی شروع نخواهد شد.
- GrpJobs=
- حداکثر تعداد کارهای در حال اجرا در مجموع برای این انتساب و فرزندان آن.
- GrpJobsAccrue=
- حداکثر تعداد کارهای معلق در مجموع که قادر به کسب اولویت سنی (age priority) برای این انتساب و فرزندان آن هستند.
- GrpNodes=
- این گزینه به نفع ویژگی چندمنظورهتر TRES منسوخ شده است. تعریف محدودیت معادل اکنون GrpTRES=node=# است.
- GrpSubmitJobs=
- حداکثر تعداد کارها در وضعیت معلق یا در حال اجرا در هر زمان در مجموع برای این انتساب و فرزندان آن.
- GrpWall=
- حداکثر زمان واقعی (wall clock time) قابل تخصیص توسط کارهای در حال اجرا در مجموع در این انتساب و فرزندان آن.
- MaxJobs=
- حداکثر تعداد کارهای در حال اجرا به ازای هر کاربر در این انتساب.
- MaxNodesPerJob=
- حداکثر تعداد گرهها به ازای هر کار در این انتساب.
- MaxWallDurationPerJob=
- حداکثر مدت زمان واقعی (wall clock) که هر کار میتواند در این انتساب استفاده کند.
- Organization=
- نام سازمانی که مالک این حساب است.
- QOS(=,+=,-=)
- فهرستی از نامهای کیفیت خدمات (QOS) جداشده با کاما (تعریفشده در sacctmgr).
برای افزودن کاربران به یک حساب، خطی مشابه زیر را بعد از خط Parent اضافه کنید:
Parent - test User - adam:MaxTRESPerJob=node:2:MaxJobs=3:FairShare=1:MaxWallDurationPerJob=1:AdminLevel=Operator:Coordinator='test'
گزینههای کاربر عبارتند از:
- AdminLevel=
- نوع مدیر
مربوط به
این کاربر
(Administrator، Operator)
باید در اولین رخداد کاربر تعریف شود.
- Coordinator=
- فهرستی
جداشده با
کاما از
حسابهایی
که این
کاربر
هماهنگکننده
(coordinator) آنها
است
باید در اولین رخداد کاربر تعریف شود.
- DefaultAccount=
- نام حساب
پیشفرض در
سراسر
سیستم
باید در اولین رخداد کاربر تعریف شود.
- عددی که همراه با سایر انتسابها برای تعیین اولویت کار استفاده میشود.
- MaxJobs=
- حداکثر تعداد کارهای در حال اجرا از این کاربر.
- MaxTRESPerJob=
- حداکثر مقدار TRES که هر کار از این کاربر میتواند استفاده کند.
- MaxWallDurationPerJob=
- حداکثر زمان واقعی (wall clock) که هر کار از این کاربر میتواند استفاده کند.
- QOS(=,+=,-=)
- فهرستی از نامهای کیفیت خدمات (QOS) جداشده با کاما (تعریفشده در sacctmgr).
- دستور sacctmgr توانایی آرشیو دادهها در یک فایل متنی ساده (flatfile) و در صورت نیاز، بارگذاری مجدد آن دادهها در آینده را دارد. آرشیو کردن معمولاً توسط slurmdbd انجام میشود و اکیداً توصیه میشود تنها در صورتی این کار را از طریق sacctmgr انجام دهید که کاملاً به فرآیند کاری خود اشراف داشته باشید. برای مشاهده گزینههای slurmdbd، جهت کسب اطلاعات بیشتر به "man slurmdbd" مراجعه کنید. بارگذاری دادهها در پایگاه داده میتواند از این فایلها برای مشاهده دادههای قدیمی یا بازتولید دادههای تجمیعشده (rolled up) صورت پذیرد. برای کسب اطلاعات درباره پیکربندی یک کارگزار آرشیو، https://slurm.schedmd.com/accounting.html#archive را ببینید.
archive dump
تخلیه دادههای حسابداری در فایل. دادهها آرشیو نخواهند شد مگر اینکه گزینه پاکسازی (purge) متناظر در این دستور یا در slurmdbd.conf گنجانده شده باشد. این عملیات پس از اجرا قابل بازگشت نیست. اگر هنگام فراخوانی sacctmgr یکی از گزینههای زیر مشخص نشود، مقدار پیکربندیشده در slurmdbd.conf اعمال خواهد شد.
- Directory=
- دایرکتوری مقصد برای ذخیره دادههای آرشیو.
- Events
- هنگام پاکسازی رخدادها، آنها را آرشیو نیز بکند. پیشفرض بر حذف دائمی رکوردهای پاکسازیشده است.
- Jobs
- هنگام پاکسازی کارها، آنها را به همراه اسکریپتها و محیطها آرشیو نیز بکند. پیشفرض بر حذف دائمی رکوردهای پاکسازیشده است.
- JobScript
- هنگام پاکسازی اسکریپتهای کار، آنها را نیز آرشیو کند. پیشفرض، پیروی از Jobs است.
- JobEnv
- هنگام پاکسازی محیطهای کار، آنها را نیز آرشیو کند. پیشفرض، پیروی از Jobs است.
- PurgeEventAfter=
- پاکسازی رکوردهای رخداد خوشه که قدیمیتر از زمان اعلامشده باشند. واحدها بر حسب ماه (پیشفرض)، روز یا ساعت هستند. برای نمونه، مقدار "12hours" تمام رکوردهای قدیمیتر از ۱۲ ساعت را پاکسازی میکند.
- PurgeJobAfter=
- پاکسازی
رکوردهای
مجزای کار
که
قدیمیتر
از زمان
اعلامشده
باشند (بر
اساس زمان
پایان).
اطلاعات
تجمیعشده
تا مقدار
"PurgeUsageAfter" حفظ
خواهند شد.
واحدها بر
حسب ماه
(پیشفرض)،
روز یا ساعت
هستند. برای
نمونه،
مقدار "12hours"
تمام چنین
رکوردهایی
را که
قدیمیتر
از ۱۲ ساعت
باشند
پاکسازی
خواهد کرد.
NOTE: اگر گزینههای اختصاصی پاکسازی مربوط به اسکریپتها و محیطهای کار (PurgeJobScriptAfter و PurgeJobEnvAfter) تعیین نشده باشند، این گزینه شامل آنها نیز خواهد شد.
- PurgeJobScriptAfter=
- پاکسازی رکوردهای اسکریپت کار که قدیمیتر از زمان اعلامشده باشند (بر اساس زمان پایان). واحدها بر حسب ماه (پیشفرض)، روز یا ساعت هستند. برای نمونه، مقدار "12hours" تمام رکوردهای قدیمیتر از ۱۲ ساعت را پاکسازی خواهد کرد.
- PurgeJobEnvAfter=
- پاکسازی رکوردهای محیط کار که قدیمیتر از زمان اعلامشده باشند (بر اساس زمان پایان). واحدها بر حسب ماه (پیشفرض)، روز یا ساعت هستند. برای نمونه، مقدار "12hours" تمام رکوردهای قدیمیتر از ۱۲ ساعت را پاکسازی میکند.
- PurgeResvAfter=
- پاکسازی رکوردهای رزرو که قدیمیتر از زمان اعلامشده باشند (بر اساس زمان پایان). اطلاعات تجمیعشده تا مقدار "PurgeUsageAfter" حفظ خواهند شد. واحدها بر حسب ماه (پیشفرض)، روز یا ساعت هستند. برای نمونه، مقدار "12hours" تمام رکوردهای قدیمیتر از ۱۲ ساعت را پاکسازی میکند.
- PurgeStepAfter=
- پاکسازی رکوردهای گام (step) که قدیمیتر از زمان اعلامشده باشند (بر اساس زمان پایان). واحدها بر حسب ماه (پیشفرض)، روز یا ساعت هستند. برای نمونه، مقدار "12hours" تمام رکوردهای قدیمیتر از ۱۲ ساعت را پاکسازی میکند.
- PurgeSuspendAfter=
- پاکسازی رکوردهای تعلیق کار که قدیمیتر از زمان اعلامشده باشند. واحدها بر حسب ماه (پیشفرض)، روز یا ساعت هستند. برای نمونه، مقدار "12hours" تمام رکوردهای قدیمیتر از ۱۲ ساعت را پاکسازی میکند.
- PurgeTXNAfter=
- پاکسازی رکوردهای تراکنش که قدیمیتر از زمان اعلامشده باشند. واحدها بر حسب ماه (پیشفرض)، روز یا ساعت هستند. برای نمونه، مقدار "12hours" تمام رکوردهای قدیمیتر از ۱۲ ساعت را پاکسازی میکند.
- PurgeUsageAfter=
- پاکسازی رکوردهای مصرف (Cluster، Association، QOS و WCKey) که قدیمیتر از زمان مشخصشده باشند (بر اساس زمان ایجاد یا آخرین ویرایش). این جدولها منبع گزارشهای تولیدشده توسط دستور sreport(1) هستند. واحدها بر حسب ماه (پیشفرض)، روز یا ساعت هستند. برای نمونه، مقدار "12hours" تمام رکوردهای قدیمیتر از ۱۲ ساعت را پاکسازی میکند.
- Reservations
- هنگام پاکسازی رزروها، آنها را آرشیو نیز بکند. پیشفرض بر حذف دائمی رکوردهای پاکسازیشده است.
- Script=
- بهجای روش عمومی آرشیو در فایلهای متنی ساده، این اسکریپت را اجرا کند.
- Steps
- هنگام پاکسازی گامها، آنها را آرشیو نیز بکند. پیشفرض بر حذف دائمی رکوردهای پاکسازیشده است.
- Suspend
- هنگام پاکسازی رکوردهای تعلیق، آنها را آرشیو نیز بکند. پیشفرض بر حذف دائمی رکوردهای پاکسازیشده است.
- TXN
- هنگام پاکسازی رکوردهای تراکنش، آنها را آرشیو نیز بکند. پیشفرض بر حذف دائمی رکوردهای پاکسازیشده است.
- Usage
- هنگام پاکسازی رکوردهای مصرف، آنها را آرشیو نیز بکند. پیشفرض بر حذف دائمی رکوردهای پاکسازیشده است.
- دادههای بایگانیشدهٔ قبلی را در پایگاهداده بارگذاری میکند. اگر رکوردها از قبل در پایگاهداده موجود باشند، فایل بایگانی بارگذاری نخواهد شد - بنابراین، تلاش برای بارگذاری بیش از یکبار یک فایل بایگانی به خطا منجر میشود. هنگامی که این دادهها دوباره بایگانی شده و از پایگاهداده پاکسازی (purge) شوند، چنانچه فایل بایگانی قبلی همچنان در دایرکتوری ArchiveDir باقی مانده باشد، یک فایل بایگانی جدید ایجاد خواهد شد (به ArchiveDir در صفحه راهنمای slurmdbd.conf مراجعه کنید)؛ بنابراین فایل قدیمی بازنویسی نشده و این فایلها شامل رکوردهای تکراری خواهند بود.
فایلهای بایگانی مربوط به نگارش جاری یا هر یک از نگارشهای پیشین Slurm را میتوان از طریق archive load بارگذاری کرد.
کارایی (PERFORMANCE)
اجرای sacctmgr یک فراخوانی رویه از راه دور (RPC) به slurmdbd ارسال میکند. اگر فراخوانیهای زیادی به طور همزمان از سوی sacctmgr یا سایر دستورهای کلاینت Slurm که به دیمن slurmdbd فراخوانی از راه دور میفرستند انجام شود، میتواند به افت کارایی دیمن slurmdbd و احتمالاً ایجاد وضعیت محرومیت از سرویس (DoS) منجر شود.
دستور sacctmgr یا سایر دستورهای کلاینت Slurm را که به slurmdbd فراخوانی رویه از راه دور ارسال میکنند، از داخل حلقهها در اسکریپتهای شل یا سایر برنامهها اجرا نکنید. اطمینان حاصل کنید که برنامهها فراخوانیهای sacctmgr را به حداقل میزان لازم برای اطلاعاتی که در پی جمعآوری آن هستید محدود کنند.
متغیرهای محیطی (ENVIRONMENT VARIABLES)
برخی از گزینههای sacctmgr ممکن است از طریق متغیرهای محیطی تنظیم شوند. این متغیرهای محیطی، به همراه گزینههای متناظرشان، در زیر فهرست شدهاند. (نکته: گزینههای خط فرمان همواره بر این تنظیمات اولویت خواهند داشت.)
- SLURM_CONF
- مکان فایل پیکربندی Slurm.
- SLURM_DEBUG_FLAGS
- پرچمهای اشکالزدایی را برای استفاده توسط sacctmgr مشخص میکند. برای فهرست کامل پرچمها، به DebugFlags در صفحه راهنمای slurm.conf(5) مراجعه کنید. این متغیر محیطی بر تنظیمات موجود در slurm.conf اولویت دارد.
- SLURM_JSON
- کنترل سریالسازی JSON:
- compact
- تولید خروجی JSON تا حد ممکن فشرده.
- pretty
- تولید خروجی JSON در قالب زیبا و آراسته برای خوانایی بیشتر.
- SLURM_YAML
- کنترل سریالسازی YAML:
مثالها (EXAMPLES)
نکته: برای برپایی انتسابهای حسابداری (accounting associations) ترتیبی وجود دارد. شما باید پیش از افزودن حسابها خوشهها را تعریف کنید، و پیش از افزودن کاربران باید حسابها را اضافه نمایید.
$ sacctmgr create cluster tux $ sacctmgr create account name=science fairshare=50 $ sacctmgr create account name=chemistry parent=science fairshare=30 $ sacctmgr create account name=physics parent=science fairshare=20 $ sacctmgr create user name=adam cluster=tux account=physics fairshare=10 $ sacctmgr delete user name=adam cluster=tux account=physics $ sacctmgr delete user name=adam cluster=tux account=science partition=\"\" $ sacctmgr delete account name=physics cluster=tux $ sacctmgr modify user where name=adam cluster=tux account=physics set maxjobs=2 maxwall=30:00 $ sacctmgr add user brian account=chemistry $ sacctmgr list associations cluster=tux format=Account,Cluster,User,Fairshare tree withd $ sacctmgr list transactions Action="Add Users" Start=11/03-10:30:00 format=Where,Time $ sacctmgr dump cluster=tux file=tux_data_file $ sacctmgr load tux_data_file
حساب یک کاربر را نمیتوان مستقیماً تغییر داد. لازم است یک انتساب جدید برای کاربر با حساب جدید ایجاد شود. سپس میتوان انتساب مرتبط با حساب قدیمی را حذف کرد.
هنگام ویرایش یک شیء، جایگذاری کلیدواژه 'set' و کلیدواژه اختیاری 'where' برای عملکرد صحیح حیاتی است؛ در ادامه مثالهایی برای دستیابی به نتایج درست آمده است. به عنوان یک قاعده سرانگشتی، هر چیزی که قبل از set قرار دهید به عنوان شرط و شناساگر استفاده خواهد شد. اگر میخواهید شرطی را بعد از کلیدواژه 'set' قرار دهید، باید از کلیدواژه 'where' استفاده کنید. مورد زیر نادرست است:
$ sacctmgr modify user name=adam set fairshare=10 cluster=tux
این دستور باعث ایجاد خطا میشود، زیرا خط بالا به صورت modify user adam set fairshare=10 and cluster=tux خوانده میشود. هر یک از موارد زیر صحیح است:
$ sacctmgr modify user name=adam cluster=tux set fairshare=10 $ sacctmgr modify user name=adam set fairshare=10 where cluster=tux
هنگام تغییر qos برای یک مورد، تنها زمانی از عملگر '=' استفاده کنید که بخواهید صراحتاً مقدار qos را تعیین کنید. در بیشتر موارد بهتر است از عملگرهای '+=' یا '-=' برای افزودن به qos فعلی یا کاستن از آن استفاده نمایید.
اگر کاربری از قبل برای یک والد دارای qos از نوع normal,standby باشد یا اینکه صراحتاً تنظیم شده باشد، باید از qos+=expedite برای اضافه کردن آن به فهرست به این شیوه استفاده کنید.
اگر قصد دارید qos مقدار expedite را تنها به یک حساب کاربری یا خوشه خاص اضافه کنید، میتوانید با مشخص کردن آنها در خط دستور sacctmgr این کار را انجام دهید.
$ sacctmgr modify user name=adam set qos+=expedite
یا
$ sacctmgr modify user name=adam acct=this cluster=tux set qos+=expedite
در ادامه مثالی از نحوه افزودن QOS به حسابهای کاربری ارائه میشود. فهرست کردن تمام QOSهای موجود در خوشه:
$ sacctmgr show qos format=name
Name
---------
normal
expedite
فهرست کردن تمام انتسابها در خوشه:
$ sacctmgr show assoc format=cluster,account,qos
Cluster Account QOS
-------- ---------- --------------------
zebra root normal
zebra root normal
zebra g normal
zebra g1 normal
افزودن QOS نوع expedite به حساب g1 و نمایش نتیجه. با استفاده از عملگر += مقدار QOS به همراه QOS موجود به این حساب اضافه میشود:
$ sacctmgr modify account name=g1 set qos+=expedite
$ sacctmgr show assoc format=cluster,account,qos
Cluster Account QOS
-------- ---------- --------------------
zebra root normal
zebra root normal
zebra g normal
zebra g1 expedite,normal
اکنون QOS مقدار expedite را به عنوان تنها QOS حساب G تنظیم کرده و نتیجه را نمایش میدهیم. استفاده از عملگر = نشان میدهد که expedite تنها QOS قابل استفاده توسط حساب G خواهد بود:
$ sacctmgr modify account name=G set qos=expedite
$ sacctmgr show assoc format=cluster,account,qos
Cluster Account QOS
-------- ---------- --------------------
zebra root normal
zebra root normal
zebra g expedite
zebra g1 expedite,normal
اگر حساب جدیدی زیرمجموعه حساب G اضافه شود، QOS نوع expedite را به ارث میبرد و به QOS نوع normal دسترسی نخواهد داشت.
$ sacctmgr add account banana parent=G
$ sacctmgr show assoc format=cluster,account,qos
Cluster Account QOS
-------- ---------- --------------------
zebra root normal
zebra root normal
zebra g expedite
zebra banana expedite
zebra g1 expedite,normal
مثالی از فهرست کردن منابع قابل ردیابی (TRES):
$ sacctmgr show tres
Type Name ID
---------- ----------------- --------
cpu 1
mem 2
energy 3
node 4
billing 5
gres gpu:tesla 1001
license vcs 1002
bb cray 1003
کپیرایت (C) 2008-2010 Lawrence Livermore National Security.
تولید شده در Lawrence Livermore National Laboratory (ر.ک. DISCLAIMER).
کپیرایت (C) 2010-2022 SchedMD LLC.
این فایل بخشی از Slurm، یک برنامه مدیریت منابع است. برای جزئیات بیشتر، <https://slurm.schedmd.com> را ببینید.
نرمافزار Slurm یک نرمافزار آزاد است؛ شما میتوانید آن را تحت شرایط مجوز عمومی همگانی گنو (GNU General Public License) همانطور که توسط بنیاد نرمافزار آزاد منتشر شده است، چه نسخه ۲ مجوز و چه (به انتخاب خودتان) هر نسخهٔ بعدی دیگری، بازتوزیع کرده و/یا تغییر دهید.
نرمافزار Slurm با این امید که مفید واقع شود توزیع شده است، اما بدون هرگونه ضمانت؛ حتی بدون ضمانت ضمنی قابلیت فروش یا مناسب بودن برای یک هدف خاص. برای جزئیات بیشتر به مجوز عمومی همگانی گنو مراجعه کنید.
همچنین ببینید (SEE ALSO)
| Slurm Commands | Slurm 26.05 |