1.13k likes | 1.37k Views
מבוא לעיבוד מקבילי דר' גיא תל-צור. שקפי הרצאה מס' 1 נערכה ביום ב', 22/10/2001. Introduction to Parallel Processing. Course Number 36113621 אתר הקורס: http://www.bgu.ac.il/~tel-zur/pp.html. 21.10.01 ד' חשון תשס"ב אל: סטודנטים להנדסת תוכנה מאת: דר' הוגו גוטרמן
E N D
מבוא לעיבוד מקבילידר' גיא תל-צור שקפי הרצאה מס' 1 נערכה ביום ב', 22/10/2001
Introduction to Parallel Processing Course Number 36113621 אתר הקורס: http://www.bgu.ac.il/~tel-zur/pp.html
21.10.01 ד' חשון תשס"ב אל: סטודנטים להנדסת תוכנה מאת: דר' הוגו גוטרמן הנידון: ביטול קורס מבוא לעיבוד מקבילי ( 36113621) א. נ. עקב בעיות תקציביות שלא בשליטתנו, אנו נאלצים לבטל את השתתפותכם בקורס מבוא לעיבוד מקבילי. אנו מבקשם את סליחתכם על אי הנוחיות שנגרמת לכם כתוצאה מהחלטה זאת. לצורך הנחיה יש לפנות למזכירות המחלקה להנדסת תוכנה . בברכה, דר' הוגו גוטרמן
הזמן: ימי שני, 8:00-11:00 המקום: בניין 28, חדר 301
מרצה: דר' גיא תל-צור קמ"ג tel-zur@ee.bgu.ac.il
מתרגלת: דר' נטליה פנוב המח' להנדסת חשמל ומחשבים npanov@ee.bgu.ac.il
יצירת קשר • שעות קבלה: • גיא תל-צור – מייד עם תום ההרצאה, בין 11:00 ל- 12:00. המקום טרם נקבע. • נטליה פנוב – ימי ד', בין 14:00 ל- 18:00. חדר 318 בבניין הנדסת חשמל ומחשבים. • Email:pp@ee.bgu.ac.il • Newsgroup: pp_news@ee.bgu.ac.il
Course Objectives: The goal of this course is to provide in-depth understanding of modern parallel processing. The course will cover theoretical and practical aspects of parallel processing.
Task #1 Please send an email containing the following data: • Your first and last name • Your Email at BGU • Phone Number • Year • Course of Study to: pp@ee.bgu.ac.il • PLEASE WRITE EMAILS ONLY IN ENGLISH
מבנה הקורס • מבוא • טכניקות מיקבול • אפליקציות • פרקטיקה • נושאים אחרים
סמסטר א' תשס"ב • היום הראשון ללימודים: 21.10.01 • חופשת חנוכה: יום א' 16.12.01 • היום האחרון לסמסטר הראשון: 25.1.02 • מועד הגשת פרויקטי גמר: 18.2.02 • היום הראשון לסמסטר השני: 24.2.02
Week/Lecture Date Topics 1 22.10.01 Introduction to Parallel Processing 2 29.10.01 Hands-on Practice 3 5.11.01 Parallel Algorithm Design 4 12.11.01 Parallel Programming 5 19.11.01 The Message Passing Interface (MPI) תכנית שבועית של הקורס – 1/3יתכנו שינויים!
6 26.11.01 The Message Passing Interface (MPI) 7 3.12.01 Applications 8 10.12.01 Applications 9 17.12.01 Applications 10 24.12.01 Performance Evaluation, Shared Memory תכנית שבועית של הקורס – 2/3
11 31.12.01 Building a personal Super Computer 12 7.1.02 Condor, Grids and other topics 13 14.1.02 Students Presentations 14 21.1.02 Students Presentations 28.1.02 15 11.2.02 Submission of Final Projects תכנית שבועית של הקורס – 3/3
מטלות וציונים – 1/2 • תרגיל מס' 1. יום ב' בשבוע הבא. יוגש כשבועיים לאחר-מכן (הרצאה מס' 4) – ללא ציון אך חובה לעשותו. • תרגיל מס' 2. ינתן בהרצאה מס' 4. יש להגישו בהרצאה מס' 6. 15% מהציון הכולל.
מטלות וציונים – 2/2 • בהרצאה מספר 5 תפורסם רשימת הפרויקטים • בוחן ביניים יתקיים בהרצאה מספר 7. משקלו 20% מהציון הסופי. • תרגיל מס' 3 ינתן בהרצאה 8. יש להגישו בהרצאה 10. משקלו 15% מהציון הסופי • פרויקט גמר יוגש עד ה- 18.2.02 ומשקלו כ- 50% מהציון הסופי.
דרישות קדם • דרושה שליטה בשפת C או FORTRAN • דרוש רקע של לימודי היסוד במתימטיקה ופיסיקה • הנוסח הקובע הוא זה שנכתב בשנתון, כפי שפורסם על-ידי האוניברסיטה
ציפיות • יש להגיש את התרגילים באמצעות הדואר האלקטרוני של הקורס • על התרגילים להיות ברי הרצה (מדובאגים) • יש לצרף הוראות הרצה ותיעוד מחוץ לגוף התכנית בקובץ WORD • יש להוסיף תיעוד רב גם בתוך קבצי התכניות • על שורות הקוד להיכתב בפשטות ובאופן המקל על הבנתן
ציפיות - המשך • יש לעמוד בלוחות הזמנים • איחור בהגשה יגרור גריעה מהציון עפ"י הנוסחה של • נקודות לכל n ימים!!! יש להקפיד על כל כללי היושר בהתאם לתקנות האוניברסיטה
References • ספר לימוד: אין בקורס ספר לימוד שהוא חובה • באתר הקורס ימצאו רוב המצגות • באתר הקורס קיימים קישורים לאתרים חשובים להם נזדקק • קיים חומר רב באינטרנט נא לבקר באתר לעיתים קרובות כדי להתעדכן!!!
Parallel Computer Architecture David E. Culler et al
Introduction to Parallel Computing Vipin Kumar et al
Using MPI William Gropp et al
Parallel Programming With MPI Peter Pacheco
Parallel Programming Barry Wilkinson Michael Allen
תכנית ההרצאה הראשונה • מבוא ל"מבוא לחישוב מקבילי" • תאור קצר של המערך המקבילי עליו יתבצע התרגול
מהו {חישוב, עיבוד} מקבילי? • Parallel Computing • Parallel Processing • Cluster Computing • Beowulf Clusters • HPC – High Performance Computing
Oxford Dictionary of Science: • A technique that allows more than one process – stream of activity – to be running at any given moment in a computer system, hence processes can be executed in parallel. This means that two or more processors are active among a group of processes at any instant.
האם מחשב מקבילי זהה למונח מחשב-על?
A Supercomputer • An extremely high power computer that has a large amount of main memory and very fast processors… Often the processors run in parallel. http://www.netlib.org/benchmark/top500/top500.list.html
Why Study Parallel Architecture? • Parallelism: • Provides alternative to faster clock for performance • Applies at all levels of system design (H/W – S/W Integration) • Is a fascinating topic • Is increasingly central in information processing, science and engineering
The Demand for Computational Speed • Continual demand for greater computational speed from a computer system than is currently possible.Areas requiring great computational speed include numerical modeling and simulation of scientific and engineering problems. Computations must be completed within a “reasonable” time period.
Large Memory Requirements Use parallel computing for executing larger problems which require more memory than exists on a single computer.
Grand Challenge Problems • A grand challenge problem is one that cannot be solved in a reasonable amount of time with today’s computers.Obviously, an execution time of 10 years is always unreasonable. Examples: Modeling large DNA structures,global weather forecasting, modeling motion of astronomical bodies.
תרגיל • נניח שבגלקסיה יש 10^11 כוכבים. הערך את הזמן שידרש לחישוב 100 איטרציות על בסיס חישוב של O(N^2) במחשב בעל כח-חישוב של 1GFLOPS?
פתרון • עבור 10^11 כוכבים תהינה 10^22 אינטראקטיות. • סה"כ פעולות כולל 100 איטרציות: 10^24 • לכן זמן החישוב יהיה:
פתרון - המשך • חישוב על-פי N log(N): מסקנה: שיפור באלגוריתם חשוב בד“כ הרבה יותר מהוספת מעבדים!
מיקבול הוא טוב אבל יש לו מחיר! • לא כל בעיה ניתנת למיקבול • מיקבול תוכנה אינו דבר קל • זמינות החומרה • זמן הפיתוח מול אלטרנטיבות אחרות (טכנולוגיה עתידית) • עלות
Parallel Architecture Considerations • Resource Allocation: • how large a collection? • how powerful are the elements? • how much memory? • Data access, Communication and Synchronization • how do the elements cooperate and communicate? • how are data transmitted between processors? • what are the abstractions and primitives for cooperation? • Performance and Scalability • how does it all translate into performance? • how does it scale?
הגישה • יש לחלק את הבעיה לקטעים הניתנים להרצה במקביל • כל קטע מהבעיה הוא תהליך אשר יורץ על מעבד אחד • לשם העברת הנתונים/התוצאות בין המעבדים יש צורך בשליחת הודעות – Message Passing בין המעבדים (קיימות גם שיטות אחרות)
Flynn (1966) Taxonomy • SISD - a single instruction stream-single data stream computer. • SIMD - a single instruction stream-multiple data stream computer. • MIMD - a multiple instruction stream-multiple data stream computer.