ارايه يك روش چيدمان خلاقانه جديد براي زمانبندي دسترسي به شبكه جهت كاهش انجام درخواستها سهراب خانمحمدي سولماز عبدالهي زاد استاد گروه مهندسي كنترل دانشگاه تبريز تبريز ايران Khamohammadi.sohrab@tabrizu.ac.ir دانشجوي كارشناسي ارشد گروه كامپيوتر دانشگاه شبستر شبستر ايران sk_abdolahi@yahoo.com چكيده دراين مقاله يك روش جديد براي به حداقل رساندن مقدار و در زمانبندي استاتيك و ديناميك تك ماشينه پيشنهاد گرديده است. قابليت محاسباتي روش ارايه شده براي مساي ل كوچك با حداكثر 0 عدد Job و مساي ل بزرگ تا 00 عدد Job بررسي شده است. ملاك ارزيابي در مورد مساي ل كوچك پيدا كردن حالت بهينه و مي باشد. اين حالت با بررسي تمام حالتهاي ممكن قابل حصول مي باشد. درمورد مساي ل بزرگ بدليل عدم امكان رسيدن به جواب بهينه ) بدليل افزايش فوق العاده زياد حالتها ( از مقايسه بين روش ابداعي و روش هاي شناخته شده استفاده شده است. روش ارايه شده نوعي روش خلاقانه مي باشد كه ترتيب چيدن Job ها را به صورت يك در ميان بين دو شاخه V شكل و از صعودي به نزولي انجام مي دهد. براي مسايل كوچك روش مقايسه در و روش (Shortest Processig Time) SPT و روش ارايه شده با حالت بهينه مقايسه گرديده است. اين زمانبندي ها و براي Job هاي تصادفي با دو نوع توزيع نرمال و نمايي مي باشد. نتايج نشان مي دهد كه در مورد روش SPT از بقيه روشها بهتر بوده و در مورد روش ارايه شده پاسخ بهتري مي دهد كه اختلاف ناچيزي با حالت بهينه دارد. براي مسايل بزرگ سه روش مذكور از نظر نسبت به هم مقايسه گرديده اند. براي اين مقايسه نيز دو نوع توزيع نمايي و نرمال براي jobها در نظر گرفته شده است. نتايج شبيه سازي ها نشان مي دهد كه براي اين مسايل نيز روش ارايه شده SPT دارد. كمتري نسبت به روشهاي و كلمات كليدي زمانبندي تك ماشينه استاتيك ديناميك بافر SPT LPT
- مقدمه زمانبندي كارها يكي ازمطالب مهم درحوزه مهندسي سيستم مي باشد كه كاربردهاي زيادي درعمل پيداكرده است. در اين راستا زمانبندي كارها روي يك ماشين نيز به عنوان يك مسي له پايه مورد توجه قرار مي گيرد. دراين زمانبندي تعدادي Job در زمان هاي مختلف به يك ماشين جهت پردازش مراجعه مي كنند. اگر اين Job ها درلحظه صفر رسيده باشند به صورت استاتيك و اگر در زمان هاي مختلف برسند به صورت ديناميك بررسي مي شوند. يكي از كاربردهاي مهم اين نوع زمانبندي تك ماشينه دركامپيوتر و اينترنت مي باشد. با گسترش شبكه هاي كامپيوتري درخواست هاي ارتباطي از منابع و مسيرهاي محدود نيز افزايش پيدا كرده است[ ]. كيفيت سرويس دهي service) (Quality of از پارامترهاي مهم ارزيابي يك چنين ارتباطي مي باشد. مدل Qos را مي توان در سه سطح محلي منطقه اي وجهاني بررسي نمود. درحالت محلي هدف تامين يك سرويس پايدار با وجود وابستگي به منابع انحصاري مي باشد. يك منبع روي يك كامپيوتر با سيستم شبكه از موارد قابل بررسي محلي مي باشد. منابع در پاسخ به كاربرها سرويسهايي را براي پردازش تامين مي كنند كه اصطلاحا سرويس پاسخ ناميده مي شود. در يك كامپيوتر وسيستم شبكه يك روتر يك منبع است كه سرويس مسير يابي وهدايت بسته ها را به عهده دارد.همين بحث را مي توان دردوسطح منطقه اي وجهاني نيز داشت[ 2 ]. زمان يك عامل مهم در Qos يك شبكه كامپيوتري است. اين زمان مي تواند شامل تاخيرها وزمان پاسخ باشد. تاخير به زماني اطلاق مي شود كه يك Job در يك كامپيوتر يا منبع شبكه صرف مي كند.اين زمان از لحظه ورود Job تا لحظه اي را شامل مي شود كه منبع بعد از سرويس لازم به آن Job آزاد مي شود. زمان پاسخ معمولا لحظه بين ارسال يك نياز به سرويس تا لحظه دريافت پاسخ است. بعنوان مثال در مرورگرهاي وب زمان پاسخ برابر با زمان بين ارسال يك نياز وب و رسيدن صفحه وب خواسته شده مي باشد. بنابراين زمان پاسخ شامل همه تاخيرها در كلاينت (cliet) و سرور (Server) وانتقال داده بين آنها و تمام مسيرياب هاي واقع بين كلاينت و سرور است. ازاهداف مهم درزمانبندي تك ماشينه حداقل كردن يا زمان پاسخ يا تركيب خطي هر دو آنها مي باشد ] 3 ]. يك حداقل در پاسخ به درخواستهاي زياد وب بدين معني است كه در حداقل زمان ممكن بتوانيم به همه آنها پاسخ دهيم. يك حداقل نيز بدين معني مي باشد كه يك عدالت بين درخواستها رعايت شود يا بعبارت بهتر تمامي در خواستها داراي زمان هاي انتظار نسبتا متعادل باشند. زياد در پاسخ به يك درخواست وب خارج ازانتظار كاربر بوده و نامطلوب است. سرويس مطلوب بايد تا حدود زيادي نيازهاي كارير را در نظر بگيرد تا كاربر بتواند براي درخواستهاي بعدي وب تصميم گيري و پيش بيني داشته باشد. اصطلاحا يك چنين سيستمي را اصطلاحا پايدار مي نامند [4,5]. 2- تعريف مسي له فرض كنيد درخواست وب بايد بطور پيوسته از طريق روتر مسيريابي وهدايت شوند. اين درخواست ها رابعنوان Job در نظر مي گيريم كه بدون حق تقدم نسبت به يكديگر در يك ماشين بايد پردازش شوند. Job ها در طول زمان مي رسند و هر Job داراي دو مشخصه اصلي مي باشد يكي زمان رسيدن و دومي زمان پردازش آن. هردومشخصه اين Jobها بصورت تصادفي با توزيع نمايي يا نرمال ايجاد مي شود. زمان تكميل هر Job با انديس j را بصورت دهيم. C j نشان مي براي اين زمانبندي دو تابع هدف تعريف كرده ايم كه بايد آنها را حداقل كنيم. اولي زماني انجام Job ها مي باشد كه با C نشان مي دهيم و طبق رابطه () تعريف مي شود. C ( π ) = ( π ) C j j= () در اين رابطه π نشان دهنده دنباله اي از job ها است. و دومي زماني انجام Job ها مي باشد كه با دهيم وطبق رابطه (2) تعريف مي شود: C V Cv( π ) = ( C j ( π ) C ( π )) j= (2) نشان مي هردورابطه نشان دهنده دنباله موردنظر از Job ها مي باشد. پس هدف دراين نوع مساي ل حداقل كردن C V يا C مي باشد.اصولا چون اين نوع مساي ل زمانبندي از نوع NP-hard مي باشد. لذا با روش ها و الگوريتم هاي رياضي دقيق نمي توان پاسخ بهينه براي آن بدست آورد [6]. بنابراين براي يافتن پاسخ بهينه بايد تمام حالتهاي ممكن را بررسي نمود. روشهايي نيز وجود دارند كه جوابهاي حداقل بدست مي دهند با اين تفاوت كه ممكن است حداقل بهينه نباشد و نزديك به بهينه باشد. بنابر اين در اين مقاله سعي كرده ايم كه يك روش خلاقانه ارايه داده و پاسخ تابع هدف را مشاهده كنيم. اين پاسخ حالتي كه اندازه مسي له كوچك و حالتي كه اندازه مسي له بزرگ است مورد مقايسه و بررسي قرار گرفته است. در مساي ل با اندازه كوچك مي توان جواب بهينه را با بررسي تمام حالات ممكن بدست آورده و ملاك ارزيابي قرارداد ولي در مساي ل بزرگ اين امكان وجود ندارد بنابراين پاسخ روش پيشنهادي در اين مقاله با روشهاي شناخته شده مقايسه شده است[ 7 ]. 3- روش هاي شناخته شده زمانبندي
پيداكردن زماني انجام Job ها يكي از هدف هاي مهم در تي وري زمانبندي است. اساسي ترين نتيجه درتي وري زمانبندي اين است كه چيدمان كوتاهترين زمان پردازش يا (Shortest SPT time) processig باعث حداقل شدن انجام Job ها مي شود. درمورد مساي ل زمانبندي اتفاقي ثابت شده كه مرتب سازي Job ها به روش ESPT (Expected SPT) تيجه بهينه اي نسبت به زمان مورد انتظار مي دهد. درمساي ل زمانبندي ديناميك چنانچه Job با كمترين زمان پردازش را به ترتيب انجام دهيم مي توانيم كمتري نسبت به بقيه روش ها بدست آوريم[ 8 ]. درمورد پيداكردن حداقل نيز ثابت شده است كه زمانبندي كه بتواند حداقل را داشته باشد حتما داراي ساختارV زمان انتظار Jobها شكل مي جدول( ): نمونه اي از دنباله job با زمانبندي خلاقانه زمان انجام Job ها باشد. يعني بايد در وسط زمانبندي Job با كمترين زمان پروسس داشته باشيم و در شاخه هاي سمت راست و چپ نيز Job ها بصورت صعودي افزايش پيدا كنند [9 ]. زمان هاي انتظار Job ها 0 5 25 3 39 5 30/5 72/4 دنباله Job 5 0 6 8 2 20-3 Job هاي بعدي به ترتيب از بزرگتر به كوچكتر وبصورت يك در ميان در شاخه راست وچپ قرار مي گيرند تا همه Job ها مرتب شده باشند. به طور مثال اگر Job ها داراي زمان پردازش 20 6 8 5 2 0 باشد اين الگوريتم آنها را بصورت[ 5 0 6 8 2 20 ] زمانبندي خواهد كرد. جدول مقدار اين دنباله رانشان مي دهد. 4- نحوه تست روش ابداعي ملاك ارزيابي پاسخ هاي بدست آمده با توجه به اندازه مساي ل متفاوت مي باشد. دراين مقاله با دو اندازه ازمساي ل مواجه مي باشيم. مساي ل با 0 عدد Job را جزو مسايل كوچك و مساي ل با 00 عدد Job را جزو مساي ل بزرگ طبقه بندي كرديم. براي مساي ل كوچك امكان پيدا كردن جواب بهينه وجود دارد. بلوك دياگرام شكل () طريقه يافتن اين پاسخ را بيان مي كند. دراين برنامه تمامي حالتهاي ممكن بررسي و مقدار و براي هر دنباله محاسبه مي گردد بعد از اتمام تمام دنباله هاي ممكن از تا ) 0 تعداد حالتها!0 مي باشد ( و بهينه پيدا مي شود. براي اينكه يك معيار مشخص و صحيح براي مقايسه پاسخ هاي بدست آمده داشته باشيم نياز به پيدا كردن پاسخ هاي بهينه داريم. با توجه به اينكه تعداد job ها در زمانبندي تك ماشينه براي اندازه كوچك 0 عدد در نظر گرفته شده است لذا تعداد حالتهاي ممكن!0 مي باشد. اين تعداد حالت را مي توان در محيط شبيه سازي نرم افزار MATLAB بوجود آورده و براي هر حالت امكان بهينه بودن از روش هاي متداول براي زمانبندي Job ها در كامپيوتر روش يا FCFS است. يعني هر Job كه اول آمده باشد آن Job در تقدم انجام پردازش مي باشد و زمان پردازش Job ها هيچ نقشي در مرتب سازي آنها ندارد. بررسي ما در اين مرحله شامل دوحالت استاتيك وديناميك مي باشد ولي چون حالت استاتيك را مي توان حالت خاصي از ديناميك فرض كرد پس حالت ديناميك را بررسي و نتيجه آن را تعميم مي دهيم. زمانبندي مورد نظر ما دراين مقاله ازنوع NON-DELAY مي باشد بدين معني كه نبايد در اين زمانبندي زمان بيكاري در ماشين وجود داشته باشد. با مطالعه ساختار V شكل براي حداقل شدن مقدار زماني اين ايده قوت گرفت كه الگوريتم خلاقانه اي را ابداع كنيم كه داراي ساختار شبيه به V باشد. دراين ميان الگوريتم هايي وجود دارد كه در مورد حالت استاتيك پيشنهادهايي داده اند[ 4 ]. براي حالت ديناميك با آزمايش الگوريتم هاي مختلف كه منجر به پديد آمدن ساختار V شكل درزمانبندي مي شود نهايتا يك الگوريتم كه جواب بهتري در حالت ديناميك مي دهد را انتخاب كرديم. مراحل الگوريتم خلاقانه ابداعي به شكل زير مي باشد: - يك Job با بزرگترين زمان پردازش درانتهاي مسير (شاخه راست.( - 2 Job بعدي با رتبه بعدي دربزرگي زمان پردازش در شاخه سمت چپ.
جواب را تست كرد. براي انجام اين فرايند و پيدا كردن پاسخ بهينه مطابق شكل عمل نموديم. شكل (): بلوك دياگرام يافتن پاسخ بهينه f بلوك 2 از برنامه وظيفه توليد رندوم زمان پروسسس job ها را بر عهده دارد. اين بلوك با گرفتن مقدار دلخواه و نوع توزيع ) مثلا نمايي ( تعداد 0 زمان پروسسس را بصورت رندوم توليد مي كند. بلوك 3 همين كار را براي توليد رندوم زمان رسيدن اين job 0 ها انجام مي دهد. نوع توزيع همان قبلي است ولي مقدار متفاوت مي باشد. بعد از توليد ) job 0 با دو مشخصه زمان پروسسس و زمان رسيدن ) آنها در بلوك 4 و 5 كه يك جدول 0 تايي است ذخيره ميشوند كه علاوه بر دو مشخصه فوق الذكر يك شماره job نيز به آنها اختصاص مي يابد. اين جدول براي هر مسي له فقط يكبار توليد مي شود و در طول تمام سيكل هاي اجرا ثابت است. در بلوك در شروع هرسيكل اجرا مقدار دنباله هاي ممكن از اعداد الي 0 به ترتيب توليد مي شود. مثلا در شروع سيكل اول دنباله,,,2 0 و در سيكل هاي بعدي 0,9,,,2 و الي آخر به تعداد!0 دنباله در همين تعداد سيكل اجرا توليد مي شود. اين دنباله هاي توليد شده به عنوان شماره جدول بلوك 5 محسوب شده و دو مشخصه ديگر job را طبق دنباله مورد نظر زمانبندي مي كند. در دو بلوك ديگر مقدار و اين زمانبندي فرضي محاسبه مي گردد. مقادير بدست آمده سپس در تابع شماره () جاگذاري شده و بسته به مقدار α مورد نظر مقدار f محاسبه مي گردد. اين f بدست آمده در هر سيكل اجرا محاسبه مي شود و چنانچه كمترين f باشد كه تا كنون ايجاد شده آن دنباله اي كه چنين كميته را توليد كرده بعنوان ترتيب زمانبندي job ها ذخيره مي شود. و اگر f بدست امده كمترين نباشد بدون ذخيره زمانبندي مورد نظر سيكل اجرا به اول برگشته و با دنباله اي ديگر همان سيكل ادامه پيدا ميكند تا جاي ي كه همه تعداد! 0 دنباله زمانبندي بررسي و كمترين مقدارf ) و دنباله مرتبط با آن) براي همه اين حالات بدست مي آيد. مقدار كمينه بدست آمده f و زمانبندي متناظر با آن بعنوان بهترين جواب ملاك ارزيابي جهت مقايسه متدهاي مختلف خواهد بود. در مورد مسايل با اندازه بزرگ بدليل اينكه نمي توان تمام حالتها را ايجاد كرده و مقادير و بهينه را بدست آورد لذا از روش مقايسه بين روش هاي موجود استفاده شده است. يعني به جاي اينكه روش ابداع شده را با حالت بهينه مقايسه كنيم آن را با ساير روش هاي موجود از جمله SPT مقايسه مي كنيم تا ميزان كارايي آن را بررسي كنيم. نتايج 5- شبيه سازي در تمامي نتيجه گيري هاي زير تعداد 200 شبيه سازي انجام شده است. تعداد 00 شبيه سازي با توزيع نمايي و 00 آزمايش ديگر با توزيع نرمال انجام شده است. براي مسايل كوچك هر آزمايش شامل 0 عدد Job و براي مسايل بزرگ شامل 00 عدد Job مي باشد. بدليل اينكه اصول كلي حاكم بر نتيجه در هر 200 آزمايش مسايل كوچك يكسان مي باشد لذا دو نمونه از آن را جهت مقايسه آورده ايم. جدول (2) مقدار بهينه و را براي دو مسي له با 0
و 5 مجموعه مقالات اولين كنفرانس ملي كاربردهاي مهندسي نرم افزار... اسفند 87 عدد Job نشان مي دهد. مسي له داراي توزيع نرمال و مسي له 2 داراي توزيع نمايي است. جدول( 2 ): بررسي دو مثال نمونه با اندازه كوچك 27/2 دنباله Job 0 7 6 3 2 4 5 8 9 257/ 9 8 5 4 2 3 6 7 0 26/8 257/ مسي له دنباله Job 6/28 5/24 4/77 3/9 2/82 3/72 4/70 6/0 6/20 6/73 6/20 6/0 4/70 3/72 2/82 3/9 4/77 5/24 6/28 6/73 مسي له 2 2/6 22/ 89/2 89/2 جدول (3): بررسي دو مثال نمونه با اندازه بزرگ SPT روش پيشنهادي /7 33/3 0/8 7/9 0 34 3/8 مسي له مسي له 2 32/6 3/4 8/2 7/9 0 SPT %3/2 - %00 %00 اگر همين دو مسي له نمونه را با دو روش شناخته شده وSPT و همچنين روش پيشنهادي اين مقاله مقايسه كنيم به جدول 3 مي رسيم (مبناي مقايسه حالت بهينه مي باشد) : اين جدول نشان مي دهد كه براي حالت كمترين روش SPT بهترين جواب را داده است و روش پيشنهادي آن را بدتر مي كند ولي در مورد روش پيشنهادي بهبود چشمگيري نسبت به هر دو روش قبلي دارد. در مورد مساي ل بزرگتر نيز تعداد 200 مسي له با 00 عدد Job را در سه حالت SPT و و روش ارايه شده شبيه سازي شده و كمترين به دست آمده براي دو نوع مساي ل با توزيع نرمال و توزيع نمايي در جدول ) 4) مقايسه شده است. روش ابداعي جدول (4): براي توزيع نرمال SPT %48 - %00 %98 روش ابداعي جدول( 5 ): براي توزيع نمايي تفسير جدول 4 و 5 اين است كه براي مثال روش ارايه شده در %98 مواقع ) از 200 مسي له ( توانسته است كمتري نسبت به بدست آورد و در %00 مواقع در توزيع نرمال توانسته كمتري نسبت به SPT بدست آورد. 6- نتيجه و جمع بندي در اين مقاله درخواست دسترسي به صفحات وب را در شبكه هاي كامپيوتر و اينترنت با زمانبندي Job ها درسيستم تك ماشينه مدل كرديم. اين مدل را دو نوع مساي ل با سايز كوچك ) تعداد ( Job 0 و مسايل بزرگ ) تعداد ( Job 00 در محيط MATLAB شبيه سازي نموديم. هدف در همه اين مساي ل پيدا كردن حداقل مقدار و زماني ناشي از زمانبندي Job ها مي باشد. اين Job ها بصورت تصادفي با دو توزيع نرمال و نمايي مورد بررسي قرار گرفت. بدليل NP-hard بودن اين نوع مساي ل زمانبندي هميشه مجبور هستيم با استفاده از روش هايي جواب نزديك به بهينه را پيدا كنيم. در اين مقاله
[2] Ye N, Gel ES, Li X, Farley T, Lai YC. Web server Qos models: applyig schedulig rules from productio plaig. Computers ad Operatios Research 2005;32:47-64. [3] Al-Turki, U.M., Adijai, A. A. ad Arifusalam, S. "A New Dispatchig Rule for Stochastic ad Dyamic Job Schedulig", Simulatio: Trasactios of The Society for Modelig ad Simulatio Iteratioal 80(3), (2004)65-70. [4] Nog Ye, Xuepig Li, Toi Farley, Xiaoyu Xu, Job schedulig methods for reducig waitig time variace, Computers ad Operatios Research, v.34.0, p.3069-3083, October, 2007. [5] Xuepig Li, Nog Ye, Tiemig Liu, Yag Su, Job schedulig to miimize the weighted waitig time variace of jobs, Computers ad Idustrial Egieerig, v.52., p.4-56, February, 2007. [6] Viswaathkumar G, Sriivasa G. A brach ad boud algorithm to miimize completio time variace o a sigle processor. Computers ad Operatios Research 2003;30(8):35-50. [7] Kubiak W. New results o the completio time variace miimizatio. Discrete Applied Mathematics 995;58(2):57-68. [8] Lu X, Sitters RA, Stougie L. A class of o-lie schedulig algorithms to miimize total completio time. Operatios Research Letters 2003;3(3):232-6. [9] Aderso EJ, Potts CN. O-lie schedulig of a sigle machie to miimize total weighted completio time. Proceedigs of the Thirteeth Aual ACM-SIAM Symposium o Discrete Algorithms, 2002. نيز يك روش ابداعي خلاقانه را براي چيدمان Job ها به فرم V شكل پيشنهاد شد. در مورد مسايل كوچك پيدا كردن پاسخ بهينه با صرف اندكي زمان امكان پذير مي باشد لذا با بررسي تمام حالتهاي ممكن پاسخ بهينه ) و حداقل ( پيدا شده و ملاك ارزيابي قرار گرفت. همچنين روش هاي شناخته شده اي چون SPT و نيز در محك مقايسه بودند. نتايج شبيه سازي ها نشان داد كه روش اراي ه شده تاثير قابل توجهي در پاي ين آوردن مقدار نسبت به SPT و داشته و حتي اختلاف اندكي با جواب بهينه دارد. درخصوص مسايل بزرگ بدليل عدم امكان حصول پاسخ بهينه مقايسه بين سه روش انجام گرفت. و دوباره نتايج نشان داد كه در حالت توزيع نرمال روش پيشنهاديدر اكثر موارد كمتري نسبت به ودر همه موارد كمتري نسبت به SPT داشته است. در حالت توزيع نمايي نيز روش اراي ه شده در همه موارد كمتري نسبت به دو روش SPT و داشته است. مراجع [] Berd Jurisch, Wieslaw Kubiak, Joaa Józefowska, Algorithms for miclique schedulig problems, Discrete Applied Mathematics, v.72.-2, p.5-39, Ja. 0, 997.