Vous êtes sur la page 1sur 31

Distributed Systems Presentation

Jan. 26th

Questions
Why are you studying computer science? Why do you think youre learning about distributed systems? What do you think youre going to learn? What would you like to learn?

For students that have taken this class before:


Was the subject difficult? Why? Why do you think that you failed the class in the first place?

This class is
Offered as part of the COMPUTER SCIENCE degree program REQUIRED CREDITS: 6 HOURS/WEEK: 3 The purpose is to understand the basic concepts for designing and developing distributed systems and applications

Course Web page


http://www.arcos.inf.uc3m.es/~infosd/

All the information on this page: classnotes, additional material, class schedule, labs, etc. Aula Global 2 has a link to this page; you may want to consult it as well.

What are we going to learn about


1. Introduction and basic concepts 2. Networking and internetworking 3. Interprocess communication and syncronization 4. Comunication via sockets 5. Client-server applications 6. Remote procedure calls (RPC)

What are we going to learn about


7. Distributed objects 8. Web services 9. Distributed file systems 10. Distributed synchronization and coordination 11. Examples of distributed applications 12. Fault tolerance

Bibliography
Distributed Systems, Concepts and Design. G. Coulouris, J. Dollimore, T. Kindberg. Fourth edition, 2005. Addison-Wesley Computacin distribuida. Fundamentos y Aplicaciones M. L. Liu. 2004 Pearson. Addison-Wesley

Methodology
Theory classes: present and explain basic concepts. Students must also consult the textbooks (both for theory and problems); it is possible that the professor may not have time to explain all details during class! Ask anything that is unclear, ideally before exam week!! Problem solving in class: the professor will solve exercises to illustrate how to apply the concepts learned in the theory class. Problem solving in class: the students will solve exercises to make sure they get practical experience and they understand what concepts are still unclear. Lab work: several sets of problems, solved in groups to encourage teamwork.

Classes
14 weeks 2 classes per week, each 1.5 hours 4 additional labs, each 1.5 hours

Tentative class schedule


DENOMINACIN ASIGNATURA: Sistemas Distribuidos GRADO: Ingeniera Informtica CRONOGRAMA ASIGNATURA SESEDESCRIPCIN DEL CONTENIDO DE LA SESIN
MANA SIN

CURSO: 3

CUATRIMESTRE: 2

GRUPO (Marcar X) GRANPEDE QUEO

Indicar espacio necesario distinto aula (aula inform, laboratorio , etc..)

Indicar SI/NO es una sesin con 2 profesores

TRABAJO DEL ALUMNO DURANTE LA SEMANA DESCRIPCIN


HORAS PRESENCI ALES HORAS TRABJO Semana Mximo 7H

(*)

1 1

1 2

Presentacin de la asignatura e Introduccin Redes e interconexin

X X

2 2 3

3 4 5

Concurrencia y comunicacin entre procesos Ejercicios de comunicacin y sincronizacin Concurrencia y comunicacin entre procesos

X X X

3 4 4 5 5 6 6 7 7

6 7 8 9 10 11 12 13 14

Ejercicios de comunicacin Sockets Descripcin del API de los sockets en C Aplicaciones cliente-servidor Descripcin del API de los sockets en Java Gua de diseo de aplicaciones cliente-servidor Ejemplos y ejercicios de diseo de aplicaciones utilizando sockets Llamadas a procedimientos remotos RPC de SUN y ejercicios

X X X X X X X X X

Presentacin, normas y tema 1 de 1,5 introduccin a los sistemas distribuidos Tema 2 de repaso de los principales 1,5 conceptos relacionados con las redes, protocolos y TCP/IP Repaso de los principales mecanismos 1,5 de sincronizacin entre procesos 1,5 Describir los aspectos relacionados con 1,5 la comunicacin y aspectos del paso de mensajes, colas de mensajes POSIX 1,5 1,5 1,5 1,5 1,5 1,5 1,5 1,5 1,5

7 4 4

Tentative class schedule (contd)


DENOMINACIN ASIGNATURA: Sistemas Distribuidos GRADO: Ingeniera Informtica CRONOGRAMA ASIGNATURA SESEDESCRIPCIN DEL CONTENIDO DE LA SESIN
MANA SIN

CURSO: 3

CUATRIMESTRE: 2

GRUPO (Marcar X) GRANPEDE QUEO

Indicar espacio necesario distinto aula (aula inform, laboratorio , etc..)

Indicar SI/NO es una sesin con 2 profesores

TRABAJO DEL ALUMNO DURANTE LA SEMANA DESCRIPCIN


HORAS PRESENCI ALES HORAS TRABJO Semana Mximo 7H

(*)

8 8 9 9

15 16 17 18

Invocacin de mtodos remotos Ejercicios de RPC y RMI Prueba PARCIAL Correccin del examen y ejercicios Servicios Web Servicios Web con gSOAP Sistemas de ficheros distribuidos NFS y ejercicios de sistemas de ficheros distribuidos Coordinacin y sincronizacin distribuida Presentacin en pblico de la lectura de un artculo Ejemplos de aplicaciones distribuidas Presentacin en pblico de la lectura de un artculo Tolerancia a fallos Presentacin en pblico de la lectura de un artculo Recuperaciones, tutoras, entrega de trabajos, etc Preparacin de evaluacin y evaluacin

X X X X X X X X X X X X X X

Describir RMI y los conceptos bsicos de CORBA

1,5 1,5 1,5 1,5

Correccin del examen parcial, resolucin de dudas y algn ejercicio

10 19 10 20 11 21 11 22 12 23 12 24 13 25 13 26 14 27 14 28 SUBTOTAL 15 16-18 TOTAL

1,5 1,5 1,5 1,5 1,5 1,5 1,5 1,5 1,5 1,5 42 Sesiones en aulas de prcticas (1,5 X 4) 6 Entrega de trabajos

7 4 4 7 7 + 74 = 116 16 12 150

Tentative class schedule - labs


CRONOGRAMA LABORATORIOS EXPERIMENTALES

SESIN

SE DESCRIPCIN DEL CONTENIDO DE MA LA SESIN NA (El grupo se subdivide en dos. En el horario se programan dos sesiones en el laboratorio indicado en esa semana)
5 7 Diseo, desarrollo y evaluacin de una aplicacin distribuida con sockets Interoperabilidad y heterogeneidad en el Diseo y desarrollo de una aplicacin distribuida utilizando sockets Diseo y desarrollo de una aplicacin distribuida utilizando RPC Diseo y desarrollo de una aplicacin distribuida utilizando Web Services

LABORATORI TRABAJO DEL ALUMNO DURANTE LA O EN EL QUE SEMANA HORAS SE REALIZAN DESCRIPCI HORAS TRABAJO LAS SESIONES N
PRESENCIALES Semana Mximo 7H

1 2

Aula informtica Aula informtica

1,5 1,5

3 4

3 4 TOTAL

10 12

Aula informtica Aula informtica

1,5 1,5 6 10

4 3

Professors (Gr. 89)


Class coordinator: Flix Garca Carballeira Master Class (Theory)
(Thursday, 12:30-14:00) Maria-Cristina Marinescu

Small Group (Exercices)


(Wednesday, 12:30-14:00) Borja Bergua

Labs [7.0.J.04]
(Friday, 14:30-16:00) Borja Bergua

Evaluation process
The student must study:
The books given in the bibliography
The slides are explaining basic concepts and are helping with the learning process, but they DO NOT exhaust the material.

Additional material indicated in the slides or on the class Web site The student must solve the problems given in class. The student must solve the lab problems.

Evaluation process (contd)


Convocatoria ordinaria
Eligible IF one follows continuous evaluation OR not

Convocatoria extraordinaria
Eligible IF one follows continuous evaluation OR not

Evaluation process (contd)


Convocatoria ordinaria (1/2):
Continuous evaluation

Evaluation 75%

si

25%

Continuous evaluation

Final exam

20% Midterm

30% Labs

15% Exercises

10% Paper presentation

16

Evaluation process (contd)


Convocatoria ordinaria (1/2):
Continuous evaluation

Final exam:

ALL the material. If you miss the final exam you fail continuous evaluation.
Labs:

4, each counts for 7,5% of your grade


Exercises:

Quizes during class.

17

Evaluation process (contd)


Convocatoria ordinaria (2/2):
Students who do NOT follow continuous evaluation

Evaluation
no

60%

Evaluacin continua

Final exam

Examen parcial

Prcticas

Trabajos

18

Evaluation process (contd)


Convocatoria ordinaria (2/2):
Students who do NOT follow continuous evaluation

Evaluation
no

60%

Evaluacin continua

Final exam 8,33

Examen parcial

Prcticas

Trabajos

19

Evaluation process (contd)


Convocatoria ordinaria (2/2):
Students who do NOT follow continuous evaluation

A student fails continuous evaluation if at least one of the following is true:

Does not take the midterm exam. Does not submit all lab work. Does not solve at least 60% of the problems.

20

Evaluation process (contd)


Convocatoria extraordinaria (1/2):
Students who do NOT follow continuous evaluation

Evaluation
no

75%

Evaluacin continua

Final exam

Examen parcial

Prcticas

Trabajos

21

Evaluation process (contd)


Convocatoria extraordinaria (1/2):
Students who do NOT follow continuous evaluation

Evaluation
no

75%

Evaluacin continua

Final exam 6,67

Examen parcial

Prcticas

Trabajos

22

Evaluation process (contd)


Convocatoria extraordinaria (2/2):
Continuous evaluation

Max

Evaluation 75%

si

Evaluation 25%

no

75%

Continuous evaluation

Final exam

20% Midterm

30% Labs

15% Exercises

10% Paper presentation

23

Exams
Closed-book: i.e. you CANNOT use any material (classnotes, books, etc). You need to have the DNI or the university id with you the day of the exam. You must take the exam with your group, otherwise the exam is not considered valid.

Labs
4 labs in groups of 2 (same) students each. The labs will be available on the class web site enough time before their due date. The web site will specify the due date and the procedure to follow for submitting the solutions. You will fail a lab work if we determine that you are one of two (or more) groups who have copied from each other. We will NOT try to determine who copied from who, EVERYONE involved will fail that lab.

The goal of this course

Network

Goals
Study the fundaments and basic concepts of distributed systems Design and implement distributed applications using basic concepts such as sockets, RPCs and web services Evaluate the performance of distributed applications Learn how to solve problems related to distributed systems

Step 1: Recap
What concepts do we need to learn or recap? Computer networks Basic OS concepts (processes and concurrent programming)

Universidad Carlos III de Madrid

process Message passing HTML TCP/IP switch OSI Wireless HTTP hub Ethernet WWW backbone program ARP Web NFS DNS Protocols IP address Internet RPC TCP/UDP socket middleware Port

Step 2: Study
Communication paradigms for distributed systems Which OS services we can use to implement distributed applications Design and implement distributed applications using these services

Step 3: Implement
Internet Client Process request Servier Process

reply

What requirements does my application have? What is the most appropriate communication paradigm? How to design a communication protocol? What data does the application need to handle? What is the naming convention (machines, resources, services)? What aspects do we need to consider to realize the end-to-end communication (data representation , byte ordering, etc) ?

Step 4: evaluate

Which parameters are relevant for my specific application? What is the performance of my application and what is its latency? Does the application scale well? Does the application need to perform specific error handling?

Vous aimerez peut-être aussi