Joint UIUC/UMD Parallel Algorithms/Programming Course. David Padua , University of Illinois at Urbana-Champaign Uzi Vishkin, University of Maryland, speaker Jeffrey C. Carver , University of Alabama. Motivation 1/4.
Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.
David Padua, University of Illinois at Urbana-Champaign
Uzi Vishkin, University of Maryland, speaker
Jeffrey C. Carver, University of Alabama
Programmers of today’s parallel machines must overcome 3 productivity busters, beyond just identifying operations that can be executed in parallel:
(ii) reason about concurrency in threads; e.g., race conditions
(iii) for machines such as GPU, that fall behind on serial (or low parallelism) code, whole programs must be highly parallel
If you want your program to run significantly faster … you’re going to have to parallelize it
Parallelism: only game in town
But, where are the players?
“The Trouble with Multicore: Chipmakers are busy designing microprocessors that most programmers can't handle”—D. Patterson, IEEE Spectrum 7/2010
What is at stake?
A general-purpose computer that can be programmed effectively by too few programmers, or requires excessive learning application SW development costs more, weakening market potential of not only the computer:
Traditionally, Economists look to the manufacturing sector for bettering the recovery prospects of the economy. Software production is the quintessential 21st century mode of manufacturing. These prospects are at peril if most programmers are unable to design effective software for mainstream computers
Outcome Overall success. Minimal glitches. Helped to alert students that success on material taught by the other prof is as important.
2. Compare OpenMP using 8-processor SMP against PRAM/XMTC using 64-processor XMT (<1/4 of silicon area for 2 SMP processors)
JC: Anonymous questionnaire filled by the students. Accessed by DP and UV only after all grades were posted, per IRB guidelines
Breadth-first-search (BFS) example
Questionnaire All students, but one : XMTC ahead of OpenMP
Exposure of UIUC students to PRAM algorithms and XMT programming much more limited. Their understanding of this material not challenged by analytic homework, or exams.
For same programming challenges, performance of UIUC and UMD students was similar.
Must students must be exposed to minimal amount of parallel algorithms and their programming, and be properly challenged on analytic understanding to internalize their merit? If yes: tension with pressure on parallel computing courses to cover a hodge-podge of programming paradigms & architecture backgrounds
Algorithms: high level of abstraction. Allows to cover more advanced problems. Note: Understanding tested only for UMD students.
For parallelism to succeed serial computing in the mainstream, the first experience of students got to:
- demonstrate solid hard speedups
- be trauma-free
Beyond education If broadly done, objective ranking of approaches for achieving hard speedups, through education and by other means, provide a clue for curing the ills of the field.
For summary of the PRAM/XMT education approach:
Includes teaching experience extending from middle school to graduate courses, course material [class notes, programming assignments, video presentations of a full-day tutorial and a full-semester graduate course, a software toolchain (compiler and cycle-accurate simulator [HIPS 5/20]) available for free download, and the XMT hardware