The University of Western Ontario
London, Canada
To best utilize parallel and distributed systems (multi-core, many-core and cluster) is nowadays an important task for computer scientists.
This course studies the fundamental aspects of parallel/distributed systems and aims at providing an integrated view of the various facets of software development on such systems: hardware architectures, programming models and languages, software development tools and scientific applications.
Course topics may include but are not limited to:
Part of the materials (multi-threaded programming, hierarchical memory) are shared between this course: CS4435/CS9624 - High Performance Computing: From Models of Computation to Applications(http://www.csd.uwo.ca/~moreno/CS9624-4435-1011.html).
Follow this link for various resources (software tools and tutorials, hardware documentation, conferences, other HPC course web sites, etc.) regarding this course and HPC in general (http://www.csd.uwo.ca/~moreno/HPC-Resources.html).
Name: | Marc Moreno Maza |
Office: | MC383 |
Office Hours: | Tuesday 2:30-4:30 pm in MC 327 |
Email: | moreno@csd.uwo.ca |
Phone: | 661-3741 |
Notes of each lecture will be available on the course website, approximatively one or two days after the oral presentation. There is no textbook.
The course web site is accessible from: http://www.csd.uwo.ca/~moreno/CS9535-4402-1112.html
Please check the site often for updates on lecture notes and errata. Also be aware that the course website is not a substitute for actual classroom attendance!
The list of topics will be something on the order of:
Lectures: 3 hours (Wednesdays 9:30am - 10:20am in UCC 53 and Thursdays 4:30pm - 6:20pm, in MC 6).
Each student is expected to attend the lectures. In particular, quizzes (short written tests) may take place without notice in advance.
All dates are tentative and currently subject to change, although it is doubtful by any significant amount.
Evaluation Technique | Weight | Posted Date (tentative!) | Due Date (tentative!) | Workload |
Assignment One | 20% | We, Jan. 26 | Fr, Feb. 12 | regular |
Assignment Two | 20% | We, Feb. 16 | Fr, Mar. 4 | regular |
CS4402 Project | 40% | We, Mar. 8 | Fr, Apr. 8 | heavy |
Quizzes | 10% each | N/A | various | N/A |
If for any reason the schedule given above cannot be adhered to, the assignment, project and quiz marks will be pro-rated. For instance, if an assignment has to be canceled for any reason, the remaining assignment weight will be prorated to add up to 1/3.
Every effort will be made to have assignments, projects and quizzes marked and handed back within 3 weeks of the hand-in date, preferably sooner.
Quizzes may be held without being announced in advance.
Quizzes will be closed book.
Assignments will be due on the (tentative) dates listed above. The assignment will be sent by email to the instructor.
Extensions will be granted only by the course instructor. If you have serious medical or compassionate grounds for an extension, you should take supporting documentation to the office of the Dean of your faculty, who will contact the instructor.
A project topic is chosen by the student from a list of topics proposed by the instructor. Project topics will be posted by March the 2nd (tentative) and each student must choose a project topic by March 9.
The projects will be presented by the students during the class on April 12. Each presentation will consist of a 15 minute talk followed by questions for 10 minutes. A detailed project report will also be required and due by April 8.
It is expected that presentation session may last longer than a usual class. For this reason, the project presentation will start at 14:30 and could run for n/2 hours, where n is the number of registered students.
Each student will be given an account on the Computer Science Department senior undergraduate computing facility, GAUL. In accepting the GAUL account, a student agrees to abide by the department's Rules of Ethical Conduct
Note: After-hours access to certain Computer Science lab rooms is by student card. If a student card is lost, a replacement card will no longer open these lab rooms, and the student must bring the new card to a member of the Systems Group in Middlesex College Room 346.
This term I took both CS4402 - Parallel and Distributed Systems and CS4435 - High Performance Computing. The course material taught me concepts that I applied successfully in several other courses and have influenced every line of code I have written since. The work I did throughout both courses reinforced the importance of the theoretical groundwork established in my first three years at Western and provided concrete evidence of its use in moving the state of the art forward. I feel privileged to have had the opportunity to study this material as an undergrad and I believe it has given me a competitive edge as I venture into my new career.
Part of the strength of the courses was the excellent instruction provided by Marc Moreno Maza. His balanced and challenging assignments excited me about the possibilities provided by the course materials. When I finished the first assignment in both courses I felt like I had a new insight into writing well designed code. Solving the problems provided by Prof. Moreno Maza taught me the lessons he was trying to teach but did so in a way that felt like discovery; never before had I felt so sure of the answers I submitted for such a challenging assignment.
I have had many great experiences as a student at Western, these two courses stand with the best of them. After such a great learning experience I felt compelled to write you and let you know about it. The quality of the instruction provided as well as the material presented make me proud to have been a student at Western. I don't believe I would have learned as much at any other university in Canada.
Prof. Moreno Maza is a credit to this institution and CS4402 and CS4435 should be recognized as courses that illustrate the strength of the Computer Science program at Western.
This is a graduate student from University of Delaware writing, my name is XXX. I am taking an advanced parallel programming course in my department, and I need to present the matrix transpose problem in CUDA to show the memory optimizations are done.
I found your slides for the course CS9535/4402 in which you talked about high performance computing with CUDA very detailed and did an excellent work in presenting the process, I found it even more clear than reading the NVIDIA documentation. Would you mind if I recycle some of your slides and present it in my class? Thanks a lot for the time!
CS4435 was a course that I was not aware of until the course registration period in advance of this academic year. Having taken CS4435, I can't imagine why the course was not promoted more, especially to undergraduate honors students. Looking back, I think CS4435, like CS4447 and CS3350, is among the most important courses that I've taken as an undergraduate. My understanding is that we are one of the few universities in North America that offer courses on high performance computing; what an honor!
... Prof. Maza's approach to teaching and ability to communicate both the important theoretical and practical aspects of the course topics that has had such a lasting effect on me. I am grateful that I was able to take these courses and feel more prepared for the next stages of my academic and industrial life.