Skip to main content
Skip header
Terminated in academic year 2020/2021

Parallel and Distributed Systems

Type of study Bachelor
Language of instruction English
Code 460-2028/02
Abbreviation PDS
Course title Parallel and Distributed Systems
Credits 6
Coordinating department Department of Computer Science
Course coordinator prof. Ing. Pavel Krömer, Ph.D.

Subject syllabus

Lectures:

Introduction to parallel systems. The message passing model. Point-to-point and collective communication. Message Passing Interface (MPI) - an example of a message passing systems.

Design of parallel algorithms - the methodology. Decomposition (domain, functional), communication analysis, agglomeration, mapping to processors. Load balancing techniques. Analysis and evaluation of parallel algorithms. Amdahl's law.

Technical classification of parallel (distributed) systems. Flynn's taxonomy. Architectures with distributed and shared memory. Interconnection subsystems of parallel computers.

Specific parallel programming on architectures with shared memory. Threads. OpenMP. Another models of parallel processing.

Distributed system, differences between parallel and distributed systems. Selected distributed concepts and algorithms.

Remote Procedure Calls. Principles, specifics and semantics of remote calls. RPC/XDR Standard.

Distributed object systems. Object request broker. Stub, skeleton, servant, object adapter. Implementation portability. Interface definition languages, language mappings. Passing by value and by reference, marshalling. CORBA and RMI architectures.

Advanced features of distributed object systems. Dynamic object activation (POA, RMI activators). Dynamic invocations (CORBA DII), interface repository. Dynamic Skeleton Interface. Asynchronous invocations. Naming service: CORBA Naming Service, RMI Registry. CORBA Services.

Enterprise JavaBeans. Application server, container and it's role, EJB components. Developer role's. Compoments types and lifecycle, persistance. Deployment descriptor.

Operation of distributed systems in intranets and Internet. Security of distributed systems.


Projects:

The students will program a parallel or distributed application based on one of the discussed middleware according to their preferences.


Computer labs:

L 1-2-3: Message Passing Interface (MPI)
L 4-5: OpenMP library.
L 6 Remote Procedure Call (RPC)
L 7 Common Object Request Architecture (CORBA)
L 8 Advanced CORBA
L 9 Remote Method Invocation (RMI)
L 10: Enterprise JavaBeans(EJB)
L 11: Project presentation
Semester project consultations throughout all labs.

Literature

Foster, I.: Designing and Building Parallel Programs. Addisson-Wesley, 1995
Colouris, G., Dollimore, J., Kindberg, T.: Distributed Systems. Addison-Wesley, 2005

Advised literature

Wilkinson, B., Allen, M.: Parallel Programming. Prentice Hall, 1999
Hughes, C., Hughes, T.: Parallel and Distributed Programming Using C++. Addison-Wesley, 2004
Object Management Group: The Common Object Request Broker: Architecture and Specification. Object Management Group (http://www.omg.org)