===== Distributed systems: paradigms & models ===== ==== Lessons ==== Here you can find the arguments discussed during lessons, the audio/video files relative to the already given lessons (when available) and, more in general, pointers to support material hosted on the [[sdpm09support|support material web page]]. Audio/video files are .m4v files. In order to be able to see these files under Windows you need to install [[http://www.apple.com/quicktime|quicktime]]. ^ Date ^ Hr. ^ Arguments ^ Audio/Video ^ Slides ^ | 22/09 | 10-11 | Course introduction: program, motivations, lessons, support material, web site, etc. | [[http://backus.di.unipi.it/~marcod/SPM/Lesson01.m4v|Audio/video]] | {{:magistraleinformaticanetworking:spm:introduction.pdf|Slides}} | | 23/09 | 11-13 | Motivations of the course. Hw improvements (processors, multi/many core, heterogeneous hardware (GPUs, FPGAs), HPC and top500) and sw improvements (skeletons, design patterns, components, services). Dichotomy parallel/distributed re-visited. | [[http://backus.di.unipi.it/~marcod/SPM/Lesson-2.1.m4v|1st h]] [[http://backus.di.unipi.it/~marcod/SPM/Lesson-2.2.m4v|2nd h]] | [[http://backus.di.unipi.it/~marcod/SPM/Motivations.pdf|Slides]] | | 24/09 | 16-18 | Problems and issues with parallel/distributed programming | [[http://backus.di.unipi.it/~marcod/SPM/Lesson-3.1.m4v|1st h]] [[http://backus.di.unipi.it/~marcod/SPM/Lesson-3.2.m4v|2nd h]] | [[http://backus.di.unipi.it/~marcod/SPM/NonStructured.pdf|Slides]] [[http://backus.di.unipi.it/~marcod/SPM/NonStructFig.pdf|Handwriting]]| | 29/09 | 9-11 | Introducing structured programming: patterns, sample implementation code (POSIX-TCP/IP and MPI), identification of patterns | [[http://backus.di.unipi.it/~marcod/SPM/Lesson-4.1.m4v|1st h]] [[http://backus.di.unipi.it/~marcod/SPM/Lesson-4.2.m4v|2nd h]] | [[http://backus.di.unipi.it/~marcod/SPM/StructuredProgrammingIntro.pdf|Slides]] [[http://backus.di.unipi.it/~marcod/SPM/Lesson-4.notes.pdf|Handwriting]]| | 30/09 | 11-13 | How to identify useful patterns (part 2). Skeleton frameworks: principles, history. | [[http://backus.di.unipi.it/~marcod/SPM/Lesson-5.1.m4v|1st h]] [[http://backus.di.unipi.it/~marcod/SPM/Lesson-5.2.m4v|2nd h]] | [[http://backus.di.unipi.it/~marcod/SPM/Skeletons-1.pdf|Slides]] | | 01/10 | 16-18 | Skeleton frameworks: libraries vs. laguages; template based implementation schema | [[http://backus.di.unipi.it/~marcod/SPM/Lesson-6.1.m4v|1st h]] [[http://backus.di.unipi.it/~marcod/SPM/Lesson-6.2.m4v|2nd h]] | [[http://backus.di.unipi.it/~marcod/SPM/Skeletons-2.pdf|Slides]] [[http://backus.di.unipi.it/~marcod/SPM/021009.pdf|Handwriting]]| | 06/10 | 9-10 | Macro data flow implementation technology | [[http://backus.di.unipi.it/~marcod/SPM/Lesson-7.1.m4v|1st h]] [[http://backus.di.unipi.it/~marcod/SPM/Lesson-7.2.m4v|2nd h]] | [[http://backus.di.unipi.it/~marcod/SPM/061009slides.pdf|Slides]] [[http://backus.di.unipi.it/~marcod/SPM/061009.pdf|Handwriting]]| | 07/10 | 9-10 | Expandability of skeleton sets: issues and possible implementations. Advanced features: targeting heterogeneous architectures. Introduction to behavioural skeletons (adaptivity) | [[http://backus.di.unipi.it/~marcod/SPM/Lesson-8.1.m4v|1st h]] [[http://backus.di.unipi.it/~marcod/SPM/Lesson-8.2.m4v|2nd h]] | [[http://backus.di.unipi.it/~marcod/SPM/SkeletonsAdvancedFeatures.pdf|Slides]] [[http://backus.di.unipi.it/~marcod/SPM/071009.pdf|Handwriting]]| | 08/10 | 16-18 | Hierarchical management in behavioural skeletons. Management of multiple concerns in BS | [[http://backus.di.unipi.it/~marcod/SPM/Lesson-9.1.m4v|1st h]] [[http://backus.di.unipi.it/~marcod/SPM/Lesson-9.2.m4v|2nd h]] | [[http://backus.di.unipi.it/~marcod/SPM/SkeletonsAdvancedFeatures.pdf|Slides]] [[http://backus.di.unipi.it/~marcod/SPM/08102009.pdf|Handwriting]]| | 13/10 | 09-11 | Performance modelling of structured computations | [[http://backus.di.unipi.it/~marcod/SPM/Lesson-10.1.m4v|1st h]] [[http://backus.di.unipi.it/~marcod/SPM/Lesson-10.2.m4v|2nd h]] | [[http://backus.di.unipi.it/~marcod/SPM/Modelling.pdf|Slides]] [[http://backus.di.unipi.it/~marcod/SPM/13102009notes.pdf|Handwriting]]| | 14/10 | 11-13 | Performance modelling of structured computations. Introduction to design patterns. | [[http://backus.di.unipi.it/~marcod/SPM/Lesson-11.1.m4v|1st h]] [[http://backus.di.unipi.it/~marcod/SPM/Lesson-11.2.m4v|2nd h]] | [[http://backus.di.unipi.it/~marcod/SPM/Modelling.pdf|Slides]][[http://backus.di.unipi.it/~marcod/SPM/Patterns.pdf|Slides]] | | 15/10 | 11-13 | Parallel design patterns. Discussion of the results of the "questionnaire" concerning programming abilities of the students. | [[http://backus.di.unipi.it/~marcod/SPM/Lesson-12.1.m4v|1st h]] [[http://backus.di.unipi.it/~marcod/SPM/Lesson-12.2.m4v|2nd h]] (the initial part of second hour is missing, see Massingill paper, part relative to the Embarrassingly parallel pattern) | [[http://backus.di.unipi.it/~marcod/SPM/Patterns.pdf|Slides]][[http://backus.di.unipi.it/~marcod/SPM/Test.pdf|Test slides]] | | 20/10 | 9-11 | Introduction to skeleton frameworks: Muesli (skeleton set, library prototypes, sample code) | [[http://backus.di.unipi.it/~marcod/SPM/20octFirst.m4v|1st hour]] N.A.Y. | {{:magistraleinformaticanetworking:spm:lessonmuesli1.pdf|Slides}} | | 21/10 | 11-13 | Muesli: configuration and compilation details. ProActive and Calcium: skeleton set, library prototype, sample code | [[http://backus.di.unipi.it/~marcod/SPM/21octFirst.m4v|1st hour]][[http://backus.di.unipi.it/~marcod/SPM/21OctSecond.m4v|1st hour]] | {{:magistraleinformaticanetworking:spm:lessonmuesli2.pdf|Slides-1-hour}} {{:magistraleinformaticanetworking:spm:lessonproactive1.pdf|Slides-2-hour}} | | 22/10 | 16-17 | ProActive Calcium: sample code commented in detail | [[http://backus.di.unipi.it/~marcod/SPM/22OctFirst.m4v|1st hour]] | {{:magistraleinformaticanetworking:spm:lessonproactive2.pdf|Slides}} | | 22/10 | 17-18 | Introduction to software components | [[http://backus.di.unipi.it/~marcod/SPM/Lesson-13.1.m4v|2nd hour]] | [[http://backus.di.unipi.it/~marcod/SPM/ComponentsIntro1.pdf|Slides]] | | 27/10 | 9-11 | Software components. Java Beans, Microsoft .com (just introduced). SCA (more in detail, with sample code) | [[http://backus.di.unipi.it/~marcod/SPM/Lesson-14.1.m4v|1st hour]] [[http://backus.di.unipi.it/~marcod/SPM/Lesson-14.2.m4v|2nd hour]] | [[http://backus.di.unipi.it/~marcod/SPM/SoftwareComponents.pdf|Slides]] | | 28/10 | 11-13 | Sample component usage in ProActive/Fractal (1st hour). Introduction to workflows (2nd hour) | [[http://backus.di.unipi.it/~marcod/SPM/Lesson-15.1.m4v|1st hour]] [[http://backus.di.unipi.it/~marcod/SPM/Lesson-15.2.m4v|2nd hour]] | [[http://backus.di.unipi.it/~marcod/SPM/Workflows1.pdf|Slides]] | | 29/10 | 14-16 | More on workflows, sample WF framework, WFs vs. skeletons and in the SPM perspective. (1st hour) POSIX/TCP target architecture (2nd hour) | [[http://backus.di.unipi.it/~marcod/SPM/Lesson-16.1.m4v|1st hour]] [[http://backus.di.unipi.it/~marcod/SPM/Lesson-16.2.m4v|2nd hour]] | [[http://backus.di.unipi.it/~marcod/SPM/Workflows2.pdf|Slides1]] [[http://backus.di.unipi.it/~marcod/SPM/PosixTcpSockets.pdf|Slides2]]| | 5/11 | 16-18 | TCP/POSIX architecture: UDP communications, Processes, Threads, Commands for remote machine access and usage. Typical usage of TCP/POSIX mechanisms to implement structured programming models. | [[http://backus.di.unipi.it/~marcod/SPM/Lesson-17.1.m4v|1st hour]] [[http://backus.di.unipi.it/~marcod/SPM/Lesson-17.2.m4v|2nd hour]] | [[http://backus.di.unipi.it/~marcod/SPM/UDPpp.pdf|Slides]] | | 10/11 | 9-11 | Sample TCP/POSIX (OpenMP) implementation / RTS | [[http://backus.di.unipi.it/~marcod/SPM/Lesson-18.1.m4v|1st hour]] [[http://backus.di.unipi.it/~marcod/SPM/Lesson-18.2.m4v|2nd hour]] | [[http://backus.di.unipi.it/~marcod/SPM/PipelinePosix.pdf|Slides]] | | 11/11 | 11-13 | Fractal/GCM component framework. Simple component usage. Compound component usage | [[http://backus.di.unipi.it/~marcod/SPM/Lesson-11nov.m4v|1st & 2nd hour]] |{{:magistraleinformaticanetworking:spm:lessonproactivecomp1.pdf|Slides}} | | 12/11 | 16-18 | Advanced component usage with ProActive/Fractal/GCM. | [[http://backus.di.unipi.it/~marcod/SPM/Lesson-13nov.m4v|1st & 2nd hour]] |{{:magistraleinformaticanetworking:spm:lessonproactivecomp2.pdf|Slides}} | | 17/11 | 9-11 | Remote procedure call (rpcgen) and remote method invocation (Java RMI) with sample code and examples | [[http://backus.di.unipi.it/~marcod/SPM/Lesson-19.1.m4v|1st hour]] [[http://backus.di.unipi.it/~marcod/SPM/Lesson-19.2.m4v|2nd hour]] | [[http://backus.di.unipi.it/~marcod/SPM/RpcRmi1.pdf|Slides]] | | 18/11 | 12-13 | Asynchronous RMI in ProActive (active objects and futures). Modelling POSIX/TCP: measuring sequential times | [[http://backus.di.unipi.it/~marcod/SPM/Lesson-20.m4v|1st hour]] | [[http://backus.di.unipi.it/~marcod/SPM/RpcRmi2.pdf|Slides]] | | 19/11 | 16-18 | Measuring computation and communication times on POSIX/TCP target architectures (with sample code) | [[http://backus.di.unipi.it/~marcod/SPM/Lesson-21.1.m4v|1st hour]] [[http://backus.di.unipi.it/~marcod/SPM/Lesson-21.2.m4v|2nd hour]] | [[http://backus.di.unipi.it/~marcod/SPM/ModellingPOSIX-TCP.pdf|Slides]] | | 24/11 | 9-11 | OpenMP: principles, model, directives. Using OpenMP for supporting SPM material | [[http://backus.di.unipi.it/~marcod/SPM/Lesson-22.1.m4v|1st hour]] [[http://backus.di.unipi.it/~marcod/SPM/Lesson-22.2.m4v|2nd hour]] | [[http://backus.di.unipi.it/~marcod/SPM/openmp.pdf|Slides]] | | 25/11 | 11-13 | Lesson not given due to the suspension of teaching activity established by the dean ||| | 26/11 | 16-18 | More on OpenMP usage to support SPM concepts. Presentation of the final project text. | [[http://backus.di.unipi.it/~marcod/SPM/Lesson-23.1.m4v|1st hour]] [[http://backus.di.unipi.it/~marcod/SPM/Lesson-23.2.m4v|2nd hour]] | [[http://backus.di.unipi.it/~marcod/SPM/FinalProject.pdf|Final project slides]] | | 1/12 | 9-11 | Wireless networks. Principles. Infrastructure and ad hoc scenario. CDMA. | [[http://backus.di.unipi.it/~marcod/SPM/Lesson-24.1.m4v|1st hour]] [[http://backus.di.unipi.it/~marcod/SPM/Lesson-24.2.m4v|2nd hour]] | [[http://backus.di.unipi.it/~marcod/SPM/Wireless.pdf|Slides]] | | 2/12 | 11-13 | Wireless networks: 802.11 CSMA/CA, frame format, RTS/CTS, mobility between AP of the same network, power management issues. Wireless network usage in SPM perspective. | [[http://backus.di.unipi.it/~marcod/SPM/Lesson-25.1.m4v|1st hour]] [[http://backus.di.unipi.it/~marcod/SPM/Lesson-25.2.m4v|2nd hour]] | [[http://backus.di.unipi.it/~marcod/SPM/Wireless.pdf|Slides]] || | 3/12 | 16-18 | Client/server revisited. Introduction to Peer to peer. Taxonomy of P2P applications. File sharing: different approaches used in notable P2P system. | [[http://backus.di.unipi.it/~marcod/SPM/Lesson-26.1.m4v|1st&2nd hour]] | [[http://backus.di.unipi.it/~marcod/SPM/p2p.pdf|Slides]] || | 9/12 | 11-13 | Introduction to MPI (By P. Dazzi) | [[http://hpc.isti.cnr.it/~dazzi/09dic_1.m4v|1st hour]] [[http://hpc.isti.cnr.it/~dazzi/09dic_2.m4v|2nd hour]] | {{:magistraleinformaticanetworking:spm:mpitutorial1.pdf|Slides}} | | 10/12 | 16-18 | Introduction to MPI (By P. Dazzi) (2nd part) | [[http://hpc.isti.cnr.it/~dazzi/10dic_1.m4v|1st hour]] [[http://hpc.isti.cnr.it/~dazzi/10dic_2.m4v|2nd hour]] | {{:magistraleinformaticanetworking:spm:mpitutorial2.pdf|Slides}} | | 15/12 | 9-11 | P2P in the SPM perspective. Final project assignments (2nd round). Discussion on "A view of the Parallel Computing Landscape" (CACM Oct. 2009) | [[http://backus.di.unipi.it/~marcod/SPM/Lesson-27.1.m4v|1st hour]] [[http://backus.di.unipi.it/~marcod/SPM/Lesson-27.2.m4v|2nd hour]] | [[http://backus.di.unipi.it/~marcod/SPM/p2p.pdf|Slides p2p]] [[http://backus.di.unipi.it/~marcod/SPM/Project2.pdf|Slides project]] [[http://backus.di.unipi.it/~marcod/SPM/LastLesson.pdf|Slides Berkeley]]| | 64 | //<<--- Total hours // ||| ==== Official lesson registry ==== The official lesson registry is available at the [[http://unimap.unipi.it/registri/dettregistriNEW.php?re=29635::::&ri=8045|University web site]].