parallel processing of large graphs

24
أ واحد تهران مرکزیمیه آزاد اسنشگا داف های بزرگی پردازش موازی گرا روش ها نگارش: صادقی سعید حسن کرمیش منوچهریکورستاد: دکتر ا دی ماه سال5 931

Upload: saeid-sadeghi

Post on 15-Apr-2017

37 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Parallel processing of large graphs

أ

دانشگاه آزاد اسالمی واحد تهران مرکزی

روش های پردازش موازی گراف های بزرگ

نگارش:

سعید صادقی

حسن کرمی

استاد: دکترکورش منوچهری

5931دی ماه سال

Page 2: Parallel processing of large graphs

ب

مطالبفهرست

صفحه عنوان

1 ............................................................................................................................................................... اول فصل

2 .......................................................................................................................................................... مقدمه-1-1

2 ........................................................................................................................ گرفته صورت یها پژوهش-1-2

3 ............................................................................................................................................................. دوم فصل

4 .............................................................................................................................. گراف یپرداز مشکالت-2-1

4 ........................................................................................................... گراف یمواز پردازش یها یمعمار-2-2

4 ................................................................................................................................... شده عیتوز یها حافظه یمعمار-2-2-1

5 ................................................................................................................................................. مشترک حافظه یمعمار-2-2-2

5 ........................................................................ ها گراف یمواز پردازش یسینو برنامه یها مدل یمعرف-2-3

MapReduce .............................................................................................................................. 5 یسینو برنامه مدل-2-3-1

Bulk Synchronous Parallel (BSP) .......................................................................................................... 7 مدل-2-3-3

MapReduce ...................................................................................... 7 به نسبت BSP روش یها تیمز-2-4

MapReduce ................................................................................................. 8 مدل در نهیبه روش ارائه-2-5

8 ..................................................................................................................................گراف نقاط مجموعه یبند بخش-2-5-1

8 .................................................................................................................................................................... هاامیپ اجتماع-2-5-2

MP....................................................... 9 در نگاشت سمت اتصال یطراح یالگوها از استفاده با گراف پردازش-2-5-3

11 ........................................................................................................................................................... سوم فصل

12 ............................................................................... شده مطرح یها مدل با گراف یها تمیالگور یاجرا-3-1

SSSP ......................................................................................................................... 14 مبدا کی از ریمس نیتر کوتاه-3-1-1

15 ............................................................................ینسب ریتاث انتشار بر یمبتن گراف یهاگره انبوه یبند دسته-3-1-1

11 ....................................................................... جینتا لیتحل و یواقع ها داده یرو بر یها مدل شیآزما-3-2

11 ............................................................................................................................................................... :شیآزما طیمح-3-2-1

11 ........................................................................................................................................................................ داده گاهیپا-3-2-2

17 ...................................................................................................................................... شاتیآزما جینتا-3-4

17 ................................................................................................................ مختلف گراف مسائل یبرا محاسبه زمان-3-4-1

18 ............................................................................................................................. گراف اندازه نظر از یریپذ اسیمق-3-4-2

18 ........................................................................................... یمواز یهانیماش تعداد نظر از یافق یریپذ اسیمق-3-4-3

22 .........................................................................................................................................زمان طول در منابع مصرف-3-4-4

22 ............................................................................................................................................ یینها یبررس-3-5

Page 3: Parallel processing of large graphs

ج

اشکالفهرست

صفحه عنوان

MapReduce .......................................................................................... 1 مدل در ها داده انیجر( 1-2) شکل

BSP .......................................................................................................... 7 مدل در ها داده انیجر( 2-2) شکل

MapReduce ................................................................... 9 مدل در ها کننده بیترک از استفاده( 3-2) شکل

12 ..................................................................................... گراف پردازش یبرا MapReduce مدل( 1-3) شکل

13 ........................... گراف داده در نگاشت سمت اتصال یطراح یالگوها با MapReduce مدل( 2-3) شکل

13 ....................................................................................................... گراف پردازش در BSP مدل( 3-3) شکل

17 ............................................................................................... ینسب ریتاث انتشار مسئله ییکارآ( 4-3)شکل

17 .......................................................................................... مبدا کی از ریمس نیکوتاهتر ییکارآ( 5-3)شکل

18 ........................................ ینسب ریتاث انتشار تمیالگور یبرا گراف اندازه نظر از یریپذ اسیمق( 7-3)شکل

18 ...................... مبدا کی از ریمس نیکوتاهتر تمیالگور یبرا گراف اندازه نظر از یریپذ اسیمق( 8-3)شکل

19 .......................................................................................... آنها ریتاث و ها پردازنده تعداد سهیمقا( 9-3)شکل

Page 4: Parallel processing of large graphs

1

فصل اول

مقدمه

Page 5: Parallel processing of large graphs

2

مقدمه-1-1

دارند را می توان با گراف ها پیاده سازی و بسیاری از مسائل علمی و سیستم های داده ای که ذات شبکه ای

نمایش داد. گراف ها توانایی نمایش ارتباطات گسسته بین داده ها را فراهم می کنند و یک فرم بسیار انعطاف پذیری را

برای مدل سازی مسائل پیچیده ارائه می دهند که با استفاده از الگوریتم های گراف موجود می توان بسیاری از این

ائل و تجذیه و تحلیل این داده ها را با کارایی باال انجام داد. با توجه به حجم و نوع داده هایی موجود در شبکه های مس

اینترنت مخصوصا شبکه های اجتماعی و نیز موتور های جستجوی مانند فیسبوک، گوگل، تویتر و .... شاهد ایجاد حجم

تم های نرمافزاری هستم که اغلب برای ذخیره سازی داده های خود از داده ای بسیار زیاد در بستر گره هایی این سیس

ساختار های گراف استفاده می کنند. همچنین بسیاری از پایگاه های داده ای و یا انبار های داده ای که به صورت

این داده ها توزیع شده در نقاط مختلف جهان وجود دارند دارای بستر های شبکه ای گرافی هستند که تجذیه و تحلیل

امری بسیار مهم است.

شوند. با های تکی خارج میبا رشد مقیاس و پیچیدگی مسائل گراف، به سادگی از حد گنجایش محاسباتی و حافظه پردازنده

های های منابع پردازندههای محاسبات علمی، پردازش موازی برای غلبه بر محدودیتموفقیت محاسبات موازی در بسیاری از حوزه

های ها( و مدلهای عادی )جدولتفاوت اصلی در پردازش ساختارداده .رسدکی در محاسبات گراف الزم به نظر میت

باشد. است. پردازش ساختارهای جدول شامل مدیریت رکوردهای منفرد )سطرها( میارتباطی )گراف( در تجزیه مسئله

ال نیاز به دسترسی به همسایگان آن دارد که برای برای داده شبکه بندی شده، پردازش منفرد یک نقطه گراف معمو

، از این رو روش های موجود برای پردازش های موازی مانند ماندها در کل زمان پردازش ثابت باقی میبیشتر الگوریتم

MapReduce برای الگوریتم های گراف مناسب نیست و تحقیقات زیادی در زمینه طراحی الگوهای مناسب برای

که توسط Pregelدر پردازش گراف های بزرگ صورت گرفته که روش های جدید مانند مدل MapRdeuceساختار

در گراف ها انجامیده است. (BSP)مدل برنامه نویس موازی و همگام انبوه گوگل برای پردازش در سختار

و (SSSP)یک مبدا محاسبه کوتاه ترین مسیر از بر روی دو مسئله BSPو MapReduceدر این گزارش روش های

مورد بررسی و تحلیل قرار می گیرد. (RIP)های شبکه با انتشار تاثیر نسبی دسته بندی انبوه گره

پژوهش های صورت گرفته-1-2

با توجه به اهمیت موضوع پردازش گراف، پژوهش های زیادی در پردازش موازی خوشه ای صورت گرفته است که

MapReduce وBSP ای درسیستم های تحلیل دسته ای آفالین مورد توجه خاص قرار گرفته اند. به طور گسترده

توسط گوگل برای پردازش گراف BSPاخیرا ه است.کشف و مطالعه شد 92در ابتدا در اوایل دهه BSPایده اصلی پشت

برای پردازش گراف در ابر، بسیاری دیگر را به BSP، استفاده از Pregelاست. ایده تطبیق یافته Pregelدر ابرها در سیستم

و BSPمقایسه تئوریک از مدلهای ه است. یک های مشابه، که برخی متن باز هستند، ترغیب نمودساخت سیستم

MapReduce است که الگوریتم جستجوی اول سطح از نظر پردازش گراف، این تحقیق به این نتیجه رسیده شده است که ارائه

. نتایج کلی این تحقیق بیان نیست MapReduceسبه کوتاهترین مسیر( قابل پیاده سازی بهینه با استفاده از مدل )برای محا

، مدل بهتری برای حل مسائل گراف است.MRمعموال نسبت به BSPمی کند که

Page 6: Parallel processing of large graphs

3

دومفصل

روش ها و معماری

Page 7: Parallel processing of large graphs

4

مشکالت پردازی گراف-2-1

، الگوریتم بیان کننده راه حل، نرم افزار پیاده سازی الگوریتم و در حل مسائل مختلف هنگامی که راه حل کلی مسئله

ها، نرم افزار و سخت افزاری که الگوریتم. سخت افزار متوازن شده باشد، این مسئله قابلیت موازی سازی و گسترش مقیاس دارد.

کنند، لزوما در مسائل گراف بزرگ مقیاس کارآمد نیستند. به طور کلی، مسائل های موازی استاندارد به خوبی کار میبرای برنامه

ن ویژگی ها به برخی از ای های محاسباتی توزیع شده موجود در آنها دشوار است.های خاصی دارند که اعمال راه حلگراف ویژگی

شرح زیر است:

شوند که محاسبه هرگره به سختی به های گراف مطابق با ساختار یک گراف اجرا میاکثر الگوریتموابستگی به گره ها: -1

است. بدین معنا که الگوریتم بیشتر به ساختارهای گراف تکیه نتایج محاسبه شده برای تمام والدین آن گره وابسته

که ساختار کلی در شروع انجام محاسبات کنداین مسئله بیان می داده ها در گره ها.اله ای دارد تا پردازش دنب

مشخص نیست و این امر بخشبندی موثر برای پردازش موازی را دچار چالش می کند.

های زیادی گزینهاست که معموال به شدت نامنظم و غیرساختیافتهداده ها در گراف ها :ساختارهای نامتوازن و پراکنده -2

گذارد.برای پردازش موازی برپایه بخش بندی باقی نمی

ها اغلب به جای اجرای محاسبات پیچیده در ساختار الگوریتم: سربار باالی دسترسی داده در مقایسه با محاسبات -3

اده ای در محاسبه کنند. برای مثال مسئله کوتاه ترین مسئله تنها به عملیات ریاضیاتی سها را پیمایش میگراف، آن

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

معماری های پردازش موازی گراف-2-2

یکی از موارد مهم در پردازش های موازی نوع ارتباطات بین نود ها است که در پردازش گراف ها عموما معماری

ستفاده از حافظه های توزیع شده و حافظه های مشترک تقسیم بندی می شود که در های مورد استفاده در دو روش ا

زیر به صورت مختصر در مورد هر کدام توضیحاتی داده شده است:

معماری حافظه های توزیع شده-2-2-1

ر یک شبکه با سرعت ها و منابع( متصل به هم دها و حافظهها)مجموعه ای از پردازندهاین معماری از مجموعه ای از ماشین

برطبق نتایج گزارش شده، این معماری در بسیاری از مسائل عملی کارآمد است، ولی تنها قادر به مدیریت کند.باال استفاده می

در این ایده کلی پشت معماری حافظه توزیع شده، پیاده سازی تکنیک ارسال پیام است. باشد.های تاحدی موازی میالگوریتم

داده های به صورت مرکزی کنترل می شود و تصمیم گرفته می شود که هر پردازنده چه وظایفی را انجام دهد. معماری توزیع

معماری حافظه توزیع شده یک کاستی بزرگ دارد: همه وظایفی که باید اجرا شوند، باید درشروع محاسبات به وضوح فرموله

این محاسبات، مراحل و ... پردازنده ها را کنترل و برنامه ریزی کنند. بدین معنا که طراحان می بایست به صور کامل سازی گردند

.تواند منجر به خطا شودمسئله معاری را بسیار انعطاف پذیر ساخته ولی کنترل کامل ارتباطات و بخش بندی داده می

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

کنند. این مسئله تبادل انبوه های این تکنیک از کار مستقل روی داده محلی به اجرای عملیات ارتباطی جمعی سوئیچ میپردازنده

بررسی می شود. BSPش وربخش معرفی که جزئیات آن در سازدداده را هنگام تقاضا ممکن می

Page 8: Parallel processing of large graphs

5

معماری حافظه مشترک-2-2-2

دو نوع پیاده سازی معماری حافظه مشترک در محاسبات وجود دارد: مبتنی بر نرم افزار و مبتنی بر سخت افزار.

در پیاده سازی نرم ها دارند. هردوروش نیاز به پشتیبانی از قابلیت دسترسی حافظه سراسری توسط همه پردازنده

د. نکناز هم کار می های جداولی همچنان در ماشیناز حافظه قابل آدرس دهی سراسری فراهم کرده، توهمیافزاری

های متقارن است که از حافظه مشترک به طور های معمول معماری حافظه مشترک، پردازندهیکی از پیاده سازی

کند که با استفاده از پشتیبانی مناسب سخت افزاری، هرپردازنده قادر کنند. این معماری فرض میسراسری استفاده می

ها اجازه بازیابی مستقیم و نسبی داده به به پردازنده ویژگی باشد. اینهای حافظه سراسری میترسی به آدرسبه دس

دهد.طور بسیار سریعی می

ها و برنامه ها برای استفاده از حافظه threadیکی از مشکالت معمول حافظه های مشترک همگام سازی

شود که فاده استاز نوعی پروتکل برای اطمینان از اجرای صحیح برنامهباید مشترک در زمان نوشتن و خواندن است که

متوقف گردند. یها برای بازه زمانممکن است که برخی نخدر نتیجه

های مورد استفاده در معماری حافظه هایی دارد که پرهزینه تر از پردازندهدرنهایت این معماری نیاز به پردازنده

نکه این معماری بسیار جالب توجه، انعطاف پذیر و کارآمد است، ممکن است مناسب توزیع شده هستند. حتی با ای

ترین روش برای پردازش گراف نباشد.

معرفی مدل های برنامه نویسی پردازش موازی گراف ها-2-3

های متن باز است. عملی مختلف برای پردازش گراف موازی با استفاده از پلتفرمهدف اصلی این گزارش بررسی روش های

BSPو نیز یک نسخه گسترش یافته با نام اتصال سمت نگاشت و روش MapReduce (MR)به خصوص، محبوب ترین روش

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

BSPداده ها یک بار تخصیص داده می شوند به عالوه در روش BSPساختار گراف به تکرار بعدی ارسال شود ولی در ساختار

پردازش ها در حافظه های محلی صورت می گیرند. در این بخش جزیئات این روش ها را بررسی می کنیم.

MapReduceسی یمدل برنامه نو-2-3-1

اشاره کرد. MapReduce از پرکاربردترین مدل های معرفی شده برای برنامه نویسی موازی می توان به مدلی یک

اجازه می دهد تا فقط و فقط بر هسته محاسباتی مورد نیاز کلیدی ترین فایده این مدل این است که به برنامه نویس

جمله تفکیک و چالش های برنامه نویسی موازی از مسوولیت مدیریت اجرای موازی برنامه و تمام خود تمرکز کند و

برای اشته شده است. این مدل اولین باراجرا گذ توزیع متعادل داده ورودی و تحمل پذیری خطا بر عهده سیستم زمان

توان ه شد و پر کاربرد ترین پیاده سازی این مدل را بدون شک میئهای کالستری ارا برنامه نویسی بر روی سیستم

دانست. برنامه نویس با استفاده از Apache Hadoop [Apache, Hadoop][Zaharian, 2228] ب منبع بازچارچو

را بنویسد و سیستم زمان MapReduce برنامه هایی منطبق با مدل می تواند Hadoop کتابخانه موجود در

.می کند کالستر اجرابرنامه را به طور موازی بر روی سیستم های کامپیوتری موجود در Hadoopاجرای

شود: متشکل از دو مرحله پشت سرهم است که برای اکثر مسائل تکرارشونده اجرا می MapReduceبه طور کلی پردازش

کند. درهرتکرار فاز نگاشت و کاهش. اولین فاز داده را به طور موازی در میزبان پردازش کرده و دومین فاز نتایج را جمع آوری می

Page 9: Parallel processing of large graphs

1

شوند. هرقطعه ممکن ها استفاده میشود که به عنوان ورودی نگاشت دهندههایی تقسیم میل داده به قطعهبه طور مستقل، ک

ها پردازش شود، آنها یک زوج )کلید، که داده توسط نگاشت دهندهاست تنها توسط یک نگاشت دهنده پردازش شود. هنگامی

شوند. درنتیجه ها برطبق مقادیر کلید ذخیره و جمع آوری میجدهند. قبل از فاز کاهش، زومقدار( به فاز کاهش انتشار می

کند. خروجی فاز کاهش در سیستم فایل توزیع شده ذخیره هرکاهش دهنده لیستی از مقادیر مربوط به یک کلید دریافت می

.شودمی

کنند، حاسبات تغییر نمیهای پردازش تکرارشونده گراف، ساختار گراف و دیگر داده ایستا که در طول مدرحالت الگوریتم

ها در هرتکرار ارسال شوند که منجر به سربار شبکه ها تا کاهش دهندههای محاسباتی از نگاشت دهندهباید در شبکه ای از گره

رسد. ذات بدون حالت، دو فازی محاسباتی به نظر می MapReduceزیادی شده و بزرگترین کاستی پردازش گراف با استفاده از

MapReduce کاهش، کل -دهد. بدین معنا که بعد از هرتکرار نگاشتاجازه ماندن دو گره در همه تکرارها را در یک میزبان نمی

داده باید برای مصرف در تکراربعدی، در حافظه سراسری دوباره نویسی شود.

محاسبات بسیار وابسته کند، کلاز آنجا که سیستم فایل توزیع شده به عنوان یک حافظه سراسری در محیط ابری عمل می

های فیزیکی مختلفی بوده و به همین دلیل داده به طور دائم در های نگاشت و کاهش در ماشینبه دیسک است. به عالوه گره

شود که این مسئله در محیط ابری با مشکل منبع روبه روست.طول شبکه جابه جا می

MapReduceجریان داده ها در مدل ( 1-2شکل )

Page 10: Parallel processing of large graphs

7

Bulk Synchronous Parallel (BSP)مدل -2-3-3

را ساخت که موجب طراحی روش Pereglگوگل یک سیستم اختصاصی به نام MapReduceبرای رفع مشکل

های مشابه در محیط های متن باز شد.

است. هر کدام MapReduce( است که معادل تکرار در روش stepمراحل )هایی از شامل مجموعه BSPروند محاسباتی

های گراف، مقادیر یا وضعیت کنونی آنها و های گرهدارد که شامل شناسه BSPیک بازنمایی از گراف در از نود های محاسباتی

های محلی های گراف بخش بندی و درون حافظههای خارج شونده از گره هستند. قبل از هرگونه محاسبه، همه گرهلیستی از یال

محلی پردازشگر،های با استفاده از حافظه مانند تا کل پردازششود. آنها درطول کل محاسبات باقی میبارگذاری می پردازشگر ها

.شودهای گراف سازماندهی میگرهپردازشهای ارسالی بین با استفاده از پیام BSPاجرا گردد. پردازش گراف در

که های دیگر دریافت کرده و یک تابع محاسباتی های خود را از میزبانهای مرتبط با گرهپیامدر هر مرحله هر نود پردازشی

هایی به برخی این تابع پردازش محلی را در نقاط محلی اجرا کرده و پیام کند.را اجرا می احی برای پردازش طراحی نموده استطر

کند و که محاسبه محلی برای یک نقطه تمام شود، پردازش خود را غیرفعال میفرستد. هنگامییا همه نقاط همسایه در گراف می

کنونی تمام شده باشد، به مرحلهکه پردازش همه نقاط در مکانیسم همگام سازی هنگامی ند.مانمنتظر خاتمه دیگر نقاط می

شوند.اند فعال میدریافت کردهدهد. سپس تنها نقاطی که پیامیبعدی اجازه شروع می مرحله

BSP( جریان داده ها در مدل 2-2شکل )

MapReduceنسبت به BSPمزیت های روش -2-4

ارسال ساختار گراف در هر محله در شبکهعدم نیاز به

تبادل پیام های خاص برای اجرای الگوریتم ها در گره های پردازشی و عدم ایجاد سرباز در شبکه

انجام محاسبات در حافظع های محلی در گره های پردازشی که نیاز به خواندن و نوشتن بر روی

.دیسک را به شدت کاهش می دهد

Page 11: Parallel processing of large graphs

8

MapReduceدر مدل ارائه روش بهینه -2-5

با یک دیگر تفاوت های بسیاری دارند ولی وجود شبهات ها و نقاط BSPو MapReduceاگر چه روشهای

مشترک باعث شده است که بتوان بهبود هابی برای افزایش کارایی این دو مدل ارائه داد که در زیر جزئیات آن بررسی

شده است:

بخش بندی مجموعه نقاط گراف-2-5-1

ها workerنقاط گراف به منظور محاسبات موازی تقسیم بندی شده و به BSPو MapReduceدر هر دو روش

برای پردازش اختصاص داده می شود. حال در هر دو روش بهتر است نقاط نزدیک به هم در توپولوژی گراف در یک

بکه را کاهش می دهد. این بخش بندی ماشین پردازش شوند که محاسبات محلی افزایش پیدا کرده و انتقال درون ش

معموال به دو صورت زیر صورت می گیرد:

برد -1

بخشبندی خوشه ای -2

در بخش بندی خوشه ای سعی می شود که نود هایی که از نظر جغرافیایی به هم نزدیک هستند در یک گره پردازشی

و یا زبان مشترک صورت می گیرد که قرار گیرند مانند پردازش هایی که در شبکه های اجتماعی در یک کشور منطقه

از طرف دیگر، بین نود های گراف بیشتر است و پردازش های محلی را افزایش می دهد.احتمال وابستگی داده ای

این دو روش عیب های با اتصاالت نزدیک به هم در گراف دارد.هایی از گرهبخش بندی خوشه سعی در استخراج دسته

ها دارد که اگرمنبع بخش بندی برد نیاز به دانش قبلی درمورد گره آنها در ادامه ذکر می شود.هایی دارند که مهمترین

های بزرگ، خوشه بندی نقاط گراف نیز پیچیده بوده و به خصوص برای گرافامکان پذیر نخواهد بود. داده گمنام باشد

مصرف منابع باالیی دارد.

هااجتماع پیام-2-5-2

به منظور کم کردن بار شود.کل محاسبه یک نقطه مشخص همیشه در یک ماشین اجرا میش موازی در هر دو مدل پرداز

های ارسالی به هرنقطه توانند پیامها میترکیب کنندهترافیک شبکه می توان از ترکیب کننده ها برای ادغام پیام ها استفاده کرد.

و بعد از فاز محاسبه قبل از ارسال MapReduceز فاز نگاشت در مدل ای را از ماشین یکسان درکنار هم قرار دهند. آنها بعد ا

های های با درجه باال بوده و تعداد پیامها قادر به توزیع بارمحاسباتی متصل به گرهشوند. ترکیب کنندهاجرا می BSPپیام در

سازند.ارسالی در شبکه کامپیوتر را محدود می

Page 12: Parallel processing of large graphs

9

MapReduce( استفاده از ترکیب کننده ها در مدل 3-2شکل )

MPپردازش گراف با استفاده از الگوهای طراحی اتصال سمت نگاشت در -2-5-3

MapReduceنیاز به تجدید سازمان ساختار گراف بین فازهای نگاشت و کاهش، عیب اصلی پردازش گراف با استفاده از

هایی را ارسال ها تنها پیامنگاشت کنندهارائه شده است که Lin (Schimmy)برای حل این مشکل، الگوی طراحی توسط است.

شوند. نتایج این پردازش پیام با ساختار گراف در فاز کاهش ادغام شده و بمنظور استفاده در ها تبادل میکنند که بین گرهمی

های کلید مقدار که ساختار گراف را شود. برای ممکن ساختن این ادغام، زوجبعدی در دیسک ذخیره می MapReduceتکرار

جدا MapReduceها بخش بندی شده و مشابه با فاز ترکیبدهند، باید به تعدادی فایل برابر با تعداد کاهش دهندهنشان می

ی کلید که مناسب آن است، پیدا کرده و )درصورت امکان از راه ازهم باقی بمانند. سپس هرکاهش دهنده یک فایل با مجموعه ا

خواند.دور( می

دهد(، یک الگوی طراحی بهتر از اجرای اتصال رخ می Schimmyبه جای یک اتصال سمت کاهش )که درواقع در

ها باید از ، تنها زمانی که گرهMRهای گراف در پردازش گراف کند. در بیشتر الگوریتمسمت نگاشت استفاده می

کنند. فاز کاهش معموال مقادر هایی پیام ارسال میساختار گراف مطلع باشند، فاز نگاشت است که باید بدانند چه گره

ها ندارد.ها را محاسبه کرده و نیاز به اطالعاتی درمورد همسایگاه گرهجدید گره

مل ساختارگراف یا مقدار/وضعیت کنونی های شادر الگوی طراحی اتصال سمت نگاشت، ورودی به دوگروه از فایل

ها و با به تعدادی فایل برابر با تعداد کاهش دهنده Schimmyهای ورودی باید مشابه با شود. فایلها تقسیم میگره

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

ها نگاشت دهنده. خوانندها دو فایل را رکورد به رکورد میشوند، به بیان دیگر نگاشت دهندهنگاشت ادغام میدر فاز

های گره را دریافت ها پیامکنند. کاهش دهندهارسال می Schimmyها را مشابه با های تبادل شده بین گرهتنها پیام

ها در تکرار بعدی، با کنند. خروجی ساخته شده توسط کاهش دهندهکرده، محاسبات را اجرا نموده و نتایج را ارسال می

شوند.ساختار گراف فاز نگاشت ادغام می

Page 13: Parallel processing of large graphs

12

شود که بزرگترین مزیت آن نسبت به با روش اتصال سمت نگاشت، ساختار گراف هیچگاه روی دیسک نوشته نمی

Schimmy رسد. ایده پیشنهادی به نظر میMapReduce با اتصال سمت نگاشت(MR2) عمدتا به طور قابل توجهی

است. MapReduceکارآمدتر از مفهوم

Page 14: Parallel processing of large graphs

11

فصل سوم

آزمایش و تحلیل نتایج

Page 15: Parallel processing of large graphs

12

اجرای الگوریتم های گراف با مدل های مطرح شده-3-1

گراف، دو مسئله جداگانه انتخاب های مختلف پردازش موازی های مدلبمنظور ارزیابی کارآیی و دیگر ویژگی

دومین مسئله یک الگوریتم دسته بندی انبوه و (SSSPاولین مسئله محاسبه کوتاهترین مسیر از یک مبدا ) است.شده

هردومسئله متعلق به می باشد. ی گرافهابمنظور استفاده در دسته بندی انبوه گره (RIP)برپایه انتشار تاثیر نسبی

و SSSPهای بدین معنا که تحلیل کارآیی راه حل، ی برانگیخته در پردازش گراف استهاچالش دسته گسترده ای از

RIP های گراف مشابه بسط داده شود. تواند همچنین به الگوریتممی

نشان داده شده است: BSPو MapReduce ،MR2در شکل های زیر روند اجرایی مدل های

ردازش گرافبرای پ MapReduce( مدل 1-3شکل )

Page 16: Parallel processing of large graphs

13

با الگوهای طراحی اتصال سمت نگاشت در داده گراف MapReduceمدل ( 2-3شکل )

گراف در پردازش BSPمدل ( 3-3شکل )

Page 17: Parallel processing of large graphs

14

SSSP کوتاه ترین مسیر از یک مبدا-3-1-1

های بدون وزن، این مسئله ممکن است به عنوان محاسبه حداقل تعداد گره که یک مسیر را از یک گره برای گراف

و MapReduceهای این الگوریتم برای هردو دهد درنظر گرفته شود. پیاده سازیهای دیگر گراف شکل میتا همه گره

BSP است.مطالعه و پیشنهاد شده

گیرد. در اولین تکرار، گره داکثر مقدار ممکن مقداردهی شده و گره مبدا مقدار صفر میها با حدر شروع، همه گره

ها فرستند. در تکرار بعدی این همسایههای مجاورش میمبدا یک مقدار کوتاهترین مسیر به روزشده به یکی از همسایه

یابد. هرگره )همسایه( ممکن است میدهند و این روند ادامه طول مسیرها را یک واحد تا همسایگان خود افزایش می

یک پیام با کوتاهترین مسیر کوچکتر از مقدار ذخیره شده خود دریافت کند. در این حالت، گره فعال شده و کوتاهترین

کند. اگر طول مسیر دریافتی بزرگتر از مقدار مسیر به روزشده )با افزایش یک واحد( را به همه همسایگانش ارسال می

کند. از این طریق در هرتکرار یا پیش گام، یک مجموعه پیشرونده از ارسال نمییک گره باشد، هیچ پیامیکنونی برای

توان کل الگوریتم را به یابد. میاندازه یک پرش )هاپ( گسترش میها با مسیرهای کوتاه به تازگی کشف شده بهگره

در دوتابع بیان شده و توابع نگاشت، MapReduceیا برعکس تطبیق داد. پردازش BSPبه MapReduceسادگی از

کنند.خود گره را برای حفظ ساختار گراف ارسال می

Page 18: Parallel processing of large graphs

15

کند. گره به گره خوانده و پردازش می ()map. هر ()reduceو ()mapشامل دو تابع است: MapReduceپیاده سازی

(. از آنجا که 1الگوریتم 3-2کند )خطوطمجاور ارسال میبرای هرگره با برچسب شناخته شده، برچسب آن را به همه همسایگان

MapReduce های ارسال شده از (. پیام4یک مدل بدون حالت است، باید همچنین بازنمایی را به خودش ارسال کند )خط

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

است های دودسته را شناسایی نماید: پیام ارسال شده به خود که شامل لیست مجاورت گرهکند باید پیامها را دریافت میهمه پیام

های است. سپس همه برچسبهای ارسال شده توسط همسایگان مجاور که برچسب آنها تاکنون مشخص شده( و پیام5-4)خط

(. 8-7کند )خطکند، جمع آوری میهای گراف که گره را به همسایگانش متصل میوزن یالخارجی دریافت شده را همراه با

(. درنتیجه یک گره 11شود )خطدرنهایت احتمال بین شده از طریق میانگین وزن احتمال همسایگان برای یک گره محاسبه می

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

.گیردبه عنوان ورودی تابع نگاشت در تکرار بعدی مورد استفاده قرار می

های گراف مبتنی بر انتشار تاثیر نسبیدسته بندی انبوه گره-3-1-1

بازنمایی .شودعبارت دسته بندی انبوه به وظیفه دسته بندی مشخص یک مجموعه شیئ به هم متصل القا می

دهد. در ها هستند که هرشیئ با یک گره و روابط بین اشیاء با یال نمایش میمعمول مورد استفاده در این مسائل گراف

های ها و خصیصهاستخراج شده از همبستگی بین برچسبتوان هرگره را برطبق دانش عمومیدسته بندی انبوه، می

های همسایه دسته بندی های گرههای مشاهده شده همراه با برچسبیصهها و خصهای بین برچسبها یا همبستگیگره

کند.ها استفاده میکرد. برخالف دسته بندی استاندارد، روش انبوه از اطالعات روابط بین گره

توان دسته بندی انبوه را از طریق دو روش استنتاج مختلف انجام داد: دسته بندی درون شبکه ای یا دسته می

های درون شبکه برپایه اطالعات ن شبکه ای. دسته بندی درون شبکه ای سعی در بازیابی برچسببندی برو

های شناخته شده دارد. دسته بندی برون شبکه ای توزیع برچسب بازیابی شده را از یک شبکه به شبکه دیگر برچسب

کند.اعمال می

Page 19: Parallel processing of large graphs

11

آزمایش مدل های بر روی داده ها واقعی و تحلیل نتایج-3-2

محیط آزمایش:-3-2-1

ارائه شده، اجرا Wroclawآزمایشات با استفاده از یک محیط خوشه بندی که توسط مرکز ابرکامپیوتر و شبکه

گیگ فضای ذخیره 752گیگ حافظه و 11پردازنده، 4ماشین یکسان هریک با 85است. سیستم توزیع شده شامل شده

باشد.می

پایگاه داده-3-2-2

Tele : های تلفنی در طول سه ماه در یک های ارتباط از راه دور است که از تماساز مشترییک شبکه

522است. پایگاه داده خام استفاده شده برای ساخت شبکه شامل شرکت ارتباطی اروپایی ساخته شده

استخراج شده با استفاده از میلیون کاربر منحصربفرد است. شبکه 11میلیون تماس تلفنی و بیشتر از

است.تعرفه ساخته شده 38های کاربران گیرنده تماس در دو تعرفه محبوب از عالیتف

tele_small :است.برپایه دو تعرفه محبوب دیگر ساخته شده

Youtube :های: شناسه ها برای ساخت یک گراف وزن دار و برچسبیک زیرمجموعه از همه خصیصه

های نسبی، توان است. با استفاده از شناسهقرار گرفته های نسبی مورد استفادهویدئو، سن، دسته، شناسه

اتصاالت به عنوان کسری از تعداد ویدئو مرتبط مجاور محاسبه شد.

Twitter : بزگترین پایگاه داده مورد استفاده در آزمایشات است که شامل لیستی از شناسه دو کاربر

.دهداست که اتصالی از اولین کاربر را به دومین نشان می

Page 20: Parallel processing of large graphs

17

نتایج آزمایشات -3-4

زمان محاسبه برای مسائل گراف مختلف-3-4-1

های محاسباتی با انواع مسائل پردازش گراف با استفاده از تعداد ثابتی از گره MR,MR2,BSPهای در ابتدا روش

ان اجرا بمنظور تست زم (SSSP)و کوتاهترین مسیر از یک مبدا (RIP)ماشین( آزمایش شد. انتشار تاثیر نسبی 12)

ارائه (5-3) و( 4-3)به ترتیب در شکل RIPو SSSPمورد بررسی قرار گرفت. نتایج از سه روش موازی برای مسائل

)سه تا ده برابر بهتر( و %92-%72اصلی معادل MapReduceکارآیی بهتری نسبت به BSPاست. درکل، شده

MapReduce داشته و کارآیی بهتری برای مسئله برابر بهتر( 12تا2) %92-%52بهبودیافته معادلSSSP نسبت به

RIP .دارد

کارآیی مسئله انتشار تاثیر نسبی( 4-3شکل)

کارآیی کوتاهترین مسیر از یک مبدا( 5-3شکل)

Page 21: Parallel processing of large graphs

18

مقیاس پذیری از نظر اندازه گراف-3-4-2

آزمایشات دوباره در بررسی بعدی وابستگی مدل های مورد آزمایش به اندازه گراف ها مورد ارزیابی قرار گرفت.

(7-3( و )1-3)اجرا شد. برطبق شکل (tele_small,tele,twitter)برروی سه پایگاه داده با تعداد بسیار متفاوتی گره

راف نشان دادند.هرسه روش، مقیاس پذیری تقریبا خطی برای هردومسئله گ

مقیاس پذیری از نظر اندازه گراف برای الگوریتم انتشار تاثیر نسبی( 7-3شکل)

مقیاس پذیری از نظر اندازه گراف برای الگوریتم کوتاهترین مسیر از یک مبدا( 8-3شکل)

های موازیمقیاس پذیری افقی از نظر تعداد ماشین-3-4-3

ماشین با هم 85تا 5مختلفی ماشین از است.کارآیی )زمان پردازش( نیز آزمایش شدهتاثیر اندازه کامپیوتر بر

های کوچکتر مثل برای پایگاه داده است.نشان داده شده (a-h)(9-3)اند. نتایج در شکلمقایسه شده

tele_small,tele,youtube ان محاسباتی گره محاسباتی )میزبان( در ابر به بهترین زم 32هر سه راه حل با حدود

شوند. اضافه کردن ماشین بیشتر، مزایای توان محاسباتی بیشتر را به دلیل سربار ارتباطی شبکه از بین تکرار همگرا می

Page 22: Parallel processing of large graphs

19

، MRثانیه( به ازای 225تا2922برابر ) 14( سرعت پردازش را تا 32به 5ها )از برابر تعداد ماشین17افزایش برد.می

.d(9-3)دهد شکلثانیه( افزایش می141تا 2422برابر ) MR2 11و حتی برای twitterو پایگاه داده RIPمسئله

بستگی SSSPهای محاسباتی مسئله از طرف دیگر، زمان میانگین یک تکرار تنها تا حدی میانه رو به تعداد گره

رابر سریعتر ب 4.1و 2.7به ترتیب تنها MR2و MR. بزگترین بهبود مشاهده شده برای (e-h) (9-3)دارد شکل

است.بوده

ماشین کارآیی را حتی کاهش نیز داد؛ میانگین زمان اجرا 32در بعضی حاالت، گسترش خوشه کامپویتر بیشتر از

MapReduceهای ولی این مسئله تنها برای راه حل. (a,e,f,g) (9-3)یابد شکلبه طور جزئی کاهش می

(MR,MR2) ها، کارآیی در سطح مشخصی برای کند. در این حالتصدق میBSP شود.ثابت می

( مقایسه تعداد پردازنده ها و تاثیر آنها9-3شکل)

Page 23: Parallel processing of large graphs

22

مصرف منابع در طول زمان-3-4-4

های خوشه، مصرف پردازنده مصرف پردازنده ماشین منابع مورد بررسی قرار گرفته در این آزمایش عبارت اند از:

.ها و میزبانها(، مصرف حافظه میزبانن رئیس، ترافیک شبکه )ارتباط بین میزبانمیزبا

است. بدین توان مشاهده کرد که یکی از مسائل مهم در پردازش گراف توزیع پراکنده تعداد همسایگان گرهمی

داده بسیار BSPکل، در .های گراف پردازش شوندا تمام گرههای محاسباتی باید منتظر بمانند تخاطر برخی میزبان

بسیار RIPبه جز برای گام بارگذاری در شروع در مسئله BSPتبادل داده برای .دهدانتقال می MRکمتری نسبت به

های کمتری با برچسب ، تبادل داده در ابتدا که در اولین تکرارها، گرهRIPبا BSPاست. برای SSSPبیشتر از مسئله

دهد. ها را دوباره انتساب می»ها برچسب داشته و الگوریتم تنها آتکرار، همه گره 3یا 2ز وجود دارند، کمتر است. بعد ا

بدین معنا که داده بیشتری باید انتقال یابد.

ذات تکرارشونده الگوریتم در تقریبا همه نمودارها به خصوص برای مصرف پردازنده خوشه و حافظه به طور واضح قابل

میزان کمتری برای ترکیب و میزان ، ، بیشترین مصرف پردازنده برای هردوپردازش نگاشتMRاست. درحالت استفاده از مشاهده

، کمترین تقاضای پردازنده در مرحله RIPو مسئله BSPطور مشابه برای شود. به حتی کمتری برای فاز کاهش مشاهده می

، همگام سازی خیلی کوتاه بوده و درواقع در نمودار مشاهده SSSPو BSPباشد. در میها step همگام سازی بین پیش

شودنمی

برای هرتکرار افزایش ، بعد از بارگذاری اولیه ساختار گراف، مصرف پردازنده و ترافیک شبکهBSPو SSSPبرای

اند، مصرف پردازنده رسند. بعد از اینکه برخی از آنها کامل شدهیابد؛ چرا که کوتاه ترین مسیرها به حداکثر میمی

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

کنند که برای هردومسئله از فضای حافظه بسیار بیشتری استفاده می BSPهای ه حلرا شود.مصرف باالی حافظه می

به دالیل ذکر شده امری واضح است.

بررسی نهایی -3-5

و اتصال MapReduceکارآیی بیشتری نسبت به BSPنشان داد که روش 8درکل، نتایج ارائه شده در بخش

استفاده از رای مسائل محاسباتی مختلف متفاوت است. مشاهده شد کهسمت نگاشت دارد. با این وجود، بهره کارآیی ب

MR2 یاBSP به جایMR کارآیی بسیار بیشتری در محاسبه کوتاهترین مسیر نسبت به انتشار تاثیر نسبی دارد. این

ارتباط بسیار ،RIPها( توجیه شود. در های محاسباتی )میزبانتواند توسط زمان الزم برای ارتباط بین گرهمسئله می

های گراف به عنوان منبعی برای انتشار استفاده شده و برچسب خود را به همه گره %72زیادی وجود دارد؛ چرا که

های انتشار دهنده قابل تغییر بوده و به ، تعداد گرهSSSPکنند. درمقابل در مسئله های دیگر ارسال میتقریبا همه گره

کمتر است. RIP تکرار بستگی دارد، ولی در کل در

سازد. این دلیل اصلی این است که محاسبات درون حافظه ای را برای کل گراف ساده می BSPمفهوم کلی مدل

در همه مسائل مبتنی برگراف دارد. MapReduceکارآِی بهتری نسبت به BSPپیاده سازی

های گراف پردازش موازی الگوریتماندازه کافی بالغ برای همچنان تنها جایگزین به MapReduceبا این وجود،

باشد: نیاز به حافظه باال، از آنجا که همه داده می BSPهای حجیم است. دلیل این مسئله محدودیت برروی پایگاه داده

باید در حافظه محلی جای گیرد. BSPمورداستفاده پردازش محلی در

Page 24: Parallel processing of large graphs

21

منابع-3-1

[1] Tomasz Kajdanowicz ∗, Przemyslaw Kazienko, Wojciech Indyk, Parallel processing of

large graphs.4112

[2] A. Lumsdaine, D. Gregor, B. Hendrickson, J. Berry, Challenges in parallel graph processing,

Parallel Process. Lett. 17 (1) (2227) 5–22.

[3] S. Yang, B. Wang, H. Zhao, B. Wu, Efficient dense structure mining using MapReduce, in:

ICDM Workshops’29, IEEE Computer Society, 2229, pp. 332–337.

[4] J. Lin, M. Schatz, Design patterns for efficient graph algorithms in MapReduce,in:

Proceedings of the Eighth Workshop on Mining and Learning with Graphs, MLG’12, ACM,

New York, NY, USA, 2212, pp. 78–85.

[5] J. Lin, C. Dyer, Data-Intensive Text Processing with MapReduce, in: Synthesis Lectures on

Human Language Technologies, Morgan & Claypool Publishers, 2212.

[1] Y. Bu, B. Howe, M. Balazinska, M. Ernst, Haloop: efficient iterative data processing on

large clusters, Proc. VLDB Endowment 3 (1–2) (2212) 285–291.