מערכות מבוזרות פותרות משימות הכוללות מספר מעבדים או שרתים. חישוב מבוזרשימושי במיוחד כאשר יש יותר מדי נתונים או שהחישוב כבד מדי עבור שרתאחד, או ששרתים עלולים להכשל. קורס זה יכסה את ההתקדמויות האחרונותבמערכות מבוזרות, הן תיאורטיות והן מעשיות. התלמידים ילמדו לקרוא, לנתחולבקר מאמרים אקדמיים, ויקבלו הבנה של שאלות מחקר מרכזיות בתחום, כמו גםטכניקות נפוצות המשמשות להתמודדות עם בעיות מסוג זה.התלמידים יצופו לקרוא את כל המאמרים שנדונו בכיתה, ויוערכו על השתתפותבכיתה ופרזנטציות. תוצאות למידה: בסיום הקורס הסטודנטיות והסטודנטיםיהיו מסוגלים:1. לזהות שאלות מחקר מעניינות באלגוריתמים מבוזרים.2. לקרוא בביקורתיות ולהעריך עבודות מחקר.3. להבין כלים חשובים וטכניקות שימושיות בתחום.4. לפתח ולשפר כישורי הצגה ותקשורת.
Distributed systems solve tasks that involve several processing units or servers. Distributing computation in this way is useful when there is too much data or the computation is too heavy for one server, or servers may experience failures. This course will cover recent advances in distributed systems, both theoretical and practical, in particular in the area of Byzantine Fault Tolerance. The students will learn to read, analyze and criticize academic papers, and will gain an understanding of key research questions in the field, as well as common techniques used to tackle such problems.
Students will be required to present a paper and read and review at least 3 papers, and will be expected to actively participate in class. Students will be evaluated on class participation, and the quality of their reviews and presentations.
Learning Outcomes: At the end of the course the students will:
- Be able to identify interesting research questions in distributed algorithms
- Be able to critically read and evaluate research papers
- Understand key tool and techniques in the field
- Have improved presentation and communication skills