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

انتخاب پارامترها
همانطور که مشاهده شد در خلاصه ای از پژوهش هایی که در زمینه پردازش تصویر با مدل برنامه نویسی نگاشت‌کاهش انجام شده است، ارائه شده است. با تحلیل و بررسی پارامترهای تاثیرگذار در سرعت و کارایی پردازش ها در نهایت پارامترهای زیر برای بررسی و ارزیابی انتخاب شدند:

  • مقیاس پذیری[۹۱]
  • تعداد Map Taskهایی که بطور همزمان روی هر ماشین اجرا می شوند
  • حجم قطعات تصاویر
  • تعداد تکرار داده ها روی شبکه[۹۲]
  • حجم داده مورد بررسی[۹۳]

مقیاس پذیری
هدف ما از بررسی این پارامتر یافتن نحوه اجرای برنامه با تغییر و توسعه زیرساخت سخت افزاری آن است. اینکه آیا با افزایش قدرت سخت افزاری سرعت اجرا بیشتر می شود؟ آیا به صرفه است که برای رسیدن به سرعت بالاتر هزینه بیشتری برای ارتقای محیط سخت‌افزاری کرد؟ آیا می توان از سخت افزار موجود بطور بهینه تری استفاده کرد؟ این پارامتر به سه روش مختلف مورد ارزیابی قرار گرفته است.
SCALE UP
این تغییر مقیاس که به آن تغییر مقیاس عمودی[۹۴] نیز گفته می شود، به معنی افزودن منابع به یک گره (Node) از سیستم – به طور نمونه ارتقای پردازنده یا رسانه ذخیره سازی در یک کامپیوتر- می باشد [۴۶].
SCALE IN
این حالت که بیشتر در مورد اجرای چندین نخ[۹۵] روی ماشین‌های چند هسته‌ای[۹۶] مطرح می‌شود [۴۷] در این بخش بصورت اجرای تعداد ماشین‌های مختلف در یک کلاستر ثابت مورد بررسی قرار گرفته‌است. بطوریکه قدرت سخت افزاری کلاستر اصلی ثابت است ولی در هر مرحله تعداد و قدرت ماشین‌های مجازی که روی آن کلاستر ایجاد شده‌اند تغییر می کند.
SCALE OUT
این تغییر مقیاس که به آن تغییر مقیاس افقی[۹۷] نیز گفته می شود، به معنی افزایش گره‌های بیشتر به سیستم است. به عنوان مثال می توان از افزایش تعداد وب سرورها از یک به سه عدد نام برد [۴۶].
تعداد Map Taskهای همزمان
هدف از بررسی این پارامتر بررسی تاثیر افزایش تعداد کارهای همزمان در هر ماشین بر مدت زمان پردازش و یافتن حالتی که طی آن به کارایی بالاتری برسیم.
حجم قطعات تصاویر
هدف از بررسی این پارامتر این است که دریابیم آیا حجم قطعاتی که یک تصویر بزرگ باید به آن تقسیم شود در افزایش یا کاهش سرعت اجرای برنامه موثر است یا نه. در صورتی که موثر باشد میزان افزایش یا کاهش سرعت به چه صورت است.
تعداد تکرار داده ها روی شبکه
هدف از بررسی این پارامتر یافتن نحوه تغییر سرعت اجرای برنامه با تغییر تعداد تکرار داده های ورودی است.
حجم داده مورد بررسی
با بررسی این پارامتر به این نتیجه می توان رسید که با داشتن یک کلاستر و افزایش حجم داده های مورد بررسی، سرعت اجرای برنامه به چه صورتی تغییر می‌کند. آیا سیستم موجود قادر به پردازش داده های افزایش یافته است یا خیر و یا نیاز به تقویت کلاستر وجود دارد.
برای بررسی هر یک از پارامترهای فوق باید یک الگوریتم پردازش تصویر را طبق ساختار مدل برنامه نویسی نگاشت‌کاهش پیاده سازی و اجرا کرد. سپس اثر پارامترهای فوق را برروند اجرای برنامه بررسی کرد.
برنامه مورد استفاده
در این پژوهش ما برای بررسی تاثیر پارامترهای مذکور نیاز به یک برنامه پردازش تصویر داریم. با توجه به اینکه در بسیاری از پژوهش‌ها معمولا از برنامه های Benchmark که از قبل آماده شده اند استفاده می شود. اما ما در این پژوهش، برنامه پردازش تصویر تشخیص لبه را روی پلتفرم هدوپ پیاده سازی و اجرا کرده‌ایم.
ﻟﺒﻪ ﻫﺎﻱ ﻳﻚ ﺗﺼﻮﻳﺮ ﺳﺎﺧﺘﺎﺭ ﺍﺷﻴﺎء درون ﺁﻥ تصویر ﺭﺍ ﻧﺸﺎﻥ ﻣﻲ ﺩﻫند. تشخیص لبه ﻳﻚ ﻣﺮﺣﻠﻪ ﭘﻴﺶ ﭘﺮﺩﺍﺯﺵ ﻣﻬﻢ جهت ﺁﺷﻜﺎﺭﺳﺎﺯﻱ این اشیاء در پردازش تصاویر است. از لحاظ فنی در لبه‌ها یک تغییر رنگ شدید در راستایی از تصویر رخ می‌دهد. نتیجه‌ی اعمال برنامه تشخیص لبه بر یک تصویر، همانطور که در نشان داده شده است مجموعه‌ای از منحنی‌های به هم پیوسته است که نشان دهنده‌ی مرزهای یک شی است [۴۸].

شکل ‏۴‑۱: نتیجه اجرای برنامه تشخیص لبه روی تصاویر

همانطور که بیان شد برنامه پردازش تصویر فوق روی پلتفرم هدوپ پیاده سازی شده‌است. با توجه به اینکه هدوپ در اصل برای پردازش متن طراحی شده است، باید تغییراتی در کلاسهای جاوا اعمال شود تا بتوان از آن برای پردازش تصاویر نیز بهره برد [۳۵]. در این پژوهش ما از یک رابط متن باز برای پردازش تصاویر در هدوپ استفاده کرده‌ایم. این رابط باعث می‌شود که بسیاری از جزئیات تکنیکی مربوط به کار با تصاویر در هدوپ از دید کاربر مخفی شود و سیستم، انعطاف پذیری بیشتری در پیاده‌سازی برنامه های پردازش تصویر داشته باشد و کاربر بتواند با تمرکز بیشتری برنامه‌های خود را ایجاد کند. این رابط که HIPI [۹۸] نام دارد یک کتابخانه انعطاف‌پذیر برای ایجاد برنامه های پردازش تصویر در قالب چارچوب هدوپ ارائه می دهد بطوریکه برنامه های تولید شده قابلیت اجرای موازی را داشته و تعادل بار روی شبکه بدون دخالت کاربر بطور خودکار مدیریت می‌شود [۴۹].
همانطور که در نشان داده شده است در برخی از مقالات مانند[۳۱] و[۳۲] برای پردازش تصاویر در محیط هدوپ، مقادیر پیکسل‌های تصاویر را به فایل متنی تبدیل می‌کند. این کار علاوه بر صرف زمان برای تبدیل تصویر به داده متنی، حجم داده‌ی روی دیسک را به شدت افزایش می‌دهد. برخی دیگر مانند [۴۰] و [۴۲] فایل تصویری را به Sequence File تبدیل می کند. در این حالت نیز علاوه بر صرف زمان برای ایجاد این فایل، وظیفه برنامه نویس پیچیده بوده و ایجاد و پردازش اینگونه فایل‌ها بعهده برنامه نویس است. برخی دیگر نیز مانند [۳۳] و [۳۵] یک کلاس خاص برای پردازش تصاویر در هدوپ پیاده سازی کرده‌اند.

موضوعات: بدون موضوع  لینک ثابت


فرم در حال بارگذاری ...