Sistemas Distribuídos Visão Geral de Sistemas Distribuídos I.
Sistemas Distribuídos Sincronização de Processos Alex Borges Vieira.
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
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?
• 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.