magistraleinformaticanetworking:spm:sdpm12lessons
SPM 2011-2012
Lessons
This is the link to the official lesson register
Day | Hours | Arguments | Support material |
---|---|---|---|
Feb 22 | 2 | Introduction to the course, program, support material. Motivations | Blackboard dump (1)Blackboard dump (2) Audio (1st hour)Audio (2nd hour) |
Feb 23 | 2 | Evolution of CPU, supercomputers. | Blackboard dump Audio (1st hour) (Second hour missing) |
Feb 24 | 2 | More on supercomputers and GPUs. Cloud computing concepts. Urgencies related to parallel programming | Blackboard dump Audio (1st hour)Audio (2nd hour) |
Feb 29 | 2 | Parallel programming: the concept. Concurrent activity graph. Coordination. Amdhal law | Blackboard dump Audio (1st hour)Audio (2nd hour) |
Mar 01 | 2 | Concept of overhead and impact on the Amdhal law. Performance: latency and service time definition. Further non functional concerns: load balancing and fault tolerance | Blackboard dump Audio (1st hour)Audio (2nd hour) |
Mar 02 | 2 | Fault tolerance: chekpointing, alternative approach in master/worker parallel computation. Other non functional concerns: power management, security. Traditional approaches to the management of non functional concerns (schema). | Blackboard dump Audio (1st hour)Audio (2nd hour) |
Mar 07 | 2 | POSIX/TCP programming framework: syscalls for concurrent activities setup (processes: fork, exec, join; threads: pthread_create, pthread_join), for communication and synchronization (SYS V semaphores, shared memory and message queues; Sockets). Commands to launch a parallel application on a cluster. Problem of channel names: two phase protocol to resolve channel names. | Blackboard dump Audio |
Mar 08 | 2 | Sample parallel code POSIX/TCP (unoptimized). Introduction to the concept of skeleton library: user view and advantages over traditional parallel programming models. | Blackboard dump Audio (1st hour)Audio (2nd hour) |
Mar 09 | 2 | Skeleton concept: functional and parallel semantics. Data parallel skeletons: map, reduce, scan, stencil. Stream parallel skeletons: farm, pipeline. | Blackboard dump Audio (1st hour)Audio (2nd hour) |
Mar 14 | 2 | Skandium programming framework (lesson given by P. Dazzi) | Slides and material available here |
Mar 16 | 1 | SkeTo programming framework (lesson given by P. Dazzi) | |
Mar 21 | 2 | FastFlow programming framework | Blackboard dump Audio (1st hour)Audio (2nd hour)Sample code |
Mar 21 | 1 | SkeTo: sample applications (lesson given by P. Dazzi) | |
Mar 22 | 1 | FastFlow programming framework: performance | Blackboard dump Audio |
Mar 22 | 1 | Skeletons: nesting of skeletons, data and stream parallel skeleton nesting, two tier nesting model. | Blackboard dump Audio |
Mar 23 | 2 | More on skeletons: divide&conquer, branch&bound (just outlined), if-then-else and speculative parallelism. Structured state sharing. | Blackboard dump Audio (1st hour)Audio (2nd hour) |
Mar 28 | 2 | Implementation of skeletons: implementation templates and macro data flow | Blackboard dump Audio |
Mar 29 | 2 | Experiment with FastFlow: round robin vs. autoscheduling with stream of variable lenght tasks (code and experiments). Template based vs. macro data flow based implementation of skeletons: pros and cons of the two approaches. | Blackboard dump Audio (1st hour)Audio (2nd hour) |
Apr 12 | 2 | Performance models. Base measures. Derived measures. Different kind of performance models: approximated vs. detailed, skeleton/pattern, implementation and architecture models. Sample performance modelling: reduce pattern latency. | Blackboard dump Audio (1st hour)Audio (2nd hour) |
Apr 13 | 2 | Performance models. Performance of pipeline on COW/NOW and multicores. Usage of performance models to evaluate transformation of pattern compositions, to assign resources to patterns, to compare alternative implementations. Performance model usage in Calcium to give hints on performance optimization to the programmer. | Blackboard dump Audio (1st hour)Audio (2nd hour) |
Apr 18 | 2 | Modelling farm performance. MISD and MISD completion time performance. Introduction to parallel design patterns. | Blackboard dump Audio (1st hour)Audio (2nd hour) |
Apr 19 | 2 | Parallel design patterns: design spaces, patterns, algorithmic skeletons vs. design patterns. | Blackboard dump Audio (1st hour)Audio (2nd hour) |
Apr 20 | 2 | Template design: features of target architectures (COW/NOW, multicore, GPU), mapreduce template for shared memory multicore. | Blackboard dump Audio (1st hour)Audio (2nd hour) |
Apr 26 | 2 | Template design: sample Reduce template with FastFow (code). Termination handling. Double/triple buffering. Cache related optimizations: thread pinning, prefecth. | Blackboard dump Audio (1st hour)Audio (2nd hour) |
Apr 27 | 2 | Template design: engineered version of the reduce template (codesample usage code). Usage of centralized servers to set up parallel/distributed computations: name server (channel names), time server. | Blackboard dump Audio (1st hour)Audio (2nd hour) |
May 02 | 2 | Presentation of the final project. Portability (functional and performance) issues. | Blackboard dump Audio (1st hour)Audio (2nd hour) |
May 03 | 2 | Adaptivity: problems related to variations in target architecture load and to different phases in applications. MAPE loops. Behavioural skeleton concept. | Blackboard dump Audio (1st hour)Audio (2nd hour) |
May 04 | 2 | Hierarchical managers in Behavioural skeletons. Managers dealing with multiple concerns. | Blackboard dump Audio (1st hour)Audio (2nd hour)Slides Hierarchical Management |
May 9 | 2 | Muelsi skeleton framework (by P. Dazzi) | For slides and code see Dazzi's web page |
May 10 | 2 | SkePU skeleton framework (Introduction to SkePu skeletons here) (SkePu program source used for the exercises may be found here) | Blackboard dump Audio |
May 11 | 2 | Co-exploitatoin of different programming frameworks: FastFlow pipeline with SkePU map stage (source code of the sample FF pipeline with SkePU map stage here). Rewriting rules: general concepts, sample rules, evaluation of alternative rewritings of the same skeleton program. | Blackboard dump Audio (1st hour)Audio (2nd hour) |
May 16 | 2 | Client-server and Peer-to-peer patterns. Generalities. Client server vs. p2p in file sharing. | Blackboard dump Audio (1st hour)Audio (2nd hour) |
May 17 | 2 | Extending FastFlow to cluster/network of workstations (M. Torquati, dnode version of FF available here). Different implementations of a file sharing application: with centralized servers (Napster), completely distributed (Gnutella). | "Distributed" FastFlow slidesBlackboard dump Audio (P2P) |
May 18 | 2 | Peer2peer: more on p2p techniques. Usage of p2p techniques for resource discovery and master worker computations. | BlackboardSlides Audio (1st hour)Audio (2nd hour) |
May 23 | 2 | Wireless networks: introduction | Blackboard Audio (1st hour)Audio (2nd hour) |
May 24 | 2 | Wireless networks: 802.11 details. “SPM methodology”: how to develop structured parallel applications (part 1). | Blackboard Audio (1st hour)Audio (2nd hour) |
May 25 | 2 | “SPM methodology”: how to develop structured parallel applications (part 2), how to develop a RTS for a parallel design pattern (Parmap in Ocaml) | Blackboard Audio |
End of lessons |
magistraleinformaticanetworking/spm/sdpm12lessons.txt · Ultima modifica: 20/03/2013 alle 07:29 (12 anni fa) da Marco Danelutto