Map Reduce چیست؟
طاهره مصطفویدر۱۴۰۳/۲/۱۸محاسبه علمی، زمینه تحقیقی است که از علم کامپیوتر برای حل مسائل علمی استفاده می کند. این را نباید با علم کامپیوتر اشتباه گرفت. محاسبه علمی معمولا به شبیه سازی و مدلسازی کامپیوتری در مقیاس بزرگ مربوط است و اغلب نیازمند مقادیر بالایی از منابع کامپیوتری است. برای انجام محاسبات علمی، رایانش ابری همراه با منابع نامحدود، مناسب می باشد.
در تطابق اپلیکیشن های حساس به منابع با ابرها، اپلیکیشن ها را باید به چارچوب هایی کاهش داد که بتوانند از منابع ابری استفاده کنند و این روشی است که ما در محاسبه علمی خود برروی پروژه ابرها (SciCloud) مورد مطالعه قرار می دهیم. بطور کلی، زیرساختارهای ابری مبتنی بر کامپیوتر می باشند که مقرون به صرفه است. این حقیقت می تواند باعث ایجاد مشکلات جدی شود چون نرم افزار باید بی عیب باشد. حل معایب سخت افزاری یا شبکه در سیستم توزیعی، شامل رونویسی از داده های مهم و انجام مجدد محاسباتی است که در حل خود مشکلاتی دارند. همچنین، چارچوب های محاسبه توزیعی وجود دارند که برحسب طراحی خود، دارای تحمل خطا می باشند و این چارچوب، چارچوب Map Reduce می باشد.
Map Reduce برای اولین بار توسطGoogle و بصورت چارچوب محاسباتی موازی جهت اجرای محاسبه توزیعی برروی تعداد بزرگ کامپیوترهای کالا ارائه شد. از آن به بعد، با نام چارچوب رایانش ابری معروف شد تا اپلیکیشن های توزیعی مقیاس پذیر را بصورت خودکار اجرا کنند. پیاده سازی Google Map Reduce اختصاصی است و می تواند به توسعه موارد مشابه همچون Hadoop Map Reduce منجر شود. Hadoop چارچوب نرم افزاری جاوا است که ازGoogle’s Map Reduce وGoogle File System الهام گرفته است. پروژه Hadoop توسط Apache توسعه یافت و کاربرد گسترده ای در زمینه تجاری و تحقیقی دارد و در نتیجه، کاربر محور بوده و ثبت سند مناسبی دارد. (سیارک)
در حالیکه مقیاس پذیری خودکار به هنگام کار با اپلیکیشن های توزیعی، بسیار جالب توجه است، اما ساختار اپلیکیشن Map Reduce بسیار محدود است. کاهش الگوریتم های پیچیده به مدلMap Reduce آسان نبوده و تضمینی برای اثربخشی الگوریتم های Map Reduce وجود ندارد. اثر قبلی نشان داد که Map Reduce برای مسائل موازی ساده مناسب می باشد. ازMap Reduce برای انواع مسائل همچون شاخص گذاری با مقیاس بزرگ، محاسبات نموداری، یادگیری ماشینی و استخراج داده های خاص از مجموعه بزرگ صفحات وب شاخص گذاری شده، استفاده می کنند. همچنین از Map Reduce را می توان برای مسائل نموداری همچون یافتن مولفه های نموداری، خوشه بندی گرانیگاهی، شمارش مستطیل ها و شمارش مثلث ها استفاده کرد. Map Reduce نیز از نظر مسائل علمی بررسی شده است.Map Reduce در مسائل ساده همچون روش قطبی Marsaglia، در زمینه ایجاد متغیرهای تصادفی و صحیح عملکرد خوبی داشته است.
با این حال،Map Reduce در مورد الگوریتم های پیچیده تر، مشکلات قابل توجهی دارد، همچون گرادیان مزدوج، تبدیل سریع فوریه و حل کننده سیستم خطی سه قطری بلوک. بعلاوه، اغلب این مسائل از روشهای تکرار شونده برای حل آنها استفاده می کنند و نشان می دهند که Map Reduce مناسب الگوریتم هایی نیست که ماهیت تکرار شونده دارند. با این حال، بیش از یک نوع الگوریتم تکرارشونده وجود دارد. مجموعه ای از طبقات را برای الگوریتم های علمی طراحی کردیم تا بررسی کنیم که آیا مدل تکرارشونده برای تمام الگوریتم های تکرارشونده نامناسب است یا نه. براساس میزان سختی تطابق الگوریتم با مدل Map Reduce و ساختار آنها، الگوریتم ها بین این طبقات تقسیم می شوند. برای مقایسه طبقات با همدیگر، الگوریتم های هر طبقه را با مدل Map Reduce انتخاب کرده و تطبیق دادیم و به بررسی بازده و مقیاس پذیری آنها پرداختیم. چنین طبقه بندی به ما اجازه می دهد تا به دقت قضاوت کنیم که کدام الگوریتم ها به آسانی با مدل Map Reduce تطبیق شده و کدام طبقه تاثیرخاصی بر بازده و مقیاس پذیری الگوریتم های منطبق دارد. در ادامه این مقاله به معرفی پروژه SciCloud می پردازیم..........ترجمه itrans.ir