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

Post on 18-Apr-2015

151 views 1 download

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

Sistemas DistribuídosSincronizaçã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.

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.

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

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.

Idioma????

• Inglês!

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

Characterization of Distributed Systems

From Coulouris, Dollimore and Kindberg

Distributed Systems: Concepts and Design

Edition 3, © Addison-Wesley 2001

Distributed Systems

• WTH is this?

Distributed Systems

• WTH is this?

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

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

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

intranet

ISP

desktop computer:

backbone

satellite link

%

server:

network link:

%

%

%

A typical portion of the Internet

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

Portable and handheld devices in a distributed system

Laptop

Mobile

PrinterCamera

Internet

Host intranet Home intranetWAP

Wireless LAN

phone

gateway

Host site

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

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

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

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

What happened with the Internet in 2009?

• How many websites were added?

• How many emails were sent?

• How many Internet users were there?

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

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

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

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.

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.

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.

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.

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.

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.

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

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

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.

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.

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.