ebook img

Concurrent and Distributed Systems PDF

459 Pages·2015·12.93 MB·English
by  
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Concurrent and Distributed Systems

Welcome to COMP2310/6310 – Concurrent and Distributed Systems ◭◭ ◭ ◮ ◮◮ COMP2310 Lecture 1: Introduction 2013 • × 1 The Growing Importance of Concurrent and Distributed Systems l computer systems are inherently concurrent l computer-based services are inherently distributed l advent of multicore/manycore chips, exascale computing, mobile computing, cloud computing, ubiquitous computing n to what extent must CDS concepts and techniques be treated explicitly in the profession? l followup curriculum in CDS n COMP3300/6330 Operating Systems* n COMP3310/6331 Computer Networks n ˙ COMP3320/6464 High PerfSci. Computation n COMP4330/6430 Parallel Systems* n COMP4330/6433 Real-Time and Embedded Systems* n COMP4340/8320 Multicore Computing* ◭◭ ◭ ◮ ◮◮ COMP2310 Lecture 1: Introduction 2013 • × 2 Course Contact l course web site: http://cs.anu.edu.au/courses/comp2310 l course coordinator & lecturer: Peter Strazdins, CSIT N219, 6125-5140, comp2310@cs l course tutors: Brian Lee, Beau Thompson, and Peter Strazdins (Computer Systems Group) l forums accessible by StReAMS: n Announcements: postings from course staff only n Discussion: for your use (note the rules!) ◭◭ ◭ ◮ ◮◮ COMP2310 Lecture 1: Introduction 2013 • × 3 Course Schedule l lectures: three hours per week l Concurrency: based on Chapters 2–8 and 10 of [Magee&Kramer ] n Processes and Threads, Concurrent Execution, Shared Objects & Interference, Monitors & Condition Synchronization, Deadlock, Safety and Liveness, Model-based Design, Message Passing; Architectures: Operating Systems (+communication) l Distributed Systems: based on Chapters 1–4, 7, 14–18 of [Coulouris&al ] n Overview, Networks, Distributed Time and State, Agreement, Transactions, Replication l . practicals (supervised tutorial/laboratories): 8 (formal) and (3×0 5) informal n → register NOW via http://cs.anu.edu.au/streams n important to come prepared! will contain examinable material! l assignments: 2 l more details on the course schedule page ◭◭ ◭ ◮ ◮◮ COMP2310 Lecture 1: Introduction 2013 • × 4 Course Assessment l see the assessment web page l Assignments: due weeks 7 (18%) and 12 (12%) n note plagiarism issues and unacceptable vs acceptable collaboration: producing a solution with the aid of another’s solution is cheating! working in close groups throughout is dangerous and is unfair to others! l Practical Session Quizzes and Exercises: 10% n best 5 of 2% marks in 8 sessions n note: no extensions! (you should plan to attend all) l Mid-Semester Exam: week 8 (Concurrency) l Final Exam: 50% n 3 hours, 1 page A4 notes (both sides, printed or hand written), no calculator n former exam papers available from course web page; note that not all questions are still applicable ◭◭ ◭ ◮ ◮◮ COMP2310 Lecture 1: Introduction 2013 • × 5 Approach for Concurrent & Distributed Systems l emphasis is on general principles, design (modelling - new!), and systematic implementation n modelling includes Finite State Processes, with structure diagrams BSEMA(Init=0) = BSEMA[Init℄, < > − BSEMA[v:Int℄ = ( when (v Max) up BSEMA[v+1℄ > > | − − when (v 0) down BSEMA[v 1℄ ). l emphasis is on contemporary practice rather than classical theory l CDS are part of our everyday life but reliable computer implementation requires sound understanding of various complex and subtle concepts! l a serious approach is needed for succeeding in this course: n engagement throughout is essential! u especially coming prepared, attending all tutorial / laboratories and completing the (main) exercises u don’t be deceived by the terseness of FSP; it can be subtle and takes time to master! H need to use the ltsatool (& study resulting LTS diagrams) n reading the textbooks, particularly [Magee&Kramer ]) is needed for follow-up ◭◭ ◭ ◮ ◮◮ COMP2310 Lecture 1: Introduction 2013 • × 6 Mastering Concurrent & Distributed Systems l Describe the concepts involved in the construction of CDS. l ‘Speak the language” of concurrent modelling, design and programming. n explain the ideas & issues; explain and analyze key algorithms in CDS n be fluent with 1 modelling language and 2 programming languages l Select appropriate modelling techniques and mechanisms and apply them to the solution of problems in CDS n model problems in FSP and analyze for required properties l Select the appropriate programming language and environment for the task at hand. n understand the strengths and weaknesses of approaches and languages l Write scalable, concurrent modules which show the intended and predictable behaviors. Includes monitors! l Analyze and debug small to medium scale concurrent programs. n design & implement non-trivial solutions in Java and C ◭◭ ◭ ◮ ◮◮ COMP2310 Lecture 1: Introduction 2013 • × 7 Introduction to Concurrency Overview: l what is a concurrent program? l concurrent and distributed software l why concurrent programming? l why is it important to get it right? l (Magee & Kramer’s) Cruise Control System l models and modeling the Cruise Control System l programming practice in Java l objective of the concurrency module; and the book! (the reminder of these slides including graphics are a modified version of the slides from Ch1 of Magee & Kramer: Concurrency) ◭◭ ◭ ◮ ◮◮ COMP2310 Lecture 1: Introduction 2013 • × 8 What is a Concurrent Program? l a sequential program has a single thread of control. l a concurrent program has multiple threads of control allowing it to: n perform multiple computations in parallel n to control multiple external activities which occur at the same time The proper co-ordination of these threads and maintaining the integrity of shared data form the major challenges of concurrent programming! ◭◭ ◭ ◮ ◮◮ COMP2310 Lecture 1: Introduction 2013 • × 9 Concurrent and Distributed Software l interacting, concurrent software components of a system: l single machine → shared memory interactions n programming model: threads API or message passing l multiple machines → network interactions n programming model: message passing (or derivatives, e.g. remote method invocation) n forms a distributed system ◭◭ ◭ ◮ ◮◮ COMP2310 Lecture 1: Introduction 2013 • × 10

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.