Overview of Parallel Programming Languages, Synchronizations And Communications Mechanisms Between Processes, Memory Models, Debugging Methods, Vector Clocks, Parallel Hardware and Vector Accelerators. The Course Includes Programming Assignments. The Course Places Special Emphasis On The Use of All These Tools For Data Processing Of Parallel and Distributed Information, and For The Purposes of Machine Learning, Under The Rational That These Areas Are The Most Important Use Cases of Parallel and Distributed Computing Today. Learning Outcomes# By The End of The Course The Student Will Be Able To# 1. Understand How to Utilize Parallel and Distributed Resources, and Especially For The Purposes of Data Processing and Machine Learning, and Know How To Measure The Effectiveness of Such Utilization. 2. Know The Various Possibilities in Processing of Parallel and Distributed Technologies, And The Modern Trends in The Field.

Faculty: Computer Science
|Undergraduate Studies |Graduate Studies

Pre-required courses

46209 - Structure of Operating Systems or 234123 - Operating Systems

Semestrial Information