padi plataformas para aplicações distribuídas na internet · padi plataformas para aplicações...

29
1.1 Prof. Paolo Romano IST / INESC-ID Lisboa https://fenix.tecnico.ulisboa.pt/disciplinas/PADI1011/2014-2015/2-semestre METI / MEIC-T Course Introduction PADI Plataformas para Aplicações Distribuídas na Internet

Upload: lykiet

Post on 02-Feb-2019

218 views

Category:

Documents


0 download

TRANSCRIPT

1.1

Prof. Paolo Romano IST / INESC-ID Lisboa

https://fenix.tecnico.ulisboa.pt/disciplinas/PADI1011/2014-2015/2-semestre

METI / MEIC-T

Course Introduction

PADI Plataformas para Aplicações

Distribuídas na Internet

1.2

Roadmap

Goals Myself Syllabus Bibliography Evaluation Important dates

Presentations in the labs: how to? Structure of a technical paper

1.3

Global Goals

Understand the problems underlying the design and development of large-scale (i.e., Internet-scale) distributed applications

Study middleware solutions supporting the execution of large-scale distributed, with an emphasis on their:

architecture, communication protocols, scalability, performance and dependability

1.4

Operational Goals

Specify, design, analyze and implement applications distributed over large scale systems, ... and middleware systems supporting their operation

Analyze and design protocols, algorithms and mechanisms to enhance the dependability of large-scale applications and platforms

1.5

Myself Prof. Paolo Romano(Theo + Labs)

[email protected] Room 2N3.1

E-mail of the Course [email protected] Subject: padi-14-15: Identify yourself: n.º aluno, curso/campus, turno

Office hours Wednesday: 11h00-12:30 and 15:00-16:30

Syllabus Introduction, System models Group Communication Publish-subscribe systems, Messas Queues Distributed Shared Memory, Tuple spaces Peer-to-Peer Systems Clock synchronization, logical and vector clocks Global States Mutual exclusion, leader election Reliable and Totally Ordered Broadcast Consensus Replication and fault-tolerance Transactions and Concurrency Control Distributed Transactions Gossip, Bayou, Coda Case-study: Google FS, Chubby, Big-table, Map-Reduce

1.6

1.7

Bibliography

“Custom”book PADI – Compiled by Luís Rodrigues and Luís Veiga for Instituto Superior Técnico

Selected chapters from : “Distributed Systems, concepts and design”, George Coulouris, Jean Dollimore, Tim Kindberg, Gordon Blair, 5th edition, Pearson.

1.8

Evaluation Method 3 components

Exam (40%) Who submits at most one exam is awarded one bonus point for the grade of the exam Minimum grade: 8 (without bonuses)

Presentation of one paper in the laboratory class (10%) Groups of 3 students - MANDATORY

Individual feedback to presentations (5%)

Project (45%) Group of 3 students, minimum grade: 8 Intermediate checkpoint:

•  counts for 15% of the project grade •  only accounted for if it is improves the project’s grade

Evaluation based on code, final report and discussion

Mandatory registration for the labs, presentations and examss.

1.9

Evaluation dates and schedule Dates:

1st Exam: June 8 (9h00) 2nd Exam: June 29 (9h00) Project:

Submission of code: May 15 Submission of report: May 18 Demos and discussions in the following weeks

Schedule: theory classes:

Monday: 13h30 -15h00 (A5) Wednesday: 13h30 -15h00 (A1)

Laboratories Monday: 11h00-12h30 and 15h00-16h30 (1-19) Wednesday: 16h30-18h00 (1-19) Registrations (via web) during the first week of classes

1.10

Registration in the Labs Registration of groups to Labs

via Fénix, started today @ noon Groups of exactly 3 students Groups will collaborate for:

1.  Project 2.  Presentation of one paper

A google doc was created to facilitate group creation: http://goo.gl/GFt60n add your name there if your group is incomplete non-moderated: use it in a sensible way! it is important to converge soon: ACT FAST!

Do you want to “re-use” last year’s project? Send an email to PADI’s mailing list Subject: Project 2014 (Tagus) – Student No: XXX – Grade: YY

1.11

Summary

Objectives...what are you going to learn... understand the principles underlying large scale distributed systems and middleware platforms.

Syllabus...what are you going to study... theoretical foundations: time in distributed systesm, passive and active replication, group communications, mutual exclusion and leader election algorithms, mutlicast, optimistic replication, shared memory. Concurrency control and distributed transactions Distributed and replicated systems: Gossip, Coda, Bayou. Advanced systems: peer-to-peer, publish-subscribe, Google.

1.12

Summary (cont.)

Labs...what are you going to use... .Net Framework, C#, .NET Remoting

Project...what are you going to build... replicated system with focus on scalability and dependability

e.g., distributed video-game, replicated CVS server, P2P forum, fault-tolerant P2P versions of Wiki and Facebook, distributed and replicated shared calendar, file system inspired to GFC, etc.

Evaluation...what I expect from you... exam(40%), project(45%), paper presentation (10%), feedback to colleagues’ presenations (5%)

Questions?

1.13

How to Present a Paper...Speaker’s Guide for Students

1.14

Roadmap

Motivation for presentations

Structure of a presentation “What to say” and “how to say it”

Questions Types of questions

Other aspects: Communicate with your audience Plots/Multimedia and other auxiliary materials Read full paper.

1.15

...A Speaker’s Guide for Students...

Paper’s presentation, why? Courses (PADI, CM, etc.) Introduction to research activities

Master courses Systematic research of bibliography in an area

Scientific Activity Engineering Activity

Projects, systems, applications Adopted technologies

Your own or others’ work

1.16

Structure of a presentation

A paper/project presentation must: Identify the main ideas

Focus on differentiating aspects vs existing work Not overload with details

Motivate subsequent reading, ease comprehension Do not alienate audience

Be structured in distinct parts Clearly identified, each part with its clear own goals, fluid transitions.

Take a top-down approach Introduction, Main body, “Details” Section, Conclusion Not a rigid receipt, adapt to each topic

1.17

Structure of a presentation - Introduction

Most important part (not kidding!) Lays the ground for the entire presentation Determines receptivity of your audience

Problem definition Often forgotten Short but clear description If the problem is unclear...

...the solution will not be understood, nor the work will be appreciated!

Motivation Justify relevance and difficulty of the problem Provide overview of the solution Highlight potential benefits

1.18

Structure of a presentation – Introduction (2)

Terminology Coherence of the tems used in the talk Make sure you introduced obscure acronyms and jergon

Related work 100% new works are rare Mention related work with refereces (e.g. [SOSP’11]) Compare pros/cons among current solutions and your paper

Contributions of the Paper/Project Shortly express what is new Generate interest in the paper, help understanding it

Road-map of the rest of the presentation Short overview of what follows

1.19

Structure of a presentation – Main body

Core of the presentation Gradual introduction of details

Summary of main aspects, e.g.: Base mechanisms of a platform Protocol messages Algorithm’s properties Modules of an application/large-scale system

Discussion of the results Justify why/how results are adequate for your target problem Make clear that they match what you have sold in the introduction

1.20

Structure of a presentation – Details

Natural follow-up of the previous part only useful if previous section has been understood...

Must convince the audience The introduction can only captivate Experts do not “buy” results presented at high-level Non-experts should appreciate the merit/challenges of the work

Select ONE important aspect Relevant, not trivial Thoroughly txplain that one aspect Extra details not included in the paper that you are presenting

Previous work Additional bibliographic researches that you conducted Aspects that had to be omitted from the paper for space constraints

1.21

Structure of a presentation – Conclusion

Finalize the talk Regain audience’s attention after the Details Section Place results in retrospective

Recall the most important results of each part.

Additional observations that may confuse/distract audience if mentioned earlier on

Identify open problems Ineffiiciencies, limitations, faults anticipate possible questions

Express your availability to answer questions

1.22

Structure of a presentation – Q&A

Common practice after presentations Conferences, work, press, customer, etc.

Types of questions: 1. Curiosity/genuine ignorance

Will to understand/know more 2. Selfish

aim to shift attention to the “questioner” advertise her/his own related work

3. Aggressive / Malicious More important and more frequent Attacks to rivals Devalue work, problem, motivation, references à Assess reaction of speaker under pression!

1.23

Summing up

Presentations are aimed to: Publicize work to a community

Scientific, professional, some company, etc.

Motivate reading of paper/work/project Ease comprehension Justify relevance of the tackled problem Position proposed solution vs related work Describe the work you did Convince of the relevance of the results you obtained

Questions ????

1.24

Structure of technical-scientific papers

1.25

Typical Structure of a Paper

Abstract Introduction Related Work Solution

Architecture/Algorithm/System

Evaluation Conclusions Bibliography / References

1.26

Typical Structure of a Paper - I Abstract

Convince to follow up and read the whole paper Focus on differentiating aspects, advances, applicability.

Introduction Context

e.g. emergence of cloud systems...

Problem dependability of applications running on the cloud comes with high costs

Key aspects of the solution scalable replication protocol, 10x higher throughput than state of the art

Overview and roadmap of the rest of the work Section 2 presents system’ architecture. Algorithm is introduced in Section 3...

Typical Structure of a Paper - II

Related Work Critical/comparative analysis of previous work

either your own or by others’ pursuing same or related goals

Serves as starting point to describe your contributions Can also be placed later on in the paper, before conclusions

Before: + allows to motivate early on yoyur solution by comparison + clarify what is new soon - cannot dwelve in technical comparison, as your solution was not presented yet After:

opposite pros/cons 1.27

1.28

Typical Structure of a Paper - III Solution

Architecture/Algorithm/System Most extense and detailed section of the paper Rule of thumb: take a top-down approach

Not mention component/aspect w/o explaining how it fits in the “big picture” Not refer elements that were not introduced yet

Evaluation Qualitative and quantitative analysis of the solution’s performance Justify convincingly why a solution is “better”

Conclusions Summary, recall key aspects in the evaluatio, identify interesting research questions opened by your work

Bibliography Include only articles that were explicitly cited in the text body.

1.29

Any question?