PARALLEL PROCESSING SYSTEMS

advertisement
DISTRIBUTED SYSTEMS
Instructor name Dr. Dmitriy E. Skopin
E-mail address: m825453@yahoo.com
COURSE DESCRIPTION
Many of today's computing systems are designed and constructed for execution on many
different hosts connected via standard networks and protocols. This course examines the
fundamental principles that are vital to the construction of such systems: models of distributed
systems, synchronization, mutual exclusion, naming, group communication, transactions,
cryptography, security and distributed algorithms. We will then examine higher level
abstractions such as distributed file systems, process scheduling and peer-to-peer overlay
networks. The subject accessible to students who have a basic knowledge of object-oriented
programming, operating systems and elementary computer architecture. The course includes
coverage of those aspects of computer networks relevant to distributed systems, including the
underlying technologies for the Internet and for wide area, local area and wireless networks.
Algorithms and interfaces are presented throughout the book in Java or, in a few cases, ANSI C.
For brevity and clarity of presentation, a form of pseudo-code derived from Java/C is also used.
Course Objectives
1. To introduce the students to basics of distributed systems, upon completion they will be able
to design real distributed systems based on centralized and decentralized system models.
2. The theoretical basis for this subject presented together with discussions of a range of
common algorithms and their implementations and uses.
3. To give basics knowledge in the field of modern theory of distributed systems to involve
students to project-designing process.
4. To introduce a students to practical using of knowledge given by this course in such field as
development of distributed systems, data management, middleware design, interprocess
communications, distributed computing, system design.
5. Apply object-oriented techniques to the problem of extending a larger software system to
implement distributed system technologies
Course Contents
Subject
Topic 1: Introduction to distributed systems (DS), features of
DS, concurrency, global clock, failures, prime motivations
Topic 2: Trends of modern distributed systems: pervasive
networking and modern internet, mobile computing,
distributed multimedia systems, cloud computing
Topic 3: System models of distributed systems, client server, peer to peer DS, centralized and decentralized models
Topic 4: Peer to Peer architecture of distributed systems.
Architectures with centralized (Napster, Bit torrent) and
decentralized (Gnutella) P2P network
Topic 5. Hash function and Hash values, application in data
transmission and error detection. Data management model of
P2P networks based on distributed Hash functions
Topic 6. The Chord P2P distributed network, finger tables,
look up procedure, chord routing, joining and leaving the
network.
Lectures/
Week
1/1
2/1
3/2
3/3
3/4
3/5
Note
Topic 7: Non-modulus hash function, secure hash functions,
EHA algorithm, industrial standards MD5 and SHA-1, data
security in distributed systems based on secure hash
functions.
Topic 8: Networking and internetworking in distributed
systems. parameters of the networks, types of networks,
layers of tcp/ip protocols, routing and addressing
Topic 9: Interprocess communications, the API for internet
protocols, external data representation and marhalling
Topic 10: Basics of distributed computing, the MPI
interface, communication operations, barrier
synchronization, group communications, data management,
gathering and scattering of data during distributed computing
Topic 11: Remote invocation: introduction, request-reply
protocol, remote procedure call, remote method invocation
Topic 12: Programming of distributed systems using JAVA
RMI
Topic 13: Operating systems support: Layers, protection,
threads and processes, communication and invocation,
virtualization and operating system level.
Topic 14: Coordination and agreement: Introduction,
Distributed mutual exclusion, Elections, Coordination and
agreement in group communication, Consensus and related
problems
Topic 15: TRANSACTIONS AND CONCURRENCY
CONTROL:
Introduction,
Transactions,
Nested
transactions, Locks, Optimistic concurrency control,
Timestamp ordering, Comparison of methods for
concurrency control, Distributed transactions
Topic 16. DESIGNING DISTRIBUTED SYSTEMS:
INTERNET SEARCH SYSTEM. Introduction, Overall
architecture
and
design
philosophy,
Underlying
communication paradigms, Data storage and coordination
services, Distributed computation services
Topic 17. DISTRIBUTED MULTIMEDIA SYSTEMS:
Characteristics of multimedia data, Quality of service
management, Resource management, Stream adaptation,
Case studies: Tiger, BitTorrent and End System Multicast
3/6
3/7
3/8
3/9
3/10
3/11
3/12
3/12
3/13
3/14
3/15
TextBook:
1. George Coulouris, Jean Dollimore,Tim Kindberg. DISTRIBUTED SYSTEMS, Concepts and
Design; Fifth Edition, Addison Wisley, 2012, ISBN 10: 0-13-214301-1, ISBN 13: 978-0-13214301-1
Grading policy
Exams
First exam
Second exam
Final exam
Project
20%
20%
50%
10%
Download