SlideShare uma empresa Scribd logo
1 de 112
Baixar para ler offline
‫ماشینی‬ ‫یادگیری‬ ‫مبانی‬
Big Data & HPC Convergence Era
Amin Nezarat (Ph.D.)
Assistant Professor at Payame Noor University
aminnezarat@gmail.com www.astek.ir - www.hpclab.ir
aminnezarat@gmail.com
‫عناوین‬
‫دوره‬
1.‫ماشینی‬ ‫یادگیری‬ ‫مبانی‬
2.‫مفاهیم‬ ‫و‬ ‫دیتا‬ ‫بیگ‬
3.‫ماشینی‬ ‫یادگیری‬ ‫الگوریتمهای‬ ‫کارایی‬ ‫افزایش‬
4.HPC
aminnezarat@gmail.com
‫ماشین‬ ‫یادگیری‬ ‫مبانی‬‫ی‬
aminnezarat@gmail.com
‫ماشینی‬ ‫یادگیری‬ ‫عمر‬ ‫چرخه‬
aminnezarat@gmail.com
aminnezarat@gmail.com
aminnezarat@gmail.com
Sample Stack for Big Data Lake
aminnezarat@gmail.com
• Tom Mitchell (1998): A computer program is said to learn from experience with respect to
some task and some performance measure , if its performance on , as measured by ,
improves with experience.
• Ethem Alpaydın (2010): Machine learning is programming computers to optimize a
performance criterion using example data or past experience.
• Traditional programming versus machine learning:
‫ماشینی‬ ‫یادگیری‬ ‫تعریف‬
aminnezarat@gmail.com
9
•‫نکنیم؟‬ ‫نویسی‬ ‫برنامه‬ ‫را‬ ‫ماشین‬ ‫چرا‬
–‫نمود‬ ‫توصیف‬ ‫نمیتوان‬ ‫بدرستی‬ ‫را‬ ‫کارها‬ ‫بعضی‬.‫بتوان‬ ‫را‬ ‫آنها‬ ‫است‬ ‫ممکن‬ ‫صورتیکه‬ ‫در‬‫بصورت‬
‫مثالهای‬(‫ورودی‬/‫خروجی‬)‫نمود‬ ‫معین‬.
–‫تشخیص‬ ‫به‬ ‫قادر‬ ‫بشر‬ ‫که‬ ‫باشد‬ ‫نهفته‬ ‫مهمی‬ ‫اطالعات‬ ‫داده‬ ‫از‬ ‫عظیمی‬ ‫خیل‬ ‫در‬ ‫است‬ ‫ممکن‬‫آن‬
‫نباشد‬(‫کاوی‬ ‫داده‬.)
–‫حالی‬ ‫در‬ ‫نباشد‬ ‫شده‬ ‫شناخته‬ ‫آن‬ ‫ویژگیهای‬ ‫تمامی‬ ‫سیستم‬ ‫یک‬ ‫طراحی‬ ‫موقع‬ ‫است‬ ‫ممکن‬‫که‬
‫بگیرد‬ ‫یاد‬ ‫را‬ ‫آنها‬ ‫کار‬ ‫حین‬ ‫میتواند‬ ‫ماشین‬.
–‫کند‬ ‫تغییر‬ ‫زمان‬ ‫طول‬ ‫در‬ ‫محیط‬ ‫است‬ ‫ممکن‬.‫تغییرات‬ ‫این‬ ‫یادگیری‬ ‫با‬ ‫میتواند‬ ‫ماشین‬‫با‬ ‫را‬ ‫خود‬
‫دهد‬ ‫وفق‬ ‫آنها‬.
‫یادگیری؟‬ ‫چرا‬
aminnezarat@gmail.com
•‫باشد‬ ‫مشکلی‬ ‫کار‬ ‫میتواند‬ ‫صورت‬ ‫یک‬ ‫تشخیص‬ ‫برای‬ ‫ای‬ ‫برنامه‬ ‫نوشتن‬ ‫عمل‬ ‫در‬.‫ت‬ ‫زیرا‬‫عریف‬
‫ک‬ ‫آن‬ ‫اساس‬ ‫بر‬ ‫ای‬ ‫برنامه‬ ‫نوشتن‬ ‫داشتن‬ ‫وجود‬ ‫صورت‬ ‫در‬ ‫حتی‬ ‫و‬ ‫ندارد‬ ‫وجود‬ ‫آن‬ ‫برای‬ ‫دقیقی‬‫ار‬
‫است‬ ‫سختی‬.
•‫صحیح‬ ‫نمونه‬ ‫زیادی‬ ‫مقدار‬ ‫تهیه‬ ‫با‬ ‫میتوان‬ ،‫دست‬ ‫با‬ ‫برنامه‬ ‫یک‬ ‫نوشتن‬ ‫بجای‬ ‫نتیجه‬ ‫در‬‫اعمال‬ ‫و‬
‫انجام‬ ‫را‬ ‫نظر‬ ‫مورد‬ ‫کار‬ ‫که‬ ‫کنیم‬ ‫تولید‬ ‫ای‬ ‫برنامه‬ ‫ماشین‬ ‫یادگیری‬ ‫الگوریتم‬ ‫یک‬ ‫به‬ ‫آن‬‫دهد‬.
•‫بود‬ ‫خواهد‬ ‫متفاوت‬ ‫شود‬ ‫نوشته‬ ‫دست‬ ‫با‬ ‫بود‬ ‫قرار‬ ‫که‬ ‫آنچه‬ ‫با‬ ‫بسیار‬ ‫برنامه‬ ‫این‬.‫ب‬ ‫این‬ ‫اگر‬‫رنامه‬
‫م‬ ‫خروجی‬ ‫نیز‬ ‫است‬ ‫ندیده‬ ‫تاکنون‬ ‫که‬ ‫هائی‬ ‫نمونه‬ ‫برای‬ ‫میتواند‬ ‫باشد‬ ‫شده‬ ‫تهیه‬ ‫درست‬‫را‬ ‫نظر‬ ‫ورد‬
‫کند‬ ‫تولید‬.
10
‫یادگیری؟‬ ‫چرا‬
aminnezarat@gmail.com
11
•‫ه‬ ‫زمینه‬ ‫و‬ ‫آمده‬ ‫بوجود‬ ‫مربوطه‬ ‫های‬ ‫تئوری‬ ‫و‬ ‫ها‬ ‫الگوریتم‬ ‫در‬ ‫زیادی‬ ‫پیشرفتهای‬ ‫اخیر‬ ‫سالهای‬ ‫در‬‫ای‬
‫اند‬ ‫آمده‬ ‫پدید‬ ‫زیادی‬ ‫جدید‬ ‫تحقیقاتی‬.
•‫بصورت‬ ‫زیادی‬ ‫آزمایشی‬ ‫های‬ ‫داده‬Online‫اند‬ ‫آمده‬ ‫بوجود‬.
•‫اند‬ ‫آورده‬ ‫بدست‬ ‫زیادی‬ ‫محاسباتی‬ ‫قدرت‬ ‫ها‬ ‫کامپیوتر‬
•‫اند‬ ‫آمده‬ ‫بوجود‬ ‫صنعتی‬ ‫کاربردهای‬ ‫با‬ ‫عملی‬ ‫های‬ ‫جنیه‬( .‫م‬ ‫های‬ ‫برنامه‬ ‫گفتار‬ ‫پردازش‬ ‫زمینه‬ ‫در‬‫بتنی‬
‫اند‬ ‫گرفته‬ ‫پیشی‬ ‫دیگر‬ ‫روشهای‬ ‫همه‬ ‫از‬ ‫یادگیری‬ ‫بر‬)
‫یادگیری؟‬ ‫چرا‬
aminnezarat@gmail.com
•‫میتوان‬ ‫که‬ ‫میشود‬ ‫ساخته‬ ‫ریاضی‬ ‫مدلهای‬ ‫اطالعات‬ ‫تئوری‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫ماشین‬ ‫یادگیری‬ ‫در‬‫برای‬ ‫ند‬
‫شوند‬ ‫استفاده‬ ‫استنتاج‬.
•‫پیشگویانه‬ ‫است‬ ‫ممکن‬ ‫مدل‬(Predictive)‫روند‬ ‫می‬ ‫بکار‬ ‫جدید‬ ‫موارد‬ ‫بینی‬ ‫پیش‬ ‫برای‬ ‫که‬ ‫باشد‬.
•‫باشد‬ ‫توصیفی‬ ‫است‬ ‫ممکن‬ ‫مدل‬(descriptive)‫میشود‬ ‫یادگرفته‬ ‫داده‬ ‫از‬ ‫آن‬ ‫دانش‬ ‫که‬.
•‫باشد‬ ‫داشته‬ ‫را‬ ‫فوق‬ ‫خاصیت‬ ‫دو‬ ‫هر‬ ‫تواند‬ ‫می‬ ‫مدل‬ ‫البته‬.
12
‫مدل‬ ‫یادگیری‬
aminnezarat@gmail.com
13
•‫است؟‬ ‫چگونه‬ ‫انسان‬ ‫یادگیری‬
–‫میگیرد‬ ‫یاد‬ ‫بیرونی‬ ‫محیط‬ ‫با‬ ‫تعامل‬ ‫طریق‬ ‫از‬ ‫انسان‬
–‫کند‬ ‫شروع‬ ‫را‬ ‫یادگیری‬ ‫تا‬ ‫باشد‬ ‫داشته‬ ‫وجود‬ ‫باید‬ ‫عامل‬ ‫یک‬
•‫اشت؟‬ ‫چگونه‬ ‫ماشین‬ ‫یادگیری‬
–‫بکند‬ ‫باید‬ ‫چه‬ ‫که‬ ‫گفت‬ ‫ماشین‬ ‫به‬ ‫میتوان‬ ‫برنامه‬ ‫نوشتن‬ ‫طریق‬ ‫از‬.
–‫نمود‬ ‫یادگیری‬ ‫به‬ ‫وادار‬ ‫را‬ ‫ماشین‬ ‫میتوان‬ ‫متعدد‬ ‫مثالهای‬ ‫نمایش‬ ‫طریق‬ ‫از‬.
–‫بگیرید‬ ‫یاد‬ ‫واقعی‬ ‫محیط‬ ‫تجربه‬ ‫طریق‬ ‫از‬ ‫میتواند‬ ‫ماشین‬.
–‫خبره‬ ‫و‬ ‫نیستند‬ ‫مشخص‬ ‫مثالها‬ ‫حالتیکه‬ ‫در‬‫مشاهده‬ ‫طریق‬ ‫از‬ ‫میتواند‬ ‫ماشین‬ ‫ندارد‬ ‫وجود‬ ‫ای‬
‫یادبگیرد‬.
‫ماشین‬ ‫و‬ ‫انسان‬ ‫یادگیری‬
aminnezarat@gmail.com
14
•‫استتنتاجی‬ ‫یادگیری‬(inductive)
‫میشود‬ ‫انجام‬ ‫متعدد‬ ‫مثالهای‬ ‫مبنای‬ ‫بر‬ ‫یادگیری‬ ‫که‬.‫تصمیم‬ ‫های‬ ‫درخت‬ ‫مثل‬
•‫یادگیری‬Connectionist
‫میپذیرد‬ ‫صورت‬ ‫بشر‬ ‫مغز‬ ‫مدل‬ ‫مبنای‬ ‫بر‬ ‫یادگیری‬ ‫که‬.‫مصنوعی‬ ‫عصبی‬ ‫های‬ ‫شبکه‬ ‫مثل‬
•‫یادگیری‬Bayesian
‫میشود‬ ‫ارائه‬ ‫داده‬ ‫مورد‬ ‫در‬ ‫مختلفی‬ ‫های‬ ‫فرضیه‬ ‫که‬.
•‫یادگیری‬Reinforcement
‫میشود‬ ‫استفاده‬ ‫محیط‬ ‫در‬ ‫تجربه‬ ‫و‬ ‫سنسورها‬ ‫از‬ ‫که‬.
•‫یادگیری‬Evolutionary
‫ژنتیک‬ ‫الگوریتم‬ ‫مثل‬
‫یادگیر‬ ‫مختلف‬ ‫تکنیکهای‬‫ی‬
aminnezarat@gmail.com
‫دی‬ ‫بیگ‬ ‫و‬ ‫ماشینی‬ ‫یادگیری‬‫تا‬
aminnezarat@gmail.com
‫چرخه‬ML
aminnezarat@gmail.com
‫الگوریتمهای‬ ‫انواع‬ML
aminnezarat@gmail.com
18
•‫ناظر‬ ‫با‬ ‫یادگیری‬:
‫یک‬‫است‬ ‫مشخص‬ ‫نیز‬ ‫مربوطه‬ ‫تابع‬ ‫یا‬ ‫و‬ ‫خروجی‬ ‫مقدار‬ ،‫ورودی‬ ‫هر‬ ‫بازای‬ ‫دارد‬ ‫وجود‬ ‫یادگیری‬ ‫مثالهای‬ ‫از‬ ‫مجموعه‬.‫هدف‬
‫بزند‬ ‫حدس‬ ‫را‬ ‫خروجی‬ ‫یا‬ ‫و‬ ‫ورودی‬ ‫بین‬ ‫رابطه‬ ‫یا‬ ‫و‬ ‫تابع‬ ‫که‬ ‫است‬ ‫ای‬ ‫فرضیه‬ ‫آوردن‬ ‫بدست‬ ‫یادگیر‬ ‫سیستم‬
•‫ناظر‬ ‫بدون‬ ‫یادگیری‬:
‫مورد‬ ‫در‬ ‫اطالعاتی‬ ‫و‬ ‫است‬ ‫مشخص‬ ‫ها‬ ‫ورودی‬ ‫مقدار‬ ‫فقط‬ ‫آن‬ ‫در‬ ‫که‬ ‫دارد‬ ‫وجود‬ ‫یادگیری‬ ‫مثالهای‬ ‫از‬ ‫مجموعه‬ ‫یک‬
‫نیست‬ ‫دست‬ ‫در‬ ‫صحیح‬ ‫خروجی‬.‫ا‬ ‫بر‬ ‫بعدی‬ ‫مقدار‬ ‫بینی‬ ‫پیش‬ ‫یا‬ ‫و‬ ‫ورودیها‬ ‫بندی‬ ‫دسته‬ ‫برای‬ ‫ناظر‬ ‫بدون‬ ‫یادگیری‬‫ساس‬
‫میرود‬ ‫بکار‬ ‫فعلی‬ ‫موقعیت‬.
•‫یادگیری‬‫تقویتی‬:
‫مثالها‬‫ورودی‬ ‫بصورت‬/‫وضعیت‬ ‫بصورت‬ ‫بلکه‬ ‫نیستند‬ ‫خروجی‬/‫مخت‬ ‫های‬ ‫وضعیت‬ ‫در‬ ‫یادگیر‬ ‫که‬ ‫هستند‬ ‫پاداش‬‫عملیات‬ ‫لف‬
‫وضع‬ ‫هر‬ ‫با‬ ‫متناسب‬ ‫عمل‬ ‫دریافتی‬ ‫های‬ ‫پاداش‬ ‫مجموع‬ ‫اساس‬ ‫بر‬ ‫و‬ ‫دریافت‬ ‫متفاوتی‬ ‫پاداشهای‬ ‫و‬ ‫داده‬ ‫انجام‬ ‫را‬ ‫مختلفی‬‫را‬ ‫یت‬
‫میگیرد‬ ‫یاد‬.
•‫نظارتی‬ ‫نیمه‬ ‫یادگیری‬:
‫مثالها‬‫خروجی‬ ‫مقدار‬ ‫زیادی‬ ‫مثالهای‬ ‫برای‬ ‫اما‬ ‫است‬ ‫موجود‬ ‫خروجی‬ ‫مقدار‬ ‫آنها‬ ‫از‬ ‫کمی‬ ‫تعداد‬ ‫برای‬ ‫که‬ ‫هستند‬ ‫طوری‬
‫نیست‬ ‫مشخص‬.
‫الگوریتمهای‬ ‫انواع‬ML
aminnezarat@gmail.com
‫ناظر‬ ‫با‬ ‫الگوریتمهای‬
aminnezarat@gmail.com
‫ناظر‬ ‫بدون‬ ‫الگوریتمهای‬
aminnezarat@gmail.com
‫تقویتی‬ ‫یادگیری‬ ‫الگوریتمهای‬
aminnezarat@gmail.com
‫داریم؟‬ ‫الگوریتمهایی‬ ‫چه‬
aminnezarat@gmail.com
aminnezarat@gmail.com
‫با‬ ‫مدلهای‬ ‫بین‬ ‫تفاوت‬/‫ناظر‬ ‫بدون‬
aminnezarat@gmail.com
‫کنیم‬ ‫انتخاب‬ ‫چگونه‬ ‫را‬ ‫الگوریتم‬‫؟‬
aminnezarat@gmail.com
26
‫تجربه‬ ‫از‬ ‫کامپیوتری‬ ‫برنامه‬ ‫یک‬ ‫گوییم‬ ‫می‬E‫کار‬ ‫مورد‬ ‫در‬T‫است‬ ‫داده‬ ‫انجام‬ ‫یادگیری‬
‫معیار‬ ‫با‬ ‫گیری‬ ‫اندازه‬ ‫صورت‬ ‫در‬ ‫آن‬ ‫عملکرد‬ ‫اگر‬P‫کند‬ ‫پیدا‬ ‫بهبود‬ ‫تجربه‬ ‫این‬ ‫از‬ ‫پس‬.
‫بازی‬ ‫یادگیری‬checkers‫نویس‬ ‫دست‬ ‫حروف‬ ‫تشخیص‬ ‫یادگیری‬‫ربات‬ ‫یک‬ ‫کنترل‬ ‫یادگیری‬
T:‫بازی‬ ‫انجام‬checkers
P:‫م‬ ‫غلبه‬ ‫حریف‬ ‫بر‬ ‫که‬ ‫بازیهایی‬ ‫درصد‬‫ی‬
‫کند‬
T.E:‫خودش‬ ‫علیه‬ ‫بر‬ ‫بازی‬ ‫انجام‬
T:‫داخل‬ ‫در‬ ‫نویس‬ ‫دست‬ ‫حروف‬ ‫تشخیص‬
‫تصویر‬
P:‫حروف‬ ‫صحیح‬ ‫تشخیص‬ ‫درصد‬
T.E:database‫دست‬ ‫ازکلمات‬ ‫ای‬
‫کدام‬ ‫هر‬ ‫بندی‬ ‫ودسته‬ ‫نویس‬
T:‫ب‬ ‫بانده‬ ‫چهار‬ ‫بزرگراه‬ ‫در‬ ‫ربات‬ ‫یک‬ ‫هدایت‬‫ا‬
‫دوربین‬ ‫از‬ ‫استفاده‬
P:‫این‬ ‫از‬ ‫قبل‬ ‫شده‬ ‫طی‬ ‫فاصله‬ ‫میانگین‬‫که‬
‫دهد‬ ‫رخ‬ ‫خطایی‬
T.E:‫تصا‬ ‫و‬ ‫راننده‬ ‫یک‬ ‫عملیات‬ ‫ضبط‬ ‫با‬‫ویر‬
‫آید‬ ‫می‬ ‫بدست‬ ‫جاده‬ ‫هم‬ ‫سر‬ ‫پشت‬
‫یادگیری‬
aminnezarat@gmail.com
‫یادگیری‬ ‫مسئله‬ ‫یک‬ ‫مورد‬ ‫در‬ ‫سوال‬ ‫چند‬
•‫کرد؟‬ ‫استفاده‬ ‫میتوان‬ ‫خاص‬ ‫مسئله‬ ‫یک‬ ‫برای‬ ‫یادگیری‬ ‫الگوریتم‬ ‫چه‬ ‫از‬
•‫است؟‬ ‫موردنیاز‬ ‫آموزشی‬ ‫داده‬ ‫مقدار‬ ‫چه‬
•‫نمود؟‬ ‫انتخاب‬ ‫باید‬ ‫چگونه‬ ‫را‬ ‫بعدی‬ ‫آموزشی‬ ‫مثال‬
•‫نمود؟‬ ‫تبدیل‬ ‫تابع‬ ‫تقریب‬ ‫مسئله‬ ‫به‬ ‫را‬ ‫یادگیری‬ ‫مسئله‬ ‫میتوان‬ ‫چگونه‬
•‫بیشتر‬ ‫سازگاری‬ ‫مسئله‬ ‫با‬ ‫تا‬ ‫داد‬ ‫تغییر‬ ‫خودکار‬ ‫بطور‬ ‫را‬ ‫یادگیر‬ ‫نمایش‬ ‫نحوه‬ ‫میتوان‬ ‫آیا‬‫باشد؟‬ ‫داشته‬ ‫ی‬
aminnezarat@gmail.com
‫مفاهیم‬ ‫و‬ ‫دیتا‬ ‫بیگ‬
aminnezarat@gmail.com
3
3© 2013 Berlin Big Data Center • All Rights Reserved
© Volker Markl
ML
ML
algorithms
algorithms
data too uncertain Veracity Data MiningMATLAB, R, Python
Predictive/Prescriptive MATLAB, R, Python
data volume too large
data rate too fast
data too heterogeneous
Volume
Velocity
Variability
Data
Reporting
Ad-Hoc Queries
ETL/ELT
aggregation, selection
SQL, XQuery
MapReduce
Analysis
scalability
DM
DM
scalability
Data & Analysis: Increasingly Complex!
aminnezarat@gmail.com
4
4© 2013 Berlin Big Data Center • All Rights Reserved
© Volker Markl
Application
Data
Science
Mathematical Programming
LinearAlgebra
Stochastic Gradient Descent
Error Estimation
Active Sampling
Regression
Monte Carlo
Statistics
Sketches
Hashing Convergence
Decoupling Iterative
Algorithms
Curse of Dimensionality
Relational Algebra / SQL
Indexing
Control Flow
Data Warehouse/OLAP
NF2/XQuery
Resource Management
Hardware Adaptation
Fault Tolerance
Memory Management
Parallelization
Scalability
Memory Hierarchy
Data Analysis Language
Compiler
Query Optimization
Domain Expertise (e.g., Industry 4.0, Medicine, Physics, Engineering, Energy, Logistics)
Data Flow
Real-Time
New Technology to the Rescue!
aminnezarat@gmail.com
8
8© 2013 Berlin Big Data Center • All Rights Reserved
© Volker Markl
ML DM
Feature Engineering
Representation
Algorithms (SVM, GPs, etc.)
Think ML-algorithms
in a scalable way
Process iterative
algorithms
in a scalable way
Technology X
Declarative Languages
Automatic Adaption
Scalable processing
Curse of Dimensionality
IterativeAlgorithms
Control flow
Isolation Convergence
Mathematical Programming
LinearAlgebra
Error Estimation
Active Sampling
Regression Monte Carlo
Statistic
SketchesHashing
Scalability
Parallelization Compiler
Memory Management
Memory Hierarchy
Data Analysis Language
Query Optimization
Dataflow Indexing
Hardware adaption
Fault Tolerance
Resource Management
NF2/XQuery
RelationalAlgebra/SQL
Data Warehouse/OLAP
declarative
Goal: Data Analysis without
System Programming!
Machine Learning + Data Management = X
aminnezarat@gmail.com
‫سریع؟‬ ‫چقدر‬
Big Data Stack
Apache Hadoop is an open source software framework
for storage and large scale processing of data-sets on
clusters of commodity hardware
Hadoop was created by Doug Cutting and Mike
Cafarella in 2005, Named the project after son's toy
elephant
aminnezarat@gmail.com
Computation
Data
‫داده‬ ‫نزد‬ ‫محاسبات‬ ‫انتقال‬
Scalability at Hadoop’s core!
Reliability!
Reliability!
Reliability!
‫اعتماد‬ ‫قابلیت‬
Hadoop Distributed File System(HDFS)
Once
a year
365 Computers
Once
a day
aminnezarat@gmail.com
Small Data & Complex Algorithm
Large Data & Simple Algorithm
Vs.
aminnezarat@gmail.com
Data Actionable Knowledge
That is roughly the problem that Machine Learning addresses!
aminnezarat@gmail.com
Data Knowledge
� Isthis email spam or no spam?
� Is there a face in this picture?
� Should Ilend money to this customer given his spending
behaviour?
aminnezarat@gmail.com
� Knowledge is not concrete
� Spam is an abstraction
� Face is an abstraction
� Who to lend to is an abstraction
You do not find spam, faces, and financial advice in datasets, you
just find bits!
aminnezarat@gmail.com
� Preprocessing
� Machine Learning
� Result validation
‫ها‬ ‫داده‬ ‫از‬ ‫دانش‬ ‫کشف‬
aminnezarat@gmail.com
� Data cleaning
� Data integration
� Data reduction, e.g., sampling
� Data transformation, e.g., normalization
Preprocessing
aminnezarat@gmail.com
� Classification and regression (supervised learning)
� Clustering (unsupervised learning)
� Mining the frequent patterns
� Outlier detection
Validation&Functionality
� Needs to evaluate the performance of the model on some criteria.
� Depends on the application and its requirements.
aminnezarat@gmail.com
• What is Spark ?
High level Architecture
How does it Work ? RDD and Operations Hadoop MapReduce
DAG (Directed Acyclic Graph) Run Mode of Spark Programming model
• Machine Learning With Spark
MLLib Library
Types of Machine Learning MLArchitecture
Comparison with other tools
• Other Applications
What is Spark?
aminnezarat@gmail.com
• Definition
“Apache Spark is an open source big data processing framework built around
speed, ease of use, and sophisticated analytics. It was originally
developed in 2009 in UC Berkeley’s AMPLab, and open sourced in
2010 as an Apache project.”
Source : http://www.infoq.com/articles/apache-spark-introduction
What is Spark?
Source : https://bighadoop.wordpress.com/2014/04/03/apache-spark-a-fast-big-data-analytics-engine/
‫معماری‬Spark
Source: https://www.sigmoid.com/apache-spark-internals/
Spark‫کند؟‬ ‫می‬ ‫کار‬ ‫چگونه‬
RDD and Operations
Source : http://spark.apache.org/docs/0.6.2/api/core/spark/RDD.html
4
aminnezarat@gmail.com
• Definition
“A Resilient Distributed Dataset (RDD), the basic
abstraction in Spark. Represents an immutable,
partitioned collection of elements that can be
operated on in parallel. This class contains the basic
operations available on all RDD”
Source : http://spark.apache.org/docs/0.6.2/api/core/spark/RDD.html
RDD‫آن‬ ‫عملیاتهای‬ ‫و‬
• Creating RDD:
 From existing collection
 From Hadoop-based input sources
valcollection=List("a","b","c", "d")
valrddFromCollection=sc.parallelize (collection)
valrddFromTextFile=sc.textFile("List ")
aminnezarat@gmail.com
• Definition
“The term MapReduce actually refers to two separate and distinct tasks
that Hadoop programs perform. The first is the map job … and the
second is the reduce.”
Source: https://www-01.ibm.com/software/data/infosphere/hadoop/mapreduce/
‫نویسی‬ ‫برنامه‬ ‫مدل‬Map/Reduce
aminnezarat@gmail.com
Case of MapReduce :
Case of RDD:
Source: http://www.thecloudavenue.com/
RDD‫آن‬ ‫عملیاتهای‬ ‫و‬
aminnezarat@gmail.com
• MLLib Library :
“MLlib is Spark’s scalable machine learning library consisting of
common learning algorithms and utilities, including classification,
regression, clustering, collaborative filtering, dimensionality
reduction, as well as underlying optimization Primitives”
Source: https://spark.apache.org
Spark Machine Learning
aminnezarat@gmail.com
Algorithms:
• classification: logistic regression, linear support vector machine
(SVM), naive Bayes
• regression: generalized linear regression (GLM)
• collaborative filtering: alternating least squares (ALS)
• clustering: k-means
• decomposition: singular value decomposition (SVD), principal
component analysis (PCA)
MLLib‫چیست؟‬
Why MLlib?
aminnezarat@gmail.com
Algorithms:
• classification: SVM, nearest neighbors, random forest, …
• regression: support vector regression (SVR), ridge regression,
Lasso, logistic regression, …
• clustering: k-means, spectral clustering, …
• decomposition: PCA, non-negative matrix factorization (NMF),
independent component analysis (ICA), …
Scikit-Learn
aminnezarat@gmail.com
Algorithms:
• classification: logistic regression, naive Bayes, random forest, …
• collaborative filtering: ALS, …
• clustering: k-means, fuzzy k-means, …
• decomposition: SVD, randomized SVD, …
Apache Mahout
Vowpal Wabbit?H2O?
MATLAB?
Mahout?
R?
Weka?
scikit-learn?
LIBLINEAR?
aminnezarat@gmail.com
• It is built on Apache Spark, a fast and general
engine for large-scale data processing.
• Run programs up to 100x faster than
Hadoop MapReduce in memory, or
10x faster on disk.
• Write applications quickly in Java, Scala, or Python.
Why MLlib
‫معماری‬Mllib
Data Ingestion and Storage
aminnezarat@gmail.com
• Data Ingestion:
- Browser, and mobile application event logs or accessing external
webAPIs
• Data Storage:
- HDFS, Amazon S3, and other filesystems; SQL databases such
as MySQL or PostgreSQL; distributed NoSQL data stores such as
HBase, Cassandra, and DynamoDB, …
Data Ingestion and Storage
aminnezarat@gmail.com
Initialization:
• random
• k-means++
• k-means||
Implementation of K-Means
aminnezarat@gmail.com
K-Means(Scala)
aminnezarat@gmail.com
K-Means(Python)
aminnezarat@gmail.com
Dimension Reduction(K-Means++)
aminnezarat@gmail.com
• Master loads (small) data file and
initializes models.
• Master broadcasts data and initial
models.
• At each iteration, updated models are
broadcast again.
• Works OK for small data.
• Lots of communication overhead - doesn’t
scale well.
Broadcast Everything
aminnezarat@gmail.com
Workers load data•
• Master broadcasts initial models
• At each iteration, updated models are
broadcast again
Much better scaling•
• Works on large datasets
• Works well for smaller models. (low K)
workers
Data Parallel
aminnezarat@gmail.com
Workers load data
Models are instantiated
at workers.
• At each iteration, models are shared
via join between workers.
• Much better
scalability.
• Works on large datasets
•
•
Fully Parallel
workers
aminnezarat@gmail.com
‫افزایش‬ ‫روشهای‬‫کارایی‬
Improving Performance
aminnezarat@gmail.com
‫از‬ ‫استفاده‬ ‫رشد‬HPC, Big Data, Deep Leraning
‫بین‬ ‫همگرایی‬HPC, Big Data, Deep Learning
aminnezarat@gmail.com
‫معماری‬von Neumann
‫ریاضیدان‬‫نخبه‬‫مجارستانی‬‫که‬‫پس‬‫از‬‫مقاله‬‫سال‬1945‫خود‬‫با‬‫موضوع‬«‫نیازمندیهای‬‫عمومی‬‫برای‬‫یک‬‫کامپیوتر‬
‫عمومی‬»‫به‬‫شهرت‬‫رسید‬.
‫در‬‫مدل‬‫او‬‫برخالف‬‫کامپیوتر‬‫های‬‫قدیمی‬‫که‬‫برنامه‬‫نویسی‬‫با‬“Hard Wiring”‫انجام‬‫می‬،‫شد‬‫هر‬‫دوی‬
‫دستورالعملهای‬‫برنامه‬‫و‬‫داده‬‫های‬‫مورد‬‫نیاز‬‫آن‬‫در‬‫حافظه‬‫الکترونیکی‬‫نگهداری‬‫می‬‫شوند‬.
aminnezarat@gmail.com
‫بندی‬ ‫دسته‬Flynn
‫سال‬ ‫در‬ ‫کامپیوتری‬ ‫های‬ ‫برنامه‬ ‫انواع‬ ‫برای‬ ‫موجود‬ ‫بندی‬ ‫دسته‬ ‫ترین‬ ‫معروف‬1966‫شد‬ ‫ارائه‬ ‫فلین‬ ‫مایکل‬ ‫آقای‬ ‫توسط‬.
aminnezarat@gmail.com
Single Instruction, Single Data (SISD)
•A serial (non-parallel) computer
•Single Instruction: Only one instruction stream is
being acted on by the CPU during any one clock
cycle
•Single Data: Only one data stream is being used as
input during any one clock cycle
•Deterministic execution
•This is the oldest type of computer
•Examples: older generation mainframes,
minicomputers, workstations and single
processor/core PCs.
aminnezarat@gmail.com
Single Instruction, Multiple Data (SIMD)
• A type of parallel computer
• Single Instruction: All processing units execute the same
instruction at any given clock cycle
• Multiple Data: Each processing unit can operate on a
different data element
• Two varieties: Processor Arrays and Vector Pipelines
• Examples:
• Processor Arrays: Thinking Machines CM-2, MasPar
MP-1 & MP-2, ILLIAC IV
• Vector Pipelines: IBM 9000, Cray X-MP, Y-MP & C90,
Fujitsu VP, NEC SX-2, Hitachi S820, ETA10
• Most modern computers, particularly those with graphics
processor units (GPUs) employ SIMD instructions and
execution units.
aminnezarat@gmail.com
Multiple Instruction, Single Data (MISD)
•A type of parallel computer
•Multiple Instruction: Each processing unit operates
on the data independently via separate instruction
streams.
•Single Data: A single data stream is fed into multiple
processing units.
•Few (if any) actual examples of this class of parallel
computer have ever existed.
•Some conceivable uses might be:
•multiple frequency filters operating on a single
signal stream
•multiple cryptography algorithms attempting to
crack a single coded message.
aminnezarat@gmail.com
Multiple Instruction, Multiple Data (MIMD)
• A type of parallel computer
• Multiple Instruction: Every processor may be executing a
different instruction stream
• Multiple Data: Every processor may be working with a
different data stream
• Execution can be synchronous or asynchronous, deterministic
or non-deterministic
• Currently, the most common type of parallel computer - most
modern supercomputers fall into this category.
• Examples: most current supercomputers, networked parallel
computer clusters and "grids", multi-processor SMP
computers, multi-core PCs.
• Note: many MIMD architectures also include SIMD execution
sub-components
aminnezarat@gmail.com
‫زمان‬ ‫گذر‬ ‫در‬ ‫پردازش‬
aminnezarat@gmail.com
‫رایانش‬ ‫علمی‬ ‫متد‬
aminnezarat@gmail.com
aminnezarat@gmail.com
HPC‫ایام‬ ‫گذر‬ ‫در‬
aminnezarat@gmail.com
‫از‬ ‫ده‬ ‫استفا‬ ‫الزامات‬HPC‫علمی‬ ‫محاسبات‬ ‫در‬
aminnezarat@gmail.com
aminnezarat@gmail.com
‫موازی‬ ‫نویسی‬ ‫برنامه‬ ‫های‬ ‫الیه‬
aminnezarat@gmail.com
‫حاف‬ ‫بر‬ ‫مبتنی‬ ‫سازی‬ ‫موازی‬ ‫مختلف‬ ‫روشهای‬‫ظه‬
•‫اشتراکی‬ ‫حافظه‬Shared Memory
‫های‬ ‫پردازنده‬(Core or Processor)‫نوش‬ ‫و‬ ‫خواندن‬ ‫برای‬ ‫مشترک‬ ‫حافظه‬ ‫یک‬ ‫از‬ ‫کامپیوتر‬ ‫یک‬ ‫مختلف‬‫تن‬
‫کنند‬ ‫می‬ ‫استفاده‬ ‫داده‬.
‫مثال‬:OpenMP
•‫شده‬ ‫توزیع‬ ‫حافظه‬Distributed Memory
‫از‬ ‫سیستمها‬ ‫پردازنده‬ ‫بین‬ ‫داده‬ ‫تبادل‬ ‫برای‬ ‫و‬ ‫دارند‬ ‫را‬ ‫خود‬ ‫اختصاصی‬ ‫حافظه‬ ‫مختلف‬ ‫سیستمهای‬
‫ارسال‬/‫شود‬ ‫می‬ ‫استفاده‬ ‫پیام‬ ‫دریافت‬.
‫مثال‬:MPI
•‫ترکیبی‬ ‫حافظه‬Hybrid Memory
‫گیرد‬ ‫می‬ ‫قرار‬ ‫استفاده‬ ‫مورد‬ ‫باال‬ ‫روش‬ ‫دو‬ ‫ترکیب‬
‫مثال‬:PGAS
aminnezarat@gmail.com
‫اشتراکی‬ ‫حافظه‬Shared Memory
•‫است‬ ‫سازی‬ ‫موازی‬ ‫در‬ ‫روش‬ ‫ترین‬ ‫مرسوم‬
•‫هم‬ ‫با‬ ‫مشترک‬ ‫حافظه‬ ‫یک‬ ‫طریق‬ ‫از‬ ‫اما‬ ‫هستند‬ ‫مستقل‬ ‫مختلف‬ ‫های‬ ‫پردازنده‬
‫کنند‬ ‫می‬ ‫داده‬ ‫تبادل‬
•‫سایر‬ ‫برای‬ ‫مشاهده‬ ‫قابل‬ ‫پردازنده‬ ‫یک‬ ‫توسط‬ ‫حافظه‬ ‫در‬ ‫داده‬ ‫یک‬ ‫تغییرات‬
‫باشد‬ ‫می‬ ‫ها‬ ‫پردازنده‬
•‫دسته‬ ‫دو‬ ‫به‬ ‫دسترسی‬ ‫سطح‬ ‫و‬ ‫نوع‬ ‫نظر‬ ‫از‬ ‫مشترک‬ ‫حافظه‬ ‫ماشینهادی‬UMA‫و‬
NUMA‫شوند‬ ‫می‬ ‫تقسیم‬:
•‫های‬ ‫حافظه‬UMA‫با‬ ‫عمدتا‬SMP(Symmetric Multiprocessor)
‫شوند‬ ‫می‬ ‫شناخته‬
•‫ماشینهای‬ ‫در‬NUMA‫ب‬ ‫توانند‬ ‫می‬ ‫فیزیکی‬ ‫اتصاالت‬ ‫با‬ ‫ها‬ ‫پردازنده‬ ‫تمامی‬‫ه‬
‫کنند‬ ‫پیدا‬ ‫دسترسی‬ ‫ماشینها‬ ‫سایر‬ ‫حافظه‬
•‫در‬NUMA‫ندارند‬ ‫حافظه‬ ‫به‬ ‫یکسانی‬ ‫دسترسی‬ ‫زمان‬ ‫ها‬ ‫پردازنده‬ ‫همه‬
•‫مثال‬:OpenMP, POSIX Thread, CUDA for GPU
aminnezarat@gmail.com
‫شده‬ ‫توزیع‬ ‫حافظه‬Distributed Memory
•‫سیستمهای‬‫با‬‫حافظه‬‫مشترک‬‫را‬‫به‬‫هم‬‫متصل‬‫می‬‫کند‬
•‫نیاز‬‫به‬‫اتصاالت‬‫شبکه‬‫ای‬‫به‬‫گره‬‫های‬‫پردازشی‬‫وجود‬‫دارد‬
•‫مثال‬:Ethernet, Infiniband, Omni-Path, Myrinet
•‫هر‬‫پردازنده‬‫از‬‫حافظه‬‫اختصاصی‬‫خود‬‫استفاده‬‫می‬‫کند‬‫و‬‫در‬‫صورت‬‫ن‬‫یاز‬
‫به‬‫تبادل‬‫داده‬‫با‬‫پردازنده‬،‫دیگر‬‫از‬‫طریق‬‫شبکه‬‫تبادل‬‫صورت‬‫می‬‫گیرد‬
•‫از‬‫نظر‬‫پردازنده‬‫و‬‫حافظه‬‫مقیاس‬‫پذیر‬‫است‬‫و‬‫می‬‫توان‬‫به‬‫سرعت‬‫ت‬‫عداد‬
‫گره‬‫های‬‫محاسباتی‬‫و‬‫حافظه‬‫متعلق‬‫به‬‫هر‬‫یک‬‫را‬‫افزایش‬/‫کاهش‬‫داد‬
•‫از‬‫معایب‬‫عمده‬‫آن‬‫نیاز‬‫به‬‫کد‬‫نویسی‬‫مجدد‬‫نرم‬‫افزارهای‬‫موجود‬
‫است‬(‫استفاده‬‫از‬‫کتابخانه‬‫های‬MPI)
•‫پیشرفت‬‫های‬‫اخیر‬‫در‬‫حوزه‬‫نرم‬‫افزار‬‫تا‬‫حدود‬‫زیادی‬‫این‬‫عیب‬
‫را‬‫برطرف‬‫ساخته‬‫است‬‫اما‬‫تا‬‫نقطه‬‫ایده‬‫آل‬‫فاصله‬‫دارد‬
•‫مثال‬:(‫کتابخانه‬OpenACC‫و‬OpenMP‫نسخه‬3)
aminnezarat@gmail.com
‫ترکیبی‬Hybrid
•‫می‬ ‫ترکیب‬ ‫هم‬ ‫با‬ ‫شده‬ ‫توزیع‬ ‫و‬ ‫اشتراکی‬ ‫حافظه‬ ‫روش‬ ‫دو‬ ‫مدل‬ ‫این‬ ‫در‬
‫شوند‬
•‫مدل‬ ‫هم‬ ‫آنها‬ ‫ترین‬ ‫رایج‬Data Parallel‫صورت‬ ‫به‬ ‫ها‬ ‫داده‬ ‫که‬ ‫است‬
‫در‬ ‫یکپارچه‬ ‫دهی‬ ‫آدرس‬ ‫با‬ ‫اشتراکی‬ ‫و‬ ‫شده‬ ‫توزیع‬RAM‫های‬ ‫گره‬ ‫کلیه‬
‫گیرند‬ ‫می‬ ‫قرار‬ ‫محاسباتی‬
•‫مثال‬:PGAS(Partitioned Global Address Space)
•Coarray Fortran, Unified Parallel C(UPC)
•Global Array, X10, Chapel
•‫است‬ ‫یکپارچه‬ ‫حافظه‬ ‫به‬ ‫دهی‬ ‫آدرس‬
•‫باشند‬ ‫سیستم‬ ‫یک‬ ‫در‬ ‫مقصد‬ ‫و‬ ‫مبداء‬ ‫های‬ ‫پردازنده‬ ‫که‬ ‫صورتی‬ ‫در‬
‫اشتراکی‬ ‫حافظه‬ ‫از‬(OpenMP)‫توزیع‬ ‫حافظه‬ ‫از‬ ‫اینصورت‬ ‫غیر‬ ‫در‬ ‫و‬
‫شده‬(MPI)‫کنند‬ ‫می‬ ‫استفاده‬
aminnezarat@gmail.com
‫افزارها‬ ‫نرم‬ ‫توان‬ ‫می‬ ‫چطور‬
‫کرد؟‬ ‫سریعتر‬ ‫را‬
aminnezarat@gmail.com
Source: karlrupp.net
aminnezarat@gmail.com
‫مسئله‬ ‫ها‬ ‫پردازنده‬ ‫سرعت‬PowerWall
Overclocking? Free cooling?
‫هستند‬ ‫گران‬ ‫یا‬ ‫و‬ ‫نبوده‬ ‫عملی‬ ‫باال‬ ‫سرعت‬ ‫با‬ ‫های‬ ‫پردازنده‬ ‫برای‬ ‫مرسوم‬ ‫کنندگی‬ ‫خنک‬ ‫حلهای‬ ‫راه‬
aminnezarat@gmail.com
‫مرسوم‬ ‫سازی‬ ‫موازی‬ ‫روشهای‬ ‫انواع‬
Bit Level Parallelism
Instruction Level Parallelism(ILP)
.1(Explicitly Parallel Instruction Computing (EPIC
.2Out of Order Execution/Register Renaming
.3Speculative Execution
.4Vectorization
Threading/Multi-threading
aminnezarat@gmail.com
‫روش‬Bit Level Parallelism
‫با‬‫توسعه‬‫تکنولوژی‬VLSI‫اندازه‬‫کلمه‬‫یا‬Word‫در‬‫پردازنده‬‫ها‬‫افزایش‬‫پیدا‬‫کرده‬‫و‬‫توانایی‬‫باالتری‬‫در‬
‫ارتقاء‬‫کارایی‬‫از‬‫خود‬‫نشان‬‫داده‬‫اند‬.
‫برای‬‫مثال‬‫پردازنده‬‫های‬32‫بیتی‬‫می‬‫توانند‬‫دو‬‫عدد‬32‫بیتی‬‫را‬‫با‬‫سرعت‬‫بیشتری‬‫نسبت‬‫به‬‫پردازنده‬16
‫بیتی‬‫با‬‫هم‬‫جمع‬،‫کنند‬‫چرا‬‫که‬‫یک‬‫پردازنده‬16‫بیتی‬‫برای‬‫جمع‬‫دو‬‫عدد‬32‫بیتی‬‫می‬‫بایست‬‫آن‬‫را‬‫به‬‫دو‬
‫بخش‬‫باالیی‬‫و‬‫پایینی‬‫تقسیم‬‫کند‬‫که‬‫این‬‫امر‬‫موجب‬‫ایجاد‬‫سربار‬‫محاسباتی‬‫می‬‫شود‬.
aminnezarat@gmail.com
‫روش‬Instruction Level Parallelism(ILP)
‫در‬‫این‬‫روش‬‫کامپایلر‬‫سعی‬‫می‬‫کند‬‫دستوراتی‬‫را‬‫که‬‫می‬‫توانند‬‫با‬‫یکدیگر‬‫اجرا‬‫شوند‬‫و‬‫وابستگی‬‫داده‬‫ای‬‫به‬‫یکدی‬‫گر‬‫ندارند‬‫در‬
‫یک‬Cycle‫یا‬Clock‫اجرا‬‫نماید‬.
•Explicitly Parallel Instruction Computing (EPIC)
‫در‬‫یک‬ ‫در‬ ‫روش‬ ‫این‬Cycle‫تا‬ ‫دو‬ ‫بین‬16‫درصد‬ ‫باشد‬ ‫کمتر‬ ‫هم‬ ‫به‬ ‫غیروابسته‬ ‫دستورات‬ ‫تعداد‬ ‫چه‬ ‫هر‬ ‫که‬ ‫است‬ ‫اجرا‬ ‫قابل‬ ‫دسترالعمل‬
‫کند‬ ‫می‬ ‫ایجاد‬ ‫را‬ ‫سازی‬ ‫موازی‬ ‫از‬ ‫باالتری‬.
•Out of Order Execution/Register Renaming
‫یک‬ ‫در‬ ‫بیشتری‬ ‫دستورات‬ ‫اجرای‬ ‫امکان‬ ‫روش‬ ‫این‬ ‫در‬Cycle‫یافت‬ ‫دست‬ ‫حالت‬ ‫این‬ ‫به‬ ‫توان‬ ‫می‬ ‫ها‬ ‫ثبات‬ ‫نام‬ ‫تغییر‬ ‫با‬ ‫که‬ ‫دارد‬ ‫وجود‬.
•Speculative Execution
‫خیر‬ ‫یا‬ ‫است‬ ‫رسیده‬ ‫فرا‬ ‫آن‬ ‫اجرای‬ ‫زمان‬ ‫اینکه‬ ‫از‬ ‫نظر‬ ‫صرف‬ ‫دستورات‬ ‫از‬ ‫بخشی‬ ‫یا‬ ‫تمام‬ ‫اجرای‬.
•Vectorization
‫مدل‬ ‫از‬ ‫خاص‬ ‫حاالت‬ ‫از‬ ‫یکی‬ ‫این‬(SIMD (Simple Instruction Multiple Data‫اقای‬Flynn‫می‬ ‫دستور‬ ‫یک‬ ‫آن‬ ‫در‬ ‫که‬ ‫است‬
‫کند‬ ‫کار‬ ‫همزمان‬ ‫صورت‬ ‫به‬ ‫داده‬ ‫چندین‬ ‫روی‬ ‫تواند‬.‫های‬ ‫ست‬ ‫چیپ‬x86‫های‬ ‫دستورالعمل‬ ‫مجموعه‬ ‫معماری‬ ‫دارای‬(SSE
(Streaming SIMD Extension‫هستند‬.‫توسط‬ ‫کامپایل‬ ‫زمان‬ ‫مناسب‬ ‫پارامتر‬ ‫انتخاب‬ ‫از‬ ‫پس‬ ‫خودکار‬ ‫صورت‬ ‫به‬ ‫سازی‬ ‫برداری‬
‫شود‬ ‫می‬ ‫انجام‬ ‫کامپایلر‬.
aminnezarat@gmail.com
‫و‬ ‫الین‬ ‫پایپ‬ ‫روشهای‬ ‫در‬ ‫تعادل‬ILP‫سازی‬ ‫موازی‬ ‫در‬
‫شو‬ ‫می‬ ‫بیشتر‬ ‫دستورالعملها‬ ‫بین‬ ‫تداخل‬ ،‫باید‬ ‫می‬ ‫افزایش‬ ‫ها‬ ‫الین‬ ‫پایپ‬ ‫تعداد‬ ‫که‬ ‫زمانی‬‫د‬
aminnezarat@gmail.com
‫اجرای‬ ‫در‬ ‫تعادل‬Superscalar‫و‬ILP‫سازی‬ ‫موازی‬ ‫در‬
‫است‬ ‫بیشتری‬ ‫منابع‬ ‫نیازمند‬ ‫مستقل‬ ‫دستورالعملهای‬ ‫برای‬ ‫خودکار‬ ‫جستجوی‬
aminnezarat@gmail.com
‫روش‬ ‫در‬ ‫حافظه‬ ‫مسئله‬Out-of-Order
‫است‬ ‫شده‬ ‫محدود‬ ‫کاربردی‬ ‫های‬ ‫برنامه‬ ‫در‬ ‫ها‬ ‫داده‬ ‫به‬ ‫دسترسی‬ ‫الگوی‬ ‫بوسیله‬
aminnezarat@gmail.com
‫سازی‬ ‫موازی‬:‫بردارها‬ ‫و‬ ‫ها‬ ‫هسته‬
‫سازی‬ ‫برداری‬ ‫و‬ ‫زیاد‬ ‫هسته‬:
‫کند‬ ‫می‬ ‫فراهم‬ ‫را‬ ‫خودکار‬ ‫صورت‬ ‫به‬ ‫نه‬ ‫اما‬ ‫محدودیت‬ ‫بدون‬ ‫رشد‬ ‫فرصت‬
aminnezarat@gmail.com
‫جلوست‬ ‫به‬ ‫رو‬ ‫مسیر‬ ‫در‬ ‫سازی‬ ‫موازی‬
‫انرژی‬ ‫مصرف‬ ‫مسئله‬Power wall
‫دستورات‬ ‫سطح‬ ‫در‬ ‫سازی‬ ‫موازی‬ ‫مسئله‬ILP wall
‫حافظه‬ ‫مسئله‬Memory wall
‫کند‬ ‫پیدا‬ ‫ادامه‬ ‫باید‬ ‫نمایش‬!!
•‫هستند‬ ‫تکامل‬ ‫حال‬ ‫در‬ ‫سازی‬ ‫موازی‬ ‫طریق‬ ‫از‬ ‫افزارها‬ ‫سخت‬
•‫بماند‬ ‫عقب‬ ‫باید‬ ‫افزار‬ ‫نرم‬!
aminnezarat@gmail.com
‫اینتل‬ ‫معماری‬
aminnezarat@gmail.com
‫معماری‬ ‫بر‬ ‫مبتنی‬ ‫محاسباتی‬ ‫های‬ ‫پلترفم‬‫اینتل‬
aminnezarat@gmail.com
Intel Xeon Processors
▷ 1-, 2-, 4-way
▷ General-purpose
▷ Highly parallel (44 cores*)
▷ Resource-rich
▷ Forgiving performance
▷ Theor. ∼ 1.0 TFLOP/s in DP*
▷ Meas. ∼ 154 GB/s bandwidth*
* 2-way Intel Xeon processor, Broadwell architec-
ture (2016), top-of-the-line (e.g., E5-2699 V4)
aminnezarat@gmail.com
Intel Xeon Phi Processors (1st Gen)
▷ PCIe add-in card
▷ Specialized for computing
▷ Highly-parallel (61 cores*)
▷ Balanced for compute
▷ Less forgiving
▷ Theor. ∼ 1.2 TFLOP/s in DP*
▷ Meas. ∼ 176 GB/s bandwidth*
* Intel Xeon Phi coprocessor, Knighs Corner ar-
chitecture (2012), top-of-the-line (e.g., 7120P)
aminnezarat@gmail.com
Intel Xeon Phi Processors (2nd Gen)
▷ Bootable or PCIe add-in card
▷ Specialized for computing
▷ Highly-parallel (72 cores*)
▷ Balanced for compute
▷ Less forgiving than Xeon
▷ Theor. ∼ 3.0 TFLOP/s in DP*
▷ Meas. ∼ 490 GB/s bandwidth*
* Intel Xeon Phi processor, Knighs Landing ar-
chitecture (2016), top-of-the-line (e.g., 7290P)
aminnezarat@gmail.com
‫کدهای‬‫مدرن‬
Modern Codes
aminnezarat@gmail.com
‫ها‬ ‫پلتفرم‬ ‫همه‬ ‫برای‬ ‫کد‬ ‫یک‬
aminnezarat@gmail.com
‫مهندسی‬ ‫و‬ ‫علم‬ ‫در‬ ‫محاسبات‬ ‫و‬ ‫رایانش‬
aminnezarat@gmail.com
‫به‬ ‫کسانی‬ ‫چه‬HPC‫دارند‬ ‫نیاز‬‫؟‬
Who Need HPC?
‫عنوان‬ ‫با‬ ‫موازی‬ ‫رایانش‬ ‫تاریخی‬ ‫شکل‬ ‫به‬"the high end of computing"‫شود‬ ‫می‬ ‫شناخته‬‫و‬ ‫حل‬ ‫برای‬ ‫آن‬ ‫از‬ ‫و‬
‫شود‬ ‫می‬ ‫استفاده‬ ‫علم‬ ‫و‬ ‫مهندسی‬ ‫های‬ ‫حوزه‬ ‫از‬ ‫بسیاری‬ ‫در‬ ‫سخت‬ ‫مسائل‬ ‫سازی‬ ‫مدل‬.
• Atmosphere, Earth, Environment
• Physics - applied, nuclear, particle, condensed matter, high pressure, fusion, photonics
• Bioscience, Biotechnology, Genetics
• Chemistry, Molecular Sciences
• Geology, Seismology
• Mechanical Engineering – from prosthetics to spacecraft
• Electrical Engineering, Circuit Design, Microelectronics
• Computer Science, Mathematics
• Defense, Weapons
aminnezarat@gmail.com
‫به‬ ‫کسانی‬ ‫چه‬HPC‫دارند؟‬ ‫نیاز‬-‫ادامه‬
‫اند‬ ‫شده‬ ‫محتاج‬ ‫بستر‬ ‫این‬ ‫به‬ ‫خود‬ ‫تحلیلهای‬ ‫و‬ ‫تجزیه‬ ‫از‬ ‫بسیاری‬ ‫برای‬ ‫نیز‬ ‫تجاری‬ ‫های‬ ‫حوزه‬ ‫امروزه‬.‫ح‬ ‫زیاد‬ ‫رشد‬‫داده‬ ‫جم‬
‫شود‬ ‫حس‬ ‫بیشتر‬ ‫پردازش‬ ‫به‬ ‫نیاز‬ ‫که‬ ‫است‬ ‫شده‬ ‫باعث‬ ‫ها‬.‫کرد‬ ‫اشاره‬ ‫زیر‬ ‫موارد‬ ‫به‬ ‫توان‬ ‫می‬ ‫ها‬ ‫حوزه‬ ‫این‬ ‫جمله‬ ‫از‬:
• "Big Data", databases, data mining
• Oil exploration
• Web search engines, web based business services
• Medical imaging and diagnosis
• Pharmaceutical design
• Financial and economic modeling
• Management of national and multi-national corporations
• Advanced graphics and virtual reality, particularly in the entertainment industry
• Networked video and multi-media technologies
• Collaborative work environments
aminnezarat@gmail.com
‫سازی‬ ‫بهینه‬ ‫مناطق‬
Node-level
---------------------------------------------------------------------
Cluster-level
aminnezarat@gmail.com
‫معمو‬ ‫و‬ ‫مرسوم‬ ‫کدهای‬ ‫سازی‬ ‫بهینه‬ ‫و‬ ‫نوسازی‬ ‫تجربه‬‫ل‬
aminnezarat@gmail.com

Mais conteúdo relacionado

Semelhante a Big data HPC Convergence-Dr. Amin-Nezarat-(aminnezarat@gmail.com)-2019

Rezome.Ali.Bagheri
Rezome.Ali.BagheriRezome.Ali.Bagheri
Rezome.Ali.Bagheri
Ali Bagheri
 
آموزش رباتیک برای کودکان در چالیک
آموزش رباتیک برای کودکان در چالیکآموزش رباتیک برای کودکان در چالیک
آموزش رباتیک برای کودکان در چالیک
ali eshraghi
 

Semelhante a Big data HPC Convergence-Dr. Amin-Nezarat-(aminnezarat@gmail.com)-2019 (20)

مقدمه ای بر جمع آوری اطلاعات
مقدمه ای بر جمع آوری اطلاعاتمقدمه ای بر جمع آوری اطلاعات
مقدمه ای بر جمع آوری اطلاعات
 
Introduction to Hadoop and Spark - اسلاید کارگاه آموزش هدوپ و اسپارک شیراز
Introduction to Hadoop and Spark - اسلاید کارگاه آموزش هدوپ و اسپارک شیرازIntroduction to Hadoop and Spark - اسلاید کارگاه آموزش هدوپ و اسپارک شیراز
Introduction to Hadoop and Spark - اسلاید کارگاه آموزش هدوپ و اسپارک شیراز
 
1st Hadoop Tehran Workshop - اسلاید اولین کارگاه آموزش هدوپ تهران
1st Hadoop Tehran Workshop - اسلاید اولین کارگاه آموزش هدوپ تهران1st Hadoop Tehran Workshop - اسلاید اولین کارگاه آموزش هدوپ تهران
1st Hadoop Tehran Workshop - اسلاید اولین کارگاه آموزش هدوپ تهران
 
Interoperability maturity model (Iran)
 Interoperability maturity model (Iran) Interoperability maturity model (Iran)
Interoperability maturity model (Iran)
 
Genetic Algoritm
Genetic AlgoritmGenetic Algoritm
Genetic Algoritm
 
Genetic
GeneticGenetic
Genetic
 
Cognitive computing in telecommunication
Cognitive computing in telecommunicationCognitive computing in telecommunication
Cognitive computing in telecommunication
 
Data cleansing
Data cleansingData cleansing
Data cleansing
 
چارچوب متن باز جهت توسعه سیستم های نرم افزاری
چارچوب متن باز جهت توسعه سیستم های نرم افزاریچارچوب متن باز جهت توسعه سیستم های نرم افزاری
چارچوب متن باز جهت توسعه سیستم های نرم افزاری
 
Rezome.Ali.Bagheri
Rezome.Ali.BagheriRezome.Ali.Bagheri
Rezome.Ali.Bagheri
 
طرح چارچوب متن باز تولید نرم افزار
طرح چارچوب  متن باز تولید نرم افزار طرح چارچوب  متن باز تولید نرم افزار
طرح چارچوب متن باز تولید نرم افزار
 
آشنایی با المپیاد کامپیوتر
آشنایی با المپیاد کامپیوترآشنایی با المپیاد کامپیوتر
آشنایی با المپیاد کامپیوتر
 
Data-Centered Architecture: Blackboard Architecture Style
Data-Centered Architecture: Blackboard Architecture StyleData-Centered Architecture: Blackboard Architecture Style
Data-Centered Architecture: Blackboard Architecture Style
 
سیستمهای اطلاعات مدیریت، فصل سیزدهم: ایجاد سیستمهای اطلاعاتی
 سیستمهای اطلاعات مدیریت، فصل سیزدهم: ایجاد سیستمهای اطلاعاتی سیستمهای اطلاعات مدیریت، فصل سیزدهم: ایجاد سیستمهای اطلاعاتی
سیستمهای اطلاعات مدیریت، فصل سیزدهم: ایجاد سیستمهای اطلاعاتی
 
آموزش رباتیک برای کودکان در چالیک
آموزش رباتیک برای کودکان در چالیکآموزش رباتیک برای کودکان در چالیک
آموزش رباتیک برای کودکان در چالیک
 
مقدمه ای بر هوش تجاری
مقدمه ای بر هوش تجاریمقدمه ای بر هوش تجاری
مقدمه ای بر هوش تجاری
 
shape optimization
shape optimizationshape optimization
shape optimization
 
مبانی مدیریت.pptx
مبانی مدیریت.pptxمبانی مدیریت.pptx
مبانی مدیریت.pptx
 
ده فرمان قبولي در آزمون نظام مهندسي تاسيسات برقي
ده فرمان قبولي در آزمون نظام مهندسي تاسيسات برقيده فرمان قبولي در آزمون نظام مهندسي تاسيسات برقي
ده فرمان قبولي در آزمون نظام مهندسي تاسيسات برقي
 
Opendata and business - داده های باز و کسب و کار
Opendata and business - داده های باز و کسب و کار Opendata and business - داده های باز و کسب و کار
Opendata and business - داده های باز و کسب و کار
 

Mais de aminnezarat

Mais de aminnezarat (15)

Health-medicine-and-Block-chain1402-1-12.pptx
Health-medicine-and-Block-chain1402-1-12.pptxHealth-medicine-and-Block-chain1402-1-12.pptx
Health-medicine-and-Block-chain1402-1-12.pptx
 
ارائه ابزار.pptx
ارائه ابزار.pptxارائه ابزار.pptx
ارائه ابزار.pptx
 
00 - BigData-Chapter_01-PDC.pdf
00 - BigData-Chapter_01-PDC.pdf00 - BigData-Chapter_01-PDC.pdf
00 - BigData-Chapter_01-PDC.pdf
 
Smart Data Strategy EN (1).pdf
Smart Data Strategy EN (1).pdfSmart Data Strategy EN (1).pdf
Smart Data Strategy EN (1).pdf
 
slides8 SharedMemory.ppt
slides8 SharedMemory.pptslides8 SharedMemory.ppt
slides8 SharedMemory.ppt
 
BASIC_MPI.ppt
BASIC_MPI.pptBASIC_MPI.ppt
BASIC_MPI.ppt
 
Chap2 GGKK.ppt
Chap2 GGKK.pptChap2 GGKK.ppt
Chap2 GGKK.ppt
 
06 hpc library_fundamentals_of_parallelism_and_code_optimization-www.astek.ir
06 hpc library_fundamentals_of_parallelism_and_code_optimization-www.astek.ir06 hpc library_fundamentals_of_parallelism_and_code_optimization-www.astek.ir
06 hpc library_fundamentals_of_parallelism_and_code_optimization-www.astek.ir
 
05 mpi fundamentals_of_parallelism_and_code_optimization-www.astek.ir
05 mpi fundamentals_of_parallelism_and_code_optimization-www.astek.ir05 mpi fundamentals_of_parallelism_and_code_optimization-www.astek.ir
05 mpi fundamentals_of_parallelism_and_code_optimization-www.astek.ir
 
04 memory traffic_fundamentals_of_parallelism_and_code_optimization-www.astek...
04 memory traffic_fundamentals_of_parallelism_and_code_optimization-www.astek...04 memory traffic_fundamentals_of_parallelism_and_code_optimization-www.astek...
04 memory traffic_fundamentals_of_parallelism_and_code_optimization-www.astek...
 
03 open mp_fundamentals_of_parallelism_and_code_optimization-www.astek.ir
03 open mp_fundamentals_of_parallelism_and_code_optimization-www.astek.ir03 open mp_fundamentals_of_parallelism_and_code_optimization-www.astek.ir
03 open mp_fundamentals_of_parallelism_and_code_optimization-www.astek.ir
 
02 vectorization fundamentals_of_parallelism_and_code_optimization-www.astek.ir
02 vectorization fundamentals_of_parallelism_and_code_optimization-www.astek.ir02 vectorization fundamentals_of_parallelism_and_code_optimization-www.astek.ir
02 vectorization fundamentals_of_parallelism_and_code_optimization-www.astek.ir
 
01 introduction fundamentals_of_parallelism_and_code_optimization-www.astek.ir
01 introduction fundamentals_of_parallelism_and_code_optimization-www.astek.ir01 introduction fundamentals_of_parallelism_and_code_optimization-www.astek.ir
01 introduction fundamentals_of_parallelism_and_code_optimization-www.astek.ir
 
Camera ready-nash equilibrium-ngct2015-format
Camera ready-nash equilibrium-ngct2015-formatCamera ready-nash equilibrium-ngct2015-format
Camera ready-nash equilibrium-ngct2015-format
 
Data set cloudrank-d-hpca_tutorial
Data set cloudrank-d-hpca_tutorialData set cloudrank-d-hpca_tutorial
Data set cloudrank-d-hpca_tutorial
 

Big data HPC Convergence-Dr. Amin-Nezarat-(aminnezarat@gmail.com)-2019