Sistemas Distribuídos Sincronização de Processos Alex Borges Vieira.

35
Sistemas Distribuídos Sincronização de Processos Alex Borges Vieira

Transcript of Sistemas Distribuídos Sincronização de Processos Alex Borges Vieira.

Page 1: Sistemas Distribuídos Sincronização de Processos Alex Borges Vieira.

Sistemas DistribuídosSincronização de Processos

Alex Borges Vieira

Page 2: Sistemas Distribuídos Sincronização de Processos Alex Borges Vieira.

Objetivos

• Apresentar ao aluno os principais conceitos de sistemas distribuídos e suas aplicações.

• Discutir problemas e técnicas relacionados à implementação de sistemas distribuídos.

• Capacitar o aluno a implementar sistemas distribuídos simples utilizando arquitetura cliente servidor e P2P.

• Apresentar aos alunos tendências e desafios na área de sistemas distribuídos.

Page 3: Sistemas Distribuídos Sincronização de Processos Alex Borges Vieira.

AVALIAÇÃO DE APRENDIZAGEM - CRONOGRAMA

Avaliação Data Valor Tipo de Avaliação

Conteúdo Programático

TVC1 09/05 100 Prova Unidades de 1 a 5TVC2 04/07 100 Prova Unidades de 6 a 10TVC3 11/07 100 Trabalho

em grupoTrabalho de caractere multidisciplinar envolvendo todas as unidades da disciplina (1 a 12).

Cálculo da NotaMédia: (4 * Primeira Nota + 4 * Segunda Nota + 2 * Terceira Nota)/10. Aprovado se média maior/igual a 60.

Observaçõesa) PROVAS INDIVIDUAIS E SEM CONSULTAb) Grupos compostos por 3 a 4 pessoas.

Page 4: Sistemas Distribuídos Sincronização de Processos Alex Borges Vieira.

Cronograma para o Mês

1 Apresentação da disciplina -objetivos e critérios de aprovaçãoIntrodução aos Sistemas Distribuídos -definição, Metas e Tipos

14/03/11

2 16/03/11

3 Arquiteturas de Sistemas Distribuídos (Estilos Arquitetônicos, Arquiteturas de Sistemas, Arquiteturas versus Middleware, Autogerenciamento)

21/03/11

4 Processos em Sistemas Distribuídos (Threads, Virtualização, Clientes)

23/03/11

5 Processos em Sistemas Distribuídos (Servidores, Migração de Código)

28/03/11

Page 5: Sistemas Distribuídos Sincronização de Processos Alex Borges Vieira.

BIBLIOGRAFIA

Bibliografia Básica

COULOURIS, G.; DOLLIMORE, J.; KINDBERG, T. Distributed systems - concepts and design. Third Edition, Addison-Wesley, 2001.

LYNCH, N. A. Distributed algorithms. Morgan Kauffmann, 1996.

Bibliografia Complementar

CHOW, R.; JOHSON, T. Distributed operating systems & algorithms. Addison-Wesley, 1998.

GALLI, D. Distributed operating systems. Prentice-Hall. 2000. HENNING, M.; VINOSKI, S. Advanced CORBA Programming with C++. Addison-

Wesley, 1998. MULLENDER, S. (ed.). Distributed systems . Addison-Wesley, 1995. TANENBAUM, A.S. Distributed operating systems. Prentice-Hall, 1995.

Page 6: Sistemas Distribuídos Sincronização de Processos Alex Borges Vieira.

Idioma????

• Inglês!

– Livros mais novos– Livros mais baratos– Artigos de verdade

Page 7: Sistemas Distribuídos Sincronização de Processos Alex Borges Vieira.

Characterization of Distributed Systems

From Coulouris, Dollimore and Kindberg

Distributed Systems: Concepts and Design

Edition 3, © Addison-Wesley 2001

Page 8: Sistemas Distribuídos Sincronização de Processos Alex Borges Vieira.

Distributed Systems

• WTH is this?

Page 9: Sistemas Distribuídos Sincronização de Processos Alex Borges Vieira.

Distributed Systems

• WTH is this?

Page 10: Sistemas Distribuídos Sincronização de Processos Alex Borges Vieira.

Networking and Parallel Computing• Computer networking

– Hardware that connects computers– Software that sends/receives messages from one

computer to another, which might be on different networks (end to end delivery)

– Goal is to transmit messages reliably and efficiently

• Parallel Computing– Multiple homogeneous processors in “one” computer– Shared or distributed memory– Goal is to execute a program faster by division of

labor

Page 11: Sistemas Distribuídos Sincronização de Processos Alex Borges Vieira.

Distributed Computing

• Networked computers that could be far apart – rely on computer networking

• Communicate and coordinate by sending messages

• Goal is to share (access/provide) distributed resources

• Issues:– Concurrent execution of processes– No global clock for coordination– More components, more independent failures

Page 12: Sistemas Distribuídos Sincronização de Processos Alex Borges Vieira.

Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4

© Pearson Education 2005

Examples of Distributed Systems

• Global Internet• Organizational Intranets--behind router/firewall• Mobile Computing -- computers move• Ubiquitous Computing -- computers embedded

everywhere• Issues:

– discovery of resources in different host environments– dynamic reconfiguration– limited connectivity– privacy and security guarantees to the user and the

host environment

Page 13: Sistemas Distribuídos Sincronização de Processos Alex Borges Vieira.
Page 14: Sistemas Distribuídos Sincronização de Processos Alex Borges Vieira.

intranet

ISP

desktop computer:

backbone

satellite link

%

server:

network link:

%

%

%

A typical portion of the Internet

Page 15: Sistemas Distribuídos Sincronização de Processos Alex Borges Vieira.

A typical intranet

the rest of

email server

Web server

Desktopcomputers

File server

router/firewall

print and other servers

other servers

print

Local areanetwork

email server

the Internet

Page 16: Sistemas Distribuídos Sincronização de Processos Alex Borges Vieira.

Portable and handheld devices in a distributed system

Laptop

Mobile

PrinterCamera

Internet

Host intranet Home intranetWAP

Wireless LAN

phone

gateway

Host site

Page 17: Sistemas Distribuídos Sincronização de Processos Alex Borges Vieira.

Web servers and web browsers

Internet

BrowsersWeb servers

www.google.com

www.cdk3.net

www.w3c.org

Protocols

Activity.html

http://www.w3c.org/Protocols/Activity.html

http://www.google.comlsearch?q=kindberg

http://www.cdk3.net/

File system ofwww.w3c.org

Page 18: Sistemas Distribuídos Sincronização de Processos Alex Borges Vieira.

Computers in the Internet

Date Computers Web servers

1979, Dec. 188 0

1989, July 130,000 0

1999, July 56,218,000 5,560,866

Page 19: Sistemas Distribuídos Sincronização de Processos Alex Borges Vieira.

Computers vs. Web servers in the Internet

Date Computers Web servers Percentage

1993, July 1,776,000 130 0.008

1995, July 6,642,000 23,500 0.4

1997, July 19,540,000 1,203,096 6

1999, July 56,218,000 6,598,697 12

Page 20: Sistemas Distribuídos Sincronização de Processos Alex Borges Vieira.

Computers vs. Web servers in the Internet

Date Computers Web servers Percentage

1993, July 1,776,000 130 0.008

1995, July 6,642,000 23,500 0.4

1997, July 19,540,000 1,203,096 6

1999, July 56,218,000 6,598,697 12

Page 21: Sistemas Distribuídos Sincronização de Processos Alex Borges Vieira.

What happened with the Internet in 2009?

• How many websites were added?

• How many emails were sent?

• How many Internet users were there?

Page 22: Sistemas Distribuídos Sincronização de Processos Alex Borges Vieira.

Email

• 90 trillion – The number of emails sent on the Internet in 2009.• 247 billion – Average number of email messages per day.• 1.4 billion – The number of email users worldwide.• 100 million – New email users since the year before.

• 81% – The percentage of emails that were spam.• 92% – Peak spam levels late in the year.• 24% – Increase in spam since last year.• 200 billion – The number of spam emails per day

– assuming 81% are spam

Page 23: Sistemas Distribuídos Sincronização de Processos Alex Borges Vieira.

Websites• 234 million – The number of websites as of December 2009.• 47 million – Added websites in 2009.

Page 24: Sistemas Distribuídos Sincronização de Processos Alex Borges Vieira.

Websites• 234 million – The number of websites as of December 2009.• 47 million – Added websites in 2009.

Date Computers Web servers Percentage

1993, July 1,776,000 130 0.008

1995, July 6,642,000 23,500 0.4

1997, July 19,540,000 1,203,096 6

1999, July 56,218,000 6,598,697 12

Page 25: Sistemas Distribuídos Sincronização de Processos Alex Borges Vieira.

Domain Names• 81.8 million – .COM domain names at the end of 2009.

• 12.3 million – .NET domain names at the end of 2009.

• 7.8 million – .ORG domain names at the end of 2009.

• 76.3 million – The number of country code top-level domains (e.g. .CN, .UK, .DE, etc.).

• 187 million – The number of domain names across all top-level domains (October 2009).

• 8% – The increase in domain names since the year before.

Page 26: Sistemas Distribuídos Sincronização de Processos Alex Borges Vieira.

Internet Users

• 1.73 billion – Internet users worldwide (September 2009).

– 18% – Increase in Internet users since the previous year.

• 738,257,230 Internet users in Asia.

• 418,029,796 Internet users in Europe.

• 252,908,000 Internet users in North America.

• 179,031,479 Internet users in Latin America/Caribbean.

• 67,371,700 Internet users in Africa.

• 57,425,046 Internet users in the Middle East.

• 20,970,490 Internet users in Oceania / Australia.

Page 27: Sistemas Distribuídos Sincronização de Processos Alex Borges Vieira.

Social Net.• 126 million – The number of blogs on the Internet

– as tracked by BlogPulse

• 84% – Percent of social network sites with more women than men.

• 27.3 million – Number of tweets on Twitter per day

• 57% – Percentage of Twitter’s user base located in the USA

• 4.25 million – People following @aplusk – Ashton Kutcher, Twitter’s most followed user

• 350 million – People on Facebook.

• 50% – Percentage of Facebook users that log in every day.

• 500,000 – The number of active Facebook applications.

Page 28: Sistemas Distribuídos Sincronização de Processos Alex Borges Vieira.

Images

• 4 billion – Photos hosted by Flickr (October 2009).

• 2.5 billion – Photos uploaded each month to Facebook.

• 30 billion – At the current rate, the number of photos uploaded to Facebook per year.

Page 29: Sistemas Distribuídos Sincronização de Processos Alex Borges Vieira.

Videos

• 1 billion – videos YouTube serves in one day.• 12.2 billion – Videos viewed per month on YouTube in the US• 924 million – Videos viewed per month on Hulu in the US• 182 – The number of online videos the average Internet user

watches in a month (USA).

• 82% – Percentage of Internet users that view videos online (USA).

• 39.4% – YouTube online video market share (USA).

• 81.9% – Percentage of embedded videos on blogs that are YouTube.

Page 30: Sistemas Distribuídos Sincronização de Processos Alex Borges Vieira.

Malicious...

• 148,000 – New zombie computers created per day – used in botnets for sending spam, etc.

• 2.6 million – Amount of malicious code threats at the start of 2009 – viruses, trojans, etc.

• 921,143 – The number of new malicious code signatures added by Symantec in Q4 2009.

Page 31: Sistemas Distribuídos Sincronização de Processos Alex Borges Vieira.

Challenges and Issues (1)

• Heterogeneity– networks, hardware, os, languages... – middleware—corba– mobile code, virtual machines

• Openness– extended and re-implemented in various ways– standard published interfaces – RFC, request for comments

• Security – confidentiality – integrity – availability

Page 32: Sistemas Distribuídos Sincronização de Processos Alex Borges Vieira.

Challenges and Issues (2)

• Scalability– effective with significant increase in resources – cost – performance

• Failure handling – detecting – masking—hide, less severe (retransmit)– tolerating--ignore, timeout– recovery--logs, rollback – Redundancy

• Concurrency

Page 33: Sistemas Distribuídos Sincronização de Processos Alex Borges Vieira.

Transparencies

•Access transparency: enables local and remote resources to be accessed using identical operations.

•Location transparency: enables resources to be accessed without knowledge of their location.

•Concurrency transparency: enables several processes to operate concurrently using shared resources without interference between them.

Page 34: Sistemas Distribuídos Sincronização de Processos Alex Borges Vieira.

Transparencies•Replication transparency: enables multiple instances of resources to be used to increase reliability and performance without knowledge of the replicas by users or application programmers.

•Failure transparency: enables the concealment of faults, allowing users and application programs to complete their tasks despite the failure of hardware or software components.

•Mobility transparency: allows the movement of resources and clients within a system without affecting the operation of users or programs.

Page 35: Sistemas Distribuídos Sincronização de Processos Alex Borges Vieira.

Transparencies

•Performance transparency: allows the system to be reconfigured to improve performance as loads vary.

•Scaling transparency: allows the system and applications to expand in scale without change to the system structure or the application algorithms.