Use este identificador para citar ou linkar para este item:
http://www.monografias.ufop.br/handle/35400000/2679
Título: | Revisitando os modelos de programação DSM e orientado a tarefas. |
Autor(es): | Fernandes, David Silva |
Orientador(es): | Lima, Joubert de Castro Almeida, André Luís Barroso de |
Membros da banca: | Oliveira, Túlio Spuri Teixeira de Aquino, André Luiz Lins de Lima, Joubert de Castro Almeida, André Luís Barroso de |
Palavras-chave: | Programação - computadores Java ca & lá Programação orientada Middleware Java - linguagem de programação de computador |
Data do documento: | 2020 |
Referência: | FERNANDES, David Silva. Revisitando os modelos de programação DSM e orientado a tarefas. 2020. 50 f. Monografia (Graduação em Ciência da Computação) - Instituto de Ciências Exatas e Biológicas, Universidade Federal de Ouro Preto, Ouro Preto, 2020. |
Resumo: | Os modelos de programação DSM e Orientado a Tarefas muitas vezes utilizam a rede de comunicação desnecessariamente, pois de forma explícita realizam requisições entre clientes e provedores de serviço, mesmo quando as abstrações mantidas por tais modelos não tenham sofrido qualquer alteração. Há como evitar ou pelo menos reduzir o uso desnecessário da rede de comunicação nos modelos de programação DSM e Orientado a Tarefas? Para responder tal pergunta este trabalho descreve uma nova implementação de middleware para tais modelos de programação, onde ao invés de objetos, tais como variáveis globais, estruturas de dados e resultados de tarefas, serem obtidos via requisições explícitas de um cliente a um provedor de serviços, seja este um servidor ou um peer do cluster, estes objetos são enviados via notificações ao cliente solicitante apenas quando mudam seus estados internos, consequentemente de forma indireta ou implícita. Para testar a nova implementação proposta, foi utilizado o middleware JCL (Java Cá & Lá) integrado à plataforma Kafka que oferece suporte em escala ao padrão publish/subscribe. Os testes do JCL com e sem a integração ao Kafka mostraram que o esquema de notificação com uso de memórias locais é útil apenas para serviços não bloqueantes e com muitas leituras dos objetos compartilhados. Entretanto, quando o acesso bloqueante a objetos obriga o uso da rede de comunicação, a complexidade introduzida pela solução Kafka se torna ineficiente, chegando ao ponto de ser inviável à medida que o número de tópicos associados aos objetos compartilhados aumenta. A tolerância a falha do Kafka introduz uma sobrecarga de cerca de 15%, portanto aceitável quando comparada com a versão sem tal requisito. |
Resumo em outra língua: | The DSM and Task Oriented programming models often use the communication network unnecessarily, as they explicitly make requests between clients and service providers, even when the abstractions maintained by such models have not changed. Is there a way to avoid or at least reduce the unnecessary use of the communication network in the DSM and Task Oriented programming models? To answer this question this work describes a new middleware implementation for such programming models, where instead of objects, like global variables, data structures and task results, be obtained via explicit requests from a client to a service provider, be it a server or a cluster peer, these objects are submitted via notifications to the client when they change their internal states, thus on an implicit or indirect way. To test the new implementation, it was used the JCL (Java Cá & Lá) integrated with Kafka platform that offers at scale publish/subscribe support. The JCL tests with and without Kafka integration demonstrated that the notification schema in conjunction with local memories is only useful for non-blocking services and with shared objects high number of reads. However, when shared objects blocking accesses force the utilization of the communication network, the Kafka complexities turn the solution inefficient, reaching the point of being unviable as the number of topics associated with shared objects increases. Kafka’s fault tolerance introduces an overload of about 15%, therefore acceptable when compared to the version without such a requirement. |
URI: | http://www.monografias.ufop.br/handle/35400000/2679 |
Aparece nas coleções: | Ciência da Computação |
Arquivos associados a este item:
Arquivo | Descrição | Tamanho | Formato | |
---|---|---|---|---|
MONOGRAFIA_RevisitandoModelosProgramação.pdf | 652,25 kB | Adobe PDF | Visualizar/Abrir |
Este item está licenciado sob uma Licença Creative Commons