بخشی از مقاله

ارزيابي کارايي سيستم صف M/M/1 در شبيه ساز OPNET
چکيده
در نظريه احتمالات علوم رياضي و تئوري صف ، يک صف 1.M.M، طول صف سيستمي را نشان مي دهد که يک سرور يا يک پردازشگر دارد. بسته هايي که به صف وارد مي شوند و زمان سرويس دهي به اين بسته ها به ترتيب با فرآيند پواسون و توزيع نمايي تعيين مي شوند که يک زنجير مارکف را تشکيل مي دهند. نام اين مدل در سيستم علامت گذاري Kendall نوشته شده است . اين مدل پايه اي براي ساير مدل هاي صف بندي بوده و بسياري از متريک ها و معيار ها از آن نشأت گرفته اند. در اين مقاله به شبيه سازي اين مدل در شبيه ساز شبکه هاي کامپيوتري و مخابراتي OPNET و ارزيابي کارايي آن مي پردازيم .
کلمات کليدي
شبيه ساز OPNET، تئوري صف ، زنجير مارکف ، سيستم صف M/M/1، ارزيابي کارايي مدل .

١.مقدمه
يک صف M/M/1شامل يک بافر FIFO (اولين ورودي – اولين خروجي) مي باشد که بسته ها بطور تصادفي با فرآيند پواسون وارد صف مي شوند و پردازنده يا سرور که به عنوان مثال مسير ياب يا سويچ است و در اينجا به تعداد ١ عدد مي باشد، بسته ها را با نرخ سرويس دهي مشخصي از بافر فراخواني مي کند.
در اين مقاله ويرايشگر گره ١ را مورد مطالعه قرار مي دهيم و نشان مي دهيم به چه طريقي مي توان يک صف M/M/1 را ساخت . همچنين ١) از ويرايشگر پروژه ٢ براي جمع آوري و تصوير کردن انواع مختلف مقادير آماري استفاده خواهيم کرد. ٢) فيلتر کردن داده هاي جمع آوري شده از شبيه سازي را انجام مي دهيم . ٣) تحليل رياضي داده هاي آماري از شبيه سازي را انجام مي دهيم .
ارزيابي کارايي يک سيستم صف M/M/1 به پارامتر هاي زير بستگي دارد :
١) نرخ ورود بسته ها
٢) اندازه بسته ها
٣) ظرفيت سرويس دهي
در صورتيکه ميانگين نرخ ورود بسته ها و ميانگين اندازه بسته ها از ظرفيت سرويس دهي بيشتر باشد آنگاه قطعا" رفته رفته اندازه صف بزرگ و بزرگتر خواهد شد.
در اين مقاله يک صف M/M/1را مانند شکل ١ مدل مي کنيم و مشاهده خواهيم کرد که براي نرخ ورودي، اندازه بسته ها و ظرفيت سرويس دهي مشخصي از بسته ها، طول صف به يک وضعيت ثابتي مي رسد. ماژول هاي شکل ١ در بخش بعدي توضيح داده خواهد شد.

شکل ١- مدل صف M/M/1
٢.طراحي و مدل سازي
زمان مدل سازي هر شبکه ، بايد درک واضحي از شبکه داشته باشيم و به همه سوالات متداول بتوانيم پاسخ مناسبي دهيم . در اين بخش موارد زير را مورد مطالعه قرار مي دهيم :
١) سيستم صف M/M/1
٢) انواع ماژول هاي گره بکار رفته در اين سيستم
٣) انواع توزيع هاي آماري که در اين مدل بکار مي روند
صف M/M/1 عموما" با توزيع پواسون که بسته هاي ورودي را به يک بافر بي نهايت بزرگ هدايت مي کند، نشان داده مي شود. زمانيکه بسته به سر صف برسد آنگاه توسط پردازنده يا سرور، مورد پردازش قرار مي گيرد و سپس به مقصد ارسال مي شود.
سيستم صف M/M/1 در شکل ٢ نشان داده شده است .

شکل ٢- صف M/M/1
λ ،μ .١ و C بترتيب ميانگين نرخ بسته هاي ورودي (Packet.Second)، ميانگين اندازه بسته (مورد نياز سرويس دهي) (bits.Packet) و ظرفيت سرويس دهي را نشان مي دهد. بنابراين مدل صف نيازمند ميانگين توليد، صف بندي و سرويس دهي بسته ها است که همه اين پارامتر ها با ماژول هاي گره در ويرايشگر گره فراهم مي شوند. براي ساخت M/M/1 نيازمند اشياء متعددي در ويرايشگر گره از جمله يک صف و دو پردازنده هستيم .
ماژول مبدأ بسته ها را توليد مي کند و ماژول چاهک ٣ براي ترتيب دادن به بسته هاي پردازش شده توسط سرور بکار مي رود. صف يک بافر بي نهايت و سرور را مشخص مي کند. ماژول پردازنده که همه منظوره است ، بلوک مدل گره را ايجاد مي کند. تنظيمات صفات مدل پردازش ماژول ، رفتار يک ماژول پردازنده را تعيين مي کند. در شکل ٣ يک ماژول پردازنده را مشاهده مي کنيم .

شکل ٣- ماژول پردازنده
ماژول مبدأ که با ماژول پردازنده نشان داده مي شود، بسته ها را توليد مي کند و نرخ ساخت بسته هاي توليد شده را با واحد (Packet.Second) مشخص مي کند. اين نرخ با توزيع نمايي بسته هاي ورودي مشخص مي شود که زمان بين بسته هاي ورودي به صف مي باشد.
ماژول صف براي نمايش دادن بافر بي نهايت و سرور بکار مي رود. دليل استفاده کردن از صف به عنوان سرور، در بخش هاي بعدي توضيح داده خواهد شد. شکل ٤ ماژول صف را نشان مي دهد.

شکل ٤- ماژول صف

يک ماژول چاهک براي ترتيب دهي به بسته هاي پردازش شده در مدل گره بکار مي رود، گرچه قسمتي از سيستم صف M/M/1 را تشکيل نمي دهد.
توجه کنيد که نابود کردن بسته هايي که مورد نياز نيستند براي آزاد سازي فضاي حافظه و استفاده مجدد در شبيه سازي را انجام خواهيم داد و اين کار را ماژول چاهک بر عهده دارد که مانند ماژول پردازنده و شکل ٣ نشان مي دهيم .
جريان بسته ٤ براي متصل کردن هر ماژول در ويرايشگر گره بکار مي رود. براي انتقال بسته ها بين ماژول توليد کننده بسته و ماژول صف و ماژول چاهک از جريان بسته استفاده مي کنيم .
که به اين ارتباطات ، مسير هاي حرکت بسته ها از يک ماژول به ديگري مي گوييم و در شکل ٥ مشاهده مي کنيم .

شکل ٥- جريان بسته ، بسته ها را بين ماژول ها منتقل مي کند.
تا اينجا همه پارامتر هاي ضروري براي ساخت مدل گره بحث شد، حال مي توان به ساخت مدل اقدام کنيم . توجه داشته باشيد که مدل شبکه در ويرايشگر پروژه شامل يک نمونه از مدل صف M/M/1 خواهد بود و هيچ گره يا اشياء شبکه مورد نياز نيست و مدل شبکه فقط شامل يک گره مي باشد.
براي ايجاد يک پروژه و سناريوي جديد مراحل زير را دنبال مي کنيم :
١( هر پروژه باز موجود را مي بنديم .
٢( يک پروژه و يک سناريو به ترتيب با نام mmnet١ و mm١ مي سازيم .
٣( از مراحل و ليست کشويي، Node Model را انتخاب مي کنيم .
ويرايشگر گره در يک پنجره جديد باز مي شود شکل ٦. شرح ابزار هاي جعبه ابزار را در شکل ٧ مشاهده مي کنيم . فعلا انتقال داده بي سيم مد نظر نمي باشد. در ادامه با ويرايشگر گره موضوع را دنبال مي کنيم .

شکل ٦- محيط کاري ويرايشگر گره



شکل ٧- جعبه ابزار ويرايشگر گره
در صورتيکه عملکرد بي سيم فعال باشد، ابزار هـاي مربوطـه را ماننـد شـکل ٨ مشاهده خواهيم کرد.

شکل ٨- جعبه ابزار با عملکرد بي سيم

٣.ويرايشگر گره
براي ساخت مدل گره که شامل ماژول هاي متصل با جريان بسته و سيم ايستاست از ويرايشگر گره استفاده مي شود. اولين گام براي ساخت صف M/M/1تعريف ماژول مبدأ است که بطور تصادفي بسته ها را توليد مي کند.
١) بدين منظور از ابزار Processor Module استفاده مي کنيم و روي Create Processor کليک مي کنيم .
٢) در محيط کاري و در جايي که مي خواهيم ماژول قرار گيرد، کليک مي کنيم .
يک پردازنده در محيط کاري ويرايشگر گره ظاهر مي شود.
٣) يک راست کليک براي خاتمه عمليات انجام مي دهيم .
ماژول ها در ويرايشگر گره همانند اشياء در ويرايشگر پروژه داراي صفاتي براي مشخص کردن نرخ توليد بسته ، توزيع توليد، ميانگين اندازه هستند.
بسته و توزيع اندازه بسته ، بايد تنظيمات زير را در صفات ماژول پردازنده انجام دهيم :
١) روي ماژول پردازنده راست کليک کرده و Edit Attributes را انتخاب مي کنيم .
٢) براي تغيير نام ماژول به src در صفت Name براي گره مبدأ در ستون Value کليک کرده و src را تايپ مي کنيم و سپس کليد Enter را مي زنيم .
٣) صفت Process Model را به Simple_Source تغيير مي دهيم . صفات توليد کننده در ليست صفات ظاهر مي شود.
٤) در صفت Packet Interarrival Time و ستون Value کليک مي کنيم تا پنجره "Packet Interarrival Time" Specification باز شود.
٥) از منوي کشويي Distribution Name گزينه Exponential
را انتخاب مي کنيم که به منظور تعيين توزيع نمايي ورود بسته هاي توليدي به عنوان فرآيند پواسون مي باشد.
٦) توجه مي کنيم که Mean Outcome روي ١.٠ تنظيم شده باشد، در اينصورت زمان ميانگين ورود بسته ها يک ثانيه در نظر گرفته مي شود.
٧) صفت Packet Size را مانند زير تغيير مي دهيم :
Distribution Name > Exponential
Mean Outcome > 9000
٨) روي OK کليک مي کنيم .
که اندازه ميانگين بسته هاي توليد شده با توزيع نمايي ٩٠٠٠ بيت بر بسته (bits.Packet) مي شود.
٩) روي OK جهت بستن پنجره کليک مي کنيم شکل ٩.



شکل ٩- تغيير صفات ماژول توليد کننده بسته ها
5 صفت زمان بين ورود بسته ، زمان بين ورود بسته و توزيع را مشخص مي کند. صفت اندازه بسته ، اندازه بسته و توزيع را مشخص مي کند.
6PDF يا تابع چگالي احتمال ، توزيع اعداد تصادفي را تعيين مي کند.
محدوده ممکن Outcome ها از يک PDF نمايي که با صفات Packet Interarrival Time و Packet Size تنظيم مي شود، بين ٠ و بي نهايت است که بيشتر Outcome ها نزديک يا زير مقادير ميانگين تنظيم مي شوند.
بکار رفتن PDF نمايي در مدل M/M/1 با فرآيند پواسون سازگار است و براي احتمال زمان سرويس دهي و ورود بسته ها استفاده مي شود.
در گام بعدي ماژول صف را که براي شبيه سازي بافر بي نهايت و سرور بکار مي رود مانند زير ايجاد مي کنيم :
١) روي ابزار Create Queue کليک مي کنيم .
٢) ماژول صف را در سمت راست ماژول توليد کننده قرار مي دهيم و يک راست کليک جهت خاتمه عمليات انجام مي دهيم .
٣) روي ماژول صف راست کليک کرده و Edit Attributes را انتخاب مي کنيم .
٤) نام را به queue تغيير مي دهيم .
٥) صفت Process Model را به acb_fifo تغيير مي دهيم .
٦) service_rate را روي ٩٦٠٠ قرار داده و OK را مي زنيم .

در متن اصلی مقاله به هم ریختگی وجود ندارد. برای مطالعه بیشتر مقاله آن را خریداری کنید