ابر و باد و مِه(!) و خورشید و فلک…

به قلم سینا دهقانیان ورودی ۹۱ کارشناسی مهندسی کامپیوتر و ورودی ۹۵ کارشناسی ارشد هوش مصنوعی دانشگاه صنعتی اصفهان

حتما تا به حال اصطلاح رایانش ابری (Cloud Computing) را شنیده‌اید. رایانش ابری تقریبا جزء جدایی‌ناپذیر فناوری‌های امروزی و حتی زندگی امروزی شده است. یکی از کاربردهای رایانش ابری ارائه‌ی سرویس‌هایی است که از بسترهای گوناگونی می‌توان به آن دسترسی داشت. برای مثال شما می‌توانید ایمیل خود را از طریق موبایل، تبلت و لپ‌تاپ چک کنید و این کار به لطف بهره‌مندی از خدمات رایانش ابری است. در این مثال ساده، داده‌ها و اطلاعات شما، به اصطلاح روی یک ابر متمرکز ذخیره و پردازش می‌شود و در نتیجه شما می‌توانید از بسترهای مختلفی به آن دسترسی داشته باشید. قطعا مثال‌های مختلف دیگری می‌توان از رایانش ابری ارائه کرد مثل بازی‌های آنلاین، پیام‌رسان‌ها (نه همشون البته!)، سرویس‌های اشتراک‌گذاری فایل و غیره. اما موضوع اصلی این مقاله رایانش ابری نیست، بلکه الگوی پردازشی جدیدی به نام «رایانش مبتنی بر مِه» (Fog Computing) است.

رایانش مبتنی بر مِه

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

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

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

در برخی از کاربردها از جمله سیستم‌های کنترل هوشمند ترافیک، سیستم‌های مرتبط با سلامت و کنترل سلامتی، شبکه‌های هوشمند و بسیاری از سیستم‌ها و کاربردهای حساس به تأخیر دیگر، نیاز به تاخیر خیلی کم و پشتیبانی از تحرک‌پذیری (Mobility) بسیار حیاتی است [1]. در چنین سناریوهایی، به دلیل تأخیر ناشی از تبادل داده با یک ابر متمرکز، تأخیر به وجود آمده برای سیستم قابل قبول نخواهد بود. برای مثال یک خودرو خودران را تصور کنید که در حال حرکت است. در نتیجه پشتیبانی از تحرک‌پذیری و تأخیرِ کم برای چنین سیستمی بسیار مهم است.

با توجه به موارد گفته شده و همچنین گسترش و فراگیری اپلیکیشن‌ها و کاربردهای مختلف که همگی نیاز به یک ساختار پردازشی و رایانشی دارند و همچنین با توجه به نیازمندی‌های متفاوت هرکدام، رایانش ابری نمی‌تواند گزینه‌ی مناسبی برای همه آن‌ها باشد. در نتیجه باید به دنبال یک الگوی پردازشی جایگزین باشیم که بتواند موارد ذکر شده را به شکل بهتری پاسخ دهد.

قبل از آنکه ساختار و معماری رایانش مبتنی بر مِه را توضیح دهیم، بهتر است نگاهی به دیگر الگوهای پردازشی مشابه و نزدیک به رایانش مبتنی بر مِه نیز داشته باشیم.

تکه ابر

تکه ابر (Cloudlet) یکی از راهکارهای پیشنهاد شده به عنوان جایگزین رایانش ابری و حل موارد اشاره شده است. ایده اصلی تکه ابر نزدیک کردن منابع پردازشی و ذخیره‌سازی به دستگاه‌ها است تا از این طریق بتوان تأخیر تبادل داده‌ها با ابر متمرکز را کاهش داد. به دلیل این که هزینه‌های پردازشی و ارتباطی تکه ابرها پایین است، در نتیجه با هزینه‌ی نسبتا پایینی می‌توان آن‌ها را توسعه داد. اما مشکل اصلی در تکه ابرها این است که فقط از طریق نقاط دسترسی Wi-Fi می‌توان به آن‌ها دسترسی داشت. همین مورد باعث می‌شود که امکان ارائه محاسبات فراگیر (Ubiquitous Computing) از طریق تکه ابرها امکان‌پذیر نباشد. همچنین نقطه ضعف دیگری که برای تکه ابرها وجود دارد، این است که به دلیل محدودیت‌های پردازشی آن‌ها، امکان ارائه طرح‌های تجاری از طریق تکه ابرها فراهم نیست. [5]

محاسبات لبه‌ای

یکی دیگر از الگوهای پردازشی که شباهت زیادی به رایانش مبتنی بر مِه دارد، محاسبات لبه‌ای (Edge Computing) است. در این الگوی پردازشی، سرویس‌های ابری به دستگاه‌های موجود در لبه بسط داده می‌شوند. فناوری‌های موجود در این الگوی پردازشی این امکان را فراهم می‌کند که محاسبات و ذخیره‌سازی روی دستگاه‌های موجود در لبه‌ی شبکه انجام شود. نکته قابل ذکر این است که عملیات تخلیه بار (Offloading) و ذخیره‌سازی نزدیک به اشیا و منابع داده انجام می‌شود. شکل کلی معماری محاسبات لبه‌ای در شکل ۱ مشخص شده است. در این معماری به منظور کاهش تأخیر و ترافیک شبکه، بین دستگاه‌های انتهایی و مراکز ابر، گره‌های موجود در لبه که قابلیت‌های پردازشی دارند تعداد زیادی از وظایف پردازشی و محاسباتی از جمله پردازش داده‌ها، ذخیره‌سازی موقت، مدیریت دستگاه‌ها، تصمیم‌گیری و حفاظت از حریم خصوصی را انجام می‌دهند [2].

شکل ۱: معماری محاسبات لبه‌ای [2]
شکل ۱: معماری محاسبات لبه‌ای [2]


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

شکل ۲: طبقه‌بندی و حوزه الگوهای پردازشی [1]
شکل ۲: طبقه‌بندی و حوزه الگوهای پردازشی [1]


اختصارات به کار رفته در این دیاگرام، به شرح زیر است:

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

معماری رایانش مبتنی بر مِه

همان طور که قبلا هم اشاره شد، رایانش مبتنی بر مِه یک الگوی پردازشی جدید است که سعی دارد تا قابلیت‌های رایانش ابری را در لبه‌های شبکه و نزدیک به دستگاه‌های انتهایی توسیع دهد. این الگوی پردازشی دسترسی به منابع پردازشی و ذخیره‌سازی را نزدیک به دستگاه‌های انتهایی فراهم می‌کند. مدل مرجع معماری رایانش مبتنی بر مِه یکی از موضوعات پژوهشی مهم است و طی سال‌های اخیر مدل‌های مختلفی برای آن پیشنهاد شده است. اما نکته‌ی قابل توجه این است که یک ساختار سه لایه در همه‌ی این مدل‌ها مشترک است. این ساختار متشکل از سه لایه‌ی ابر، مِه و انتهایی است. همانطور که انتظار می‌رود و ایده‌ اصلی رایانش مبتنی بر مِه نیز همین است، در این ساختار یک لایه‌ی مِه بین لایه‌ی ابر و دستگاه‌های انتهایی اضافه شده است. در شکل ۳، ساختار کلی این الگوی پردازشی آمده است [2].

شکل ۳: معماری سلسله مراتبی رایانش مبتنی بر مه [2]
شکل ۳: معماری سلسله مراتبی رایانش مبتنی بر مه [2]

لایه انتهایی

لایه انتهایی (Terminal Layer) نزدیک‌ترین لایه به دستگاه‌های انتهایی و محیط فیزیکی است. این لایه شامل دستگاه‌های مختلفی مثل تلفن‌های همراه، وسایل نقلیه هوشمند، حسگرها و به طور کلی دستگاه‌های متنوع اینترنت اشیا (IoT) است. به همین دلیل برخی از مراجع این لایه را لایه‌ی IoT نیز نام‌گذاری می‌کنند [3]. دستگاه‌های موجود در این لایه از لحاظ جغرافیایی توزیع شده‌اند و عملکرد اصلی آن‌ها جمع‌آوری داده و ارسال آن به لایه‌های بالایی برای پردازش و ذخیره‌سازی است.

لایه مِه

لایه‌ی مِه (Fog Layer) همانطور که از اسمش مشخص است، برای ارائه بهتر سرویس، تاخیر کمتر و پشتیبانی بهتر از تحرک‌پذیری بین لایه‌ی انتهایی و لایه‌ی ابر قرار گرفته است. در لایه‌ی مِه، برخی از ویژگی‌ها و سرویس‌های لایه‌ی ابر را مثل سرویس‌های پردازشی، ذخیره‌سازی و خدمات شبکه‌ای ابر، می‌توان مشاهده کرد [4]. انواع دستگاه‌ها مثل سوییچ‌ها و مسیریاب‌ها، دروازه‌ها و نقاط دسترسی در این لایه قرار گرفته‌اند. دستگاه‌های انتهایی برای دریافت سرویس مورد نظر خود می‌توانند با گره‌های این لایه ارتباط برقرار کرده و سرویس خود را دریافت کنند. گره‌های مِه نسبت به سرویس‌دهنده‌های ابری منابع محدودتری دارند و از این جهت می‌توان از آن‌ها برای پردازش، تبادل و ذخیره‌سازی موقت داده‌ها استفاده کرد. همچنین سرویس‌های حساس به تأخیر و یا کاربردهایی که نیاز به تصمیم‌گیری‌های بلادرنگ (Real-Time) دارند را می‌توان در همین لایه سرویس‌دهی کرد.

لایه ابر

لایه ابر (Cloud Layer) از چندین سرویس‌دهنده و تجهیزات ذخیره‌سازی با کارایی بالا تشکیل شده است و خدمات مختلفی را برای کاربردها و اپلیکیشن‌های مختلف ارائه می‌دهد. این لایه همچنین منابع پردازشی و ذخیره‌سازی با ظرفیت بالایی در اختیار دارد تا قابلیت انجام وظیفه‌های پردازشی و تحلیلی سنگین و ذخیره‌سازی دائمی حجم عظیمی از داده‌ها را داشته باشد. البته باید به این نکته توجه داشت که بر خلاف شباهت‌هایی که بین لایه‌ی ابر و رایانش ابری وجود دارد، در الگوی رایانش مبتنی بر مِه، همه‌ وظیفه‌ها و درخواست‌های پردازشی به ابر ارسال نمی‌شوند، بلکه مطابق با استراتژی‌های مدیریت و زمان‌بندی وضع شده و همچنین نیاز هر کدام از وظایف پردازشی که از مهم‌ترین آن‌ها می‌توان به حداکثر تأخیر قابل قبول و میزان منابع مورد نیاز اشاره کرد، برخی از وظایف در ابر و برخی نیز در همان لایه‌ی مِه سرویس‌دهی می‌شوند.

با توجه به موارد اشاره شده و همچنین نحوه‌ی قرارگیری لایه‌ها و معماری رایانش مبتنی بر مِه، می‌توان انتظار داشت که این الگوی پردازشی می‌تواند به طور کارآمدی کیفیت سرویس (Quality of Service - QoS) را به خصوص زمانی که حجم داده‌ها خیلی زیاد می‌شود، فراهم کند. مدت زمان انجام یک وظیفه‌ی پردازشی از طریق رایانش ابری، ممکن است زیاد شود، به خصوص زمانی که تأخیر شبکه قابل توجه باشد. این موضوع به خصوص برای دستگاه‌های متحرک محسوس‌تر است، زیرا تأخیر در شبکه‌های بی‌سیم به دلیل پهنای باند به نسبت کمتر، بیشتر است. از این رو به جهت حل مشکلاتی که برای دستگاه‌های متحرک وجود دارد، پژوهشگران معماری رایانش مبتنی بر مِه را پیشنهاد داده‌اند.


منابع:

[1] Yousefpour, A., Fung, C., Nguyen, T., Kadiyala, K., Jalali, F., Niakanlahiji, A., ... & Jue, J. P. (2019). All one needs to know about fog computing and related edge computing paradigms: A complete survey. Journal of Systems Architecture, 98, 289-330.
[2] Hu, P., Dhelim, S., Ning, H., & Qiu, T. (2017). Survey on fog computing: architecture, key technologies, applications and open issues. Journal of network and computer applications, 98, 27-42.
[3] Yousefpour, A., Ishigaki, G., Gour, R., & Jue, J. P. (2018). On reducing IoT service delay via fog offloading. IEEE Internet of Things Journal, 5(2), 998-1010.
[4] Chiang, M., & Zhang, T. (2016). Fog and IoT: An overview of research opportunities. IEEE Internet of Things Journal, 3(6), 854-864.
[5] García-Valls, M., Dubey, A., & Botti, V. (2018). Introducing the new paradigm of social dispersed computing: applications, technologies and challenges. Journal of Systems Architecture, 91, 83-102.