ه‍.ش. ۱۳۸۹ اسفند ۱۸, چهارشنبه

سیستم زمانبندی اجرای برنامه‌ها، یا صف

یکی از مهمترین مواردی که در محاسبات کامپیوتری باید در نظر گرفته شود، استفاده بهینه از تجهیزات است. یعنی حداکثر استفاده ممکن از تجهیزات کامپیوتری که در اختیار ما قرار دارد.

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

این مسئله هنگامیکه تعداد کامپیوتر‌ها از یکی بیشتر می‌شود اهمیت بیشتری پیدا می‌کند.

یکی از بهترین راه‌های استفاده از تجهیزات برای اجرای برنامه‌های محاسباتی استفاده از سیستم صف است. این سیستم به شما اجازه ما‌دهد که برنامه‌ها را به سیستم مورد نظری که قرار است انها را اجرا کند ارائه (سابمیت) کنید و برنامه‌ها یکی پس از دیگری در صف قرار بگیرند. سپس برنامه ها به صورت مرتب و پشت سر هم -بدون به وجود آمدن وقفه بین اجرای دو برنامه- اجرا شوند. مثلا در مثالی که مطرح شد، چون کامپیوتر دو هسته‌ای است پس در آن واحد دو برنامه می تواند اجرا شود. سیستم صف به محض به اتمام رسیدن هر یک از آن دو برنامه، برنامه بعدی را مه در صف قرار گرفته اجرا می‌کند.

نرم‌افزارهای مختلفی وجود دارند که برای برنامه ریزی و اجرای برنامه‌ها در صف استفاده می‌شوند که از آن جمله PBS، LSF و OGE و Condor و غیره را می‌توان نام برد. بعضی از این نرم افزارها فرای این مسئله به بهینه توزیع نمودن اجرای برنامه های روی سیستمهای عظیم کامپیوتری و تنظیم نحوه استفاده کاربران بر اساس اولویت و حق استفاده آنها نیز می‌پردازند.

در پست‌های بعدی سعی خواهم کرد به بعضی از این سیستمها و نحوه استفاده از آنها اشاره کنم.

واژگان:
Queue
Oracle Grid Engine (OGE)
Portable Batch System (PBS)
Platform LSF
TORQUE Resource Manager
Condor High-Throughput Computing System