Strumenti Utente

Strumenti Sito


magistraleinformaticanetworking:spm:sdpm10lessons

Distributed systems: paradigms and models

Academic Year 2010-2011

Day Hours Argument Support material Teacher
March 8 4-6pm Introduction to course: course logistics, program, general motivation. Blackboard Audio1 Audio2 Danelutto
March 9 9-11am Motivations: technological improvements. From single core to multi core and many core. Heterogeneous multicores. GPUs and FPGAs as (parallel) coprocessors Slides Audio1 Audio2 Danelutto
March 10 9-11am Evolution of HPC. Clouds. Changes in the programming models for parallel and distributed architectures. Questionnaire on programming expertize. Slides Audio1 Audio2 Danelutto
March 15 4-6pm Parallel programming: devising concurrent activity graph. Functional and non functional code. Speedup and Amdhal law in detail. Slides Audio1 Audio2 Danelutto
March 16 9-11am Non functional concerns in parallel programming: fault tolerance (checkpointing), power management, security. “Classical” parallel programming frameworks: network of POSIX workstations with TCP/IP interconnection. Mechanisms for creating concurrent activities (process, pthreads), for communication and synchronization (Sockets, SHM SYS V), for program deployment (rdist, rsync). Slides Audio1 (not available) Audio2 Danelutto
March 22 4-6pm Sample parallel program with POSIX TCP: computing the square of a stream of integers. Version 1 (no fault tolerance), Version 2: recognize worker faults, Version 3: recognize and correct worker faults. Slides Audio Code Danelutto
March 23 9-11am Algorithmic skeletons: introduction of the concept (analogies with parallel design patterns). Definition of skeletons by means of functional and parallel semantics (sample functional semantics with OcaML). Parameters of the skeletons. Compositionality (intro) with “farm of map” example. Slides Audio1 Audio2 Danelutto
March 24 11am-1pm Definition of algorithmic skeleton. Pros and cons of skeleton based programming frameworks. Pattern classes: data parallel, stream parallel and control parallel patterns. Sample data parallel skeletons: map, reduce, stencil, divide&conquer, scan. Slides Audio1 Audio2 Danelutto
March 29 4-6pm Introduction to Ocaml: data types, lists; union types, functions, recursive functions, mutually recursive functions, with examples. Installation of the package. Web site. (see also Ocaml web page) Slides Audio1 Audio2 Terminal dump Danelutto
March 30 9-11am Further details on Ocaml. Typical control parallel skeletons. Composition of skeletons: functional semantics and performance related aspects. Slides Audio1 Audio2 Terminal dump Danelutto
March 31 9-11am Complete functional semantics with the image processing example. State handling in skeletons. Common patterns: readonly, owner writes, accumulator, resource. Slides Audio1 Audio2 Danelutto
April 5 4-6pm Implementation of skeleton frameworks: language vs library. Template based and macro data flow based implementations: generalities. Slides Audio1 Audio2 Danelutto
April 6 9-11am Template based implementations of skeleton frameworks: phases, template library, template assignment, optimizations, sample template: task farm for mesh interconnected architectures. Slides Audio1 Audio2 Danelutto
April 7 9-11am Macro data flow implementation of skeleton framework. Introduction to performance models: latency, service time, completion time, speedup, scalability. Slides Audio1 Audio2 Danelutto
April 12 4-6pm Performance models: analytical models and models derived from queue theory. Skeleton, template and architecture models. Usage of models (at compile time, at run time and post run time). Accurate vs. approximate performance models with sample models. Slides Audio1 Audio2 Danelutto
April 13 9-11am Structured programming environments: MUESLI Introduction slides Muesli slides Dazzi
April 14 11am-1pm Structured programming environments: MUESLI (last part), Skandium Skandium slides Dazzi
April 28 11am-1pm Skeleton set design (with Cole's Manifesto principles) Slides Audio Danelutto
May 3 4-6pm Template design: methodology, building blocks, mechanisms (termination, fault tolerance). Slides Audio1Audio2 Danelutto
May 4 9-11am Template design techniques: triple buffering. Divide and conquer template (farm with feedback) Slides Audio1Audio2 Danelutto
May 10 4-6pm Portability (functional, performance). Compiler based and virtual machine based, with template based or macro data flow based frameworks. Slides Audio1Audio2 Danelutto
May 11 9-11am Problems related to distributed vs. shared memory architecture targeting. Rewriting rules for skeletons and skeleton normal form. Slides Audio1Audio2 Danelutto
May 12 11am-12am Presentation and discussion of the final project text. Slides Audio1 Danelutto
May 12 12am-1pm Effects of normal form optimization in template based and macro data flow based frameworks Slides Audio2 Danelutto
May 13 2-4pm Adaptivity: adaptation process, MAPE loop, concept of manager, rule systems. Behavioural skeletons: concepts, task farm behavioural skeleton. Slides Audio1Audio2 Danelutto
May 17 4-6pm Contracts in autonomic management of structured computations. Hierarchical coordination of autonomic managers. Slides1Slides2 Audio1Audio2 Danelutto
May 18 9-10am Autonomic management of multiple non functional concerns. Slides1 Audio1 Danelutto
May 18 10-11am Muskel framework No slides Audio1 Danelutto
May 19 11am-1pm Fastflow framework Slides Audio1Audio2 Danelutto
May 20 2-4pm Parallel design patterns Slides Audio1Audio2 Danelutto
May 24 4-5pm OcamlP3L skeleton framework: features, installation, sample usage on NOW/COW Slides Audio Danelutto
May 24 5-6pm Introduction to peer-to-peer techniques (audio file by Vaira: thanks!) SlidesAudio Danelutto
May 25 9-11am P2P techniques supporting resource discovery and master/worker template implementation. Introduction to wireless computing: typical scenarios and typical problems. (This part of the course is covered by the material in “Kurose Ross, Computer Networking, a top down approach”) Slides Audio1Audio2 Danelutto
May 26 11am-1pm Wireless networks: transmission techniques, packet format, access protocols, lessons relative to the SPM course Slides1Slides2Audio1Audio2 Danelutto
May 31 4-6pm Perspectives in the adoption of structured parallel programming techniques: Berkeley report, “commercial” libraries (TPL by Microsoft and TBB by Intel) Slides Audio1Audio2 Danelutto
June 1 9-10am Final lesson: the SPM methodology revisited. Slides Audio1 Danelutto
End of the lessons

Link to the official lesson register page.

magistraleinformaticanetworking/spm/sdpm10lessons.txt · Ultima modifica: 20/03/2013 alle 08:30 (5 anni fa) da Marco Danelutto