Sie sind auf Seite 1von 5

Memria Compartilhada e Distribuida

1. Conceitos Bsicos e Objetivos


Tambm chamada de DSM (DistributedSharedMemory), sendo uma alternativa a comunicao por mensagens. Usada entre computadores que no compartilham memria fsica.(JANE, 2006). Existem trs tipos de memrias: memria distribuda, compartilhada e distribuda compartilhada. Em memria distribuda, cada CPU tem sua prpria memria , sendo que para as mquinas se comunicarem realizada a troca de mensagens via rede. Na memria compartilhada, os programas podem acessar simultaneamente com a inteno de prover comunicao entre eles. J a memria compartilhada distribuda integra a escalabilidade de memria distribuda com a facilidade de programao de memria compartilhada. As memrias so distribudas fisicamente em cada n e todos os processadores podem enderear essa memria. Toda a comunicao feita atravs da memria no tendo comunicao visvel para os processos de usurios. (BEZERRA, 2008).

2. Arquitetura
Os nodos tem memria local em um ou mais processadores conectados por rede de alta velocidade. Cada nodo tem a funo de mapear a memria local na DSM e a memria compartilhada particionada em blocos, sendo estes eventos chamados de Memory-Mapper. A cache utilizada para reduzir a latncia. A memria principal dos nodos cacheia a DSM. O Memory-Mapper v a memria local como uma grande cache da DSM, sendo a unidade bsica de caching o bloco.(MEMRIA COMPARTILHADA DISTRIBUDA, 2013). Procedimento de Acesso: o processo de um nodo acessa a posio de memria da DSM e o Memory-Mapper toma conta do pedido. Se o bloco que acessado contendo os dados reside na memria local, satisfatrio, se no manda uma mensagem para o nodo onde o bloco est e o bloco migra para o nodo onde o processo deseja acessar, ainda podendo manter cpias dos blocos. (MEMRIA COMPARTILHADA DISTRIBUDA, 2013).

3. Aplicaes
Utilizado principalmente em computao de alto desempenho, pois secomportam como um multiprocessador com memria compartilhada. Programas que so desenvolvidos para multiprocessadores com memria compartilhada podem ser levados para multiprocessadores sem memria compartilhada. Tambm utilizado em aplicaes distribudas onde os dados so compartilhados e podendo serem acessados diretamente pelos processos envolvidos. Algumas aplicaes do tipo cliente/servidor, onde o servidor compartilha uma rea de memria para acesso de todos os clientes.(BEZERRA, 2008).

4. Vantagens e Desvantagens
Vantagens: Transparncia, ou seja, o usurio no precisa mexer com mecanismos de comunicao. Na sua programao, o programador lida com conceitos j conhecidos. As aplicaes centralizadas podem ser facilmente paralelizadas/distribudas. O compartilhamento de variveis feito diretamente, no tendo a necessidade de encapsulamento nas mensagens. Os programasdesenvolvidos para DSM podem ser executados bem quanto programas equivalentes escritos com por passagem de mensagens para um nmero especfico de computadores. A DSM pode se tornar persistente, ou seja, um processo pode deixar dados em uma posio de memria especfica para que outro processo examine o contedo a ser executado.Para sincronizao, as sees crticas podem ser usadas, utilizando-se de semforos ou monitores que garantamexcluso mtua.(BEZERRA, 2008). Desvantagens: A troca de mensagens apresenta diversas dificuldades, como: controle de fluxo, mensagens perdidas e bloqueio, embora diversas solues tenham sido propostas, a programao com troca de mensagens continua complicada. A passagem de mensagens faz com que os processos se comuniquem ao mesmo tempo em que so protegidos um dos outros, pois tem espao de endereamento privado. Com a DSM, um processo pode fazer o outro falhar se os dados gravados sejam errados. Com relao ao desempenho, o acesso a DSM pode ser mais lento que a memria fsica, degradando o desempenho e se torna pior quando h diversas alteraes nos valores dos dados.(BEZERRA, 2008)

5. Conparao em Relao a Troca de Mensagens


Quando no h espao de endereamento comum pelo hardware, a comunicao feita por troca de mensagens. A programao feita para a memria compartilhada distribuda mais fcil em comparao a troca de mensagens. A latncia em relao a troca de mensagens nas operaes de leitura e escrita alta pois ocorre comunicao atravs da rede. Em sistemas de multicomputadores, a comunicao feita atravs da troca de mensagens e em sistemas de multiprocessadores a comunicao feita atravs de memria compartilhada distribuda. (BITTENCOURT, 2013).

6. Implementao e Algoritmos
Pegando uma variao de implementao na qual referncias a pginas locais esto sendo resolvidas por hardware em velocidade de memria e referncias a pginas presentes em outras mquinas causaro falha, caso seja um endereo mapeado para a memria compartilhada distribuda, o sistema de DSM entrar em ao e ir devolver a pgina correspondente, caso contrrio enviado um aviso de falta de pgina para o sistema. Evidentemente que em algum ponto deste processo ir ocorreratroca de mensagens entre mquinas, mas esta camada no mostrada no modelo de DSM. Esta troca pode ser implementada no hardware ou no software.(MEDRADO, 2008).

7. Decises de Projeto
Sugere um servidor central mantendo e administrando os dados, a comunicao se d pelas primitivas de read e write. Existem vrios erros que se podem dar neste tipo de algoritmo, como: (MEDRADO, 2008) - Tempo mximo de resposta ultrapassado: pode ser resolvido enviando uma nova requisio.(MEDRADO, 2008) - Pedido de escrita duplicado: caso um cliente envie uma requisio de escrita duplicada por no ter recebido confirmao do servidor, pode ser resolvido utilizando um identificador nico em uma requisio de escrita, assim o servidor deve enviar a confirmao.(MEDRADO, 2008) - Deteco de falha no sistema: pode ser identificado como no disponvel quando requisies de escrita ou leitura no tiverem resposta.(MEDRADO, 2008) - Sobrecarga do Servidor: pode criar uma latncia nas operaes, pode ser resolvido possibilitando a distribuio dos dados em mais de um servidor.(MEDRADO, 2008) Este tipo de implementao fcil de ser desenvolvida, mas apresenta um problema sem ser completamente resolvido, os servidores so fatores crticos na performance do sistema.(MEDRADO, 2008). Algoritmo da Migrao (SRSW): os dados compartilhados so enviados para o local onde eles foram requeridos, permitindo que outras operaes possam ser feitas sobre estes dados assim diminuindo a latncia. Este algoritmo tem a seguinte restrio, somente uma thread pode executar aes de escrita e leitura sobre um determinado dado, tambm chamado de single reader/ single writer justificando sua sigla. O bloqueio ocorre a nvel de pgina ou bloco de memria, tendo objetivo de reduzir o tamanho da tabela de lock inevitvel neste tipo de sistema. Como se utiliza de pginas tem a vantagem de integrar a ideia de pgina compartilhada distribuda com memria virtual.(MEDRADO, 2008). Algoritmo da Replicao para Leitura(MRSW): a grande vantagem deste algoritmo reduzir o custo de operaes de leitura partindo do pressuposto que mais comum que a operao de escrita, utilizando replicao. Os problemas encontrados neste tipo de algoritmo so:(MEDRADO, 2008) - Operao de escrita penalizada: exige um maior fluxo na rede com as mensagens para invalidar as cpias, pois se utiliza de replicao. (MEDRADO, 2008) - Obrigatoriedade de rplicas: o algoritmo deve saber onde esto as rplicas de uma pgina para invalidar ou informar que no so mais atuais, pode ser implementado por uma entidade chamado de servidor de mapeamento.(MEDRADO, 2008) Este algoritmo deve ser utilizado quando quantidade de leitura supera a de gravaes.(MEDRADO, 2008). Algoritmo da Replicao Total(MRMW): permite a replicao para leitura e para gravao introduzindo um novo elemento chamado de sequenciador sendo responsvel por controlar as diversas cpias e mantendo a consistncia dos dados.

Quando o cliente deseja fazer uma alterao, o sequenciador deve fazer algumas interaes, como: (MEDRADO, 2008) - o cliente informa ao sequenciador que quer fazer uma alterao.(MEDRADO, 2008) - o cliente atribui esta alterao a um nmero sequencial.(MEDRADO, 2008) - os clientes executam as alteraes e enviam ao sequenciador.(MEDRADO, 2008) - o sequenciador agrupa as alteraes com as outras enviadas e envia atualizando as cpias dos dados.(MEDRADO, 2008) Com esta interao, problemas podem surgir, como:(MEDRADO, 2008) - Cliente solicita alterao sem a cpia ser atualizada: a soluo mais obvia seria obrigar o cliente a atualizar seus dados ou somente informa-lo.(MEDRADO, 2008) - Cliente solicita alterao sem enviar em um determinado perodo de tempo: ou o cliente caiu ou se tem problemas na rede. Uma soluo seria o sistema de falhas entrar em ao pedindo para reenviar a mensagem ou simplesmente ignorar a alterao.(MEDRADO, 2008)

8. Aplicaes, Plataformas, APIs reais


Existem diversos produtos onde so aplicados. Alguns deles so: (ARAUJO, 1999) -Linda (Gelementer, 1985): linguagem que criou o conceito de tuplas, suas principais operaes so, in, read e out, sendo implementada como biblioteca para outras linguagens, estendida para suportar mltiplos espaos de tuplas.(ARAUJO, 1999) - JavaSpaces: implementao de tuplas em Java, tecnologia Sun/Apache (Jini), as tuplas so objetos, tuplas possuem tempo de vida e suporte a notificaes de insero de tuplas. Suas operaes so, write, read, readIfExists, take, takeIfExists, e notify.(ARAUJO, 1999) - DIPC, Kerrighed: alteram ncleos do LINUX para suportar as DSM.(ARAUJO, 1999) - GigaSpaces: implementao comercial do JavaSpaces, com replicao de tuplas.(ARAUJO, 1999) - TreadMarks: implementa operacionais.(ARAUJO, 1999) DSM com suporte a diversos sistemas

9. Referncias
ARAUJO, Edvar Bergmann. Um estudo sobre Memria Compartilhada Distribuda. 1999. Trabalho de Ps Graduao em Computao. Universidade Federal do Rio Grande do Sul. Instituto de Informtica. Disponvel em <http://www.projeto.unisinos.br/holo/publicacoes/trab.individuais/dsm.pdf> acesso em 21 de novembro de 2013.

PUCRS, Faculdade de Informtica. Memria Compartilhada Distribuda.Disponvel em <http://www.inf.pucrs.br/~fldotti/sod/dsm.PDF> acesso em 22 de novembro de 2013. GONZAGA, Tiago. BENTES, Cristiana. de CASTRO, Maria CliciaStelling. FARIAS, Ricardo. GARCIA, Ana Cristina Bicharra. Uso de Memria Compartilhada Distribuda na Coordenao de Multi-Agentes. 2005.FEN-UERJ, Departamento de Engenharia de Sistemas. CTC-UERJ, Instituto de Matemtica e Estatstica. COPPEUFRJ, Prog. Engenharia de Sistemas. IC-UFF, Departamento de Cincias da Computao. Disponvel em <http://www.addlabs.uff.br/Novo_Site_ADDLabs/images/documentos/publicacoes/publ icacoes_pdf/periodicos_indexados/2005/20130807095044_Uso_de_Memoria_Comparti lhada_Distribuida_na_Coordenacao_de_Multi_Agentes.pdf> acesso em 21 de novembro de 2013. BEZERRA, Romildo Martins da Silva. Memria Compartilhada DistribudaConceitos e Algoritmos. 2008. Seminrios Cientficos III. IFBA. Disponvel em<http://www.ifba.edu.br/professores/romildo/downloads/dsm-final.pdf> acesso em 20 de novembro de 2013. JANE, Orbenia. Memria Distribuda Compartilhada. Profissionais de Tecnologia. Disponvel em <http://www.profissionaisdetecnologia.com.br/modules.php?name=News&file=print&s id=165> acesso em 19 de novembro de 2013. MEDRADO, Adonai Estrela. Memria Compartilhada Distribuda Algoritmos e Caractersticas. 2008. Disponvel em <http://adonaimedrado.pro.br/principal/index.php?option=com_content&view=article&i d=57&Itemid=92> acesso em 20 de novembro de 2013. BITTENCOURT, Luiz Fernando. MC714, Sistemas Distribudos, 2 semestre. 2013. Disponvel emacesso <http://www.ic.unicamp.br/~bit/ensino/mc714_2s13/aulas/aula04.pdf> em 21 de novembro de 2013.

Das könnte Ihnen auch gefallen