Saltar al contingut Menu
Map
  • Home
  • Information
  • Contact
  • Map

Distributed and Networked Operating Systems (SODX)

Credits Dept.
7.5 (6.0 ECTS) AC

Instructors

Person in charge:  (-)
Others:(-)

General goals

In this subject, students focus on the concepts behind operating systems, their relationship with computer networks and their role in the advanced services that students interested in specialising in systems must be familiar with. Students should be able to build applications using the main programming paradigms used in distributed systems and using the resources provided by distributed systems.

Specific goals

Knowledges

  1. Acquire in-depth knowledge of the main programming paradigms for the model client/server model in distributed systems.
  2. Learn the differences between a networked operating system and a distributed operating system.
  3. Basic and advanced distributed services.
  4. Properties arising from overall system behaviour: fault tolerance, increased capacity, security.
  5. Learn the latest trends regarding distributed system solutions.

Abilities

  1. Ability to analyze problems posed by the design and workings of a distributed application, and to choose the best solutions.
  2. - Optimising system resources and the network.
  3. Ability to develop systems/mechanisms for solving problems concerning fault tolerance, performance, scale, mobility.

Competences

  1. Ability to work effectively in small groups to solve problems of middling difficulty.
  2. Ability to make convincing formal and informal oral presentations.
  3. Ability to study various sources, recognise that the information obtained in class is insufficient, and to seek the supplementary information required.
  4. Ability to learn on one"s own.

Contents

Estimated time (hours):

T P L Alt Ext. L Stu A. time
Theory Problems Laboratory Other activities External Laboratory Study Additional time

1. Concepts underlying distributed systems
T      P      L      Alt    Ext. L Stu    A. time Total 
4,0 0 0 0 0 4,0 4,0 12,0
The basic concepts and models employed by distributed systems; order, causality, time, failures, scales; objectives: connection, transparency, openness and scalability; replication techniques, caching, distribution; architectural styles, system architectures: centralised, decentralised; programming models.
  • Other extra activities:
    Group work activities and/or guided paper readings.

2. Communication between processes
T      P      L      Alt    Ext. L Stu    A. time Total 
4,0 0 4,0 0 4,0 4,0 4,0 20,0
Invocation of remote operations; invocation of remote objects; message-based communication; streams.







  • Laboratory
    Modify and expand an application communicating remote processes. Evaluate and compare various alternatives.
  • Additional laboratory activities:
    Prior analysis and subsequent drawing up of conclusions.
  • Other extra activities:
    Group work activities and/or guided paper reading.

3. Time and global states
T      P      L      Alt    Ext. L Stu    A. time Total 
2,0 0 2,0 0 2,0 2,0 2,0 10,0
Clock synchronisation; time, ordering, logical clocks; consistent global states, predicates, distributed snapshot.





  • Laboratory
    Usage of logical clocks for the coordination of various nodes.
  • Additional laboratory activities:
    Prior analysis and subsequent drawing up of conclusions.
  • Other extra activities:
    Group work activities and/or guided paper readings.

4. Coordination and agreement
T      P      L      Alt    Ext. L Stu    A. time Total 
2,0 0 2,0 0 2,0 2,0 2,0 10,0
Mutual exclusion; election, multicast group communication, agreement.







  • Laboratory
    Evaluate a coordination algorithm various nodes.
  • Additional laboratory activities:
    Prior analysis and subsequent drawing up of conclusions.
  • Other extra activities:
    Group work activities and/or guided paper readings.

5. Distributed transactions
T      P      L      Alt    Ext. L Stu    A. time Total 
2,0 0 2,0 0 2,0 2,0 2,0 10,0
Transactions, distributed commit, concurrency control






  • Laboratory
    Implementation and evaluation of an algorithm for concurrency control between various nodes.
  • Additional laboratory activities:
    Prior analysis and subsequent drawing up of conclusions.
  • Other extra activities:
    Group work activities and/or guided paper readings.

6. Consistency and replication
T      P      L      Alt    Ext. L Stu    A. time Total 
4,0 0 4,0 0 4,0 4,0 4,0 20,0
Models and consistency mechanisms; Distribution and replication; group membership.







  • Laboratory
    Test and evaluate mechanisms for replicating data between various nodes.
  • Additional laboratory activities:
    Prior analysis and subsequent drawing up of conclusions.
  • Other extra activities:
    Group work activities and/or guided paper readings.

7. Name systems and services
T      P      L      Alt    Ext. L Stu    A. time Total 
2,0 0 2,0 0 2,0 2,0 2,0 10,0
Name space and resolution; DNS, LDAP services; mobile systems.
  • Laboratory
    Evaluate and compare various name service alternatives.
  • Additional laboratory activities:
    Prior analysis and subsequent drawing up of conclusions.
  • Other extra activities:
    Group work activities and/or guided paper readings.

8. Distributed file systems
T      P      L      Alt    Ext. L Stu    A. time Total 
2,0 0 2,0 0 2,0 2,0 2,0 10,0
NFS, CODA, and others; Characteristics and comparison.






  • Laboratory
    Evaluate and compare various alternatives file name services.
  • Additional laboratory activities:
    Prior analysis and subsequent drawing up of conclusions.
  • Other extra activities:
    Group work activities and/or guided paper readings.

9. Distributed web-based systems
T      P      L      Alt    Ext. L Stu    A. time Total 
2,0 0 2,0 0 2,0 2,0 2,0 10,0
Architecture; Web Services; HTTP and SOAP communication; Caching, replication, CDNs
  • Laboratory
    Evaluate the performance of a web server.
  • Additional laboratory activities:
    Prior analysis and subsequent drawing up of conclusions.
  • Other extra activities:
    Group work activities and/or guided paper readings.

10. Large-scale distributed systems
T      P      L      Alt    Ext. L Stu    A. time Total 
4,0 0 4,0 0 4,0 6,0 6,0 24,0
Grid, Cloud and decentralised systems (Peer-to-Peer); DHTs; Resource management; overlay; Current infrastructures.
  • Laboratory
    Modify and expand an application based on P2P. Evaluate and compare various alternatives.
  • Additional laboratory activities:
    Prior analysis and subsequent drawing up of conclusions.
  • Other extra activities:
    Group work activities and/or guided paper readings.


Total per kind T      P      L      Alt    Ext. L Stu    A. time Total 
28,0 0 24,0 0 24,0 30,0 30,0 136,0
Avaluation additional hours 4,0
Total work hours for student 140,0

Docent Methodolgy

- Activities focusing on the acquisition of theoretical knowledge.







- Lab sessions focusing on the acquisition of knowledge through experiment: starting up systems, measuring and comparing performance, and carrying out modifications and creating small applications in order to acquire basic skills.







The theoretical classes may be split into explanatory classes, (2) reading of articles, (3) group work (AC).







Group work activities:



- presence-based (teacher and students),



- presence-based (students), (assistant?)



- non-presence based (each student works on his own) + tool (e.g. bscw).







Theory:



- Preparation: guided reading (reading of papers/reports)



- Follow-up to theory classes



- Elaboration: group work(posters)







Lab:



- Preparation: reading problem and additional documentation



- Lab work in booked group sessions



- Follow-up work to round off the exercise (evaluation report on the product system)

Evaluation Methodgy

A) partial written exam (test) - monitoring of each student's knowledge and skills.
B) Final written exam on each student's knowledge and skills.
C) Evaluation of reading reports, presentations, and discussion of recommended articles and documents, and group / co-operative work.
D) Evaluation of concepts, skills and competencies in the lab.

Final Grade = max(0.15 x A + 0.35 x B, 0.50 x B) + 0.25 x C + 0.25 x D

Basic Bibliography

  • TANENBAUM, Andrew S, VAN STEEN, Maarten, Distributed Systems: Principles and Paradigms, 2nd Edition, Prentice Hall, 2007.
  • COULOURIS, George F, DOLLIMORE, Jean, KINDBERG, Tim, Distributed Systems: Concepts and Design, 4th edition, Addison-Wesley, 2005.

Complementary Bibliography

  • ARMSTRONG, Joe, Programming Erlang: Software for a Concurrent World, The Pragmatic Programmers, 2007.

Web links

  1. http://docencia.ac.upc.es/FIB/SODX/


  2. http://dsonline.computer.org/


Previous capacities

Detailed knowledge of the internal structure and workings of an operating system (OS course), and of a computer network (XC or XCA course).


Compartir

 
logo FIB © Barcelona school of informatics - Contact - RSS
This website uses cookies to offer you the best experience and service. If you continue browsing, it is understood that you accept our cookies policy.
Classic version Mobile version