4-4-7- سناریو هفتم: تاثیر مقیاس پذیری افقی(Scale Out) بر زمان پردازش…………… 65
4-5- نتایج…………………….. 68
5- بررسی و تحلیل یافتههای تحقیق……………………… 71
6- نتیجهگیری و پیشنهادها ……………………77
چکیده:
پردازش مالتی مدیا و بطور خاص پردازش تصویر از زمینههای پرکاربردی است که در آن ما با حجم بسیار بالایی از دادهها مواجه هستیم و به شدت از سوی محققان نیز مورد توجه قرار گرفته است. با افزایش حجم تصاویر و نیز گسترش و توسعهی انواع مختلف برنامهها نیاز به کامپیوترهای غول پیکر و پردازش موازی برای پردازش این حجم از دادهها احساس میشود. نوعی از پردازشهای موازی که امروزه به شدت طرفدار پیدا کرده است، پردازش توزیع شده است که طی آن پردازشها بین ماشینها تقسیم و به موازات هم اجرا میشوند. همچنین مدل برنامهنویسی که امروزه بعنوان راهحلی برای بسیاری از مسائل Big Data ارائه شده و روی محیط توزیع شده نیز مورد استفاده قرار میگیرد مدل برنامهنویسی نگاشتکاهش است. این مدل برنامه نویسی، از نوع خاصی از مسائل توزیعپذیر که روی حجم بسیار بالایی از دادهها و روی شبکهای از کامپیوترها اجرا میشوند پشتیبانی میکند. در این پژوهش که به بررسی پردازش تصویر توزیع شده میپردازیم، با یافتن پارامترهای تاثیرگذار بر سرعت پردازش در محیط توزیع شده به بررسی تاثیر آنها بر روی مسائل پردازش تصویر در مدل نگاشتکاهش پرداختهایم. این روش منجر به چارچوبی حاوی پارامترهایی شدهاست که با بررسی تاثیر آنها میتوانیم نوعی مدل انتزاعی برای استقرار بهینه نرم افزارها در محیط توزیع شده پیشنهاد بدهیم. استفاده بهینه از منابع باعث اجرای کاراتر برنامهها در محیط توزیعشده میشود و سرعت پردازش را به میزان قابل توجهی افزایش میدهد. در این پژوهش طبق مدل ارائه شده سرعت پردازش 17.9 برابر افزایش یافت.
فصل اول: مقدمه
1- مقدمه
1-1- کلیات
امروزه با افزایش روشهای مختلف اخذ اطلاعات گسسته مانند دوربینهای دیجیتال، پویشگرها و ماهوارهها، پردازش تصویر کاربرد فراوانی یافتهاست. از زمینههای پر کاربرد پردازش تصویر میتوان نجوم، زیست شناسی و پزشکی را نام برد. پردازش تصاویر ارسالی از ماهوارهها و تشخیص پلاک اتومبیلها از نمونههای کاربردی و شناختهشدهی مسائل پردازش تصویر هستند.
با افزایش کاربردهای تصاویر رقمی[1] در حوزههای مختلف، هر روز بر حجم تصاویر موجود در پایگاههای داده افزوده می شود. در پردازش تصاویر ارسالی از ماهوارهها حجم وسیعی از تصاویر برای پردازش ارسال میشوند که برای پردازش این حجم وسیع از تصاویر، نیاز به کامپیوترهای قدرتمندی است تا با سرعت بالایی تصاویر دریافتی را پردازش کنند. در سالهای اخیر تلاشهای بسیاری در زمینهی پردازش دادههای حجیم صورت گرفتهاست. در این بین، پردازش موازی و بطور خاص پردازش توزیع شده یکی از پر طرفدارترین این روشها میباشد.
در بیشتر روشهای توزیع شده برای پردازش دادهها، برنامه نویس باید دانش کافی در برنامه نویسی و شبکه داشته باشد و نیز بتواند مسائل مربوط به زمان اجرا را مدیریت و برطرف کند کهاین کار نیازمند تخصص و مهارت بالایی در برنامه نویسی و مباحث شبکهاست. لذا روشهایی که در آن کاربر بتواند با سهولت بیشتری برنامههایش را ایجاد و اجرا کند بسیار مورد استقبال قرار میگیرد.
یکی از تکنولوژیهایی که امروزه توجه بسیاری را به خود جلب کرده و تحول بزرگی در بسیاری از زمینههای مختلف کامپیوتری به ارمغان آوردهاست رایانش ابری است. ابرها بسیاری از نیازها در زمینهی فناوری اطلاعات را بصورت یک سرویس ارائه میدهند که این سرویس از طریق اینترنت قابل دسترسی است. در این پژوهش به بررسی چالشهایی که کاربران برای اجرای مسائل پردازش تصویر خود در روی ابر و افزایش کارایی آن مواجهند میپردازیم و هدف این پژوهش ارائه روشی برای افزایش کارایی پردازش تصاویر در روی ابر که یک محیط توزیع شدهاست ارائه میشود. بطوریکه طی آن کاربر بتواند برنامههای خود را بصورت بهینه تر و کاراتری تولید، اجرا و مدیریت کند.
2-1- اهمیت تحقیق
با توجه به گستردگی کاربردهای پردازش تصویر در زمینههای مختلف، و نیز با روند کنونی افزایش حجم تصاویر، برای پردازش این حجم از دادهها در زمان مناسب، نیاز به سرعت بسیار بالایی داریم. لذا ناگزیر به استفاده از ماشینهای غولپیکر و پردازش موازی[2] برای پردازش این حجم از دادهها هستیم. در پردازش موازی، ماشینی با چندین پردازنده[3] یا چندین هستهی پردازنده[4]، برنامه داده شده را اجرا میکند [1]. پردازندههای چند هستهای[5] از نمونهی این نوع پردازندهها هستند. علاوه براین با اتصال کامپیوترهای تک پردازنده[6] و تک هسته[7] و ایجاد یک شبکه نیز میتوان پردازش موازی انجام داد. این کار بکمک نرم افزارهای
این مطلب را هم بخوانید :
توزیع شده صورت میپذیرد و بهاین نوع از پردازش موازی، اصطلاحا پردازش توزیع شده[8] میگویند[2].
بسیاری از سازمانها به دلایل مختلفی همچون هزینههای بالای خرید و نگهداری و نیاز به متخصصان و . . . قادر به فراهم سازی کامپیوترهای غول پیکر برای اجرای برنامهها بصورت موازی نیستند. لذا پردازش توزیع شده بسیار مورد توجه محققان و نیز سازمانها قرار گرفتهاست.
بطور معمول در برخی از روش های توزیع شده برنامه نویس باید مهارت بالایی در برنامه نویسی و مدیریت خطاهای هنگام اجرا روی شبکه داشته باشد. برنامه نویس علاوه بر تمرکز روی هدف اصلی برنامه، باید مشکلات احتمالی هنگام اجرای برنامه را نیز پیش بینی و برای آنها راه حل بیاندیشد. بعنوان مثال کاربر باید بتواند پردازشها را بطور مناسب بین ماشینها تقسیم و مدیریت کند و اگر در حین اجرای برنامه یکی از ماشینها به هر علتی متوقف شود باید بتوان وظایف آن ماشین را بدون توقف برنامه، به ماشینهای دیگر سپرد و دادههای رویش را نیز بازیابی کرد. همچنین گاهی ممکن است قدرت ماشینهای یک سیستم توزیع شده با