Course Unit Code | 460-2028/01 |
---|
Number of ECTS Credits Allocated | 6 ECTS credits |
---|
Type of Course Unit * | Optional |
---|
Level of Course Unit * | First Cycle |
---|
Year of Study * | Third Year |
---|
Semester when the Course Unit is delivered | Summer Semester |
---|
Mode of Delivery | Face-to-face |
---|
Language of Instruction | Czech |
---|
Prerequisites and Co-Requisites | Course succeeds to compulsory courses of previous semester |
---|
Name of Lecturer(s) | Personal ID | Name |
---|
| KRO080 | prof. Ing. Pavel Krömer, Ph.D. |
Summary |
---|
The course provides basic orientation in the field of parallel and distributed systems. Both the multiprocessor architectures and the
distributed computing frameworks are introduced, together with techniques of their utilization from the programmer's perspective. Moreover the subject gives an overview of modern object-oriented distributed systems, their applications and interoperatibility, and it introduces the latest trends in the field of parallel and distributed systems. |
Learning Outcomes of the Course Unit |
---|
The objective of the course is to provide the students with a survey in parallel and distributed architectures, to teach them basic methods of problem decomposition, to master selected techniques necessary for the development of parallel applications and to get acquainted with the current technologies for the design of applications based on distributed objects. |
Course Contents |
---|
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. |
Recommended or Required Reading |
---|
Required Reading: |
---|
Foster, I.: Designing and Building Parallel Programs. Addisson-Wesley, 1995
Colouris, G., Dollimore, J., Kindberg, T.: Distributed Systems. Addison-Wesley, 2005 |
Foster, I.: Designing and Building Parallel Programs. Addisson-Wesley, 1995
Zelený, J., Nožička, J.: COM+, CORBA, EJB. BEN - technická literatura, Praha 2002. ISBN 80-7300-057-1 |
Recommended Reading: |
---|
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) |
Foster, I.: Designing and Building Parallel Programs. Addisson-Wesley, 1995
Grygárek, P.: Sylaby předmětu Distribuované objektové systémy
Object Management Group: The Common Object Request Broker: Architecture and Specification. Object Management Group (http://www.omg.org)
Sun Microsystems: Remote Method Invocation. http://www.javasoft.com
Sun Microsystems: Enterprise JavaBeans. http://www.javasoft.com
http://www.cs.vsb.cz/~gry72/dosy/dosys.html
Motyčková, L.: Distribuované systémy - výpočty v sítích. Science 1997.
Janeček, J.: Distribuované systémy. Skriptum ČVUT, Praha 2001 |
Planned learning activities and teaching methods |
---|
Lectures, Individual consultations, Tutorials, Project work, Other activities |
Assesment methods and criteria |
---|
Task Title | Task Type | Maximum Number of Points (Act. for Subtasks) | Minimum Number of Points for Task Passing |
---|
Graded exercises evaluation | Graded credit | 100 (100) | 51 |
Activity | Other task type | 40 | 20 |
Project | Semestral project | 60 | 25 |