Buscar

AV2 SISTEMAS DISTRIBUÍDOS

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 6 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 6 páginas

Prévia do material em texto

AV2 UVA SISTEMAS DISTRIBUÍDOS
A projeção de um servidor concorrente com uso de diversos processos tem suas vantagens e desvantagens ao comparar com um servidor multihread . Quais são estas vantagens e desvantagens? 
Vantagens :
Divisão de tarefa - Algumas tarefas dentro do código de certos softwares que podem ser divididas entre dois ou mais processadores de um mesmo computador, um bom exemplo é a utilização dos novos processadores de núcleo duplo executando um programa reprodutor de filmes. Enquanto a imagem é processada em um deles, o som pode ser processado em outro. Isso traz um grande benefício, a divisão de trabalho, onde pode-se notar um menor uso da capacidade de cada um, o que possibilita a execução de outras tarefas do sistema operacional e até mesmo outros softwares que utilizem dois processadores porém não consumindo 100% deles.
Aumento de desempenho em uma tarefa específica - Outras aplicações podem utilizar dois núcleos para diminuir o tempo de execução de certa tarefa considerada importante e que mereça ser realizada em menor tempo. Um bom exemplo é a compactação de um arquivo, pode-se obter em um cenário ideal, uma diminuição de 50% no tempo necessário para a compactação de um arquivo. A utilização dos dois núcleos será máxima e é possível que as tarefas menos importantes do sistema operacional e os outros programas que estavam em execução sofram uma queda de desempenho.
Desvantagens :
Dificuldade de programação (tratamento de threads) - Usando o paradigma concorrente, o programador poderá utilizar vários recursos, o mais conhecido são os threads (processos leves), que dividem o trabalho que necessita ser realizado em duas ou mais partes. Dessa forma o processador não necessita aguardar o término de uma instrução para iniciar outra como ocorre no paradigma estruturado clássico, pode-se iniciar no mínimo duas tarefas simultaneamente quando utilizamos um processador de núcleo duplo. Mas para a utilização desses threads é estritamente necessário um controle rigoroso dos componentes utilizados por ela, pois como estão sendo executados dois ou mais processos que pertencem a uma mesma aplicação, corremos o risco de um comando de um thread requisitar acesso a uma região da memória que já está utilizada por outra. Isso causaria no pior caso uma interrupção repentina na execução do programa, podendo levar à perda de informações importantes contidas na memória de execução que ainda não haviam sido gravadas em um lugar definitivo. O grande empecilho na adoção da programação concorrente está no excesso de esforço necessário por parte do programador para acompanhar e controlar as modificações ou acessos que esses threads fazem ao longo do programa.
Sincronização Condicional - Em uma situação onde dois threads possuam trecho de código que instrui para acessar uma mesma área de memória, o primeiro thread teria de emitir o sinal WAIT para a segunda, e assim que realizasse todas as operações necessárias com aquela área da memória, enviaria o NOTIFY para o segundo thread iniciar seu acesso. Isso seria a situação ideal. Porém não é assim que ocorre em algumas implementações do UNIX.² Dependendo da implementação pode haver uma perda de sinal entre os threads causando a não-execução de determinada tarefa por uma das threads, impactando todo o andamento da aplicação.
Baixo suporte de hardware - Os fabricantes de processadores para computadores pessoais estão lançando muitos modelos de núcleo duplo e até quádruplo no mercado atual. Mas isso não significa que haja uma grande demanda por eles ou que as pessoas estejam trocando todos os seus computadores por esses. Muitos desktops e notebooks são ainda vendidos com apenas um núcleo de processamento, pois os preços dos processadores de núcleo duplo são altos demais. E ainda não justificam a compra, pois os usuários finais dificilmente utilizam todo o potencial que eles proporcionam. Para utilizar um editor de texto, uma planilha eletrônica, escutar música e navegar na internet, pode-se utilizar um processador de apenas um núcleo sem maiores problemas. E isso deve permanecer assim por um bom tempo, pois até mesmo os novos sistemas operacionais que prometiam exigir tanto dos computadores que poderiam forçar o usuário a substituir o seu por um mais atualizado, não mostraram tanta exigência, houve um aumento no consumo de memória, mas nada proporcional ao aumento de utilização de capacidade de processamento. Sem hardware para utilizar o potencial dos softwares, fica mais difícil ainda a adoção da programação concorrente, já que não há uma demanda global.
Fontes:
Concorrência, Paralelismo, Processos, Threads, programação síncrona e assíncrona | Blog TreinaWeb
Tipos de Servidores. Servidores com estado - PDF Download grátis (docplayer.com.br)
Concurrent computing - Wikipedia

Continue navegando