teaching parallel and distributed systems programming for
play

Teaching Parallel and Distributed Systems Programming for 4th year - PowerPoint PPT Presentation

Chalenges Approach Techniques and tools Results Teaching Parallel and Distributed Systems Programming for 4th year Computer Science and Other Discipline Students Marcelo Arroyo Universidad Nacional de R o Cuarto Argentina 2013


  1. Chalenges Approach Techniques and tools Results Teaching Parallel and Distributed Systems Programming for 4th year Computer Science and Other Discipline Students Marcelo Arroyo Universidad Nacional de R´ ıo Cuarto Argentina 2013

  2. Chalenges Approach Techniques and tools Results Table of contents Chalenges 1 Approach 2 Techniques and tools 3 Results 4

  3. Chalenges Approach Techniques and tools Results Challenges Teaching PDC Teaching parallel and distributed systems programming to: Undergraduate computer science students 1 People from other disciplines (mathematics, engineering, 2 physics, biology, . . . ) Problems Heterogeneity of knowledge Different expectations

  4. Chalenges Approach Techniques and tools Results Students background Computer science students 4th year students Good background on: Programming language paradigms Data structures and algorithms design Concurrency topics Other students Basic skills on (imperative) programming Limited knowledge on data structures and algorithms Almost no background on concurrency

  5. Chalenges Approach Techniques and tools Results Approach Top-down approach Using high-level parallel patterns and skeletons Introduce classical problems (matrix multiplication, sorting, 1 searching, . . . ) Solve applying patterns 2 Do performance analysis 3 Study/analyse/extend/improve pattern internals (threads, 4 MPI, . . . ) Advantages Reduce the gap with sequential programming Allow students to focus on problem solving Students are enthusiastic from the beginning

  6. Chalenges Approach Techniques and tools Results Tools Parallel patterns Object-oriented parallel patterns C++ parallel skeletons (templates meta-programming) SkeTo, VecCL, pdt, . . . Targets on threads, openmp, MPI, CUDA and OpenCL Patterns hide implementation targets Patterns presented graphically Each pattern has its corresponding (high level) contract Students differentiation Computer science students are encouraged to develop new patterns (or implement new targets) Other students focus on problem solving and performance improvements

  7. Chalenges Approach Techniques and tools Results The experience Results We can teach both: computer science and other discipline students All students can build complex parallel programs from start Knowledge is given in increasing way: from high-level designs to low-level implementation details Parallel patterns and skeletons help to reduce the gap with sequential programming. Students can compare different implementations with same patterns (on different targets)

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend